diff --git a/vst3/asid.vst3/Contents/Resources/ChangeLog.txt b/vst3/asid.vst3/Contents/Resources/ChangeLog.txt index ed52ad4..a1020b3 100644 --- a/vst3/asid.vst3/Contents/Resources/ChangeLog.txt +++ b/vst3/asid.vst3/Contents/Resources/ChangeLog.txt @@ -1,3 +1,9 @@ +ASID 1.0.3 +========== + +* Implemented compatibility with Reaper and Bitwig Studio on Linux. +* Fixed a bug in setting VST bus arrangements. + ASID 1.0.2 ========== diff --git a/vst3/buildLinux.sh b/vst3/buildLinux.sh index cd71827..299dab8 100755 --- a/vst3/buildLinux.sh +++ b/vst3/buildLinux.sh @@ -17,6 +17,9 @@ g++ \ $VST_SDK_DIR/vst3sdk/base/source/baseiids.cpp \ $VST_SDK_DIR/vst3sdk/base/source/fstreamer.cpp \ $VST_SDK_DIR/vst3sdk/base/source/fstring.cpp \ + $VST_SDK_DIR/vst3sdk/base/source/fbuffer.cpp \ + $VST_SDK_DIR/vst3sdk/base/source/updatehandler.cpp \ + $VST_SDK_DIR/vst3sdk/base/thread/source/flock.cpp \ $VST_SDK_DIR/vst3sdk/pluginterfaces/base/coreiids.cpp \ $VST_SDK_DIR/vst3sdk/pluginterfaces/base/funknown.cpp \ $VST_SDK_DIR/vst3sdk/pluginterfaces/base/ustring.cpp \ diff --git a/vst3/src/gui-x.c b/vst3/src/gui-x.c index 42ddd75..a66bd0a 100644 --- a/vst3/src/gui-x.c +++ b/vst3/src/gui-x.c @@ -323,7 +323,8 @@ uint32_t gui_window_get_height(window w) { void gui_window_resize(window w, uint32_t width, uint32_t height) { const uint32_t values[] = { width, height }; - xcb_configure_window(w->g->connection, w->window, XCB_CONFIG_WINDOW_X | XCB_CONFIG_WINDOW_Y, values); + xcb_configure_window(w->g->connection, w->window, XCB_CONFIG_WINDOW_WIDTH | XCB_CONFIG_WINDOW_HEIGHT, values); + xcb_clear_area(w->g->connection, 1, w->window, 0, 0, width, height); xcb_flush(w->g->connection); } diff --git a/vst3/src/vst3/controllerLinux.cpp b/vst3/src/vst3/controllerLinux.cpp index 8a7871e..1c8e71e 100644 --- a/vst3/src/vst3/controllerLinux.cpp +++ b/vst3/src/vst3/controllerLinux.cpp @@ -101,6 +101,11 @@ public: tresult PLUGIN_API onSize(ViewRect *newSize) { if (!pgui_view_created) return kResultFalse; + if (newSize) { + int32 w = newSize->getWidth(); + int32 h = newSize->getHeight(); + PGUIVIEW_RESIZE_WINDOW(pgui_view, w, h); + } return kResultTrue; } diff --git a/vst3/src/vst3/plugin.cpp b/vst3/src/vst3/plugin.cpp index 0f2faac..a46f0a9 100644 --- a/vst3/src/vst3/plugin.cpp +++ b/vst3/src/vst3/plugin.cpp @@ -301,11 +301,11 @@ tresult PLUGIN_API Plugin::setBusArrangements(SpeakerArrangement *inputs, int32 for (int32 i = 0; i < numIns; i++) if ((config_buses_in[i].configs == IO_MONO && inputs[i] != SpeakerArr::kMono) - || inputs[i] != SpeakerArr::kStereo) + || (config_buses_in[i].configs == IO_STEREO && inputs[i] != SpeakerArr::kStereo)) return kResultFalse; for (int32 i = 0; i < numOuts; i++) if ((config_buses_out[i].configs == IO_MONO && outputs[i] != SpeakerArr::kMono) - || outputs[i] != SpeakerArr::kStereo) + || (config_buses_out[i].configs == IO_STEREO && outputs[i] != SpeakerArr::kStereo)) return kResultFalse; return kResultTrue;