Dear list,
I just finished a tiny library (actually just one abstraction and one external) which allows to stream audio to disc in zero logical time (= as fast as possible). this is basically the same as running Pd in batch mode (i.e. with the -batch flag) - but you can do it within the usual interactive mode!
My first approach was single stepping DSP with [switch~]. unfortunately, it doesn't work with clock objects like [delay], [metro], [line] because clock timeouts are tied to the global scheduler. replacing an [until] to [switch~] with a very fast [metro] at least allowed clocks with delay 0 to time out (e.g. [bang~], [env~] etc.). Finally, I went for the most naive solution: I wrote a simple external which calls sched_tick() whenever it receives a bang. what shall I say: it works :-D.
this library made me very happy, because it allows me to render any number of seconds/minutes/hours of a patch to disc without leaving the interactive mode. this way I can have a nice big chaotic patch, tweak it till I have the right settings and then just write like 1 hour of sound material in just a few minutes. Now I just rendered 15 minutes of super-timestreched Henry Mancini.
I'm pretty sure someone has already had this idea but I didn't come across anything...
here you can download the alpha release: https://git.iem.at/ressi/batchrecord
for Windows, it should work out of the box. Linux and OSX users just have to compile [schedtick] with "build.sh" (you're of course warmly invited to send me the binaries :-)
Any kind of feedback is highly welcome! I tested on Pd 0.47.1 on a Lenovo Thinkpad with Windows 7 and couldn't find an issue yet. Once I know that it is stable and safe (which I'm not totally sure about...) I will make a proper release and upload to the Deken.
Have fun!
Christof