Thanks folks for your suggestions on this topic. I figured out a way to do it vanilla Pd with catch/throw/switch~. The key to figuring the problem out is to imagine a matrix where the x axis has outputs and the y axis has inputs.
Each item in this matrix is a toggle switch that can turn on subpatches and allow signals to conditionally pass through [~ *] objects. Instruments and effects can be in this matrix. This is the way some analog synths work. Turns out simple catch~ and throw~ were sufficent, I didn’t need tabread~ and tabwrite~ - Nick > On Aug 21, 2019, at 6:26 PM, William Brent <william.br...@gmail.com> wrote: > > Hi Nick, > > I made a vanilla abstraction called [DRFX] that builds a routing matrix for > effects abstractions using dynamically created [send~]/[receive~] and > [throw~]/[catch~] busses. You have to follow some basic naming conventions > for the wireless audio busses of your inputs and effects, but then you can > just tell [DRFX] the names of your inputs and effects and it creates a GUI > routing matrix to control effect processing order. You can also control > matrix switches via control send/receive names since it sounds like you won't > want a Pd GUI. It has messages for controlling fade in/out times so that you > can make transitions as desired, and there's also functionality for parameter > presets and exporting/loading routing and parameter presets from text files. > It's been very useful for my needs in multi-FX projects. > > You can find it via deken or go to the repo here: > https://github.com/wbrent/DRFX.git <https://github.com/wbrent/DRFX.git> > The help patch and INSTRUCTIONS.pdf explain the basics if you want to check > it out and see if it's useful in your case. > > William > > > > On Tue, Aug 20, 2019 at 3:57 AM Nick Porcaro <n...@ccrma.stanford.edu > <mailto:n...@ccrma.stanford.edu>> wrote: > Hey Folks, > > It’s been a while since I’ve done any hard core work with Pd but that time > has come again, > and I’m glad to be back on the scene! > > In the project I’m working on I need to be able to reconfigure the processing > order > of DSP objects in a given patch on the fly: > > For example, from this: > > [noise~] > [lop~] > [hip~] > [dac~’ > > To this: > > [noise~] > [hip~] > [lop~] > [dac~] > > Of course this is a trivial example, but it’s not if you wanted to > arbitrarily reorder > an effects chain with 30 objects in it. > > I stumbled across this paper: > > https://lac.linuxaudio.org/2009/cdm/Saturday/18_Zmoelnig/zmoelnig_pdreflection.pdf > > <https://lac.linuxaudio.org/2009/cdm/Saturday/18_Zmoelnig/zmoelnig_pdreflection.pdf> > > and this GitHub repo https://github.com/iem-projects/pd-iemguts > <https://github.com/iem-projects/pd-iemguts> > > and it appears that iemguts might do what I need - > > What do you all think? > > (I posted this to the patch~ section of the Pd forum as well, and there’s > some discussion going on). > > - Nick > > > > > > > > _______________________________________________ > Pd-dev mailing list > Pd-dev@lists.iem.at <mailto:Pd-dev@lists.iem.at> > https://lists.puredata.info/listinfo/pd-dev > <https://lists.puredata.info/listinfo/pd-dev> > > > -- > William Brent > www.williambrent.com <http://www.williambrent.com/> > > “Great minds flock together” > Conflations: conversational idiom for the 21st century > > www.conflations.com > <http://www.conflations.com/>_______________________________________________ > Pd-dev mailing list > Pd-dev@lists.iem.at > https://lists.puredata.info/listinfo/pd-dev
_______________________________________________ Pd-dev mailing list Pd-dev@lists.iem.at https://lists.puredata.info/listinfo/pd-dev