I made setup for vst as in documentation, now I can’t find info about how to create own window. I want use WPF. Please don’t post something about VST.NET, I want my own implementation of WPF. The only key is (or question) where to initialize, show, hide / close and destroy a window? Is there some documentation about that?
Only this information on documentation I found
“If you are not using VSTGUI, please check that you provide the correct object derived from EditorView or CPlugInView and that you overwrite the function isPlatformTypeSupported ().”
only EditorView deffinition have isPlatformTypeSupported() EDIT. sorry I just looked at IpPluginView that have virtual of this function. Ok, but this not explain where to create and show window etc…
Another question is, can VST3 use more then one dll? Unfortunately I will need use more then one dll due the WPF.
As for the “two DLL” issue, I am guessing you are wanting to link to a 3rd party DLL at runtime?
I’ve linked VST3s with both static and dynamic libraries many times, and you need to watch out for the common problems – in general, there may be conflicting libraries (“Ignore Specific Default Libraries” in VS) and be careful with namespacing. I’ve you’ve linked DLLs to other API’s then you’ve been through those issues already.
I’ve mixed VST2 and VST3 with MFC (for windows and views) in the past – it is not very much fun, but it is completely do-able.
That said, I’ve been using VSTGUI4 since 2011 and have fully switched over now – it is sweet to be able to use the same code for AU, VST, and AAX on MacOS and Windows, but my GUI is also “custom” in the sense that it subclasses CPluginView in order to implement the GUI operation.
Thanks for help. In the end I discover that source code is partialy comented and I did subclass CPluginView and override necessary functions. The most important part is void * windowView (if I remember correctly) where must be attached own created window. (I’ll write better answer for that later, for now I don’t have much tme for describe it)
I resolve linking with SetDllDirectory function and AssemblyResolve for managed dll.
I have a WPF UI sample attached that compiles and passes the validator tests.
However, I cannot figure out why hosts will not load it. MeterTestWPF.zip (27.3 KB)
I was finally able to get a WPF/XAML UserControl GUI to appear inside of a Win32 HWND.
The WPF .dll needed to be signed and added to the Global Address Cache… since I haven’t created an installer yet, I used the Visual Studio command prompt and the gacutil command.
I have just (quite gratefully) discovered this post and I am wondering how to implement the parameter binding. Which functions should be overrided to accomplish that? I am thinking about using Juce for the GUI and authentication part.