obiwanjacobi / vst.net

Virtual Studio Technology (VST) for .NET. Plugins and Host applications.
https://obiwanjacobi.github.io/vst.net/index.html
GNU Lesser General Public License v2.1
420 stars 52 forks source link

Interop code in C# #45

Open LeonarddeR opened 3 years ago

LeonarddeR commented 3 years ago

Is your feature request related to a problem? Please describe. I wonder whether it is possible to get rid of the C++/CLI code in favor of C#.

Describe the solution you'd like In .NET 5.0, it should be possible to do something like this with DNNE, which will possibly become part of >NET itself in future. It also promises multi platform support.

Describe alternatives you've considered Leave as it. It is likely that porting the VST2 code is more difficult than the VST3 code, which has a very small C++/CLI interop layer anyway.

obiwanjacobi commented 3 years ago

Yes! I so want to get rid of the C++/CLI layer for that would mean that it would become truly cross-platform. Also known as DllExport I so hope they will include that in the .NET 5 (or 6)! Like you say, I will probably not put in the effort to fix VST 2 - there's a lot of interop code there, but VST 3 - yes, totally.

LeonarddeR commented 3 years ago

Is the VST3 code stable enough to be used like the vst2 RC? Or is it still in ALPHA stage?

I'd be very happy to contribute to the project in whatever way I could. Writing a VST in C++ really has its downsides.

obiwanjacobi commented 3 years ago

VST.NET 3 is starting to work. I would not even claim alpha level quality. At this point it passes the plugin tester - meaning I am conforming to the VST 3 API. I have not built anything real or useful with it. If you have questions on VST.NET3 - there a separate vst3 channel on Discord.