Old 07-15-2019, 10:20 AM   #1
zookthespook
Human being with feelings
 
Join Date: Mar 2015
Location: India Mumbai
Posts: 816
Default Vst 2.4 plugins replaced by vst3.

Hi
As there were double copies of some of my vst2.4 plugins in the vst3 folder, I decided to delete the 2.4 versions, assuming reaper will latch on to the vst3 versions of the plugin , but seems like projects which had vst 2.4 versions could not locate the plugins to load up ,though in the FX browser, the vst3 version of the same plugin is available.

So if i had deleted the Fab PRo q3 from the 2.4 folder , the project said the plugin was missing ,while the vst3 version of pro q3 shows in the fx browser.

any insight would be appreciated.

regards
zook
zookthespook is offline   Reply With Quote
Old 07-15-2019, 11:10 AM   #2
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

There's no such feature in Reaper at all.
EvilDragon is offline   Reply With Quote
Old 07-15-2019, 11:13 AM   #3
Pashkuli
Banned
 
Join Date: Jul 2006
Location: United Kingdom, T. Wells
Posts: 2,454
Default

VST3 has a different install location and it is a different file.
It would have been nice Reaper to be able to replace old versions of plugins with new versions of "the same", but then something or someone has to specify which plugins are "the same".
Pashkuli is offline   Reply With Quote
Old 07-15-2019, 11:15 AM   #4
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

Also I wonder if all VST3 plugins share the same plugin state chunk as their VST2 counterparts...
EvilDragon is offline   Reply With Quote
Old 07-15-2019, 11:47 AM   #5
MaXyM
Human being with feelings
 
Join Date: Aug 2018
Posts: 454
Default

Quote:
Originally Posted by adXok View Post
VST3 has a different install location and it is a different file.
It would have been nice Reaper to be able to replace old versions of plugins with new versions of "the same", but then something or someone has to specify which plugins are "the same".
Different location does not matter. If Reaper does see requested plugin in other location it does use it.
What does matter is identifier of a plugin. It has to be the same as one stored in project. Plugins are recognized by their IDs.
Sometimes developers uses the same id across all plugin versions. other time they generate different ids making possible to use different versions of the same plugin in single project.
Both approaches have pros and cons obviously.

At the end, as ED said, there might be architectural differences between vst2 and 3 impacting pluging data stored in project
MaXyM is offline   Reply With Quote
Old 07-15-2019, 11:58 AM   #6
zookthespook
Human being with feelings
 
Join Date: Mar 2015
Location: India Mumbai
Posts: 816
Default

In that case maybe it is better to put the 2.4 DLL back and delete the vst3 instance of the same plug .AFAIK if a 32 bit instance was missing reaper used to automatically load the 64bit instance of the vst2 DLL...thats why I presumed.. but then it's better to stick to the 2.4 version regardless
zookthespook is offline   Reply With Quote
Old 07-15-2019, 12:19 PM   #7
MaXyM
Human being with feelings
 
Join Date: Aug 2018
Posts: 454
Default

Quote:
Originally Posted by zookthespook View Post
In that case maybe it is better to put the 2.4 DLL back and delete the vst3 instance of the same plug .AFAIK if a 32 bit instance was missing reaper used to automatically load the 64bit instance of the vst2 DLL...thats why I presumed.. but then it's better to stick to the 2.4 version regardless
only if both plugins: 32 and 64 bit have the same id.
MaXyM is offline   Reply With Quote
Old 07-15-2019, 12:33 PM   #8
zookthespook
Human being with feelings
 
Join Date: Mar 2015
Location: India Mumbai
Posts: 816
Default

Quote:
Originally Posted by MaXyM View Post
only if both plugins: 32 and 64 bit have the same id.
Ah ! Thank you for helping good people
Cheers
Zook
zookthespook is offline   Reply With Quote
Old 07-15-2019, 02:36 PM   #9
lunker
Human being with feelings
 
lunker's Avatar
 
Join Date: Nov 2007
Location: Lucas, TX, USA (via Luleå, Sweden)
Posts: 2,008
Default

