Topic: Midi Program change

I can't get this working
In the midi log window above the midi settings I see the messages, when I send Midi Note events or Midi CC message, but when I send Mid Program Change messages, nothing to be is seen there, so obviously those messages don't result in switching presets, even if I set such in the Midi settings, save as a "preset" and set that to be the default.
Also "Assign Midi Event" with the Preset manager does not work for Program change.
I can see the program change messages I send by placing a Midi logger plugin in the track's FX chain directly before Pianoteq. So I am sure they should arrive at the Pianoteq plugin.
I am using Pianoteq 9.10 std on Reaper on Windows.

Edit:
For other VSTs, Reaper shows a list of programs that are to be addressed by program change messages in a drop down list on the Frame Reaper creates for the plugin. Same is managed by program change messages.
A test shows that with Kontakt I see 500 algorithmically named "Programs" in the appropriate menu of the Frame Reaper creates for the plugin, after I created an instrument bank (The Kontakt version of a program list to be used for program change).
How can I make Pianoteq provide this list to Reaper (if that is necessary) ?

Last edited by mschnell (15-01-2026 07:34)

Re: Midi Program change

I also discussed this issue in the Reaper forum.
- With Reaper, Kontakt VST3 works fine with program changes. Obviously Kontakt (when I create an instrument bank) somehow provides 500 program "slots" that (visibly in Reaper) automatically get assigned to program change messages (128 channel 1, 128 channel 2, 128 channel 3, 116 channel 4), I don't know what Kontakt does to communicate this with Reaper. But this seems to be VST3 standard. (Dexed also provides (a few) such patch names.)
- Seemingly Reaper does not send "raw" program change messages to a VST3 (maybe that in fact is impossible)
- As it's easy to assign Instrument patches to Program change events in the Pianoteq Midi configuration, this in fact seems to be implemented (but no such messages are seen in the Midi log)
- Does this work with other DAWs ?

- any more comments ?!?!?!? (I do need this for my "live" setup)

Last edited by mschnell (15-01-2026 18:49)

Re: Midi Program change

After some more research:
It seems like a severe shortcoming/bug of the Pianoteq software, that with the VST3 it is easily and straight forward possible to configure Program change messages to load instrument setups, but the VST3 version of the host sending program changes to the plugin is not implemented (while it had been implemented with the late VST2 version of Pianoteq)
The VST3 version of program change includes providing program/patch names to the host. But for a decent workable improvement just providing algorithmic names (similar to what is implemented with Kontakt) would suffice.
So this obviously is a bug-Report / Feature request.

Re: Midi Program change

mschnell wrote:

After some more research:
It seems like a severe shortcoming/bug of the Pianoteq software, that with the VST3 it is easily and straight forward possible to configure Program change messages to load instrument setups, but the VST3 version of the host sending program changes to the plugin is not implemented (while it had been implemented with the late VST2 version of Pianoteq)
The VST3 version of program change includes providing program/patch names to the host. But for a decent workable improvement just providing algorithmic names (similar to what is implemented with Kontakt) would suffice.
So this obviously is a bug-Report / Feature request.

Sounds like a thorough investigation .
You're right that it worked in VST2, but not because of a specific 'implementation.'  I may be wrong but it seems to le that VST2 is a  rather basic protocol that  passes everything through. VST3 is much stricter and blocks MIDI Program Changes by default unless Pianoteq VST3 specifically creates a 'Program List' parameter to catch them. Since Pianoteq 9 hasn't 'advertised' this list to Reaper, the messages are being blocked by the VST3 wrapper itself. Hopefully Modartt will provide a fix soon if this is recognised to be a bug.

Re: Midi Program change

It should be not a great problem for the devs to provide a list with some 500 "dummy" names (such as "Channel 1 Program 1", ...) like NI Kontakt does.
Decent user configurable names would be nice on top but not strictly necessary for functionality.

Last edited by mschnell (16-01-2026 19:08)

Re: Midi Program change

mschnell wrote:

It should be not a great problem for the devs to provide a list with some 500 "dummy" names (such as "Channel 1 Program 1", ...) like NI Kontakt does.
Decent user configurable names would be nice on top but not strictly necessary for functionality.

yes , I do agree.

Re: Midi Program change

Pianistically wrote:
mschnell wrote:

It should be not a great problem for the devs to provide a list with some 500 "dummy" names (such as "Channel 1 Program 1", ...) like NI Kontakt does.
Decent user configurable names would be nice on top but not strictly necessary for functionality.

yes , I do agree.

It would be nice if this "just worked" (meaning that every VST within every VST host would respond to program change messages). But as you learned it doesn't always work. I had similar problems with other VSTs.

You may need a VST host that is optimized for live performance and quick patch changes (such as Gig Performer or MainStage).

Re: Midi Program change

I did not try any other Plugin hosts but Reaper.
But my research results in stating that (other than with VST2), a VST3 plugin only can be sent program change commands by the host, if it first offers such a list. Hence the Host can't do anything about a VST3 not being able to accepts program change commands for that reason, as this is how VST3 is defined.
Reaper is very well suited for "Live", as it is fast and highly configurable in all aspects (I do use this all the time, "on stage") . With Kontakt VST3 it perfectly performs instant patch changes by program change commands.
Did you try Gig Performer or MainStage or Camelot on that behalf with Pionoteq ?

Last edited by mschnell (21-01-2026 10:50)