Forums > MaxMSP

Dynamic Routing System

May 4, 2009 | 4:35 pm

hi guyZ,
i’m trying to create a dynamic routing system for my patch..

imagine you have 10 subpatch with an inlet~ and an outlet~ each one and you want to create a dynamic chain of subpatches that allow you to change the order of these subpatches without having to switch in edit mode. because the User don’t have to have any max experience to run my patch..

is it possible?
how can i do this?

really tks
mmb


May 4, 2009 | 4:37 pm

Have a look at [p DynamicPoly] in the [poly~] help file. It shows how you can reload different subpatches without interrupting the audio.

lh


May 4, 2009 | 5:46 pm
thereishopeforus@hotmail.com wrote on Mon, 04 May 2009 10:37
Have a look at [p DynamicPoly] in the [poly~] help file. It shows how you can reload different subpatches without interrupting the audio.

lh

ok.. i’ll have a look.. but the problem isn’t to interrupt the audio streaming.. i don’t care this.. the important thing is that users have to make them own chain without going on edit mode for "cabling&linking" the main different subpatches they decided to use (in the order they prefer)..


May 4, 2009 | 5:52 pm

If you create the modules you want your users to be able to work with and save them as seperate max patches, each one with the same number of [in~]s and [out~]s. Then in your main patch you can place as many [poly~]s as you like in series and replace the contents of them using the "patchername" message, perhaps storing all your module filenames in a [umenu] for selection. Remember to include a patch like the "dummy" one used in the [p DynamicPoly] example that is just a patchcord from [in~] to [out~] so that there is always a connection running through to the [dac~].

lh


May 5, 2009 | 8:37 am

now i try.. =)

tks a lot
mmb



MIB
May 5, 2009 | 6:57 pm

a combination of [matrix~] and [matrixctrl] would probably do what you want. Just connect everything to everything… have to be careful about feedback… or not…


May 6, 2009 | 12:22 am

Some people have used a [matrix~] with lots of [send~] and [receive~] as ins and outs. With a menu, you can set the source/destination of each.
J-F.


May 6, 2009 | 8:22 am

See also Leafcutter John’s Framework, which uses scripting & bpatchers. Version 1e is on his Share page at: http://www.cycling74.com/twiki/bin/view/Share/Leafcutter
There was also a later version to which I’d added a matrix/matrixctrl feedback system, but that doesn’t seem to be around any more.
Scripting, of course, only works for this kind of thing if you’re OK about breaking the audio chain,
cheers
Roger


May 8, 2009 | 2:15 pm

oh, really tks to all you! =)

mmb


June 8, 2009 | 3:22 pm

ok.. the routing is done.
really ths to all you..

now.. once i routed everything i need to have on my main patch a dynamic drawing of the GUI..
basically i need to "call" my effect (stored into an external patch) and open it into a bpatcher.

so i need to CREATE new bpatcher when i call my effects.. and specify to my bpatcher:
-what patch to load
-the placement on the main patch (in pxl)

possible? =)

really tks
mmb


June 10, 2009 | 4:57 pm

If you load your effect, you’ll have a short dropout with audio. The only way to chieve this, is the bpatcher loads only a user interface without any audio objects. You need to establish some sort of communication between the effect and the UI…
The effect should reside within a poly~. There you can load an effect without interruption…

ah, and yes you can load into the bpatcher like that:

– Pasted Max Patch, click to expand. –

Stefan


June 10, 2009 | 8:53 pm

without looking at the code i can tell what it is
because i know stefan as our scripting expert.

yes, bpatcher is very special, but ANY max
object can be scripted by "script new…"
including custom abstractions and externals, btw.

with bpatchers it is a lot of fun, and where i
used it the most.


June 12, 2009 | 7:43 pm
Roman Thilenius wrote on Wed, 10 June 2009 14:53
without looking at the code i can tell what it is
because i know stefan as our scripting expert.

yes, bpatcher is very special, but ANY max
object can be scripted by "script new…"
including custom abstractions and externals, btw.

with bpatchers it is a lot of fun, and where i
used it the most.

you are right.. i’m using some script.. for creating, mooving snf msnsging bpatcher and both audio anda data streaming between the main patch anche the bpatcher inside..

tks a lot
mmb


Viewing 13 posts - 1 through 13 (of 13 total)