[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [sc-users] How to use timingOffset from the Quant class ? Can i tweak it while running a Task ?
- To: <sc-users@xxxxxxxxxxxxxxxx>
- Subject: Re: [sc-users] How to use timingOffset from the Quant class ? Can i tweak it while running a Task ?
- From: James Harkins <jamshark70@xxxxxxxxx>
- Date: Sun, 29 Dec 2013 10:04:46 +0800
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:user-agent:mime-version:message-id:in-reply-to :references:content-type:content-transfer-encoding; bh=fz6HVd+nNJHbuW8ZQwhtu8lm7cRSE/eznb+sxeNbGC4=; b=BKxv/8kAKWgAn/d3CWI9/yByqwl9/pkHYKkQiOy3eR+ayKijleoTCU57O5slitadC9 cZInZdY0QyY+x9WHzkYbiHJ2W4NtGcnOdXMtxvJ5ndd/LFQILt0GhzZxdpKwauJtErJM XzpYSUqN85XIDa2fpUTieqLE0pgk5SlqWSVz6E1AusY2kIjBr/e+kqZ0bI2/iCItye8B Uz+3PP+PPcRj27uGcrmhOoF0ASjeJgFoQ/gZFZaOMwCT5uJk0EX4lXkni+EhfTeRXK9j d+cTkvdhpTSKIOEl+IQOB+mwrlGjoolYtUGR5xYTRhuKxLipM93UVz542z5gqX0jxaPn 45Uw==
- In-reply-to: <CA+oarRKqacKBKVkX_RmHY043pj-f2CVEM6pUky=x=QDM-kvweQ@mail.gmail.com>
- List-id: SuperCollider users mailing list <sc-users.create.ucsb.edu>
- References: <CA+oarRKqacKBKVkX_RmHY043pj-f2CVEM6pUky=x=QDM-kvweQ@mail.gmail.com>
- Reply-to: sc-users@xxxxxxxxxxxxxxxx
- Sender: owner-sc-users@xxxxxxxxxxxxxxxx
- User-agent: Trojita/v0.3.96-git; Qt/4.8.1; X11; Linux; Ubuntu 12.04.3 LTS
On Sunday, December 29, 2013 5:07:45 AM HKT, henrique matias wrote:
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?
Time values in SuperCollider are in seconds or in beats. I'm not aware of
any scheduling class that uses milliseconds.
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.
Is there a way to tweak the timingOffset of a Task while its playing?
The timing offset is not a property of a Task, EventStreamPlayer or
Routine. It does exactly two things, and two things only:
- 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/