Quote:
Originally Posted by EvilDragon View Post
Also I wonder if all VST3 plugins share the same plugin state chunk as their VST2 counterparts...
Yeah ... I was wondering that too.

I've had great luck upgrading projects to use a newer version of a VST2 plugin (Addictive Drums to Addictive Drums 2, Jamstix3 to Jamstix4, Kontakt5 to Kontakt6), by simply changing the plugin name in the RPP file. But I haven't tried migrating from VTS2 to VST3 yet.

I foresee some experimentation tonight.
__________________
Best Regards, Ernie "lunker" Lundqvist
BDSM (Bad Dog Studio Musicians)
Windows 10 running on Z390 + i7-8700
lunker is offline   Reply With Quote
Old 07-15-2019, 03:59 PM   #10
jelloman
Human being with feelings
 
jelloman's Avatar
 
Join Date: Jul 2019
Location: Hudson Valley of NY
Posts: 108
Default

The reason the project can't find the VST2.4 or replace it automatically with a VST3 is because they have different file extensions...VST2.4 are .dll files and VST3 are .vst3 files...when REAPER loads in a project it's looking for the .dll files which are now gone, and it doesn't know what to do...

As far as 32 and 64 bit VST2.4 files, you can't have both saved to the same location...windows will overwrite one with the other...if you want to have both installed they need to be in separate folders...
jelloman is offline   Reply With Quote
Old 07-15-2019, 04:34 PM   #11
MaXyM
Human being with feelings
 
Join Date: Aug 2018
Posts: 454
Default

@jellowman, it's completely not true.
DLL's file name is not what is used to identify vst/vsti plugins.
In fact plugins's .dll files can be renamed to whatever you want. And thanks to this you can have both versions (32 and 64bit) located in the same directory.

Of course after changing filename of a plugin, you have to ensure a DAW knows about this change (ie refresh plugin cache).
MaXyM is offline   Reply With Quote
Old 07-15-2019, 10:07 PM   #12
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

Actually yes it is used in .RPP file. Whenever you load a VST2 plugin, it's filename is referenced in .RPP, along with extension. Ditto for VST3.
EvilDragon is offline   Reply With Quote
Old 07-16-2019, 01:12 AM   #13
zookthespook
Human being with feelings
 
Join Date: Mar 2015
Location: India Mumbai
Posts: 816
Default

Quote:
Originally Posted by EvilDragon View Post
Actually yes it is used in .RPP file. Whenever you load a VST2 plugin, it's filename is referenced in .RPP, along with extension. Ditto for VST3.
Thanks ed, for clearing that up !

Cheers
Zook
zookthespook is offline   Reply With Quote
Old 07-16-2019, 01:39 AM   #14
MaXyM
Human being with feelings
 
Join Date: Aug 2018
Posts: 454
Default

Quote:
Originally Posted by EvilDragon View Post
Actually yes it is used in .RPP file. Whenever you load a VST2 plugin, it's filename is referenced in .RPP, along with extension. Ditto for VST3.

File name really does not matter (in OPs case). It's stored in a project, it's true, but For sure it's not the main identifier of a plugin. maybe it's used when no VST ID is set, or you have two versions of the same plugin (same IDs). Maybe.
Anyway VST ID is a main identifier suggested by Stainberg.

Do the experiment.
  1. Create new project
  2. Add one track with some VSTi (I added Surge, represented by surge.dll).
  3. Store the project. The project contain a line:
    Code:
    <VST "VSTi: Surge (Vember Audio)" Surge.dll 0 "" 1667920691 ""
  4. Close Reaper.
  5. Rename the plugin file. I renamed to Surge_blabla.dll
  6. Reopen Reaper loading the project. In my case Reaper didn't even asked for missing Surge. It found it silently.
  7. Store the project. Look inside. New project contain line
    Code:
    <VST "VSTi: Surge (Vember Audio)" Surge_blabla.dll 0 "" 1667920691 ""

Also check out Stainberg reference for confirmation.

Last edited by MaXyM; 07-16-2019 at 02:17 AM.
MaXyM is offline   Reply With Quote
Old 07-16-2019, 03:02 AM   #15
MaXyM
Human being with feelings
 
