Среда Qt GUI в DLL (плагин VST)C++

Программы на C++. Форум разработчиков
Anonymous
Среда Qt GUI в DLL (плагин VST)

Сообщение Anonymous »

Я хотел бы использовать библиотеку Qt GUI в качестве пользовательского интерфейса для плагина VST. Плагин VST — это DLL в Windows. Хост-приложение вызывает различные функции в DLL, включая такие функции, как openGUI().

Я хочу знать, как использовать Qt GUI из DLL; Я провел небольшое исследование, чтобы рассмотреть возможные варианты, но не совсем уверен в ограничениях.

Основная проблема заключается в том, где создать QApplication объект и вызвать для него exec() (это функция, которая не возвращает значение до тех пор, пока приложение не завершится).

Я рассмотрел данное решение в этом посте, но после дальнейшего прочтения окажется, что это решение не будет работать в Mac OS X, поскольку Cocoa более ограничителен в отношении конкретного потока, в котором может работать графический интерфейс. На самом деле это своего рода хак.

Я также видел это решение, но оно основано на QMfcApp и QWinWindow, которые не отображаются больше быть частью библиотеки Qt.

Является ли единственный способ обойти это, чтобы моя DLL сама создала новое приложение? Предположительно, я мог бы начать с вызова QProcess и использовать некоторую общую память для совместного использования приложения с графическим интерфейсом и моей VST DLL? Кто-нибудь сталкивался с такой проблемой? Я иду по неправильному пути или я еще о чем-то не подумал?

Обновить

После дальнейших исследований я наткнулся на класс QAbstractEventDispatcher. Я видел этот пост, в котором, похоже, говорится, что можно вызвать QApplication::processEvents() из вашего собственного цикла событий (хоста моего плагина) вместо вызова QApplication::exec(). Кто-нибудь пробовал это сделать?

Подробнее здесь: https://stackoverflow.com/questions/128 ... vst-plugin

Вернуться в «C++»