MIDI CC from VST3 in Ableton Live 11

I’m building a sequencer which generates MIDI notes and CC

For testing, I’m sending out CC every process block like this

auto message = juce::MidiMessage::controllerEvent(1, 1, 1);
midiMessages.addEvent(message, 1);

The note & CC messages are recieved in Reaper and AudioPluginHost, but in Ableton Live no MIDI CC messages are coming out of the plugin (notes are working).

I tested the reason vst and that seemed to generate CC just fine so I guess I’m missing a flag or something. Is there any weirdness that I need to do to get this working in Ableton Live? I’ve opened a ticket with the people there and will report back if I hear anything.

I’m facing the same problem: can’t get Midi CCs out from my VST3 virtual instrument with Ableton Live 11 (latest version 11.3.13). Notes are ok.
And everything’s ok in Cubase or in standalone mode.
@johnhowes93 : Did you find the solution? have been able to do it?

Got it!!!
Really really tricky: With Ableton Live 11, you can’t generate Control Change Numbers marked “Undifined” in the official table of the Midi 1.0 specification (MIDI 1.0 Control Change Messages (Data Bytes))
So everything is ok with Control Change 1,2,4,… but not 3,20,21,22,…
What the f***k!!!


I second that.


Congrats on working this out it had me stumped for the last 2 years !

I was intentionally avoiding using defined CCs since I didn’t want any potential conflicts.

My solution is to send all the modulation data down the pitchwheel and convert it using max for live. I have an IS_ABLETON macro that determines which kind of modulation data to send.

I discuss this a little here around 1:25 onwards → https://www.youtube.com/watch?v=pZ6aetRM3T4

Obv the main drawback is that with this approach you can’t really use the pitchwheel for anything else, but you could potentially send the modulation at a higher resolution since the pitchwheel can be 14 bit (compared to 7 bit 0-127)

If you’re using CC in Live you’re probably going to run into max for live eventually, so providing Map buttons is a handy way to reduce the fuckery for anyone trying to hook up CC to Live devices.

Another issue you may run into is that you can’t send multi-channel MIDI out of a plugin hosted in Live (AFAIK) - so if you’re planning on making a multi channel MIDI sequencer plugin (like strokes) chances are you are going to have to come up with some a Live specific workaround which is going to be at odds with the implementation for every other DAW