Targeting parameters in the next device
I have just moved over to M4l – been using Max since Max4 on OS9 and Live since 6. Updated from Live 8 to 9 today, but been playing with M4l for a few days now on 8.
Maybe my choice to jump straight into the LOM is cavalier, but that’s why I got M4l. I’ve decided to have a go at porting my MIDI Controlled Resonators patch to M4l after requests from M4l users. The original Max 5 patch and Ableton project is here:
This allows you to use a MIDI Keyboard or MIDI clip (any Note on and offs in fact) to control the Resonators effect in Live.
The best plan I guess is to create two devices:
1) Placed on the MIDI Track, using [send] to choose the Note-On source and
2) Placed on the Audio Track, using [receive] to control the Resonators parameters. Latency should be tolerable, we’ll see.
So after three evenings of reading the LOM and forum posts like these:
It looks like the SimplerCTL above or Jeremy Bernstein’s alltrackdevices.js get’s me nearly there at being able to place the second M4l patch (receiver) in front of the Resonators effect I’m targeting.
I need to be able to have the patch automatically target the correct Resonator parameters next along in that track’s devices, so relatively. The parameter numbers should remain the same within the Resonator, so as long as I get the correct device ID relatively it should be quite easy. My head’s gonna explode before I get there at this rate. live.observer/object/path is a wood for trees situation for me at the moment. What am I missing?
Gonna keep battling away, but if someone sees the solution before I post mine (hopefully soon) then please give me a shout.
Find the path of the device your building, then use some maths to turn that into the next devices path, then append the parameters you want to control….
Whilst S4racen’s solution will definitely work you could easily consolidate your project into one M4L device from what you’ve said it doesn’t seem like you strictly need the receiver device and it would seem simpler to me to allow one to select the resonator device you want to control from the midi device. The LOM has no requirement a control device to be in the same track as the device you want it to control. Have a look at the Adial device that’s included in the M4L live pack or I can put together some example code if you like :)
Thanks for the responses:
S4RACEN: Yes. It’s the path where I was stuck.
CPHAS: I think perhaps you’re right. I had wanted to hide the LOM from the user, so they could just place the receiver in and go. But perhaps a set of nested umenus / live.menus for the interface, to target the Resonator device, all in the send patch and use live.object within the one patch is actually more elegant (I had started off with the dial example as my first bit of research).
If the unmenus / live.menus are labelled clearly enough 1) Track 2) Device, then that’s proabably all they’d need to actually do.
Thanks again, I’ll post the patch later when I’m done.