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.kalinow...@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@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