Tim,

I cannot tell you exactly how it is working. That was what I supposed as well. 
I even considered not calling exec and call app->processEvents(); on a regular 
basis somehow. This is what I have:

IVstWrapper::IVstWrapper(audioMasterCallback audioMaster) : AudioEffectX 
(audioMaster, kNumPrograms, kNumParams)
{
    int argc=0;

    settings = new IBasicSynthSettings(this);
    wrapper = new IBasicSynthWrapper(this);

    QGuiApplication::instance()->setAttribute(Qt::AA_MacPluginApplication);

    app = new QGuiApplication(argc, 0);
    engine = new QQmlApplicationEngine(app);

    engine->rootContext()->setContextProperty("settings", settings);
    engine->rootContext()->setContextProperty("wrapper", wrapper);

    engine->load(QUrl(QStringLiteral("qrc:/main.qml")));

    if (audioMaster)
    {
        setNumInputs(0);
        setNumOutputs(2);
        canProcessReplacing();
        isSynth();
        setUniqueID('VxS2');
    }

    suspend();
}

Like this, qml is responding to events and I can communicate with the C++ core 
of the synth from the GUI.

I had to switch context and work on other project in the meanwhile. But next 
week I will get back to this again and maybe I will be faced with any sort of 
limitation (hopefully not). 

Right now, I have just tried this approach on Mac.

If anyone knows any limitation on this approach, I would be glad to know about 
it or better understand it. If there is an even better and solid solution, i’m 
looking forward to know about it.

Regards,

Nuno

> On 10/11/2014, at 08:18, Tim Blechmann <t...@klingt.org> wrote:
> 
>> In general, for VST2 your implementation of AEffEditor::open() should
>> create the thread creating the application object and invoking
>> exec(). That is the latest point you can use before it has to be
>> created.
> 
> out of curiosity: doesn't QApplication::exec have to be created from the
> main thread? in my experience, it is better to call sendPostedEvents()
> from the main thread.
> 
> tim
> 
> 
> _______________________________________________
> 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