VST3, Programs and MIDI Program Changes

Following what I have read here and here, can someone please tell me what callbacks / parameters should I see being called / changed in response to a MIDI Program Change sent from the DAW?

My plug-in is an audio plug-in that also receives MIDI (but does not emit it)

Any repeatable procedure to see it triggered in any of the main DAWs would be greatly helpful.

I have tried creating the default audio plug-in project with Projucer and increased the value returned by getNumPrograms() to 128, added a member variable to hold the current program but none of the program-related callback seem to ever be called, neither in Cubase nor in REAPER (I am developing on macOS mainly).

Has someone been able to make it work somehow? Any pointers in the right direction?

For the JUCE team, is this even possible in VST3

1 Like

I’ve never really gotten this working, but you might want to look at the wrapper code where they create a VST3::Parameter struct that reports kIsProgramChange and responds to VST3 program changes in audioProcessorChanged(). Might try setting a breakpoint there to see if it’s called on program changes?

That said the VST3 spec doesn’t say that hosts should map MIDI program changes to VST3 program changes.

1 Like