I have a VST 3 Midi Plugin I’m working on. I have successfully added notes to a midiBuffer and processBlock() outputs them. But it seems I am unable to get ProgramChange and ControllerEvents to output. I read somewhere that VST3 will not output ProgramChange. Is that true? Is it also true for simple controllers, such as CC#10 pan? I know that I am adding the midiEvents to the buffer correctly, but when the buffer is processed, no ControllerEvents are received at the output.
Really? You can’t send a controller to the MIDI output of a VST3 Midi plugin?
It sure seems that way. I went back to the ArpeggiatorDemo and added a simple left/right pan CC#10 event every time a note-on is added. And yet no CC values show up at the output:
if ((time + numSamples) >= noteDuration)
{
auto offset = jmax (0, jmin ((int) (noteDuration - time), numSamples - 1));
if (lastNoteValue > 0)
{
midi.addEvent (MidiMessage::noteOff (1, lastNoteValue), offset);
lastNoteValue = -1;
}
if (notes.size() > 0)
{
currentNote = (currentNote + 1) % notes.size();
lastNoteValue = notes[currentNote] + transpose;
midi.addEvent (MidiMessage::noteOn (1, lastNoteValue, (uint8) 127), offset);
// send an alternating pan CC#10 value with each note-on
static bool toggle = true;
uint8 panVal = toggle ? 0 : 127;
toggle = !toggle;
midi.addEvent (MidiMessage::controllerEvent(1, 10, panVal), offset);
}
}
Can anyone confirm that it’s impossible to send CC’s to a VST3 MIDI Output?