On Mon, 2011-09-19 at 14:00 -0700, Jonathan Wilkes wrote:
From: tim vets timvets@gmail.com To: Pierre Massat pimassat@gmail.com; James Dunn james@4thharmonic.com; pd-list pd-list@iem.at Sent: Monday, September 19, 2011 4:08 PM Subject: Re: [PD] stop sample playback when phasor~ reset?
When you use phasor~, you normally already know how long it will take for the sound to be finished playing (because you set its frequency to play it back at the proper speed) Store the information about the sound loaded (or recorded) and use that to stop the playback after one play duration.
[del <time>] | [t b b] | | [0( [0( [ | [phasor]
What's the benefit of this over a line~ based approach?
[line~] is inferior to [phasor~] in that it only starts a ramp on block boundaries. Using [vline~] seems to me most flexible in terms of sample playback as it can start a ramp even in-between samples.
Using [threshold~] or any other method to detect the reset of [phasor~] is not feasible, because of two reasons:
bounaries, so the detection is not very precise
message domain (that's what [threshold~] and [snapshot~] are for), the event is at least one block late.
There is still one advantage of [phasor~] over [vline~]: The speed of the [phasor~] can be changed at signal rate, so one can create continuous pitch changes when playing the sample. That's not possible with [vline~].
Roman