[PD-dev] dynamic patching - is iemguts the way to go?

Nick Porcaro nick at ccrma.stanford.edu
Thu Aug 22 22:42:18 CEST 2019


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.brent at 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 <nick at ccrma.stanford.edu <mailto:nick at 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 at lists.iem.at <mailto:Pd-dev at 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 at lists.iem.at
> https://lists.puredata.info/listinfo/pd-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20190822/62105eb0/attachment.html>


More information about the Pd-dev mailing list