Cross Channel Routing

Learn about building and using Max for Live devices.
Post Reply
shoeshine
Posts: 7
Joined: Sat Jun 25, 2005 12:53 am

Cross Channel Routing

Post by shoeshine » Mon Mar 01, 2010 3:54 pm

Hello,

does anyone know how to manage cross-channel routings?

For example - i would like to create a midi-based sampler (to be used in a midi track), but be able to record an audio input directly into a max buffer rather than going through the standard ableton process of live recording on an audio track and then click-dragging a file into a sampler / simpler instrument.

I had hoped to use m4live to make live-resampling etc a lot simpler...

However, it looks like send~ and receive~ don't work across different tracks (why???) and the plugin~ / plugout~ only allows you to work within your current channel / patch too.

Are there any new objects developed for m4live that can help?? Or has anyone found a solution to enable the kind of more complex send/receive routings one often implements in Max within the m4live setup?

zalo
Posts: 999
Joined: Sat Jun 27, 2009 9:10 pm

Re: Cross Channel Routing

Post by zalo » Tue Mar 02, 2010 5:35 am

[buffer~] is universal, a buffer in one patch can be written to from any other patch running at the same time on any other track

so if you have a [record~ coolsampler] on an audio track and a [buffer~ coolsampler] with a [groove~ coolsampler] on a midi track

you can record audio directly into your sampler

Gregory Taylor
Posts: 268
Joined: Tue Sep 01, 2009 3:11 pm

Re: Cross Channel Routing

Post by Gregory Taylor » Tue Mar 02, 2010 8:51 am

Let's be a little more clear here (since I don't know the extent to which we're dealing with beginners): the buffer~ isn't universal. In Max, the name space is global. If you have a Max object can be identified by a name given as an argument to the object (this includes different objects such as buffer~, coll, table, jit.matrix, to name a few), then any reference to the named external in a Max audio device will be understood to refer to all of the buffers or tables or matrices etc. that share that name. If you don't want that to be the case, you need to use a name that begins with three dashes (e.g. buffer~ ---myfile).

At the present time, moving audio across tracks in Max for Live is unsupported.

shoeshine
Posts: 7
Joined: Sat Jun 25, 2005 12:53 am

Re: Cross Channel Routing

Post by shoeshine » Tue Mar 02, 2010 10:07 am

ok - thanks both. So it looks like setting up some kinda master-record patch / track is the way to go, and then to call out the buffers in individual instruments / patches.

Its a shame that more complex routings aren't available - especially since the functionality is already there in max - and even in ableton via stuff like sidechaining on the compressor.

zalo
Posts: 999
Joined: Sat Jun 27, 2009 9:10 pm

Re: Cross Channel Routing

Post by zalo » Tue Mar 02, 2010 4:57 pm

Gregory Taylor wrote:Let's be a little more clear here (since I don't know the extent to which we're dealing with beginners): the buffer~ isn't universal. In Max, the name space is global. If you have a Max object can be identified by a name given as an argument to the object (this includes different objects such as buffer~, coll, table, jit.matrix, to name a few), then any reference to the named external in a Max audio device will be understood to refer to all of the buffers or tables or matrices etc. that share that name. If you don't want that to be the case, you need to use a name that begins with three dashes (e.g. buffer~ ---myfile).

At the present time, moving audio across tracks in Max for Live is unsupported.
thanks for clearing that up about it being the namespace, but i am confused by the three dashes names

to test it out i created 2 patches put a [send ---test] in one and a [receive ---test] in the other and still communicated across patches, could you please explain what you meant a little more?

shoeshine
Posts: 7
Joined: Sat Jun 25, 2005 12:53 am

Re: Cross Channel Routing

Post by shoeshine » Tue Mar 02, 2010 5:16 pm

I think Gregory is talking about naming for particular objects, rather than send / receive actions.

I.e. - if you have a coll file called "Buster" in one patch, and then have another coll in another patch also called "Buster" then they will both contain the same data (and replacing data in one will also replace data in the other)

If you want to prevent this from happening (i.e. make your coll name only apply within one patch / device) then you can use the --- prefix to do this

zalo
Posts: 999
Joined: Sat Jun 27, 2009 9:10 pm

Re: Cross Channel Routing

Post by zalo » Tue Mar 02, 2010 5:29 pm

that makes sense

Post Reply