Old 01-07-2019, 10:10 AM   #1
khapahk1956
Human being with feelings
 
Join Date: Dec 2017
Location: Linslade, UK
Posts: 5
Default Problem with MIDI patch changes in VST3 instruments

I've been using Reaper for a number of months now, having decided to try it following the Cakewalk trauma (I'd used Sonar for about ten years) and am getting to like Reaper a lot ! This is the first time, so far, that I've needed to bother the forum.

I'm having a problem with patch changes in VST3 instruments. I use the AAS vsts a lot (Ultra Analog VA2, String Studio, Chromaphone 2 etc) which are available as VST3 instrument now. The MIDI patch change facility in the MIDI Editor works perfectly for the original VST versions of these instruments but does not work for the VST3 versions in Reaper. I think is is something to do with VST3 as I have the same issue with the Cakewalk Z3TA soft synth in Reaper - the original VST version accepts a MIDI patch change but the newer VST3 version (Z3TA+2_64) won't. I've tried MIDI patch changes on the VST3 versions of all of these instruments in my Sonar Platinum installation and it works perfectly for all of them !

I've approached AAS about this and they say that their software isn't the problem and, bearing mind my success with VST3s in Sonar, this would seem to be correct.

I've read Joel Sampson's "Art of REAPER MIDI Patch Banks" but that seems to apply to hardware issues. Also, the original VST instruments accept MIDI patch changes without having the ReaControlMIDI plug-in set up.

There may be an argument for sticking with the "old" VSTs in Reaper but there is a fly in the ointment. The latest version of String Studio is in VST3 only and has some nice features that I wish to use ! I suspect that any upgrades to the other AAS instruments will be VST3 as well.

Any thoughts/experiences with this issue, please, guys ?

Thanks,

k
khapahk1956 is offline   Reply With Quote
Old 01-07-2019, 10:18 AM   #2
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 23,162
Default

VST3 doesn't support program change messages (and also no MIDI learn unless it's hacked in - but seems Steinberg reintroduced some MIDI stuff from VST2 in VST3.6 - but plugin devs need to be on top of this).

