Creating a VST is certainly possible, though you will need to do some extra 
steps.

a) you need an application object created inside your plugin. The easiest to do 
so is to create a new thread (when the first instance is created or even on 
show(), not during plugins loading), which will initialize everything, 
otherwise you will get into troubles due to two different event loops 
interfering each other.
b) Be careful  about multiple instances, you will need to handle this properly 
(Q(Core)Application is singleton, so check for existence
c) Try to not interfere with other VST plugins which might use Qt as well, 
potentially a different version even. Then the order of plugins loaded might 
make things fall apart. One step to take care of this is to namespace your Qt 
build
d) as a start you can put Qt libraries and plugins also into your VST folder, 
the host will load a bit slower but for testing that is ok. Later you might 
want to use manifests or static linking. Another option would be to create a 
thin layer, which then loads your plugin from another location where you have 
arranged all dlls properly.
d) things I probably forgot...

Unfortunately I have my VST test code at home and cannot give more guidance 
right now. If there is a need for it, feel free to remind me to send some 
snippets to you. VST2 or VST3?

BR,
Maurice


> -----Original Message-----
> From: interest-bounces+maurice.kalinowski=theqtcompany.com@qt-
> project.org [mailto:interest-
> bounces+maurice.kalinowski=theqtcompany....@qt-project.org] On
> Behalf Of Nuno Santos
> Sent: Dienstag, 19. Mai 2015 08:27
> To: Interests Qt
> Subject: [Interest] Windows VST plugin based on Qt
> 
> Hi,
> 
> I’m trying to build a VST plugin based on Qt.
> 
> A VST plugin is a framework for creating audio processing and instrument
> plugins. It provides an api that one should follows. The result is a dynamic
> library that will be loaded by the host (dll on windows case, bundle on mac
> case). I have done it successfully on Mac (with still a lot of tests to 
> perform
> and the need for correct deploy) and now i’m trying on Windows.
> 
> On Windows i’m being faced with some dll loading problems.
> 
> If I build the plugin without link Qt at all (CONFIG -= qt), the plugin is
> recognized by the host. Otherwise it isn’t. I want to use Qt, specially QML 
> for
> UI. There are simpler ways of doing this, but I love Qt and I want my code to
> be the most transversal as possible.
> 
> I have been suggested that this problems is due to the loading path of the
> libraries. I suggested solution relies in using /DELAYLOAD
> 
> I have tried to perform /DELAYLOAD:Qt5Core.dll and the other three libs
> started by icu, and then using the SetDllDirectory to the path I have the
> deployed plugin.
> 
> Still, the host is unable to load the plugin correctly.
> 
> Can someone give me an insight on how to do this on windows?
> 
> Thanks,
> 
> Regards,
> 
> Nuno
> 
> 
> _______________________________________________
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to