Old 09-12-2019, 09:05 AM   #1
azslow3
Human being with feelings
 
Join Date: Nov 2017
Location: Heidelberg, Germany
Posts: 737
Default VST3, REAPER and MIDI Program Changes

I attempt to build open source GM/SF2 capable VSTi using VST3 and FluidSynth. The only license clean combination (GPL3 + LGPL2) I could find.

As some of your probably know, Steinberg has decided to... kill MIDI. What was strait forward in VST2 (discontinued, no new licenses can be obtained) simply does not exist in VST3.

While CC solution is half way fine (just 1000+ parameters...), my current PC (Program Change) solution irritates me.

What works so far:
I create 16x Units, ProgramLists and related ProgramChange parameters. Then PC are delivered as parameter changes and the synth works as expected. But, I get 16x128 "build-in presets" in the REAPER preset list.
a) REAPER does not create Unit preset hierarchy
b) I can select only one preset (my understanding of VST3 units is different)
c*) while PC is working, build-in GUI does not update. Can be just old REAPER on Linux where I develop it, so not critical.

Am I doing something wrong? Can something be improved on REAPER side?

I have tried to create Parameter without list: no PC delivery. From the Internet, Unit with kIsProgramChange Parameter should be sufficient. But it seems like REAPER also checks preset lists.
azslow3 is offline   Reply With Quote
Old 09-14-2019, 01:19 PM   #2
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,326
Default

This might help? The OP there is a VSL developer.

https://sdk.steinberg.net/viewtopic.php?f=4&t=651

VST3 handling of MIDI program changes is not straightforward. I'm not sure what you mean by b) above.
schwa is offline   Reply With Quote
Old 09-14-2019, 03:26 PM   #3
azslow3
Human being with feelings
 
Join Date: Nov 2017
Location: Heidelberg, Germany
Posts: 737
Default

Quote:
Originally Posted by schwa View Post
This might help? The OP there is a VSL developer.

https://sdk.steinberg.net/viewtopic.php?f=4&t=651

VST3 handling of MIDI program changes is not straightforward. I'm not sure what you mean by b) above.
Thank you for reply. Yes, I have seen this thread, except the attachment since I am not registered there. And I have got it working, I am receiving PC changes from REAPER on all channels.

But, as in mentioned thread, I had to create 16 preset lists to make it work.

The problem (well, more inconvenience then a problem...) is that REAPER display all these lists as one big list of "build-in presets".

And here is (b) behavior: as soon as I select let say "Channel 2, Program 15" (preset list from "Channel 2" unit), that deselects whatever was selected in (different) preset list for "Channel 1" unit.

I mean from SDK documentation Units may reference different presets from different (or common) lists.

I plan to upload the source and plug-in next week and will ping this thread.
azslow3 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 04:20 PM.


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