@@ -1,6 +1,6 @@ | |||||
/* | /* | ||||
* Carla Native Plugins | * Carla Native Plugins | ||||
* Copyright (C) 2013-2022 Filipe Coelho <falktx@falktx.com> | |||||
* Copyright (C) 2013-2023 Filipe Coelho <falktx@falktx.com> | |||||
* | * | ||||
* This program is free software; you can redistribute it and/or | * This program is free software; you can redistribute it and/or | ||||
* modify it under the terms of the GNU General Public License as | * modify it under the terms of the GNU General Public License as | ||||
@@ -398,7 +398,7 @@ public: | |||||
break; | break; | ||||
case effEditGetRect: | case effEditGetRect: | ||||
*(ERect**)ptr = &fVstRect; | |||||
*(VstRect**)ptr = &fVstRect; | |||||
ret = 1; | ret = 1; | ||||
break; | break; | ||||
@@ -409,6 +409,7 @@ public: | |||||
{ | { | ||||
destoryUILauncher(fUiLauncher); | destoryUILauncher(fUiLauncher); | ||||
fUiLauncher = createUILauncher((uintptr_t)ptr, fDescriptor, fHandle); | fUiLauncher = createUILauncher((uintptr_t)ptr, fDescriptor, fHandle); | ||||
getUILauncherSize(fUiLauncher, &fVstRect); | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
@@ -833,7 +834,7 @@ private: | |||||
NativeMidiEvent fMidiEvents[kMaxMidiEvents]; | NativeMidiEvent fMidiEvents[kMaxMidiEvents]; | ||||
char fProgramName[32+1]; | char fProgramName[32+1]; | ||||
NativeTimeInfo fTimeInfo; | NativeTimeInfo fTimeInfo; | ||||
ERect fVstRect; | |||||
VstRect fVstRect; | |||||
// UI button | // UI button | ||||
CarlaUILauncher* fUiLauncher; | CarlaUILauncher* fUiLauncher; | ||||
@@ -1,6 +1,6 @@ | |||||
/* | /* | ||||
* Carla Native Plugins | * Carla Native Plugins | ||||
* Copyright (C) 2013-2022 Filipe Coelho <falktx@falktx.com> | |||||
* Copyright (C) 2013-2023 Filipe Coelho <falktx@falktx.com> | |||||
* | * | ||||
* This program is free software; you can redistribute it and/or | * This program is free software; you can redistribute it and/or | ||||
* modify it under the terms of the GNU General Public License as | * modify it under the terms of the GNU General Public License as | ||||
@@ -32,7 +32,12 @@ struct VstObject { | |||||
NativePlugin* plugin; | NativePlugin* plugin; | ||||
}; | }; | ||||
struct VstRect { | |||||
int16_t top, left, bottom, right; | |||||
}; | |||||
CarlaUILauncher* createUILauncher(uintptr_t winId, const NativePluginDescriptor* d, NativePluginHandle h); | CarlaUILauncher* createUILauncher(uintptr_t winId, const NativePluginDescriptor* d, NativePluginHandle h); | ||||
void getUILauncherSize(CarlaUILauncher* ui, VstRect* rect); | |||||
void idleUILauncher(CarlaUILauncher* ui); | void idleUILauncher(CarlaUILauncher* ui); | ||||
void destoryUILauncher(CarlaUILauncher* ui); | void destoryUILauncher(CarlaUILauncher* ui); | ||||
@@ -1,6 +1,6 @@ | |||||
/* | /* | ||||
* Carla Native Plugin UI launcher | * Carla Native Plugin UI launcher | ||||
* Copyright (C) 2018-2022 Filipe Coelho <falktx@falktx.com> | |||||
* Copyright (C) 2018-2023 Filipe Coelho <falktx@falktx.com> | |||||
* | * | ||||
* This program is free software; you can redistribute it and/or | * This program is free software; you can redistribute it and/or | ||||
* modify it under the terms of the GNU General Public License as | * modify it under the terms of the GNU General Public License as | ||||
@@ -90,6 +90,12 @@ public: | |||||
handle(h), | handle(h), | ||||
pluginWindow(parent) | pluginWindow(parent) | ||||
{ | { | ||||
const uint width = ui_launcher_res::carla_uiWidth; | |||||
const uint height = ui_launcher_res::carla_uiHeight; | |||||
Widget::setSize(width, height); | |||||
setGeometryConstraints(width, height, true, true, true); | |||||
startButton.setCallback(this); | startButton.setCallback(this); | ||||
pluginWindow.leaveContextAfterCreation(); | pluginWindow.leaveContextAfterCreation(); | ||||
@@ -148,6 +154,12 @@ CarlaUILauncher* createUILauncher(const uintptr_t winId, | |||||
return new CarlaUILauncher(winId, d, h); | return new CarlaUILauncher(winId, d, h); | ||||
} | } | ||||
void getUILauncherSize(CarlaUILauncher* const ui, VstRect* const rect) | |||||
{ | |||||
rect->right = ui->window.getWidth(); | |||||
rect->bottom = ui->window.getHeight(); | |||||
} | |||||
void idleUILauncher(CarlaUILauncher* const ui) | void idleUILauncher(CarlaUILauncher* const ui) | ||||
{ | { | ||||
ui->app.idle(); | ui->app.idle(); | ||||