[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Sc-devel] Servers with nil latency?



Hi Julian,

  I don't understand what you mean about lag.
  But here is what I am cooking up.


1. I will add the key ~timingOffset = 0


				timingOffset: 0 ,

				schedBundle: #{ | time, server, bundle |
					time = time + ~timingOffset;
					if (time == 0) {
						server.sendBundle(server.latency, bundle)
					} {
						thisThread.sched ( time, { server.sendBundle(server.latency, bundle) })
					}
				},

				schedRelease: #{ |time, strum, server, bundle |
					time = time + ~timingOffset;
					thisThread.sched ( time + strum, { server.sendBundle(server.latency,
bundle) })
				}

2. I will incorporate the key ~schedRelease treated as a flag but
defaulting to nil
and use:

	schedRelease = ~schedRelease ? ~hasGate ? hasGate;

so you can turn off releases by setting schedRelease false; override
hasGate for SynthDefs without descs, or use
the usual.

RJK

>>Hi Julian and James,
>>
>>  The latency key in the event would be just another time offset like
>>lag, sendBundle would always use Server,latency..
>>I think James' priority scheme works something like this:
>>
>>	Ptpar(0, Pevent(bassline, (lag:0.2)), 0.2, sopranoline)
>>
>>So the bassline computes its notes 0.2 of a beat early, but play in
>>sync with sopranoline.
>
>
> well I had proposed this earlier, but James McCartney was opposed to
> using lag as a relative offset. I think we should have an extra key
> for this. We should think a bit about breaking code, too!
>
>>
>>	4. hasGate -> it is reasonable to have a fixed length
>>envelope AND a gate for early release
>
>
> yes, should be possible, I think.
> --
>
>
>
>
>
> .
> _______________________________________________
> Sc-devel mailing list
> Sc-devel@xxxxxxxxxxxxxxx
> http://www.create.ucsb.edu/mailman/listinfo/sc-devel
>
>