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

Reply via email to