From 38fca07f14fad8166aa9829ce25796dd07720dc1 Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 7 Sep 2022 07:18:04 +0100 Subject: [PATCH 01/17] Fix memory leak in AudioToCVPitch Signed-off-by: falkTX --- plugins/Cardinal/src/AudioToCVPitch.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/plugins/Cardinal/src/AudioToCVPitch.cpp b/plugins/Cardinal/src/AudioToCVPitch.cpp index 89d9e69..2c79720 100644 --- a/plugins/Cardinal/src/AudioToCVPitch.cpp +++ b/plugins/Cardinal/src/AudioToCVPitch.cpp @@ -95,6 +95,14 @@ struct AudioToCVPitch : Module { configParam(PARAM_TOLERANCE, 0.f, 99.f, kDefaultTolerance, "Tolerance", " %"); } + ~AudioToCVPitch() override + { + if (pitchDetector != nullptr) + del_aubio_pitch(pitchDetector); + del_fvec(detectedPitch); + del_fvec(inputBuffer); + } + void process(const ProcessArgs& args) override { float cvPitch = lastUsedOutputPitch; From 26ec541280d14d0365f374520a9845115597b495 Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 7 Sep 2022 07:54:28 +0100 Subject: [PATCH 02/17] Fix DrumKit memory leaks Signed-off-by: falkTX --- plugins/DrumKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/DrumKit b/plugins/DrumKit index 7681d30..d44b52e 160000 --- a/plugins/DrumKit +++ b/plugins/DrumKit @@ -1 +1 @@ -Subproject commit 7681d30ac0b9246605d3d8d71dc7e25030748ec6 +Subproject commit d44b52e9bf8915c06382bfd1a41a460bafbfd671 From 19c12abdd4e621cda731d7af131ae602add1dd58 Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 7 Sep 2022 08:37:21 +0100 Subject: [PATCH 03/17] Fix a few plugin memory leaks Signed-off-by: falkTX --- plugins/AS | 2 +- plugins/MSM | 2 +- plugins/PinkTrombone | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/AS b/plugins/AS index 93aa1d0..b5fdb76 160000 --- a/plugins/AS +++ b/plugins/AS @@ -1 +1 @@ -Subproject commit 93aa1d0bbb2550bf05998e331e603e87425aeb91 +Subproject commit b5fdb76c79688207e56bd5b07b01e9c63a102797 diff --git a/plugins/MSM b/plugins/MSM index abe3c24..2ebac75 160000 --- a/plugins/MSM +++ b/plugins/MSM @@ -1 +1 @@ -Subproject commit abe3c24d40b11d31f9f38b2125eff9280c77ad1b +Subproject commit 2ebac7567be4dbb00128b5d7aaccfdf4aac26e81 diff --git a/plugins/PinkTrombone b/plugins/PinkTrombone index 87ecd0f..1e96d7b 160000 --- a/plugins/PinkTrombone +++ b/plugins/PinkTrombone @@ -1 +1 @@ -Subproject commit 87ecd0ff5212a65b064444362e76c9bf94c01826 +Subproject commit 1e96d7b898eca6101f438dfd8224d713985486e2 From e39ff6d0f831f7e97da161711d5b0f2b88b54977 Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 7 Sep 2022 14:35:17 +0100 Subject: [PATCH 04/17] Fix a few more leaks and update PathSet Signed-off-by: falkTX --- plugins/Bidoo | 2 +- plugins/JW-Modules | 2 +- plugins/PathSet | 2 +- plugins/plugins.cpp | 1 + 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/plugins/Bidoo b/plugins/Bidoo index 97f61b3..69c8a23 160000 --- a/plugins/Bidoo +++ b/plugins/Bidoo @@ -1 +1 @@ -Subproject commit 97f61b3616a6e0935ac84f02b1e35734413c6b34 +Subproject commit 69c8a23d0182b5ef50c23b1870c354b4e30811d1 diff --git a/plugins/JW-Modules b/plugins/JW-Modules index f7399c4..356588d 160000 --- a/plugins/JW-Modules +++ b/plugins/JW-Modules @@ -1 +1 @@ -Subproject commit f7399c473735c0a5bec95bb40953e781f9a47ca4 +Subproject commit 356588ddb142dab99837af58681bc0d8afb88e4c diff --git a/plugins/PathSet b/plugins/PathSet index de53c78..30e35f9 160000 --- a/plugins/PathSet +++ b/plugins/PathSet @@ -1 +1 @@ -Subproject commit de53c78658c42638b7c356b78d1559634644f733 +Subproject commit 30e35f9414329ed6545ef328fd5951d4cf583362 diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index f783375..87f112c 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -2450,6 +2450,7 @@ static void initStatic__PathSet() p->addModel(modelAstroVibe); p->addModel(modelGlassPane); p->addModel(modelNudge); + p->addModel(modelOneShot); } } From af64bc5991a68c5f112f26e9efc29134214ddcfb Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 7 Sep 2022 14:35:45 +0100 Subject: [PATCH 05/17] Setup a few more name conflicts Signed-off-by: falkTX --- plugins/Makefile | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/plugins/Makefile b/plugins/Makefile index c214282..c5a49af 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -525,7 +525,7 @@ PLUGIN_FILES += $(filter-out Bidoo/src/dep/resampler/main.cpp,$(wildcard Bidoo/s PLUGIN_FILES += BidooDark/plugin.cpp # modules/types which are present in other plugins -BIDOO_CUSTOM = ChannelDisplay InstantiateExpanderItem LadderFilter $(DRWAV) +BIDOO_CUSTOM = ChannelDisplay InstantiateExpanderItem LadderFilter PitchShifter $(DRWAV) BIDOO_CUSTOM_PER_FILE = channel channel filterType # -------------------------------------------------------------- @@ -546,6 +546,9 @@ PLUGIN_FILES += $(wildcard ChowDSP/src/*/*.cpp) PLUGIN_FILES += $(wildcard ChowDSP/src/*/*/*.cpp) PLUGIN_FILES += $(wildcard ChowDSP/lib/r8lib/*.cpp) +# modules/types which are present in other plugins +CHOWDSP_CUSTOM = sign + # -------------------------------------------------------------- # CatroModulo @@ -824,6 +827,9 @@ PARABLE_CUSTOM = Clouds CustomPanel CloudsWidget FreezeLight clouds stmlib PLUGIN_FILES += $(filter-out PathSet/src/plugin.cpp,$(wildcard PathSet/src/*.cpp)) +# modules/types which are present in other plugins +PATHSET_CUSTOM = PitchShifter + # -------------------------------------------------------------- # PinkTrombone @@ -872,7 +878,7 @@ PLUGIN_FILES += $(filter-out stocaudio/src/plugin.cpp,$(wildcard stocaudio/src/* PLUGIN_FILES += $(filter-out unless_modules/src/unless.cpp,$(wildcard unless_modules/src/*.cpp)) # modules/types which are present in other plugins -UNLESS_MODULES_CUSTOM = Selection +UNLESS_MODULES_CUSTOM = Selection sign # -------------------------------------------------------------- # ValleyAudio From 3a17dbfa415445cf2059a7c8c4ebbdd8ac60692d Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 7 Sep 2022 15:42:05 +0100 Subject: [PATCH 06/17] Update voxglitch, fix last memory leaks Signed-off-by: falkTX --- plugins/ArableInstruments | 2 +- plugins/Makefile | 2 +- plugins/plugins.cpp | 6 ++---- plugins/voxglitch | 2 +- 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/plugins/ArableInstruments b/plugins/ArableInstruments index 890448f..6f09e9d 160000 --- a/plugins/ArableInstruments +++ b/plugins/ArableInstruments @@ -1 +1 @@ -Subproject commit 890448f087e3ab47eac391f9bcfe03f7bbd2123e +Subproject commit 6f09e9d3e6a1c9b862ca2421227d33fdc4834e2d diff --git a/plugins/Makefile b/plugins/Makefile index c5a49af..d526aa3 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -962,7 +962,7 @@ VALLEYAUDIO_CUSTOM_PER_FILE = TempoKnob PLUGIN_FILES += $(filter-out voxglitch/src/plugin.cpp,$(wildcard voxglitch/src/*.cpp)) # modules/types which are present in other plugins -VOXGLITCH_CUSTOM = $(DRWAV) ADSR AudioFile Looper Readout +VOXGLITCH_CUSTOM = ADSR AudioFile Looper Readout VOXGLITCH_CUSTOM_PER_FILE = AudioBuffer GateSequencer Grain SamplePlayer Sequencer SequencerDisplay VoltageSequencer # -------------------------------------------------------------- diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 87f112c..3df32c2 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -2643,18 +2643,16 @@ static void initStatic__Voxglitch() p->addModel(modelDigitalSequencerXP); p->addModel(modelGlitchSequencer); p->addModel(modelGhosts); - p->addModel(modelGoblins); - p->addModel(modelGrainEngine); p->addModel(modelGrainEngineMK2); p->addModel(modelGrainEngineMK2Expander); p->addModel(modelGrainFx); + p->addModel(modelGrooveBox); + p->addModel(modelGrooveBoxExpander); p->addModel(modelHazumi); p->addModel(modelLooper); p->addModel(modelRepeater); p->addModel(modelSamplerX8); p->addModel(modelSatanonaut); - p->addModel(modelGrooveBox); - p->addModel(modelGrooveBoxExpander); p->addModel(modelWavBank); p->addModel(modelWavBankMC); p->addModel(modelXY); diff --git a/plugins/voxglitch b/plugins/voxglitch index e856cfb..c47c0a1 160000 --- a/plugins/voxglitch +++ b/plugins/voxglitch @@ -1 +1 @@ -Subproject commit e856cfb4dbc255165d22294e80e13957241d2c80 +Subproject commit c47c0a104c9ebd6814d8e8f616113a21ad97756f From 63689b2a1897b074c4aa97b11c04a1cfed7b4a5f Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 7 Sep 2022 15:46:05 +0100 Subject: [PATCH 07/17] Check for memory leaks in CI now that we fix them all Signed-off-by: falkTX --- .github/workflows/build.yml | 14 +++++++------- dpf | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 134af71..f1109bc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1085,7 +1085,7 @@ jobs: xvfb-run valgrind \ --gen-suppressions=all \ --error-exitcode=255 \ - --leak-check=no \ + --leak-check=yes \ --track-origins=yes \ --suppressions=./dpf/utils/valgrind-dpf.supp \ ./bin/Cardinal selftest @@ -1112,10 +1112,10 @@ jobs: env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \ xvfb-run valgrind \ --error-exitcode=255 \ - --leak-check=no \ + --leak-check=yes \ --track-origins=yes \ --suppressions=./dpf/utils/valgrind-dpf.supp \ - /usr/lib/carla/carla-bridge-native lv2 "" ${p} 1>/dev/null; \ + /usr/lib/carla/carla-bridge-native lv2 "" ${p}; \ done - name: Test VST2 plugin run: | @@ -1123,10 +1123,10 @@ jobs: env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \ xvfb-run valgrind \ --error-exitcode=255 \ - --leak-check=no \ + --leak-check=yes \ --track-origins=yes \ --suppressions=./dpf/utils/valgrind-dpf.supp \ - /usr/lib/carla/carla-bridge-native vst2 ./${p} "" 1>/dev/null; \ + /usr/lib/carla/carla-bridge-native vst2 ./${p} ""; \ done - name: Test VST3 plugin run: | @@ -1134,8 +1134,8 @@ jobs: env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \ xvfb-run valgrind \ --error-exitcode=255 \ - --leak-check=no \ + --leak-check=yes \ --track-origins=yes \ --suppressions=./dpf/utils/valgrind-dpf.supp \ - /usr/lib/carla/carla-bridge-native vst3 ./bin/${p} "" 1>/dev/null; \ + /usr/lib/carla/carla-bridge-native vst3 ./bin/${p} ""; \ done diff --git a/dpf b/dpf index 5ddaeef..8f664b4 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit 5ddaeefc47bd215c630b372304461a62f3464924 +Subproject commit 8f664b4d346ba8c40e6a5a0909ca813654721b1a From f05615d0f43724fe52a5a9ca0efa69694db43b3d Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 7 Sep 2022 16:42:38 +0100 Subject: [PATCH 08/17] Cant enable mem leak checks on CI yet, glx/mesa fails Signed-off-by: falkTX --- .github/workflows/build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f1109bc..3c2299b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1085,7 +1085,7 @@ jobs: xvfb-run valgrind \ --gen-suppressions=all \ --error-exitcode=255 \ - --leak-check=yes \ + --leak-check=no \ --track-origins=yes \ --suppressions=./dpf/utils/valgrind-dpf.supp \ ./bin/Cardinal selftest @@ -1112,7 +1112,7 @@ jobs: env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \ xvfb-run valgrind \ --error-exitcode=255 \ - --leak-check=yes \ + --leak-check=no \ --track-origins=yes \ --suppressions=./dpf/utils/valgrind-dpf.supp \ /usr/lib/carla/carla-bridge-native lv2 "" ${p}; \ @@ -1123,7 +1123,7 @@ jobs: env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \ xvfb-run valgrind \ --error-exitcode=255 \ - --leak-check=yes \ + --leak-check=no \ --track-origins=yes \ --suppressions=./dpf/utils/valgrind-dpf.supp \ /usr/lib/carla/carla-bridge-native vst2 ./${p} ""; \ @@ -1134,7 +1134,7 @@ jobs: env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \ xvfb-run valgrind \ --error-exitcode=255 \ - --leak-check=yes \ + --leak-check=no \ --track-origins=yes \ --suppressions=./dpf/utils/valgrind-dpf.supp \ /usr/lib/carla/carla-bridge-native vst3 ./bin/${p} ""; \ From 809651427cf55ea2e7a3a113c20c1007492c0d7a Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 7 Sep 2022 16:44:01 +0100 Subject: [PATCH 09/17] Renable LTO in CI in preparation for new modules Signed-off-by: falkTX --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3c2299b..e270ed0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,12 +4,12 @@ on: push: env: - CACHE_VERSION: 31 + CACHE_VERSION: 32 CARDINAL_UNDER_WINE: 1 DEBIAN_FRONTEND: noninteractive HOMEBREW_NO_AUTO_UPDATE: 1 LIBGL_ALWAYS_SOFTWARE: 'true' - WITH_LTO: 'false' + WITH_LTO: 'true' jobs: linux-arm64: From e9f3a1edce7e381785c77e8edaec0c0495e5e9db Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 7 Sep 2022 18:28:32 +0100 Subject: [PATCH 10/17] Add libfftw3-dev to sysdeps CI build Signed-off-by: falkTX --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e270ed0..e733f63 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -385,7 +385,7 @@ jobs: - name: Set up dependencies run: | sudo apt-get update -qq - sudo apt-get install -yqq libdbus-1-dev libgl1-mesa-dev liblo-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev libarchive-dev libjansson-dev libsamplerate0-dev libsndfile1-dev libspeexdsp-dev + sudo apt-get install -yqq libdbus-1-dev libgl1-mesa-dev liblo-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev libarchive-dev libfftw3-dev libjansson-dev libsamplerate0-dev libsndfile1-dev libspeexdsp-dev - name: Build linux x86_64 (sysdeps) run: | make features From f140fbb55a2d882db2c5894d20188f0ac2efabd2 Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 7 Sep 2022 18:53:14 +0100 Subject: [PATCH 11/17] Install alsa and pulse for Linux CI builds, so native audio works Signed-off-by: falkTX --- .github/workflows/build.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e733f63..647a7fb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -47,7 +47,7 @@ jobs: 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 -yqq g++-aarch64-linux-gnu libdbus-1-dev:arm64 libgl1-mesa-dev:arm64 libglib2.0-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxext-dev:arm64 libxrandr-dev:arm64 qemu-user-static + sudo apt-get install -yqq g++-aarch64-linux-gnu libasound2-dev:arm64 libdbus-1-dev:arm64 libgl1-mesa-dev:arm64 libglib2.0-dev:arm64 libpulse-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxext-dev:arm64 libxrandr-dev:arm64 qemu-user-static - name: Set up ccache uses: hendrikmuhs/ccache-action@v1.2 with: @@ -131,7 +131,7 @@ jobs: 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 -yqq g++-arm-linux-gnueabihf libdbus-1-dev:armhf libgl1-mesa-dev:armhf libglib2.0-dev:armhf libx11-dev:armhf libxcursor-dev:armhf libxext-dev:armhf libxrandr-dev:armhf qemu-user-static + sudo apt-get install -yqq g++-arm-linux-gnueabihf libasound2-dev:armhf libdbus-1-dev:armhf libgl1-mesa-dev:armhf libglib2.0-dev:armhf libpulse-dev:armhf libx11-dev:armhf libxcursor-dev:armhf libxext-dev:armhf libxrandr-dev:armhf qemu-user-static - name: Set up ccache uses: hendrikmuhs/ccache-action@v1.2 with: @@ -211,7 +211,7 @@ jobs: run: | sudo dpkg --add-architecture i386 sudo apt-get update -qq - sudo apt-get install -yqq g++-multilib libdbus-1-dev:i386 libgl1-mesa-dev:i386 libglib2.0-dev:i386 libx11-dev:i386 libxcursor-dev:i386 libxext-dev:i386 libxrandr-dev:i386 + sudo apt-get install -yqq g++-multilib libasound2-dev:i386 libdbus-1-dev:i386 libgl1-mesa-dev:i386 libglib2.0-dev:i386 libpulse-dev:i386 libx11-dev:i386 libxcursor-dev:i386 libxext-dev:i386 libxrandr-dev:i386 - name: Set up ccache uses: hendrikmuhs/ccache-action@v1.2 with: @@ -285,7 +285,7 @@ jobs: - name: Set up dependencies run: | sudo apt-get update -qq - sudo apt-get install -yqq libdbus-1-dev libgl1-mesa-dev libglib2.0-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev + sudo apt-get install -yqq libasound2-dev libdbus-1-dev libgl1-mesa-dev libglib2.0-dev libpulse-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev - name: Set up ccache uses: hendrikmuhs/ccache-action@v1.2 with: @@ -341,7 +341,7 @@ jobs: - name: Set up dependencies run: | sudo apt-get update -qq - sudo apt-get install -yqq libdbus-1-dev libgl1-mesa-dev liblo-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev + sudo apt-get install -yqq libasound2-dev libdbus-1-dev libgl1-mesa-dev liblo-dev libpulse-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev - name: Build linux x86_64 (debug) env: LDFLAGS: -static-libgcc -static-libstdc++ From 069465eced227a1cbba499fcd7288019f3b5e964 Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 7 Sep 2022 22:17:32 +0100 Subject: [PATCH 12/17] Dont do full macOS build if there is no cache for its dependencies Signed-off-by: falkTX --- .github/workflows/build.yml | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 647a7fb..3793647 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -413,16 +413,18 @@ jobs: src/Rack/dep/speexdsp-SpeexDSP-1.2rc3 src/Rack/dep/zstd-1.4.5 key: macos-intel-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }} - - name: Set up ccache - uses: hendrikmuhs/ccache-action@v1.2 - with: - key: ccache-macos-intel-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }} - name: Build extra dependencies run: | if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi export PATH="/usr/local/opt/ccache/libexec:${PATH}" ./deps/PawPaw/bootstrap-cardinal.sh macos && ./deps/PawPaw/.cleanup.sh macos + - name: Set up ccache + if: steps.cache.outputs.cache-hit == 'true' + uses: hendrikmuhs/ccache-action@v1.2 + with: + key: ccache-macos-intel-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }} - name: Build macOS intel (base) + if: steps.cache.outputs.cache-hit == 'true' run: | if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi export PATH="/usr/local/opt/ccache/libexec:${PATH}" @@ -430,6 +432,7 @@ jobs: make features make CIBUILD=true NOOPT=true WITH_LTO=${{ env.WITH_LTO }} -j $(sysctl -n hw.logicalcpu) - name: Build macOS intel (AU using juce) + if: steps.cache.outputs.cache-hit == 'true' env: MACOSX_DEPLOYMENT_TARGET: '10.8' run: | @@ -441,6 +444,7 @@ jobs: pushd jucewrapper/build; cmake -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_OSX_ARCHITECTURES=x86_64 -DCMAKE_OSX_DEPLOYMENT_TARGET=10.8 -DCMAKE_OSX_SYSROOT="macosx" -DCMAKE_BUILD_TYPE=Release .. && make VERBOSE=1 -j $(sysctl -n hw.logicalcpu); popd mv jucewrapper/build/*_artefacts/Release/AU/*.component bin/ - name: Build macOS intel (packaging) + if: steps.cache.outputs.cache-hit == 'true' env: MACOS_ARCHS: 'x86_64' run: | @@ -497,16 +501,18 @@ jobs: src/Rack/dep/speexdsp-SpeexDSP-1.2rc3 src/Rack/dep/zstd-1.4.5 key: macos-universal-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }} - - name: Set up ccache - uses: hendrikmuhs/ccache-action@v1.2 - with: - key: ccache-macos-universal-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }} - name: Build extra dependencies run: | if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi export PATH="/usr/local/opt/ccache/libexec:${PATH}" ./deps/PawPaw/bootstrap-cardinal.sh macos-universal && ./deps/PawPaw/.cleanup.sh macos-universal + - name: Set up ccache + if: steps.cache.outputs.cache-hit == 'true' + uses: hendrikmuhs/ccache-action@v1.2 + with: + key: ccache-macos-universal-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }} - name: Build macOS universal (base) + if: steps.cache.outputs.cache-hit == 'true' run: | if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi export PATH="/usr/local/opt/ccache/libexec:${PATH}" @@ -514,6 +520,7 @@ jobs: make features make CIBUILD=true NOOPT=true WITH_LTO=${{ env.WITH_LTO }} -j $(sysctl -n hw.logicalcpu) - name: Build macOS universal (AU using juce) + if: steps.cache.outputs.cache-hit == 'true' env: MACOSX_DEPLOYMENT_TARGET: '10.12' run: | @@ -524,6 +531,7 @@ jobs: pushd jucewrapper/build; cmake -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_OSX_ARCHITECTURES='arm64;x86_64' -DCMAKE_OSX_DEPLOYMENT_TARGET=10.12 -DCMAKE_OSX_SYSROOT="macosx" -DCMAKE_BUILD_TYPE=Release .. && make VERBOSE=1 -j $(sysctl -n hw.logicalcpu); popd mv jucewrapper/build/*_artefacts/Release/AU/*.component bin/ - name: Build macOS universal (packaging) + if: steps.cache.outputs.cache-hit == 'true' env: MACOS_ARCHS: 'arm64,x86_64' run: | From a381b3d160e7f5bc203f556d4696b94913fead9c Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 7 Sep 2022 22:52:41 +0100 Subject: [PATCH 13/17] Add CLAP plugin format to release artifacts, mention it in README Signed-off-by: falkTX --- .github/workflows/build.yml | 14 +++++++------- README.md | 10 ++++++---- utils/create-macos-installer.sh | 12 ++++++++++-- utils/inno/win32.iss | 3 +++ utils/inno/win64.iss | 3 +++ utils/macOS/package.xml.in | 4 ++++ 6 files changed, 33 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3793647..1b4e194 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -80,7 +80,7 @@ jobs: run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})" - name: Pack binaries run: | - tar -c -h --hard-dereference -z -f ${{ github.event.repository.name }}-linux-arm64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C bin $(ls bin | grep -e lv2 -e vst) ../CardinalJACK ../CardinalNative + tar -c -h --hard-dereference -z -f ${{ github.event.repository.name }}-linux-arm64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C bin $(ls bin | grep -e lv2 -e vst -e clap) ../CardinalJACK ../CardinalNative - uses: actions/upload-artifact@v2 with: name: ${{ github.event.repository.name }}-linux-arm64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }} @@ -164,7 +164,7 @@ jobs: run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})" - name: Pack binaries run: | - tar -c -h --hard-dereference -z -f ${{ github.event.repository.name }}-linux-armhf-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C bin $(ls bin | grep -e lv2 -e vst) ../CardinalJACK ../CardinalNative + tar -c -h --hard-dereference -z -f ${{ github.event.repository.name }}-linux-armhf-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C bin $(ls bin | grep -e lv2 -e vst -e clap) ../CardinalJACK ../CardinalNative - uses: actions/upload-artifact@v2 with: name: ${{ github.event.repository.name }}-linux-armhf-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }} @@ -244,7 +244,7 @@ jobs: run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})" - name: Pack binaries run: | - tar -c -h --hard-dereference -z -f ${{ github.event.repository.name }}-linux-i686-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C bin $(ls bin | grep -e lv2 -e vst) ../CardinalJACK ../CardinalNative + tar -c -h --hard-dereference -z -f ${{ github.event.repository.name }}-linux-i686-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C bin $(ls bin | grep -e lv2 -e vst -e clap) ../CardinalJACK ../CardinalNative - uses: actions/upload-artifact@v2 with: name: ${{ github.event.repository.name }}-linux-i686-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }} @@ -316,7 +316,7 @@ jobs: run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})" - name: Pack binaries run: | - tar -c -h --hard-dereference -z -f ${{ github.event.repository.name }}-linux-x86_64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C bin $(ls bin | grep -e lv2 -e vst) ../CardinalJACK ../CardinalNative + tar -c -h --hard-dereference -z -f ${{ github.event.repository.name }}-linux-x86_64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C bin $(ls bin | grep -e lv2 -e vst -e clap) ../CardinalJACK ../CardinalNative - uses: actions/upload-artifact@v2 with: name: ${{ github.event.repository.name }}-linux-x86_64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }} @@ -353,7 +353,7 @@ jobs: run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)" - name: Pack binaries run: | - tar -c -h --hard-dereference -z -f ${{ github.event.repository.name }}-linux-x86_64-debug-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C bin $(ls bin | grep -e lv2 -e vst) + tar -c -h --hard-dereference -z -f ${{ github.event.repository.name }}-linux-x86_64-debug-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C bin $(ls bin | grep -e lv2 -e vst -e clap) - uses: actions/upload-artifact@v2 with: name: ${{ github.event.repository.name }}-linux-x86_64-debug-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }} @@ -889,7 +889,7 @@ jobs: run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})" - name: Pack binaries run: | - cd bin; zip -r -9 ../${{ github.event.repository.name }}-win32-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.zip $(ls | grep -e lv2 -e vst) + cd bin; zip -r -9 ../${{ github.event.repository.name }}-win32-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.zip $(ls | grep -e lv2 -e vst -e clap) - uses: actions/upload-artifact@v2 with: name: ${{ github.event.repository.name }}-win32-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }} @@ -981,7 +981,7 @@ jobs: run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})" - name: Pack binaries run: | - cd bin; zip -r -9 ../${{ github.event.repository.name }}-win64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.zip $(ls | grep -e lv2 -e vst) + cd bin; zip -r -9 ../${{ github.event.repository.name }}-win64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.zip $(ls | grep -e lv2 -e vst -e clap) - uses: actions/upload-artifact@v2 with: name: ${{ github.event.repository.name }}-win64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }} diff --git a/README.md b/README.md index 7be0840..a992f99 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ *Cardinal, the Rack!* Cardinal is a free and open-source virtual modular synthesizer plugin, -available as JACK standalone and AU, LV2, VST2 and VST3 audio plugin for FreeBSD, Linux, macOS and Windows. +available as JACK standalone and AU, LV2, VST2, VST3 and CLAP audio plugin for FreeBSD, Linux, macOS and Windows. It is based on the popular [VCV Rack](https://vcvrack.com/) but with a focus on being a fully self-contained plugin version. More specifically, this is a [DPF-based](https://github.com/DISTRHO/DPF/) @@ -25,7 +25,8 @@ All VCV branding has been removed (to the best of our knowledge) in order to avo Cardinal should be considered stable, if you spot any bugs please report them. Currently the following should be noted: -- Windows 32bit builds do not work well [#80](https://github.com/DISTRHO/Cardinal/issues/80) +- CLAP support is a work-in-progress [DPF#383](https://github.com/DISTRHO/DPF/issues/383) +- Windows 32bit builds still have a few problematic modules [#80](https://github.com/DISTRHO/Cardinal/issues/80) ### Stable release @@ -62,9 +63,10 @@ All variants have MIDI input and output support. ### Main -This variant provides 8 audio inputs and outputs and 10 CV inputs and outputs. +This variant provides 8 audio inputs and outputs and 10 CV inputs and outputs. -NOTE: Due to AU and VST2 formats not supporting CV ports, this variant is not available for those formats. +NOTE: Due to AU and VST2 formats not supporting CV ports, this variant is not available for those formats. +NOTE: This variant is not available in CLAP yet, to be added in a later release ### Synth diff --git a/utils/create-macos-installer.sh b/utils/create-macos-installer.sh index a465d2d..a757dd5 100755 --- a/utils/create-macos-installer.sh +++ b/utils/create-macos-installer.sh @@ -9,8 +9,8 @@ else exit fi -rm -rf res jack native au lv2 vst2 vst3 -mkdir jack native au lv2 vst2 vst3 +rm -rf res jack native au lv2 vst2 vst3 clap +mkdir jack native au lv2 vst2 vst3 clap mv Cardinal.app jack/CardinalJACK.app mv CardinalNative.app native/CardinalNative.app @@ -19,10 +19,12 @@ mv *.component au/ mv *.lv2 lv2/ mv *.vst vst2/ mv *.vst3 vst3/ +mv *.clap clap/ cp -RL lv2/Cardinal.lv2/resources res rm -rf lv2/*.lv2/resources rm -rf vst2/*.vst/Contents/Resources rm -rf vst3/*.vst3/Contents/Resources +rm -rf clap/*.clap/Contents/Resources pkgbuild \ --identifier "studio.kx.distrho.cardinal.resources" \ @@ -66,6 +68,12 @@ pkgbuild \ --root "${PWD}/vst3/" \ ../dpf-cardinal-vst3bundles.pkg +pkgbuild \ + --identifier "studio.kx.distrho.plugins.cardinal.clapbundles" \ + --install-location "/Library/Audio/Plug-Ins/CLAP/" \ + --root "${PWD}/clap/" \ + ../dpf-cardinal-clapbundles.pkg + cd .. sed -e "s|@builddir@|${PWD}/build|" \ diff --git a/utils/inno/win32.iss b/utils/inno/win32.iss index cff7ed9..e1b2294 100644 --- a/utils/inno/win32.iss +++ b/utils/inno/win32.iss @@ -27,6 +27,7 @@ Name: native; Description: "Standalone (Native)"; Types: custom; Name: lv2; Description: "LV2 plugin"; Types: normal; Name: vst2; Description: "VST2 plugin"; Types: normal; Name: vst3; Description: "VST3 plugin"; Types: normal; +Name: clap; Description: "CLAP plugin"; Types: normal; [Files] #include "resources.iss" @@ -59,6 +60,8 @@ Source: "..\..\bin\Cardinal.vst\*.*"; DestDir: "{commoncf32}\VST2\Cardinal.vst"; Source: "..\..\bin\Cardinal.vst3\Contents\x86-win\Cardinal.vst3"; DestDir: "{commoncf32}\VST3\Cardinal.vst3\Contents\x86-win"; Components: vst3; Flags: ignoreversion; Source: "..\..\bin\CardinalFX.vst3\Contents\x86-win\CardinalFX.vst3"; DestDir: "{commoncf32}\VST3\CardinalFX.vst3\Contents\x86-win"; Components: vst3; Flags: ignoreversion; Source: "..\..\bin\CardinalSynth.vst3\Contents\x86-win\CardinalSynth.vst3"; DestDir: "{commoncf32}\VST3\CardinalSynth.vst3\Contents\x86-win"; Components: vst3; Flags: ignoreversion; +; clap +Source: "..\..\bin\Cardinal.clap\*.*"; DestDir: "{commoncf32}\CLAP\Cardinal.clap"; Components: clap; Flags: ignoreversion; [Icons] Name: "{commonprograms}\Cardinal (JACK)"; Filename: "{app}\Cardinal.exe"; IconFilename: "{app}\distrho.ico"; WorkingDir: "{app}"; Comment: "Virtual modular synthesizer plugin (JACK variant)"; Components: jack; diff --git a/utils/inno/win64.iss b/utils/inno/win64.iss index 90cfa81..d519ca8 100644 --- a/utils/inno/win64.iss +++ b/utils/inno/win64.iss @@ -28,6 +28,7 @@ Name: native; Description: "Standalone (Native)"; Types: custom; Name: lv2; Description: "LV2 plugin"; Types: normal; Name: vst2; Description: "VST2 plugin"; Types: normal; Name: vst3; Description: "VST3 plugin"; Types: normal; +Name: clap; Description: "CLAP plugin"; Types: normal; [Files] #include "resources.iss" @@ -60,6 +61,8 @@ Source: "..\..\bin\Cardinal.vst\*.*"; DestDir: "{commoncf64}\VST2\Cardinal.vst"; Source: "..\..\bin\Cardinal.vst3\Contents\x86_64-win\Cardinal.vst3"; DestDir: "{commoncf64}\VST3\Cardinal.vst3\Contents\x86_64-win"; Components: vst3; Flags: ignoreversion; Source: "..\..\bin\CardinalFX.vst3\Contents\x86_64-win\CardinalFX.vst3"; DestDir: "{commoncf64}\VST3\CardinalFX.vst3\Contents\x86_64-win"; Components: vst3; Flags: ignoreversion; Source: "..\..\bin\CardinalSynth.vst3\Contents\x86_64-win\CardinalSynth.vst3"; DestDir: "{commoncf64}\VST3\CardinalSynth.vst3\Contents\x86_64-win"; Components: vst3; Flags: ignoreversion; +; clap +Source: "..\..\bin\Cardinal.clap\*.*"; DestDir: "{commoncf64}\CLAP\Cardinal.clap"; Components: clap; Flags: ignoreversion; [Icons] Name: "{commonprograms}\Cardinal (JACK)"; Filename: "{app}\Cardinal.exe"; IconFilename: "{app}\distrho.ico"; WorkingDir: "{app}"; Comment: "Virtual modular synthesizer plugin (JACK variant)"; Components: jack; diff --git a/utils/macOS/package.xml.in b/utils/macOS/package.xml.in index 381a28b..ca2f4da 100644 --- a/utils/macOS/package.xml.in +++ b/utils/macOS/package.xml.in @@ -27,6 +27,9 @@ dpf-cardinal-vst3bundles.pkg + + dpf-cardinal-clapbundles.pkg + @@ -35,5 +38,6 @@ + From 5d68d6bba6f35ebe7d7ceedb8f489d4d45a15070 Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 7 Sep 2022 23:15:58 +0100 Subject: [PATCH 14/17] Ensure native standalone does not use jack Signed-off-by: falkTX --- src/Makefile.cardinal.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Makefile.cardinal.mk b/src/Makefile.cardinal.mk index a03f268..19c1218 100644 --- a/src/Makefile.cardinal.mk +++ b/src/Makefile.cardinal.mk @@ -21,6 +21,8 @@ endif ifneq ($(STATIC_BUILD),true) +STATIC_PLUGIN_TARGET = true + CWD = ../../carla/source include $(CWD)/Makefile.deps.mk From 3fc03c311ef6e7572955ece3896e5a62e3db2e3f Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 7 Sep 2022 23:18:00 +0100 Subject: [PATCH 15/17] Add libsdl2-dev to CI, for linux native audio standalone Signed-off-by: falkTX --- .github/workflows/build.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1b4e194..a4ea0f7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -47,7 +47,7 @@ jobs: 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 -yqq g++-aarch64-linux-gnu libasound2-dev:arm64 libdbus-1-dev:arm64 libgl1-mesa-dev:arm64 libglib2.0-dev:arm64 libpulse-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxext-dev:arm64 libxrandr-dev:arm64 qemu-user-static + sudo apt-get install -yqq g++-aarch64-linux-gnu libasound2-dev:arm64 libdbus-1-dev:arm64 libgl1-mesa-dev:arm64 libglib2.0-dev:arm64 libpulse-dev:arm64 libsdl2-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxext-dev:arm64 libxrandr-dev:arm64 qemu-user-static - name: Set up ccache uses: hendrikmuhs/ccache-action@v1.2 with: @@ -131,7 +131,7 @@ jobs: 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 -yqq g++-arm-linux-gnueabihf libasound2-dev:armhf libdbus-1-dev:armhf libgl1-mesa-dev:armhf libglib2.0-dev:armhf libpulse-dev:armhf libx11-dev:armhf libxcursor-dev:armhf libxext-dev:armhf libxrandr-dev:armhf qemu-user-static + sudo apt-get install -yqq g++-arm-linux-gnueabihf libasound2-dev:armhf libdbus-1-dev:armhf libgl1-mesa-dev:armhf libglib2.0-dev:armhf libpulse-dev:armhf libsdl2-dev:armhf libx11-dev:armhf libxcursor-dev:armhf libxext-dev:armhf libxrandr-dev:armhf qemu-user-static - name: Set up ccache uses: hendrikmuhs/ccache-action@v1.2 with: @@ -211,7 +211,7 @@ jobs: run: | sudo dpkg --add-architecture i386 sudo apt-get update -qq - sudo apt-get install -yqq g++-multilib libasound2-dev:i386 libdbus-1-dev:i386 libgl1-mesa-dev:i386 libglib2.0-dev:i386 libpulse-dev:i386 libx11-dev:i386 libxcursor-dev:i386 libxext-dev:i386 libxrandr-dev:i386 + sudo apt-get install -yqq g++-multilib libasound2-dev:i386 libdbus-1-dev:i386 libgl1-mesa-dev:i386 libglib2.0-dev:i386 libpulse-dev:i386 libsdl2-dev:i386 libx11-dev:i386 libxcursor-dev:i386 libxext-dev:i386 libxrandr-dev:i386 - name: Set up ccache uses: hendrikmuhs/ccache-action@v1.2 with: @@ -285,7 +285,7 @@ jobs: - name: Set up dependencies run: | sudo apt-get update -qq - sudo apt-get install -yqq libasound2-dev libdbus-1-dev libgl1-mesa-dev libglib2.0-dev libpulse-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev + sudo apt-get install -yqq libasound2-dev libdbus-1-dev libgl1-mesa-dev libglib2.0-dev libpulse-dev libsdl2-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev - name: Set up ccache uses: hendrikmuhs/ccache-action@v1.2 with: @@ -341,7 +341,7 @@ jobs: - name: Set up dependencies run: | sudo apt-get update -qq - sudo apt-get install -yqq libasound2-dev libdbus-1-dev libgl1-mesa-dev liblo-dev libpulse-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev + sudo apt-get install -yqq libasound2-dev libdbus-1-dev libgl1-mesa-dev liblo-dev libpulse-dev libsdl2-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev - name: Build linux x86_64 (debug) env: LDFLAGS: -static-libgcc -static-libstdc++ From 010b8fe6fd6f7e3a8e033f24881b3667f526664d Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 7 Sep 2022 23:26:02 +0100 Subject: [PATCH 16/17] Deal with lack of RAM on github CI, use -j1 on final build stage Signed-off-by: falkTX --- .github/workflows/build.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a4ea0f7..9b5a7c9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -347,7 +347,10 @@ jobs: LDFLAGS: -static-libgcc -static-libstdc++ run: | make features - make DEBUG=true -j $(nproc) + # multiple jobs for building carla, deps and plugins + make DEBUG=true carla deps dgl plugins resources -j $(nproc) + # single job for final build stage, otherwise we might killed due to OOM + make DEBUG=true -j 1 - name: Set sha8 id: slug run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)" @@ -718,7 +721,10 @@ jobs: source ~/PawPawBuilds/emsdk/emsdk_env.sh pushd deps/PawPaw; source local.env wasm; popd make features - make CIBUILD=true NOOPT=true USE_GLES2=true -j $(nproc) + # multiple jobs for building carla, deps and plugins + make CIBUILD=true NOOPT=true USE_GLES2=true carla deps dgl plugins resources -j $(nproc) + # single job for final build stage, otherwise we might killed due to OOM + make CIBUILD=true NOOPT=true USE_GLES2=true -j 1 - name: Set sha8 (non-release) if: startsWith(github.ref, 'refs/tags/') != true id: slug1 From ac71bffae73f5bc2607078088c04c30b032ff9c1 Mon Sep 17 00:00:00 2001 From: falkTX Date: Thu, 8 Sep 2022 10:36:24 +0100 Subject: [PATCH 17/17] Comment out wasm builds for now Signed-off-by: falkTX --- .github/workflows/build.yml | 131 ++++++++++++++++++------------------ 1 file changed, 64 insertions(+), 67 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9b5a7c9..728d978 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -686,73 +686,70 @@ jobs: path: | *.tar.gz - wasm: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - with: - submodules: recursive - - name: Set up cache - id: cache - uses: actions/cache@v2 - with: - path: | - ~/PawPawBuilds - src/Rack/dep/bin - src/Rack/dep/include - src/Rack/dep/lib - src/Rack/dep/share - src/Rack/dep/jansson-2.12 - src/Rack/dep/libarchive-3.4.3 - src/Rack/dep/libsamplerate-0.1.9 - src/Rack/dep/speexdsp-SpeexDSP-1.2rc3 - src/Rack/dep/zstd-1.4.5 - key: wasm-v${{ env.CACHE_VERSION }} - - name: Set up dependencies - run: | - [ -e ~/PawPawBuilds/emsdk ] || git clone https://github.com/emscripten-core/emsdk.git ~/PawPawBuilds/emsdk - cd ~/PawPawBuilds/emsdk && ./emsdk install latest && ./emsdk activate latest - - name: Build extra dependencies - run: | - source ~/PawPawBuilds/emsdk/emsdk_env.sh - ./deps/PawPaw/bootstrap-cardinal.sh wasm && ./deps/PawPaw/.cleanup.sh wasm - - name: Build wasm cross-compiled - run: | - source ~/PawPawBuilds/emsdk/emsdk_env.sh - pushd deps/PawPaw; source local.env wasm; popd - make features - # multiple jobs for building carla, deps and plugins - make CIBUILD=true NOOPT=true USE_GLES2=true carla deps dgl plugins resources -j $(nproc) - # single job for final build stage, otherwise we might killed due to OOM - make CIBUILD=true NOOPT=true USE_GLES2=true -j 1 - - name: Set sha8 (non-release) - if: startsWith(github.ref, 'refs/tags/') != true - id: slug1 - run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)" - - name: Set sha8 (release) - if: startsWith(github.ref, 'refs/tags/') - id: slug2 - run: echo "::set-output name=sha8::$(echo ${{ github.ref_name }})" - - name: Set sha8 - id: slug - run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})" - - name: Pack binaries - run: | - cd bin; zip -r -9 ../${{ github.event.repository.name }}-wasm-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.zip $(ls *.html *.data *.js *.wasm) - - uses: actions/upload-artifact@v2 - with: - name: ${{ github.event.repository.name }}-wasm-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }} - path: | - *.zip - - uses: softprops/action-gh-release@v1 - if: startsWith(github.ref, 'refs/tags/') - with: - tag_name: ${{ github.ref_name }} - name: ${{ github.ref_name }} - draft: false - prerelease: false - files: | - *.zip + #wasm: + #runs-on: ubuntu-20.04 + #steps: + #- uses: actions/checkout@v2 + #with: + #submodules: recursive + #- name: Set up cache + #id: cache + #uses: actions/cache@v2 + #with: + #path: | + #~/PawPawBuilds + #src/Rack/dep/bin + #src/Rack/dep/include + #src/Rack/dep/lib + #src/Rack/dep/share + #src/Rack/dep/jansson-2.12 + #src/Rack/dep/libarchive-3.4.3 + #src/Rack/dep/libsamplerate-0.1.9 + #src/Rack/dep/speexdsp-SpeexDSP-1.2rc3 + #src/Rack/dep/zstd-1.4.5 + #key: wasm-v${{ env.CACHE_VERSION }} + #- name: Set up dependencies + #run: | + #[ -e ~/PawPawBuilds/emsdk ] || git clone https://github.com/emscripten-core/emsdk.git ~/PawPawBuilds/emsdk + #cd ~/PawPawBuilds/emsdk && ./emsdk install latest && ./emsdk activate latest + #- name: Build extra dependencies + #run: | + #source ~/PawPawBuilds/emsdk/emsdk_env.sh + #./deps/PawPaw/bootstrap-cardinal.sh wasm && ./deps/PawPaw/.cleanup.sh wasm + #- name: Build wasm cross-compiled + #run: | + #source ~/PawPawBuilds/emsdk/emsdk_env.sh + #pushd deps/PawPaw; source local.env wasm; popd + #make features + #make CIBUILD=true NOOPT=true USE_GLES2=true -j $(nproc) + #- name: Set sha8 (non-release) + #if: startsWith(github.ref, 'refs/tags/') != true + #id: slug1 + #run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)" + #- name: Set sha8 (release) + #if: startsWith(github.ref, 'refs/tags/') + #id: slug2 + #run: echo "::set-output name=sha8::$(echo ${{ github.ref_name }})" + #- name: Set sha8 + #id: slug + #run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})" + #- name: Pack binaries + #run: | + #cd bin; zip -r -9 ../${{ github.event.repository.name }}-wasm-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.zip $(ls *.html *.data *.js *.wasm) + #- uses: actions/upload-artifact@v2 + #with: + #name: ${{ github.event.repository.name }}-wasm-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }} + #path: | + #*.zip + #- uses: softprops/action-gh-release@v1 + #if: startsWith(github.ref, 'refs/tags/') + #with: + #tag_name: ${{ github.ref_name }} + #name: ${{ github.ref_name }} + #draft: false + #prerelease: false + #files: | + #*.zip wasm-mini: runs-on: ubuntu-20.04