Best practices for organizing complex patch

Jonatan Ewald's icon

Hi,
I'm looking into setting up a fairly complex patch.
Basically it's a patch for controlling EQ, delays, limiters, routing and other processing for 64 channels.
I want to find some resources on best practices for organizing complex patches and also how to manage presets and multiple channels with similar processing but different values (like each channel has the same filter blocks, but all channels have different values for the filters).
For example one thing I would like to do is to have a drop-down menu for selecting the channel and then fetch the filter values for one of the channels.
So if I have a low-pass filter on all channels but it has a different cut-off for each channel I would like to be able to select one of the channels and then the interface gets updated to show the values for that channel and when I select a different channel, that value is stored so the next time I select that channel the last value I set is recalled.
Also all these channels needs to run with the correct values in the background.

Are there any good tutorials or tips for handling complex patches and dynamic preset handling?
Also user interface tips for having one user interface, but switching between channels so only the setting for one channel is viewed at a time?

Roman Thilenius's icon


that all seems doable.

make each effect an abstraction, put everything inside it into a poly~ so that processing can be turned on and off, load these effects by scripting them into a position, make a seperate bpatcher with the GUI stuff for each of the effects, let it communicate with the 32 instances of the effect using forward /receive.

Roman Thilenius's icon


oh and... for that remote interface... you would implement some form of "preset request" (as in midi synths if you know that system?) so that the GUI can always "ask" the instance in question for its current state.

that is in my experience more comfortable than storing every setting somewhere whenever a parameter has changed.

Jonatan Ewald's icon

Is poly~ the best approach?
I was thinking of using MC. objects in Max 8.
Are there any examples of this GUI use that you can link to?
I don't know the midi synths system can you link to examples or explain it a bit?

Iain Duncan's icon

poly~ would be good for this, you can target messages to specific subinstances to make channel based routing. I would recommend the poly chapter in the Cipriani and Giri books. (which every max user should own!)

Roman Thilenius's icon


to give advice about the effects section you should explain how you want it work or upload what you got already.

however, here is the basic idea behind the "remote display" task, which i´ve used in some of my apps in a similar fashion. (i´ve tried to simplify it a bit)

put everything in search path and run "mainpatch" and it´ll hopefully work. :)

p.s.:
note that this thing will also continue to work when something else changes the parameters in the effects (loading a preset, midi, whatever.) you can test using the numberboxes inside.

...

remote-instances.zip
zip 1.95 KB
remote send gui