Currently Ableton Live Lite (both 10 and 12) renders my app that generates MIDI CC messages but only some of the controls successfully send data. This may be an Ableton bug as the same VST3 Synth type plug-in works fine in Bitwig. Using Cabbage 2.10.0 on M1 Pro MBP 32/1T Tahoe 26.2.
Any ideas?
The example MIDI-CC-OUT works fine in Ableton, but that’s only using 4 controls, in my app the first 8 work and then nothing after that.
That’s odd. It’s working in Bitwig, but not in Live? One would have to assume something in Live is causing the issue. Have you tried in another host? Reaper?
In a related topic, I recently had some diccussions woth @Oeyvind about his current MIDI instruments. He noted some timing issues in his output. After doing a little research and speaking with Victor, one of the main Csound developers, it seems that these timing issues are more or less to be expected due to the way MIDI output is handled in Csound. In your case it’s probably not an issue as you’re sending CC data, but I thought it was worth mentioning all the same.
Just a thought, you could try adding -+raw_controller_mode=1 to your csd options, if you are using controller numbers that may initially have been reserved in the midi protocol. For example if you are using controller number 123 (all notes off), it has special handling, and thus it is not sent out directly. Using raw_controller_mode allows you to bypass this. See for example MIDI CC List (Continuous Controllers) | Another Producer for a list of these special controller numbers. I think it might apply e.g. to controller numbers 32-63 (LSB) and others. I don’t remember all the details, but I remember having the issue where some controller numbers would behave differently (seemingly being muted).
Thanks, Rory, that’s my thinking, too. This wouldn’t be some limitation of the Lite version, would it? For some reason Reaper is only seeing the AU version of the app and I don’t have any other apps besides Bitwig and Ableton Live Lite that see the VST at the moment. If I can figure out how to bundle CSound in my package I’ll see if my son in law can test it in his full version of Ableton.
Thanks also for the heads up on MIDI timing. My app supports LFO clock divides and MIDI Clock sync for the hardware it controls and the timing seems a bit suspect to me. I should probably try it using the hardware controls and compare the results. Another to do item added to the list.
Thanks, Oeyvind, I’m actually using -+raw_controller_mode=1 in my csd, though I added it for future use as the hardware I’m controlling with this app uses plain CC. I have other devices I might someday want to control that can take advantage of the higher res mode. I noticed that the MIDI-CC-OUT app which works in Ableton Live Lite didn’t have that option, so I removed it and retested but that didn’t seem to make a difference.
Ok, I’ve figured out what’s going on here – it’s not a bug but a tricky gotcha to keep in mind.
Turns out Ableton saw my Akai LPD8 controller and helpfully mapped the first 8 parameters of my plug-in to the knobs on the LPD8. For reasons I still do not understand, these mappings allowed CC data to flow out of Ableton to be captured by MIDI Monitor, however, the remaining unmapped controls were ignored.
In order to get all the MIDI data flowing out of Ableton I needed to do the following:
- Create a second MIDI track.
- In the MIDI From chooser of the second track, select the track containing my plug-in.
- In the second (lower) chooser, specifically select my plug-in (not “Post FX”).
- Set Monitor to In.
This second track now receives all MIDI CC data from my plug-in, which you then route to your destination synth.
This is probably something Ableton users are already familiar with but threw me for a loop. 
Thanks all for weighing in.
I’ve little experience with Live, but this sounds like it would throw anyone!
1 Like