From f69bc5e3662e7b68c3b2fd92b5fcbaa2a61ca327 Mon Sep 17 00:00:00 2001 From: falkTX Date: Tue, 11 Jan 2022 01:28:10 +0000 Subject: [PATCH 1/7] Update DPF and CI file Signed-off-by: falkTX --- .github/workflows/build.yml | 110 +++++++++++------- dpf | 2 +- .../dragonfly-early-reflections/Plugin.cpp | 2 +- plugins/dragonfly-hall-reverb/Plugin.cpp | 2 +- plugins/dragonfly-plate-reverb/Plugin.cpp | 2 +- plugins/dragonfly-room-reverb/Plugin.cpp | 2 +- 6 files changed, 73 insertions(+), 47 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7f0d52f..8ccae50 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,33 +13,34 @@ env: jobs: linux-arm64: - runs-on: ubuntu-18.04 + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 with: submodules: recursive + - name: Fix GitHub's mess + run: | + sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list + sudo apt-get update -qq + sudo apt-get install -yqq --allow-downgrades libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal - name: Set up dependencies run: | sudo dpkg --add-architecture arm64 sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list - echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports bionic main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ports-arm64.list - echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports bionic-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list - echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports bionic-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list + echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ports-arm64.list + echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list + echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list sudo apt-get update -qq - sudo apt-get install -yq g++-aarch64-linux-gnu libasound2-dev:arm64 libcairo2-dev:arm64 libgl1-mesa-dev:arm64 liblo-dev:arm64 libpulse-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxext-dev:arm64 libxrandr-dev:arm64 qemu-user-static - # fix broken Ubuntu packages missing pkg-config file in multi-arch package - sudo apt-get install -yq libasound2-dev libgl1-mesa-dev liblo-dev libpulse-dev libxcursor-dev libxrandr-dev - sudo ln -s /usr/lib/aarch64-linux-gnu/liblo.so.7 /usr/lib/aarch64-linux-gnu/liblo.so - sudo cp /usr/lib/x86_64-linux-gnu/pkgconfig/liblo.pc /usr/lib/aarch64-linux-gnu/pkgconfig/liblo.pc - sudo sed -i "s/x86_64-linux-gnu/aarch64-linux-gnu/" /usr/lib/aarch64-linux-gnu/pkgconfig/liblo.pc + sudo apt-get install -yqq g++-aarch64-linux-gnu libasound2-dev:arm64 libcairo2-dev:arm64 libdbus-1-dev:arm64 libgl1-mesa-dev:arm64 liblo-dev:arm64 libpulse-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxext-dev:arm64 libxrandr-dev:arm64 qemu-user-static - name: Build linux arm64 cross-compiled env: CC: aarch64-linux-gnu-gcc CXX: aarch64-linux-gnu-g++ LDFLAGS: -static-libgcc -static-libstdc++ + PKG_CONFIG_PATH: /usr/lib/aarch64-linux-gnu/pkgconfig run: | make features - make -j $(nproc) + make WITH_LTO=true -j $(nproc) - name: Set sha8 id: slug run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)" @@ -50,33 +51,34 @@ jobs: bin/* linux-armhf: - runs-on: ubuntu-18.04 + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 with: submodules: recursive + - name: Fix GitHub's mess + run: | + sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list + sudo apt-get update -qq + sudo apt-get install -yqq --allow-downgrades libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal - name: Set up dependencies run: | sudo dpkg --add-architecture armhf sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list - echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports bionic main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ports-armhf.list - echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports bionic-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list - echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports bionic-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list + echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ports-armhf.list + echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list + echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list sudo apt-get update -qq - sudo apt-get install -yq g++-arm-linux-gnueabihf libasound2-dev:armhf libcairo2-dev:armhf libgl1-mesa-dev:armhf liblo-dev:armhf libpulse-dev:armhf libx11-dev:armhf libxcursor-dev:armhf libxext-dev:armhf libxrandr-dev:armhf qemu-user-static - # fix broken Ubuntu packages missing pkg-config file in multi-arch package - sudo apt-get install -yq libasound2-dev libgl1-mesa-dev liblo-dev libpulse-dev libxcursor-dev libxrandr-dev - sudo ln -s /usr/lib/arm-linux-gnueabihf/liblo.so.7 /usr/lib/arm-linux-gnueabihf/liblo.so - sudo cp /usr/lib/x86_64-linux-gnu/pkgconfig/liblo.pc /usr/lib/arm-linux-gnueabihf/pkgconfig/liblo.pc - sudo sed -i "s/x86_64-linux-gnu/arm-linux-gnueabihf/" /usr/lib/arm-linux-gnueabihf/pkgconfig/liblo.pc + sudo apt-get install -yqq g++-arm-linux-gnueabihf libasound2-dev:armhf libcairo2-dev:armhf libdbus-1-dev:armhf libgl1-mesa-dev:armhf liblo-dev:armhf libpulse-dev:armhf libx11-dev:armhf libxcursor-dev:armhf libxext-dev:armhf libxrandr-dev:armhf qemu-user-static - name: Build linux armhf cross-compiled env: CC: arm-linux-gnueabihf-gcc CXX: arm-linux-gnueabihf-g++ LDFLAGS: -static-libgcc -static-libstdc++ + PKG_CONFIG_PATH: /usr/lib/arm-linux-gnueabihf/pkgconfig run: | make features - make -j $(nproc) + make WITH_LTO=true -j $(nproc) - name: Set sha8 id: slug run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)" @@ -86,37 +88,44 @@ jobs: path: | bin/* - linux-x86: - runs-on: ubuntu-18.04 + linux-i686: + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 with: submodules: recursive + - name: Fix GitHub's mess + run: | + sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list + sudo apt-get update -qq + sudo apt-get install -yqq --allow-downgrades libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal - name: Set up dependencies run: | sudo dpkg --add-architecture i386 sudo apt-get update -qq - sudo apt-get install -yq g++-multilib libasound2-dev:i386 libcairo2-dev:i386 libgl1-mesa-dev:i386 liblo-dev:i386 libpulse-dev:i386 libx11-dev:i386 libxcursor-dev:i386 libxext-dev:i386 libxrandr-dev:i386 - - name: Build linux x86 + sudo apt-get install -yqq g++-i686-linux-gnu libasound2-dev:i386 libcairo2-dev:i386 libdbus-1-dev:i386 libgl1-mesa-dev:i386 liblo-dev:i386 libpulse-dev:i386 libx11-dev:i386 libxcursor-dev:i386 libxext-dev:i386 libxrandr-dev:i386 + - name: Build linux i686 env: + CC: i686-linux-gnu-gcc + CXX: i686-linux-gnu-g++ CFLAGS: -m32 CXXFLAGS: -m32 LDFLAGS: -m32 -static-libgcc -static-libstdc++ PKG_CONFIG_PATH: /usr/lib/i386-linux-gnu/pkgconfig run: | make features - make -j $(nproc) + make WITH_LTO=true -j $(nproc) - name: Set sha8 id: slug run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)" - uses: actions/upload-artifact@v2 with: - name: ${{ github.event.repository.name }}-linux-x86-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }} + name: ${{ github.event.repository.name }}-linux-i686-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }} path: | bin/* linux-x86_64: - runs-on: ubuntu-18.04 + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 with: @@ -124,13 +133,13 @@ jobs: - name: Set up dependencies run: | sudo apt-get update -qq - sudo apt-get install -yq libasound2-dev libcairo2-dev libgl1-mesa-dev liblo-dev libpulse-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev + sudo apt-get install -yqq libasound2-dev libcairo2-dev libdbus-1-dev libgl1-mesa-dev liblo-dev libpulse-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev - name: Build linux x86_64 env: LDFLAGS: -static-libgcc -static-libstdc++ run: | make features - make -j $(nproc) + make WITH_LTO=true -j $(nproc) - name: Set sha8 id: slug run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)" @@ -157,7 +166,7 @@ jobs: LDFLAGS: -arch x86_64 -arch arm64 -mmacosx-version-min=10.12 run: | make features - make NOOPT=true -j $(sysctl -n hw.logicalcpu) + make NOOPT=true WITH_LTO=true -j $(sysctl -n hw.logicalcpu) ./dpf/utils/package-osx-bundles.sh - name: Set sha8 id: slug @@ -172,18 +181,24 @@ jobs: !bin/*-dssi.dylib !bin/lv2 !bin/vst2 + !bin/vst3 win32: - runs-on: ubuntu-18.04 + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 with: submodules: recursive + - name: Fix GitHub's mess + run: | + sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list + sudo apt-get update -qq + sudo apt-get install -yqq --allow-downgrades libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal - name: Set up dependencies run: | sudo dpkg --add-architecture i386 sudo apt-get update -qq - sudo apt-get install -yq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386 + sudo apt-get install -yqq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386 - name: Build win32 cross-compiled env: CC: i686-w64-mingw32-gcc @@ -193,7 +208,7 @@ jobs: WINEDEBUG: "-all" run: | make features - make -j $(nproc) + make WITH_LTO=true -j $(nproc) - name: Set sha8 id: slug run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)" @@ -214,7 +229,7 @@ jobs: - name: Set up dependencies run: | sudo apt-get update -qq - sudo apt-get install -yq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable + sudo apt-get install -yqq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable - name: Build win64 cross-compiled env: CC: x86_64-w64-mingw32-gcc @@ -224,7 +239,7 @@ jobs: WINEDEBUG: "-all" run: | make features - make -j $(nproc) + make WITH_LTO=true -j $(nproc) - name: Set sha8 id: slug run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)" @@ -249,13 +264,13 @@ jobs: sudo dpkg -i kxstudio-repos_10.0.3_all.deb sudo apt-get update -qq # build-deps - sudo apt-get install -yq libasound2-dev libcairo2-dev libgl1-mesa-dev liblo-dev libpulse-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev + sudo apt-get install -yqq libasound2-dev libcairo2-dev libdbus-1-dev libgl1-mesa-dev liblo-dev libpulse-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev # runtime testing - sudo apt-get install -yq carla-git lilv-utils lv2-dev lv2lint valgrind + sudo apt-get install -yqq carla-git lilv-utils lv2-dev lv2lint valgrind - name: Build plugins env: CFLAGS: -g - CXXFLAGS: -g + CXXFLAGS: -g -DDPF_ABORT_ON_ERROR LDFLAGS: -static-libgcc -static-libstdc++ run: | make features @@ -312,12 +327,23 @@ jobs: done - name: Test VST2 plugins run: | - for p in $(ls bin/ | grep vst.so); do \ + for p in $(find bin/ | grep -e vst.so -e '.*\.vst/.*\.so'); do \ + env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \ + valgrind \ + --error-exitcode=255 \ + --leak-check=full \ + --track-origins=yes \ + --suppressions=./dpf/utils/valgrind-dpf.supp \ + /usr/lib/carla/carla-bridge-native vst2 ./${p} "" 1>/dev/null; \ + done + - name: Test VST3 plugins + run: | + for p in $(ls bin/ | grep vst3); do \ env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \ valgrind \ --error-exitcode=255 \ --leak-check=full \ --track-origins=yes \ --suppressions=./dpf/utils/valgrind-dpf.supp \ - /usr/lib/carla/carla-bridge-native vst2 ./bin/${p} "" 1>/dev/null; \ + /usr/lib/carla/carla-bridge-native vst3 ./bin/${p} "" 1>/dev/null; \ done diff --git a/dpf b/dpf index 501dcaf..ad2b5b3 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit 501dcafaa3d53074340c324c69f86ddcedd80506 +Subproject commit ad2b5b3d6e604dede370722ab04d89e2acaeb2fa diff --git a/plugins/dragonfly-early-reflections/Plugin.cpp b/plugins/dragonfly-early-reflections/Plugin.cpp index 55f08dc..da51284 100644 --- a/plugins/dragonfly-early-reflections/Plugin.cpp +++ b/plugins/dragonfly-early-reflections/Plugin.cpp @@ -27,7 +27,7 @@ DragonflyReverbPlugin::DragonflyReverbPlugin() : Plugin(paramCount, 0, 0), dsp(g void DragonflyReverbPlugin::initParameter(uint32_t index, Parameter& parameter) { if (index < paramCount) { - parameter.hints = kParameterIsAutomable; + parameter.hints = kParameterIsAutomatable; parameter.name = PARAMS[index].name; parameter.symbol = PARAMS[index].symbol; parameter.ranges.min = PARAMS[index].range_min; diff --git a/plugins/dragonfly-hall-reverb/Plugin.cpp b/plugins/dragonfly-hall-reverb/Plugin.cpp index 007ab32..e394b30 100644 --- a/plugins/dragonfly-hall-reverb/Plugin.cpp +++ b/plugins/dragonfly-hall-reverb/Plugin.cpp @@ -31,7 +31,7 @@ DragonflyReverbPlugin::DragonflyReverbPlugin() : Plugin(paramCount, 0, 1), dsp(g void DragonflyReverbPlugin::initParameter(uint32_t index, Parameter& parameter) { if (index < paramCount) { - parameter.hints = kParameterIsAutomable; + parameter.hints = kParameterIsAutomatable; parameter.name = PARAMS[index].name; parameter.symbol = PARAMS[index].symbol; parameter.ranges.min = PARAMS[index].range_min; diff --git a/plugins/dragonfly-plate-reverb/Plugin.cpp b/plugins/dragonfly-plate-reverb/Plugin.cpp index 3cf4eb9..f65d66c 100644 --- a/plugins/dragonfly-plate-reverb/Plugin.cpp +++ b/plugins/dragonfly-plate-reverb/Plugin.cpp @@ -29,7 +29,7 @@ DragonflyReverbPlugin::DragonflyReverbPlugin() : Plugin(paramCount, 0, 1), dsp(g void DragonflyReverbPlugin::initParameter(uint32_t index, Parameter& parameter) { if (index < paramCount) { - parameter.hints = kParameterIsAutomable; + parameter.hints = kParameterIsAutomatable; parameter.name = PARAMS[index].name; parameter.symbol = PARAMS[index].symbol; parameter.ranges.min = PARAMS[index].range_min; diff --git a/plugins/dragonfly-room-reverb/Plugin.cpp b/plugins/dragonfly-room-reverb/Plugin.cpp index e670e8f..2fc372d 100644 --- a/plugins/dragonfly-room-reverb/Plugin.cpp +++ b/plugins/dragonfly-room-reverb/Plugin.cpp @@ -30,7 +30,7 @@ DragonflyReverbPlugin::DragonflyReverbPlugin() : Plugin(paramCount, 0, 1), dsp(g void DragonflyReverbPlugin::initParameter(uint32_t index, Parameter& parameter) { if (index < paramCount) { - parameter.hints = kParameterIsAutomable; + parameter.hints = kParameterIsAutomatable; parameter.name = PARAMS[index].name; parameter.symbol = PARAMS[index].symbol; parameter.ranges.min = PARAMS[index].range_min; From bd339971b48efc670780dc504035640d417fe307 Mon Sep 17 00:00:00 2001 From: falkTX Date: Tue, 11 Jan 2022 01:33:33 +0000 Subject: [PATCH 2/7] generate-vst-bundles.sh script for macOS is no longer needed Signed-off-by: falkTX --- Makefile | 3 --- 1 file changed, 3 deletions(-) diff --git a/Makefile b/Makefile index c2d5afe..c5e90d9 100644 --- a/Makefile +++ b/Makefile @@ -28,9 +28,6 @@ plugins: dgl ifeq ($(CAN_GENERATE_TTL),true) gen: plugins dpf/utils/lv2_ttl_generator @$(CURDIR)/dpf/utils/generate-ttl.sh -ifeq ($(MACOS),true) - @$(CURDIR)/dpf/utils/generate-vst-bundles.sh -endif dpf/utils/lv2_ttl_generator: $(MAKE) -C dpf/utils/lv2-ttl-generator From ca2317245d72573ddbaf8bee7b74d336f609f860 Mon Sep 17 00:00:00 2001 From: falkTX Date: Tue, 11 Jan 2022 01:34:01 +0000 Subject: [PATCH 3/7] Enable all plugin types unconditionally JACK can be used on any OS now, and has RtAudio fallback Signed-off-by: falkTX --- plugins/dragonfly-early-reflections/Makefile | 10 +--------- plugins/dragonfly-hall-reverb/Makefile | 10 +--------- plugins/dragonfly-plate-reverb/Makefile | 10 +--------- plugins/dragonfly-room-reverb/Makefile | 10 +--------- 4 files changed, 4 insertions(+), 36 deletions(-) diff --git a/plugins/dragonfly-early-reflections/Makefile b/plugins/dragonfly-early-reflections/Makefile index 78ff9f9..05e219e 100644 --- a/plugins/dragonfly-early-reflections/Makefile +++ b/plugins/dragonfly-early-reflections/Makefile @@ -77,15 +77,7 @@ LINK_OPTS += -lm # -------------------------------------------------------------- # Enable all possible plugin types -ifeq ($(HAVE_OPENGL),true) -ifneq ($(MACOS_OR_WINDOWS),true) -TARGETS += jack -endif # MACOS_OR_WINDOWS - -TARGETS += lv2_sep -TARGETS += vst - -endif # HAVE_OPENGL +TARGETS = jack lv2_sep vst2 vst3 all: $(TARGETS) diff --git a/plugins/dragonfly-hall-reverb/Makefile b/plugins/dragonfly-hall-reverb/Makefile index 73913d4..a23c03b 100644 --- a/plugins/dragonfly-hall-reverb/Makefile +++ b/plugins/dragonfly-hall-reverb/Makefile @@ -77,15 +77,7 @@ LINK_OPTS += -lm # -------------------------------------------------------------- # Enable all possible plugin types -ifeq ($(HAVE_OPENGL),true) -ifneq ($(MACOS_OR_WINDOWS),true) -TARGETS += jack -endif # MACOS_OR_WINDOWS - -TARGETS += lv2_sep -TARGETS += vst - -endif # HAVE_OPENGL +TARGETS = jack lv2_sep vst2 vst3 all: $(TARGETS) diff --git a/plugins/dragonfly-plate-reverb/Makefile b/plugins/dragonfly-plate-reverb/Makefile index ac9195f..4611a7f 100644 --- a/plugins/dragonfly-plate-reverb/Makefile +++ b/plugins/dragonfly-plate-reverb/Makefile @@ -80,15 +80,7 @@ LINK_OPTS += -lm # -------------------------------------------------------------- # Enable all possible plugin types -ifeq ($(HAVE_OPENGL),true) -ifneq ($(MACOS_OR_WINDOWS),true) -TARGETS += jack -endif # MACOS_OR_WINDOWS - -TARGETS += lv2_sep -TARGETS += vst - -endif # HAVE_OPENGL +TARGETS = jack lv2_sep vst2 vst3 all: $(TARGETS) diff --git a/plugins/dragonfly-room-reverb/Makefile b/plugins/dragonfly-room-reverb/Makefile index 76668c7..69f1a41 100644 --- a/plugins/dragonfly-room-reverb/Makefile +++ b/plugins/dragonfly-room-reverb/Makefile @@ -77,15 +77,7 @@ LINK_OPTS += -lm # -------------------------------------------------------------- # Enable all possible plugin types -ifeq ($(HAVE_OPENGL),true) -ifneq ($(MACOS_OR_WINDOWS),true) -TARGETS += jack -endif # MACOS_OR_WINDOWS - -TARGETS += lv2_sep -TARGETS += vst - -endif # HAVE_OPENGL +TARGETS = jack lv2_sep vst2 vst3 all: $(TARGETS) From 824915761871514c794b22b509519183fbd849df Mon Sep 17 00:00:00 2001 From: falkTX Date: Tue, 11 Jan 2022 01:44:15 +0000 Subject: [PATCH 4/7] Properly handle UI::onMouse, giving events to children as needed Signed-off-by: falkTX --- plugins/dragonfly-early-reflections/UI.cpp | 6 +++--- plugins/dragonfly-hall-reverb/UI.cpp | 6 +++--- plugins/dragonfly-plate-reverb/UI.cpp | 6 +++--- plugins/dragonfly-room-reverb/UI.cpp | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/plugins/dragonfly-early-reflections/UI.cpp b/plugins/dragonfly-early-reflections/UI.cpp index 7cae214..37fbb2c 100644 --- a/plugins/dragonfly-early-reflections/UI.cpp +++ b/plugins/dragonfly-early-reflections/UI.cpp @@ -144,14 +144,14 @@ void DragonflyReverbUI::imageSliderValueChanged ( ImageSlider* slider, float va bool DragonflyReverbUI::onMouse ( const MouseEvent& ev ) { if ( ev.button != 1 ) - return false; + return UI::onMouse(ev); if ( ev.press ) { if ( displayAbout ) { displayAbout = false; repaint(); - return false; + return UI::onMouse(ev); } else { @@ -173,7 +173,7 @@ bool DragonflyReverbUI::onMouse ( const MouseEvent& ev ) } } } - return false; + return UI::onMouse(ev); } void DragonflyReverbUI::onDisplay() diff --git a/plugins/dragonfly-hall-reverb/UI.cpp b/plugins/dragonfly-hall-reverb/UI.cpp index 60a001a..f1ce920 100644 --- a/plugins/dragonfly-hall-reverb/UI.cpp +++ b/plugins/dragonfly-hall-reverb/UI.cpp @@ -228,14 +228,14 @@ void DragonflyReverbUI::imageSliderValueChanged ( ImageSlider* slider, float va bool DragonflyReverbUI::onMouse ( const MouseEvent& ev ) { if ( ev.button != 1 ) - return false; + return UI::onMouse(ev); if ( ev.press ) { if ( displayAbout ) { displayAbout = false; repaint(); - return false; + return UI::onMouse(ev); } else { @@ -304,7 +304,7 @@ bool DragonflyReverbUI::onMouse ( const MouseEvent& ev ) } } } - return false; + return UI::onMouse(ev); } void DragonflyReverbUI::onDisplay() diff --git a/plugins/dragonfly-plate-reverb/UI.cpp b/plugins/dragonfly-plate-reverb/UI.cpp index e73a946..cb6155f 100644 --- a/plugins/dragonfly-plate-reverb/UI.cpp +++ b/plugins/dragonfly-plate-reverb/UI.cpp @@ -181,14 +181,14 @@ void DragonflyReverbUI::imageSliderValueChanged ( ImageSlider* slider, float va bool DragonflyReverbUI::onMouse ( const MouseEvent& ev ) { if ( ev.button != 1 ) - return false; + return UI::onMouse(ev); if ( ev.press ) { if ( displayAbout ) { displayAbout = false; repaint(); - return false; + return UI::onMouse(ev); } else { @@ -248,7 +248,7 @@ bool DragonflyReverbUI::onMouse ( const MouseEvent& ev ) } } } - return false; + return UI::onMouse(ev); } void DragonflyReverbUI::onDisplay() diff --git a/plugins/dragonfly-room-reverb/UI.cpp b/plugins/dragonfly-room-reverb/UI.cpp index 5dbc1f2..36bbd69 100644 --- a/plugins/dragonfly-room-reverb/UI.cpp +++ b/plugins/dragonfly-room-reverb/UI.cpp @@ -226,14 +226,14 @@ void DragonflyReverbUI::imageSliderValueChanged ( ImageSlider* slider, float va bool DragonflyReverbUI::onMouse ( const MouseEvent& ev ) { if ( ev.button != 1 ) - return false; + return UI::onMouse(ev); if ( ev.press ) { if ( displayAbout ) { displayAbout = false; repaint(); - return false; + return UI::onMouse(ev); } else { @@ -301,7 +301,7 @@ bool DragonflyReverbUI::onMouse ( const MouseEvent& ev ) } } } - return false; + return UI::onMouse(ev); } void DragonflyReverbUI::onDisplay() From 2ffb168e30f81900dac23e14782130b93db59feb Mon Sep 17 00:00:00 2001 From: falkTX Date: Tue, 11 Jan 2022 01:50:35 +0000 Subject: [PATCH 5/7] Remove unused file Signed-off-by: falkTX --- common/UI.hpp | 38 -------------------------------------- 1 file changed, 38 deletions(-) delete mode 100644 common/UI.hpp diff --git a/common/UI.hpp b/common/UI.hpp deleted file mode 100644 index 1122a30..0000000 --- a/common/UI.hpp +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Dragonfly Reverb, copyright (c) 2020 Michael Willis, Rob van den Berg - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 3 of - * the License, or any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * For a full copy of the GNU General Public License see the LICENSE file. - */ - -#ifndef COMMON_UI_HPP_INCLUDED -#define COMMON_UI_HPP_INCLUDED - -#include "DistrhoUI.hpp" -#include "ImageWidgets.hpp" -#include "NanoVG.hpp" -#include "DistrhoPlugin.hpp" -#include "Spectrogram.hpp" -#include "LabelledKnob.hpp" - -class DragonflyReverbAbstractUI : - public UI, - public ImageKnob::Callback { -public: - DragonflyReverbAbstractUI( - - ); -protected: - NanoVG nanoText; -} - -#endif From 2622e16d62d1759c76c3ec4e90d0a468eed9acc3 Mon Sep 17 00:00:00 2001 From: falkTX Date: Tue, 11 Jan 2022 01:50:51 +0000 Subject: [PATCH 6/7] Make widgets self-contained Otherwise the build setup would depend on the plugin being built, we dont want that since this is a shared file Signed-off-by: falkTX --- common/LabelledKnob.cpp | 1 - common/LabelledKnob.hpp | 1 - 2 files changed, 2 deletions(-) diff --git a/common/LabelledKnob.cpp b/common/LabelledKnob.cpp index 6a54bfd..fb1a44f 100644 --- a/common/LabelledKnob.cpp +++ b/common/LabelledKnob.cpp @@ -15,7 +15,6 @@ */ #include "LabelledKnob.hpp" -#include "DistrhoPluginInfo.h" LabelledKnob::LabelledKnob(Widget* widget, ImageKnob::Callback* callback, Image* image, NanoVG* nanoText, const Param* param, const char * numberFormat, int x, int y) : SubWidget(widget) diff --git a/common/LabelledKnob.hpp b/common/LabelledKnob.hpp index 1e9e2f6..55f5a4e 100644 --- a/common/LabelledKnob.hpp +++ b/common/LabelledKnob.hpp @@ -17,7 +17,6 @@ #ifndef LABELLED_KNOB_HPP_INCLUDED #define LABELLED_KNOB_HPP_INCLUDED -#include "DistrhoUI.hpp" #include "NanoVG.hpp" #include "ImageWidgets.hpp" #include "Param.hpp" From 886880686c94a289bc952c88d141437a9fa28574 Mon Sep 17 00:00:00 2001 From: falkTX Date: Tue, 11 Jan 2022 01:53:30 +0000 Subject: [PATCH 7/7] Make each plugin build its own AbstractUI instance AbstractUI imports DistrhoUI.hpp, which is different per plugin. Signed-off-by: falkTX --- plugins/dragonfly-early-reflections/AbstractUI.cpp | 1 + plugins/dragonfly-early-reflections/AbstractUI.hpp | 1 + plugins/dragonfly-early-reflections/Makefile | 2 +- plugins/dragonfly-hall-reverb/AbstractUI.cpp | 1 + plugins/dragonfly-hall-reverb/AbstractUI.hpp | 1 + plugins/dragonfly-hall-reverb/Makefile | 2 +- plugins/dragonfly-plate-reverb/AbstractUI.cpp | 1 + plugins/dragonfly-plate-reverb/AbstractUI.hpp | 1 + plugins/dragonfly-plate-reverb/Makefile | 2 +- plugins/dragonfly-room-reverb/AbstractUI.cpp | 1 + plugins/dragonfly-room-reverb/AbstractUI.hpp | 1 + plugins/dragonfly-room-reverb/Makefile | 2 +- 12 files changed, 12 insertions(+), 4 deletions(-) create mode 120000 plugins/dragonfly-early-reflections/AbstractUI.cpp create mode 120000 plugins/dragonfly-early-reflections/AbstractUI.hpp create mode 120000 plugins/dragonfly-hall-reverb/AbstractUI.cpp create mode 120000 plugins/dragonfly-hall-reverb/AbstractUI.hpp create mode 120000 plugins/dragonfly-plate-reverb/AbstractUI.cpp create mode 120000 plugins/dragonfly-plate-reverb/AbstractUI.hpp create mode 120000 plugins/dragonfly-room-reverb/AbstractUI.cpp create mode 120000 plugins/dragonfly-room-reverb/AbstractUI.hpp diff --git a/plugins/dragonfly-early-reflections/AbstractUI.cpp b/plugins/dragonfly-early-reflections/AbstractUI.cpp new file mode 120000 index 0000000..07adce6 --- /dev/null +++ b/plugins/dragonfly-early-reflections/AbstractUI.cpp @@ -0,0 +1 @@ +../../common/AbstractUI.cpp \ No newline at end of file diff --git a/plugins/dragonfly-early-reflections/AbstractUI.hpp b/plugins/dragonfly-early-reflections/AbstractUI.hpp new file mode 120000 index 0000000..39ad25a --- /dev/null +++ b/plugins/dragonfly-early-reflections/AbstractUI.hpp @@ -0,0 +1 @@ +../../common/AbstractUI.hpp \ No newline at end of file diff --git a/plugins/dragonfly-early-reflections/Makefile b/plugins/dragonfly-early-reflections/Makefile index 05e219e..9082da2 100644 --- a/plugins/dragonfly-early-reflections/Makefile +++ b/plugins/dragonfly-early-reflections/Makefile @@ -43,7 +43,7 @@ FILES_DSP = $(FILES_COMMON) \ FILES_UI = $(FILES_COMMON) \ Artwork.cpp \ UI.cpp \ - ../../common/AbstractUI.cpp \ + AbstractUI.cpp \ ../../common/LabelledKnob.cpp \ ../../common/Spectrogram.cpp \ ../../common/Bitstream_Vera_Sans_Regular.cpp diff --git a/plugins/dragonfly-hall-reverb/AbstractUI.cpp b/plugins/dragonfly-hall-reverb/AbstractUI.cpp new file mode 120000 index 0000000..07adce6 --- /dev/null +++ b/plugins/dragonfly-hall-reverb/AbstractUI.cpp @@ -0,0 +1 @@ +../../common/AbstractUI.cpp \ No newline at end of file diff --git a/plugins/dragonfly-hall-reverb/AbstractUI.hpp b/plugins/dragonfly-hall-reverb/AbstractUI.hpp new file mode 120000 index 0000000..39ad25a --- /dev/null +++ b/plugins/dragonfly-hall-reverb/AbstractUI.hpp @@ -0,0 +1 @@ +../../common/AbstractUI.hpp \ No newline at end of file diff --git a/plugins/dragonfly-hall-reverb/Makefile b/plugins/dragonfly-hall-reverb/Makefile index a23c03b..d9be947 100644 --- a/plugins/dragonfly-hall-reverb/Makefile +++ b/plugins/dragonfly-hall-reverb/Makefile @@ -43,7 +43,7 @@ FILES_DSP = $(FILES_COMMON) \ FILES_UI = $(FILES_COMMON) \ Artwork.cpp \ UI.cpp \ - ../../common/AbstractUI.cpp \ + AbstractUI.cpp \ ../../common/LabelledKnob.cpp \ ../../common/Spectrogram.cpp \ ../../common/Bitstream_Vera_Sans_Regular.cpp diff --git a/plugins/dragonfly-plate-reverb/AbstractUI.cpp b/plugins/dragonfly-plate-reverb/AbstractUI.cpp new file mode 120000 index 0000000..07adce6 --- /dev/null +++ b/plugins/dragonfly-plate-reverb/AbstractUI.cpp @@ -0,0 +1 @@ +../../common/AbstractUI.cpp \ No newline at end of file diff --git a/plugins/dragonfly-plate-reverb/AbstractUI.hpp b/plugins/dragonfly-plate-reverb/AbstractUI.hpp new file mode 120000 index 0000000..39ad25a --- /dev/null +++ b/plugins/dragonfly-plate-reverb/AbstractUI.hpp @@ -0,0 +1 @@ +../../common/AbstractUI.hpp \ No newline at end of file diff --git a/plugins/dragonfly-plate-reverb/Makefile b/plugins/dragonfly-plate-reverb/Makefile index 4611a7f..a6eae49 100644 --- a/plugins/dragonfly-plate-reverb/Makefile +++ b/plugins/dragonfly-plate-reverb/Makefile @@ -43,7 +43,7 @@ FILES_DSP = $(FILES_COMMON) \ FILES_UI = $(FILES_COMMON) \ Artwork.cpp \ UI.cpp \ - ../../common/AbstractUI.cpp \ + AbstractUI.cpp \ ../../common/LabelledKnob.cpp \ ../../common/Spectrogram.cpp \ ../../common/Bitstream_Vera_Sans_Regular.cpp diff --git a/plugins/dragonfly-room-reverb/AbstractUI.cpp b/plugins/dragonfly-room-reverb/AbstractUI.cpp new file mode 120000 index 0000000..07adce6 --- /dev/null +++ b/plugins/dragonfly-room-reverb/AbstractUI.cpp @@ -0,0 +1 @@ +../../common/AbstractUI.cpp \ No newline at end of file diff --git a/plugins/dragonfly-room-reverb/AbstractUI.hpp b/plugins/dragonfly-room-reverb/AbstractUI.hpp new file mode 120000 index 0000000..39ad25a --- /dev/null +++ b/plugins/dragonfly-room-reverb/AbstractUI.hpp @@ -0,0 +1 @@ +../../common/AbstractUI.hpp \ No newline at end of file diff --git a/plugins/dragonfly-room-reverb/Makefile b/plugins/dragonfly-room-reverb/Makefile index 69f1a41..505e7bb 100644 --- a/plugins/dragonfly-room-reverb/Makefile +++ b/plugins/dragonfly-room-reverb/Makefile @@ -43,7 +43,7 @@ FILES_DSP = $(FILES_COMMON) \ FILES_UI = $(FILES_COMMON) \ Artwork.cpp \ UI.cpp \ - ../../common/AbstractUI.cpp \ + AbstractUI.cpp \ ../../common/LabelledKnob.cpp \ ../../common/Spectrogram.cpp \ ../../common/Bitstream_Vera_Sans_Regular.cpp