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 engines > > incidentally 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 > > _______________________________________________ > [email protected] 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 _______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