However, if the VST3 plugin in question exports its preset list to host (so that you see the presets of the plugin in Reaper's preset menu, instead of just a single preset there, you can use Reaper's Program Change linking feature (click the "+" button next to Reaper's preset menu, it's there).
EvilDragon is offline   Reply With Quote
Old 01-07-2019, 10:50 AM   #3
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 7,463
Default

Quote:
Originally Posted by EvilDragon View Post
VST3 doesn't support program change messages
??? Do you really mean Midi PC messages ?

I understand the VST (2 or 3) layer simply passes Midi between the server (DAW) and the host (plugin), and does not bother about the content.

Wrong ?

-Michael

Last edited by mschnell; 01-07-2019 at 11:08 PM.
mschnell is offline   Reply With Quote
Old 01-07-2019, 12:20 PM   #4
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 23,162
Default

I guess then it's a matter of plugins supporting program changes then.
EvilDragon is offline   Reply With Quote
Old 01-08-2019, 12:29 AM   #5
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 2,954
Default

Quote:
Originally Posted by mschnell View Post
I understand the VST (2 or 3) layer simply passes Midi between the server (DAW) and the host (plugin), and does not bother about the content.

Wrong ?
For VST2 you are right, but AFAIK for VST3 only certain MIDI message types make it to the plug-in (e.g. Note On/Off does, but CC doesn't).
Tale is offline   Reply With Quote
Old 01-08-2019, 06:47 AM   #6
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 7,463
Default

But nonetheless, the DAW needs to be able to send any possible Midi message to the VST3 and the plugin software in some way needs to be informed about that message and to react on it appropriately.

VST3 might be able to have the DAW do some "reprocessing" like handling 14 bit CC, or combining PC/Bank handling though...

-Michael

Last edited by mschnell; 01-08-2019 at 06:53 AM.
mschnell is offline   Reply With Quote
Old 01-08-2019, 11:35 AM   #7
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 23,162
Default

Most DAWs do send those messages (in this case Program Change), but VST3 doesn't care about them, as Tale says. It's your typical Steiny screwup.
EvilDragon is offline   Reply With Quote
Old 01-08-2019, 01:39 PM   #8
khapahk1956
Human being with feelings
 
Join Date: Dec 2017
Location: Linslade, UK
Posts: 5
Default

Thanks for the replies so far, guys. There seems to be quite a grey area here !

I'm still at a loss to understand why the VST3s will accept a patch change message in Sonar but not in Reaper. From the comments made above I would have thought that the VST3 should react in the same way irrespective of the DAW as it's the message that is the determining factor. Or am I missing something along the way ?

I've tried the process again this evening and am getting the same results as mentioned in my OP !

k
khapahk1956 is offline   Reply With Quote
Old 01-08-2019, 02:29 PM   #9
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 23,162
Default

BTW z3ta+2 doesn't support program change even in VST2 version, from what I can see here. It doesn't export the list of presets to the host like version 1 did.
EvilDragon is offline   Reply With Quote
Old 01-08-2019, 10:35 PM   #10
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 7,463
Default

Quote:
Originally Posted by EvilDragon View Post
Most DAWs do send those messages (in this case Program Change), but VST3 doesn't care about them, as Tale says. It's your typical Steiny screwup.
VST3is don't care about Midi CCs. That can't be true...

In fact I do have a test drives of Pianoteq and VB3 II which both are VB3is, and both work fine with the CCs I send. I Just checked that Pianoteq does have configuration options to define what it is to do with "Program Change". But in fact I did not get it working in Reaper at the first try.

-Michael

Last edited by mschnell; 01-08-2019 at 10:59 PM.
mschnell is offline   Reply With Quote
Old 01-08-2019, 10:56 PM   #11
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 7,463
Default

Quote:
Originally Posted by khapahk1956 View Post
I'm still at a loss to understand why the VST3s will accept a patch change message in Sonar but not in Reaper.
If you are sure and do have de definite example (Project with Midi messages and a VST3i in a track), you should file a bug report in the appropriate subforum.

-Michael
mschnell is offline   Reply With Quote
Old 01-08-2019, 10:58 PM   #12
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 7,463
Default

Quote:
Originally Posted by EvilDragon View Post
BTW z3ta+2 doesn't support program change even in VST2 version, from what I can see here. It doesn't export the list of presets to the host like version 1 did.
Hmmm. reacting on Midi messages and exporting a list of patches is two different things regarding the VST API.

-Michael
mschnell is offline   Reply With Quote
Old 01-09-2019, 12:45 AM   #13
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 23,162
Default

Quote:
Originally Posted by mschnell View Post
VST3is don't care about Midi CCs. That can't be true...
But it is. It doesn't handle MIDI input the same way as VST2 at all. You have missed all the shitstorms about this from VST developers back at KvR Audio forums.

Basically, in order to have MIDI learn available in your plugin, you have to hack it through an automation parameter (which is discouraged by Steinberg - but they themselves ARE DOING IT in their own plugins!). Which is why some plugins (like, for example, u-he's) don't support MIDI learn in their VST3s - because they'd need to report thousands of automatable parameters, which is not really a good thing. So much about their SNAFUs. They're finally coming around after 7+ years and in VST3.6 they ported back some VST2 functions to handle input MIDI messages and MIDI learn better. But again - plugin devs need to implement this.

Quote:
Originally Posted by mschnell View Post
Hmmm. reacting on Midi messages and exporting a list of patches is two different things regarding the VST API.

-Michael
Yes, sure. If the plugin exports its preset list to host, then you can use host-side program change feature if the host has one (Reaper has it). That would've been a workaround if the plugin itself doesn't respond to Program Change in any way.
EvilDragon is offline   Reply With Quote
Old 01-09-2019, 03:03 AM   #14
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 7,463
Default

-> https://forum.juce.com/t/missing-eve...3-plugin/30927

In a message as of Dec 4, 2018 I found:

"VST3 added support for MIDI CC in/out like just a few weeks ago. I donít think itís currently supported in JUCEís VST3 wrapper yet. I donít think Program Change messages are passed to the callback in VST3 either, Steinberg believes that those are the responsibility of the host to manage.

Keep in mind that since itís such a new feature you may have issues finding hosts who support it at all."

-Michael
mschnell is offline   Reply With Quote
Old 01-09-2019, 03:13 AM   #15
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 7,463
Default

It might make sense to depreciate transferring Midi CC messages via the VST (3) API. Here of course "normal" parameter changes can be used. With that the host is responsible for handling 128 vs. 16384 resolution.

How is the DAW supposed to allow for a plugin to send Midi CC messages to another site ? The plugin could modify a parameter and the DAW could create Midi CC messages from that. Does that make any sense ????

With MPE CC handling is even more complicated, as the plugin needs to be informed about the relation (channel) between CC (and other sound changes like After Touch or Pitch Bend) and Note-ON/OFF messages.

Seemingly the Host and/or the plugin needs to provide a menu to allow the user to map CC numbers (and Bit Depth) to functional parameters. Regarding Reaper this is not (only) for automation (Reaper-site "learn" -> Midi CC messages in the Control Path) but also (and separate from that) for midi messages in the realm of the track !!!

But if CC is handled in that way, additional (similar) definitions need to be provided for Midi messages like Pitch-Bend, AfterTouch, Poly AfterTouch, Program Change, Bank Select, ...

No wonder that Kontakt is VST2.

Pianoteq seems to be a VST3i that implements a lot of this. So it might be good for tests with Reaper.

-Michael

Last edited by mschnell; 01-09-2019 at 03:27 AM.
mschnell is offline   Reply With Quote
Old 01-09-2019, 03:22 AM   #16
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 7,463
Default

Quote:
Originally Posted by EvilDragon View Post
-> "New Steinberg:Vst:LegacyMIDICCOutEvent: allowing a Plug-in to generate MIDI CC as output event."

They consider sending Midi CC by a plugin as LEGACY ???

Hence doing Midi filter plugins is depreciated ?!?!?!?!?!?

Happily Reaper users have JSFX

-Michael

Last edited by mschnell; 02-09-2019 at 11:26 PM.
mschnell is offline   Reply With Quote
Old 01-09-2019, 04:40 AM   #17
ivansc
Human being with feelings
 
Join Date: Aug 2007
Location: Near Cambridge UK and Near Questembert, France
Posts: 18,798
Default

You guys just about have me convinced to dump all my vsti3s... at least the ones where I might want to use program changes! I haven`t taken the time to check, but is that " No CCs in VST3i" really true???

At least it doesnt appear to be another shortcoming in Reapers MIDI implementation.
__________________
Brexit Schmexit. Lets have a violent revolution instead. Bagsy the first go with a nuke! (Here, Moggy Moggy...)
ivansc is offline   Reply With Quote
Old 01-09-2019, 06:27 AM   #18
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 7,463
Default

Quote:
Originally Posted by ivansc View Post
At least it doesnt appear to be another shortcoming in Reapers MIDI implementation.
Seemingly the VST3 specs are still a moving target, so a DAW can't be "correct".

-Michael
mschnell is offline   Reply With Quote
Old 01-09-2019, 01:04 PM   #19
khapahk1956
Human being with feelings
 
Join Date: Dec 2017
Location: Linslade, UK
Posts: 5
Default

Quote:
Originally Posted by EvilDragon View Post
BTW z3ta+2 doesn't support program change even in VST2 version, from what I can see here. It doesn't export the list of presets to the host like version 1 did.
Apologies, I must hold my hands up here ! You are quite correct; I've just realised that I was getting confused with the Z3TA tracks in my test projects. Z3TA+2 does not support program changes.

However, I can get AAS String Studio3 (VST3) and the VST3 versions of AAS instruments mentioned above to accept patch control messages in Sonar Platinum.

k
khapahk1956 is offline   Reply With Quote
Old 02-09-2019, 09:38 PM   #20
Vindes
Human being with feelings
 
Vindes's Avatar
 
Join Date: Sep 2017
Posts: 18
Default

This is an annoying thing about VST3's in Reaper, but for the one's I use I have a somewhat usable workaround.

For any VST, you can save a current configuration as a preset by clicking on the little + at the top of the VST's menu bar and then "Save Preset". You then give it whatever name you want. You have to do this for all the programs you want to us.

Also under the + there is "Link to MIDI Program Change". Check that and then your MIDI program changes will switch to whatever presets you saved.

This actually works well for Superior Drummer 3, where the VSTi3 doesn't seem to have that old concept of numbered presets. So it actually offers a very quick way to switch between presets you want to use.

It's less than perfect on VST3's that do have numbered presets, though, because when you save the configuration to Reaper's VST3 preset thing it just grabs the state of everything as it is and saves that. If you adjust the preset within the VST3 later and only save it within the VST3 then the Reaper preset isn't going to care about your changes. It's still going to go back to what you saved when you did it under that + menu.

This sounds confusing, I'm sure, but it's pretty simple once you mess with it. The inconvenient thing is that if you edit your presets much you have to remember to save them twice. (Once within the VST3, then again using the + thing.)

Sometimes I end up just using VST2's instead of VST3's solely because none of this is necessary with VST2's. So I use Superior 3 as a VSTi3, Pianoteq as a VSTi3, and TH3 as a VST2. I always kind of feel like I'm missing something by using the VST2 version when a VST3 is available, but I don't know what.
Vindes is offline   Reply With Quote
Old 02-09-2019, 11:33 PM   #21
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 7,463
Default

Quote:
Originally Posted by Vindes View Post
Also under the + there is "Link to MIDI Program Change".
GREAT finding !

Another way is using SWS Live Config, which can change presets based on CC Midi messages. (To use PC messages, you might additionally need the plugins "Midi Convert to CC" (or the older "MIDI PC to CC") and "MidiToReaControlPath")

(I found that with Kontakt, having Kontakt do the patch/program ("instrument" in Kontakt speak) change based on PC and instrument groups is a lot faster than using external presets. )

Yet another way might be to automate some "current patch" VST parameter that might be provided by the VST3. You can link same to Midi CC either by "Midi learn" (in the Reaper Control Path) or by "Midi link ..." (in the FX Midi bus). As this is limited to CC you will need "Midi Convert to CC", again.

Reaper Rules
-Michael

Last edited by mschnell; 02-10-2019 at 05:04 AM.
mschnell is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 08:21 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.