Hi Max, I'm responding to an email from another thread, but I think it belongs here :)
On 05.03.21 17:45, Max wrote:
It finally came to me that when I put tabwrite~ into an abstraction I can pause the array writing by stopping audio processing in that abstraction using switch~. It also can loop by writing into the table like into a ringbuffer. The other half of the issue is to also take account for the write pointer in the player. I'm using sig~ 1 into rpole~ 1 (Thanks José de Abreu) and using that in the deque reader. The accompanying dequread4~ uses that write head position as an offset to the table (modulo the table size).
it's vanilla
it may have stupid problems / errors, please let me know if you find any. There is an error in the Pd console no such table '' but that doesn't seem to affect the functionality and Pd can't trace that error.
So, I've seen your last revision of the patch and I'm not sure I get how it is useful or why you need it like that. And now I'm really just curious and interested in the applications of this.
It's nice that it is all vanilla, but it is still very limited as I see it. You don't have sample accuracy for start writing and stopping or pause/continue.
And I see that the looping (or ring buffering) isn't perfect either because of this sample accuracy issue. You're analyzing to see if your signal counter goes over the array size but the resulting bang comes out after some samples, so... clicks.
Anyway, this approach of yours is quite similar to what I did here with objects from cyclone, have you checked it? Doesn't it do the same thing? Does it fail for your needs somehow?
I just made an update to the ELSE library (version beta 37) and now I can do the same with objects from ELSE, so I'm attaching it here.
Note I've also added a new [del~] object with a freeze option and also included that functionality in [ffdelay~], but I guess that's something not really appropriate for what you want, what do you say?
cheers
Em sex., 26 de fev. de 2021 às 10:03, Max abonnements@revolwear.com escreveu:
Hi list,
I'm looking for concepts like a queue or arrayDeque in Pd. Like a delay line which I can pause adding new elements into and it will act like an array until I decide to add more. At audio rate. Is there something simple that I have overlooked? What's the best strategy to implement this?
M.