MIDI effect output to ALL channels, possible?!
I have a M4L device where I wanna send MIDI notes OUT of the device, and do feed them back to live in order to use the MIDI map function of Live.
The problem is that I need more then 128 notes, so I thought I could send the same notes on different channels (using [midiformat] midi channel), but in the MIDI channel output, its only possible to to choose a single channel out.
So I guess Live ignores any MIDI channel information in M4L.
Any solution or another option to send more then 128 MIDI triggers from a single M4L device on a single MIDI out??
If things are not too time-critical, you could try this:
format your MIDI events as lists and then prefix them with your "channel number" e.g. [channel, pitch, duration, velocity]. Then use a global [send](no — in the send name)to pass the events to MIDI devices in other slots. Each of these "slave" devices could then [receive] all the event lists and [route] them according to its own index.
e.g master sends 1 sec of middle C at velocity 96 to slave 3:
[3 60 1000 96] => [send fred]
slave 3 gets:
[receive fred] => [route 3] => [60 1000 96]
hope this helps
I had it in mind, but this means I must go out to the IAC port and back into live twice, which I guess will make the reaction slow, plus Ill have to have 17 channels open only for mapping some buttons from my controller (OSC based).
Is there maybe a way to use ableton API in M4L to send massages directly into its MIDI inputs?!? In that case I could overtake the MIDI channel out completely and also the virtual IAC feedback….
On Mac you can use Leigh Hunt’s externals to send multichannel MIDI from M4L.
Of course, for MIDI mapping you still need the virtual IAC feedback.
But instead you could use the Live API to control Live parameters directly from OSC input.
broc I owe you one this external really saved me! exactly what I was looking for!
btw regarding the API, is there a way to map things on-the-fly? like the midi map learn? cause if not and I have to program all the mapping in advance then its no good using in a custom OSC controller mapping device. I know there is map option in the API tools for sending control audio signals, but can one do it for solo/mute/clip launching etc… ??? couldnt find it myself….
but if not… I can work it out in midi (even that i made my own controller to get rid of midi….)
AFAIK, mapping with API works basically for all parameters that can be mapped with MIDI.
Control doesn’t have to be an audio signal but works also for simple int or float messages.
you missed my point. I meant if it is possible to use the ‘MIDI LEARN’ option, where the API in my M4L device recognize the pressed parameter.
In the API tools they use [path live_set view selected_parameter] for the ‘Map’ option, which is what Im looking for, but its not working on everything like in the MIDI Map option, so no clip launching for example… anyway I looked on the API and couldn’t find an observer for clips position… which is a pity.
Anyway thanks man you helped indeed!
Here’s how you observe which slot is currently being played.
----------begin_max5_patcher---------- 478.3ocyUtsaaCCCF9Z4mBAgdYVP7gz3t61dMFJLjs4RzpsjgDSVRK569zA6 rztbnIMsXWXKHJJwe8YR5mhHrR0Zvvnek9CJg7TDg3M4LP5mSXs70UMbi2MV KXL74.aTXMDVid6cbbAsQrBJL.RQMu5AC8l3A+jKaUKwF.8mRbu0epjnQ7H3 sMY7jdyAOwMcPPYLF899krgoZgPNuPCUXX0otMZ2dXHdle31wS1tGQsWgpxe 8k7L1NgVxa8Qf8Msf2P+tpodG8JjCxMwY64nH2qQuWNoUcfF2P6Z3abWDSiB KDxZX8YvpjKjUIAHc6c9goAVkueVMcxgY0UCSR321X8OTBokzl8yijyL2ojK myFcBtLK0Shrb2PZx3oGFKY4WRJT70iMthrwtxs8ymzys1ZT+yQqwh87Iwk2 ML4P7I6+A9nJMfdEnuN4PmlOgBp677YVxw3S5Ek+LnXCeETWXOGanK3HpEkK wPGbxVLQXE1dLFgAAYErEuA9NPYu1rvR959+9qmy9KQuQsTWM.jgOzz3sWwZ vfBIGEJ4tNYusz+xgEh5Zvu9.qaE0cJgD6EA898lH7l0T9aPSouzoOZM45it CBNhl9j4zozzqD9Gslb+a9jZJK6cnI6jmi9Cv9mE9B -----------end_max5_patcher-----------
If you want to know which slot a given clip is you good look at it’s path, not sure if you can observe that though.
If you want to work out what clip/track/device is selected I think you have to look at these properties in song.view (live_set view)
Hope that helps