Signed-off-by: falkTX <falktx@falktx.com>fix-audiofile-buffering
| @@ -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(); | ||||