Calling unmanged VSTs using VST.NET as a buffer

Nov 14, 2008 at 6:34 AM
Hello, I guess my topic title says it all.

I've been put in the unfortunate position of having to develop a C# .NET application that can send MIDI events to a VST, and play back/store the results. We have no skills in actual audio development, so we need to use some existing unmanaged plugins (unless someone here has a good piano instructment VSTi thats managed?).

Would it be possible/realistic to create a VST.NET plugin that basically passes off all its logic to an unmanaged DLL? I kinda got the impression that was the original purpose of this project but now I'm not so sure.    
Coordinator
Nov 14, 2008 at 8:10 AM
Edited Nov 14, 2008 at 8:12 AM
Hi Agentis,

If I understand you correctly you want to host (unmanaged) VST plugins in a (managed) midi recording application. This is not what VST.NET can do, yet - there is a proposed feature for VST.NET to also support hosting VST plugins (Issue Tracker tab). VST.NET takes the unmanaged (C/C++) VST interface and brings that to the managed .NET code space. On top of that is a (managed) Framework to make plugin development faster and easier. So its specifically designed to write managed plugins that can be hosted in unmanaged host applications.

What you need is the reverse of what Jacobi.Vst.Interop is doing. You need to go from a managed app to the unmanaged (C/C++) VST interface standard. I'm not aware of any software that does this yet. But it should be doable (if you have the time/money ;-). But you need to get into the VST specifications and the role the Host plays in the interaction with the plugins. There are open source host projects online but they are mostly in C/C++, not managed code.