Join Date: Aug 2018
Posts: 454
Default

I performed another experiment which partially contradicts what I wrote. But it's the consequence of logic applied to corner conditions by Reaper.

In short, I created test project with surge and synth1. Then I swapped filenames of those plugins.
In this situation Reaper loaded synth1 in place of surge and vice-versa. Then replaced their VST ID in saved project file.

So it seems the Repear's logic is following:
1. try to find plugin by file name at first
2. if not found look for files which has VST ID referenced in the project

At this point I'm not sure I would program it this way. But at least we know how Reaper behaves in such extreme situations.

Last edited by MaXyM; 07-16-2019 at 03:20 AM.
MaXyM is offline   Reply With Quote
Old 07-16-2019, 03:48 AM   #16
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

It's good that it finds things by filename first. This is what makes Reaper projects extremely easy to convert from using Kontakt 5 instances to using Kontakt 6 instances, for example.
EvilDragon is offline   Reply With Quote
Old 07-16-2019, 05:25 AM   #17
zookthespook
Human being with feelings
 
Join Date: Mar 2015
Location: India Mumbai
Posts: 816
Default

Hi maxym ,
Your curiosity really took us all to the vst rabbit hole...but amazing finds .
Cheers
Zook
zookthespook is offline   Reply With Quote
Old 07-16-2019, 10:10 PM   #18
lunker
Human being with feelings
 
lunker's Avatar
 
Join Date: Nov 2007
Location: Lucas, TX, USA (via Luleå, Sweden)
Posts: 2,008
Default

Finally got around to testing whether you can "hot swap" VST2/VST3 plugins by editing the RPP file, and it did not go well. Looks like they do not share the same state chunk.

I replaced a VST3 with a VST2 in the RPP file (just the very first line, where it specifies the plugin to use), and after opening the project, the settings on the VST2 were not the same as they had been on VST3. And worse, the parameters being automated had changed to different parameters. And after saving the project, the state chuck had changed so that it did not match the original project. Multiple attempts at trying to "fool" the plugin to load the original settings failed miserably.

