[PD] help making sense of [readsf~]
Christof Ressi
info at christofressi.com
Thu Mar 7 13:01:38 CET 2024
On 07.03.2024 04:43, Alexandre Torres Porres wrote:
>
>
> Em qui., 7 de mar. de 2024 às 00:27, Christof Ressi
> <info at christofressi.com> escreveu:
>
> (BTW, the equivalent SuperCollider object would be DiskIn UGen +
> Buffer.cueSoundFile; there you don't even have the chance to skip
> the buffering step.)
>
>
> This is a much better design. I don't mind the latency, but I'd really
> like to tell the object to just play and it can then work out when it
> is ready and start doing it :)
Keep in mind that this is not deterministic, i.e. playback will just
start whenever the data is ready. This is probably fine for many uses
cases, but if you want sample accurate playback, you'd need to wait
until Buffer.cueSoundFile has completed before creating the DiskIn,
similar to [readsf~].
>
> In fact, I would like to suggest a new "play" message, that would do
> exactly this: "open" + "start', making sure there are no dropouts...
Actually, I had already thought about that! There could be an option
that makes [readsf~] non-blocking, i.e. the perform routine does not
wait on a condition variable if the buffer is empty, instead it would
just output silence. This would be essentially the same behavior as
DiskIn. I thought of doing this with a flag to the "open" message: [open
-n <foo>, start(
But I agree that [play <foo>( looks much nicer and less obscure.
I just opened a feature request:
https://github.com/pure-data/pure-data/issues/2205 :)
>
> Seems like a job to you by the way ;)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20240307/32fcb09c/attachment.htm>
More information about the Pd-list
mailing list