I have built 2 VST instruments with Cabbage, a graphical frontend for Csound, as VST2 (dll) and VST3. The problem: in both cases only one of them is loaded, although the behaviour of VST2 and VST3 is a bit different..
In Samplitude I see all 4 versions and they all work properly - so it is clear, that this is not a general issue:
But... In Maschine only one VST2 is loaded, and the two VST3 are identical, even if they show up with different names:
To explain the technique behind Cabbage/Csound: if you export a Csound file (csd) as a plugin, a dll or vst3 is created, which goes into one of the usual plugin folders, together with the associated csd file. AB.csd then becomes AB.dll or AB.vst3, XY.csd becomes XY.dll or XY.vst3 In addition, Csound must be installed on the computer (and must be in the PATH).
Unfortunately AB.dll and XY.dll are absolutely identical, as are AB.vst3 and XY.vst3. Checked with MD5 checksum.
Assumption 1: the plugins only contain generic code to manage the communication between Csound and the host, the actual sound generation is done by Csound, at runtime the plugins only look for a csd-file which is named the same as the respective plugin. Therefore they are identical. There is no plugin-specific code in them.
Assumption 2: when scanning the plugins, Maschine notices that a dll/vst3 with identical content has already been loaded, albeit with a different name. Either the second plugin is then skipped (this seems to be the case with VST2), or both appear in the selection list, but behind them is the same Csound program (this is the case with VST3), so that I see both in the selection list, but effectively always load the same one.
With only 2 plugins so far I can still live with it, one is just exported as VST2, the other as VST3, then they do not interfere with each other. But at the latest with the third one I will get a problem.
Edit: forgot to mention: Maschine 2.16.1, Windows 11
What now?