1

I would like to use VST.NET with visual studio 2017 to create vst's that I can use in Cubase.

I've tried to create a demo vst without any usefull content just to see if it could open up in Cubase, but Cubase couldn't even recognize the dll file as a vst plugin.

What I did:

  • Created solution in Visual Studio 2017, added 3 projects to solution(Interop, Core, Framework).
  • Added new project via AudioPluginTemplate to solution.
  • Created _vst folder in Interop project, added aeffect.h and aeffectx.h files to it (download from another open source vst plugin, as I couldn't find them in Steinberg VST SDK).
  • Deleted assembly.general and assembly.version from Interop, Core and Framework projects.
  • Deleted all jacobi .snk key files from projects and unchecked sign assembly in all projects under properties.
  • Right click solution -> retarget solution -> OK.
  • Renamed Interop project to MyCustomVST, renamed AudioPluginTemplate project to MyCustomVST.net.
  • Build Core and Framework project.
  • Removed Interop, Core and Framework dependencies from all projects. Re-added dependencies with the newly build dlls.

These 4 projects build in visual studio without error, but I can't use the MyCustomVST.net.dll that was created, it doesn't get recognized as a vst dll with the hosts. I've tested with these vst hosts (vstHost, saviHost, Cubase).

Can you please help me, what am I doing wrong? Do you have a detailed guide to set up a project in visual studio 2017 from scratch for dummies like me?

user3888775
  • 113
  • 3
  • 16
  • The Jacobi.interop.dll is the entry point for running your managed plugin in an unmanaged (native) host. Rename a copy of Jacobi.Interop.dll to your project name: MyCustomVst.dll. Based on the name of this dll the interop code tries to find your managed MyCustomVst.net.dll and load it. Also you should not need to build the VST.NET assemblies yourself, you can download them from the release tab on github. – obiwanjacobi Apr 20 '19 at 11:41
  • Now I tried again. Created a new AudioVSTTemplate project, downloaded VST1.1 from the release tab and copied Interop Core and Famework dll to my project, renamed Interop to MyCustomVST.dll and let my project reference these 3 dlls. I had to change the .net framework of my project from 2.0 to 4.0 to build. But the same thing happend, cubase could still not recognize it. – user3888775 Apr 20 '19 at 12:46
  • Are you selecting the renamed Jacobi.Interop when opening the plugin? – obiwanjacobi Apr 20 '19 at 14:19
  • I've tried selecting both my build project dll and the renamed Interop dll – user3888775 Apr 20 '19 at 14:32
  • Could you try the delay sample plugin? https://github.com/obiwanjacobi/vst.net/tree/master/Source/Samples/Jacobi.Vst.Samples.Delay – obiwanjacobi Apr 20 '19 at 18:08
  • I've tried copying the Jacobi.Vst.Samples.Delay.dll from VST.NET.1.1\CLR4\x64\Release to Cubases VST folder and updated the VST's, but Cubase can't see the plugin. I've also tried with the x86 release – user3888775 Apr 20 '19 at 18:54
  • Please come over to https://github.com/obiwanjacobi/vst.net/issues (create an issue) where we can discuss this further. SO does not like discussing in comments... – obiwanjacobi Apr 21 '19 at 11:42
  • I've created a new issue and named it: "Can't create Cubase useable VST plugin with VST.NET in Visual Studio 2017" – user3888775 Apr 21 '19 at 12:01
  • I don't run CuBase here, I use LMMS, no problem. Q: did you use the files from the Deploy subdirectory ? I loaded the Jacobi delay example, compiled this afternoon in .Net5 and successfully and then used it as LMMS effect, did not have to do the manual steps explained above, the only change was putting the VST directory setting in LMMS. It will show all DLL's in the directory, so be carefull with the selection. – Goodies Jan 10 '21 at 14:03

0 Answers0