Henning Thielemann <[EMAIL PROTECTED]> writes: > But I indeed mean 'zero based'. Since scsynth doesn't know about Haskell's > OSC type we can use any time base, and I think time base 0 is the most > natural one. The actual time base needed for scsynth is added when > encoding the message.
the meaning of the bundle timestamp is given by the osc specification, not by scsynth. hosc shifts the epoch from 1900-01-01 to 1970-01-01 because that is what system clocks use, and from a (32+32)bit integer representation to a double because it makes the math simpler. this is, i think, pretty standard practice in osc libraries. in any case that is the hosc model. > Today we write something like this > do now <- utc > let msg = Bundle (now+effectStartTime) effect > send fd (encodeOSC msg) perhaps, however there are a _lot_ of ways to arrange scheduling, hosc and hsc3 are deliberately agnostic about this. > This has also the advantage that generation of scores does not depend on a > IO generated value (namely 'now'). osc does not have a notion of 'score'. the scsynth notion is a minor abuse/extension of the osc protocol. i imagine the scsynth requirement to start at ntp 'zero' is so that scores do not need to contain a 'nil' event if the initial 'actual' event is non-zero. (i'd prefer that scsynth accept any starting time, but can see both sides of that coin). rd _______________________________________________ haskell-art mailing list haskell-art@lists.lurk.org http://lists.lurk.org/mailman/listinfo/haskell-art