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

Reply via email to