On Dec 3, 2007, at 3:06 AM, cdr wrote:
There has been talk in the past about some optimizations that would allow dynamic allocation without the interruption, but not a lot of work done in that regard since it's pretty complicated. In particular, the ideas I remember were building a new DSP chain in the background, then swapping it in. The other was figuring out how to only rebuild the parts of the DSP chain that changed.
Nova [0] and Ingen [1] figured this out. along with countless other
DAWs and media enginesincidentally theyre all written in C++ rather than C, properly- threaded, use high quality 3rd party libraries throughout, and
written by hackers rather than mathemusicians.
For all it's faults, Pd has the advantage of having 10+ years of use,
testing, library development, etc. DAWs are a very different story
since they are not programming languages.
Ingen also has a notion of polyphony at multiple levels, such as
plugin or subpatch, transparent to any machinations in the subpatch
or plugin to fake native polyphony via preallocation and routing
schemes.or if asterisk can talk to jack, sprouting a new PD per-call seems
the most plausible, in terms of using PD rather than libingen/nova
(ie, not fighting for polyphony or dynamically sprouting jack ports
from an existing instance)
This does sound like a possibility from the point of view of handling
a unknown number of instances. I think that pd -nogui should be
light enough to support this. The downside is that it would make
difficult to have interactions between calls (if each call was
running a patch in its own Pd process). I suppose that Asterisk
could provide a means for communication between these Pd processes.
Now that I think about it, it would also work to have each call open
an instance of a patch within one constantly running Pd process.
Then when the call is dropped, that patch instance would close. For
this to work well, we'd need to add the ability for a patch to close
itself programmatically (currently, when a patch sends menuclose to
itself, Pd crashes :( )
.hc
[0] https://tim.klingt.org/nova/ [1] http://drobilla.net/software/ingen
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
Using ReBirth is like trying to play an 808 with a long stick. - David Zicarelli