Max 4 Live (Live 10) DeviceIO get available_routing_channels Invalid Id
Hello,
I am trying to create multichannel m4l devices but am struggling to send audio between devices in live 10.
My method:
First I load a few instances of my M4L patch in Live 10 with 10 channels on the pulgout and plugin. I then get the device path, then a pair of audio_outputs, then set the routing_type to it's own channel, then ask it for the available_routing_channels, then when I go to use the id's it gives back the live.object says "invalid id".
I'm really stuck as this seems like a bug in m4l. I have tried numerous patches with various strange results, one time it even passed back an m4l device id in the list of available_routing_channels. I have reinstalled a clean Live 10 (problem continues). Any help would be greatly appreciated, I have been working on this nearly daily for over a month (Masters Project).
I know it’s possible in Live 10 as the Envelop patches (http://www.envelop.us/software) mange to pass multi-channel audio between them, but they are using the “RoutingObjects” and “BrowseRouting” patches taken from Ableton’s Surround Panner M4L device. I am trying to cook my own as these objects are so heavily connected with the umenu object.
Here’s a patch with some basic stuff to get you started if you want to have a play.
(you will need to click around, change id numbers and copy over the routing_type dict)
My version of Live: Ableton Live 10 Suite (10.0.6 Build: 2019-01-09_5d8b434734
Have you looked at Manuel Poletti's Audio Mix package (accessible via the Package Manager)? There may be some valuable insights there....
Ooo no, thanks I will have a look.
Unfortunately it only lets you embed a M4L device in max it doesn't let you connect to other M4L devices in the live environment as far as I can see, but they are interesting patches thanks.
Well, long story short.
The id and identification number have no relation to each other. I ended up building a patch that requests the available_routing_channels form other devices and correlate the missing information so a device can get its own output. I used this bridge in the MT4L Suite and its abstracted away if anyone wants to use it feel free :)
https://github.com/Mortimyrrh/MTools-for-Live