Too bad, as I am actually in the need for doing this. I am revisiting some old projects started on my previous PC. They have a few VST3 in them because they were started before I decided to use VST2 exclusively (too many issues with VST3 not being fully functional). Unfortunately, I also carried that philosophy over to me new PC, and did not install many VST3 (unless the installer didn't give me an option for what to install).

Grr ... looks like I have to install VST3 I don't want on the new PC just to get those old projects working again.

EDIT: 10 minutes later -- well that was easier than I thought it would be. Used "Everything" to search all RPP files for VST3, and there were only a few that needed to be installed. Now to hide VST3 in the FX browser so I can stick to VST2 for a while.
__________________
Best Regards, Ernie "lunker" Lundqvist
BDSM (Bad Dog Studio Musicians)
Windows 10 running on Z390 + i7-8700

Last edited by lunker; 07-16-2019 at 10:31 PM.
lunker is offline   Reply With Quote
Old 07-17-2019, 01:09 AM   #19
Retro Audio Enthusiast
Human being with feelings
 
Retro Audio Enthusiast's Avatar
 
Join Date: Jan 2012
Posts: 545
Default

VST3 plugins do not 'swap out' their 2.4 versions.

They are effectively a separate plugin that does not cross-share any project data or saved presets.
Retro Audio Enthusiast is offline   Reply With Quote
Old 07-17-2019, 03:46 AM   #20
Goldreap
Human being with feelings
 
Join Date: Feb 2009
Location: UK
Posts: 1,429
Default

Quote:
Originally Posted by lunker View Post
Finally got around to testing whether you can "hot swap" VST2/VST3 plugins by editing the RPP file, and it did not go well. Looks like they do not share the same state chunk.

I replaced a VST3 with a VST2 in the RPP file (just the very first line, where it specifies the plugin to use), and after opening the project, the settings on the VST2 were not the same as they had been on VST3. And worse, the parameters being automated had changed to different parameters. And after saving the project, the state chuck had changed so that it did not match the original project. Multiple attempts at trying to "fool" the plugin to load the original settings failed miserably.

Too bad, as I am actually in the need for doing this. I am revisiting some old projects started on my previous PC. They have a few VST3 in them because they were started before I decided to use VST2 exclusively (too many issues with VST3 not being fully functional). Unfortunately, I also carried that philosophy over to me new PC, and did not install many VST3 (unless the installer didn't give me an option for what to install).

Grr ... looks like I have to install VST3 I don't want on the new PC just to get those old projects working again.

EDIT: 10 minutes later -- well that was easier than I thought it would be. Used "Everything" to search all RPP files for VST3, and there were only a few that needed to be installed. Now to hide VST3 in the FX browser so I can stick to VST2 for a while.
If your VST3 plugin has its own internal preset saving/loading, those presets will probably 'hot swap' back to your VST2. Well, this works with MeldaProduction plugins...not sure whether this scoops up every little thing but worth trying, might help.
Goldreap is offline   Reply With Quote
Old 07-17-2019, 01:39 PM   #21
azslow3
Human being with feelings
 
Join Date: Nov 2017
Location: Heidelberg, Germany
Posts: 797
Default

A bit technical explanation how that can be organized:
http://www.noelborthwick.com/2014/01...st3-internals/
azslow3 is offline   Reply With Quote
Old 04-26-2022, 08:59 AM   #22
kv331audio
Human being with feelings
 
Join Date: Aug 2009
Location: Ankara, Turkey
Posts: 23
Default

Quote:
Originally Posted by Retro Audio Enthusiast View Post
VST3 plugins do not 'swap out' their 2.4 versions.

They are effectively a separate plugin that does not cross-share any project data or saved presets.
That is totally wrong. As long as you define the VST3 plugin ID related to the VST2 version (derived by calling a function Steinberg provides), and you implement VST2 chunk loading in your VST3 plugin, VST3 can load/swap the VST settings
kv331audio is offline   Reply With Quote
Old 04-26-2022, 10:26 AM   #23
lunker
Human being with feelings
 
lunker's Avatar
 
Join Date: Nov 2007
Location: Lucas, TX, USA (via Luleå, Sweden)
Posts: 2,008
Default

Quote:
Originally Posted by kv331audio View Post
That is totally wrong. As long as you define the VST3 plugin ID related to the VST2 version (derived by calling a function Steinberg provides), and you implement VST2 chunk loading in your VST3 plugin, VST3 can load/swap the VST settings
Who does “you” refer to in that statement?

Are you saying this is something althe Reaper user can do? Or something the plugin developer needs to do in their plugin?
__________________
Best Regards, Ernie "lunker" Lundqvist
BDSM (Bad Dog Studio Musicians)
Windows 10 running on Z390 + i7-8700

Last edited by lunker; 04-26-2022 at 11:00 AM.
lunker is offline   Reply With Quote
Old 04-26-2022, 01:39 PM   #24
EpicSounds
Human being with feelings
 
EpicSounds's Avatar
 
Join Date: Jul 2009
Posts: 7,568
Default

are you guys talking about this?

REAPER v5.985 - November 13, 2019
VST: support migration of supported VST2s to VST3 at project load (with user notification)
__________________
REAPER Video Tutorials, Tips & Tricks and more at The REAPER Blog
EpicSounds is offline   Reply With Quote
Old 11-21-2023, 09:23 AM   #25
Stroudy
Human being with feelings
 
Stroudy's Avatar
 
Join Date: Jul 2014
Location: London
Posts: 733
Default

Sorry.... really old thread, I know

My reaper has stopped "migration of supported VST2s to VST3 at project load (with user notification)"

Any insights would be great
Stroudy is offline   Reply With Quote
Old 11-21-2023, 09:55 AM   #26
Coachz
Human being with feelings
 
Coachz's Avatar
 
Join Date: Oct 2010
Location: Charleston, SC
Posts: 12,769
Default

For anyone with orphaned plugins this post offers a nice tip on how to swap IDs for the new version and keep settings.

https://forum.cockos.com/showpost.ph...37&postcount=2
Coachz is offline   Reply With Quote
Old 11-21-2023, 04:36 PM   #27
Edgemeal
Human being with feelings
 
Edgemeal's Avatar
 
Join Date: Apr 2016
Location: ASU`ogacihC
Posts: 3,913
Default

I recently built a new PC and only installed VST3 versions of plugins, first project I open is using a free Vahalla VST and free TDR Nova VST, REAPER v7.05 notified that it loaded the VST3 versions, I thought great, but none of the plugin settings are restored, so I had to install the VSTs anyway. :/

Seems like a useless feature if plugin settings don't get restored. Is that to be expected?
Edgemeal is offline   Reply With Quote
Old 11-22-2023, 12:36 AM   #28
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
Default

Quote:
Originally Posted by Edgemeal View Post
Seems like a useless feature if plugin settings don't get restored. Is that to be expected?
No, but it's up to the plugin as well i.e. the VST3 plugin should support loading its VST2 state data.

Note that for plugins that include VST2 presets REAPER doesn't seem to restore the last selected VST2 preset, but instead seems to always select the first VST2 preset.
Tale is offline   Reply With Quote
Old 11-28-2023, 01:43 AM   #29
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

Quote:
Originally Posted by EpicSounds View Post
are you guys talking about this?

REAPER v5.985 - November 13, 2019
VST: support migration of supported VST2s to VST3 at project load (with user notification)
Yep. That "feature" does not work at all. It's supposed to work with Kontakt, but it doesn't. After migration Kontakt loads completely empty. Totally not cool.

I pushed a number of times for this to be fixed, to no avail. Getting hopeless...
EvilDragon is offline   Reply With Quote
Old 11-28-2023, 02:33 AM   #30
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
Default

While adding VST3 support to our plugins I tested VST2 to VST3 migration, and AFAICT REAPER does support this (at least for new plugins using my IPlug fork). But I think it works only if the VST2 and VST3 share the same GUID, either because the VST3 reuses the VST2 GUID, or because the VST2 implements the 'FUID' vendor specific call. REAPER doesn't currently seem to support the VST3 IPluginCompatibility feature.

Note that reusing the VST2 GUID is problematic, because conversion from VST2 ID to GUID seems to work different across hosts and platforms. Adding 'FUID' support to existing VST2 plugins is also problematic, because in some hosts (not REAPER) this will break compatibility. Hence older VST2 plugins can probably only be migrated to VST3 via IPluginCompatibility, which REAPER doesn't seem to support.

It would be great if REAPER would support IPluginCompatibility, because then our older plugins could also be migrated, and hopefully Kontakt as well. This does seem to require a JSON parser in the host, which IMHO is a poor design decision by Steinberg, and certainly doesn't make things any easier.

https://steinbergmedia.github.io/vst...+or+VST+1.html
https://steinbergmedia.github.io/vst...oduleInfo.html
Tale is offline   Reply With Quote
Old 11-28-2023, 02:38 AM   #31
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

Yes, that's exactly what it is. Kontakt (and Reaktor, too) use IPluginCompatibility.

As for JSON parser... nlohmann-json is pretty much everywhere and very easy to integrate (just a single header file). But yeah that was a lame idea by Steinberg (what else is new?).


Justin? Schwa? Can we please have a bit of movement on this?

Last edited by EvilDragon; 11-28-2023 at 02:51 AM.
EvilDragon is offline   Reply With Quote
Old 11-29-2023, 12:15 AM   #32
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
Default

Quote:
Originally Posted by EvilDragon View Post
As for JSON parser... nlohmann-json is pretty much everywhere and very easy to integrate (just a single header file).
Cool!

OTOH, the structure is always the same, and contains only hexadecimals, so I guess one could also fake JSON support using some smart string parsing.
Tale is offline   Reply With Quote
Old 11-29-2023, 01:08 AM   #33
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

Yeah I suppose a well-written regex could take care of it perhaps. OTOH ingesting a JSON parser could be useful in the future for other things...
EvilDragon 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 03:44 AM.


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