[Interest] Windows VST plugin based on Qt
Nuno Santos
nunosantos at imaginando.pt
Tue May 19 09:16:09 CEST 2015
Maurice,
Thanks for your reply.
There is certainly a lot to absorve from your answer. But I want to focus on small steps for now. The problem so far in Windows is that when I put the dlls on the VST plugins dir the host is not able to detect it (by host I mean Ableton Live and/or Bitwig for example). There are other test hosts such as VST Host and VST Analyser which are able to load the plugin but I think the dll directory problem fits like a glove here, since I need to specify manually where is the plugin I want to load and, therefore he knows that the remaining dlls are in the same dir.
If I don’t link with Qt at all, Ableton Live recognizes the plugin.
What should I do? I feel my hands tied…
I would definitely remind you! Thanks so much.
Regards,
Nuno
> On 19/05/2015, at 08:05, Kalinowski Maurice <Maurice.Kalinowski at theqtcompany.com> wrote:
>
> 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 at qt-
>> project.org [mailto:interest-
>> bounces+maurice.kalinowski=theqtcompany.com at 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 at qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/interest
More information about the Interest
mailing list