On Sunday, December 29, 2013 5:07:45 AM HKT, henrique matias wrote:Time values in SuperCollider are in seconds or in beats. I'm not aware of any scheduling class that uses milliseconds.
Hello Guys,
On the Quant class: http://doc.sccode.org/Classes/Quant.html
I can see that parameter "timingOffset", but i couldn't find which is the
unit used. Is it milliseconds or is it relative to the clock's tempo?
Anyway, indeed, you're right -- the Quant help file doesn't mention anywhere that timingOffset is in beats (relative to the clock's tempo). This makes sense, as it's used not only to offset the event's sounding time, but also for scheduling.The timing offset is not a property of a Task, EventStreamPlayer or Routine. It does exactly two things, and two things only:
Is there a way to tweak the timingOffset of a Task while its playing?
- Schedule a task to begin that many beats earlier than it would if the offset were 0.
- Delay events' sounding time by the same number of beats. (Note that the delay logic is part of the default Event prototype. If your Task is not using events, then the task will not automatically inherit that behavior.)
If you're using patterns and events, the pattern can override timingOffset. That will make the event sound at a different time.
If you want to change the timing offset without changing the sounding time, the only way is to un-schedule the old player and reschedule with the new timing offset. Something like this should do it, though I don't have time to test right now.
// 0.1 beat offset
p = Pbind(... something...).play(quant: [-1, 0, 0.1]);
// reschedule
(
var stream = p.stream, nextBeat = p.nextBeat;
p.stop;
p = EventStreamPlayer(stream, p.event).play(quant: [nextBeat, 0, newOffset]);
)
hjh
_______________________________________________
sc-users mailing list
info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: https://listarc.bham.ac.uk/marchives/sc-users/
search: https://listarc.bham.ac.uk/lists/sc-users/search/