diff --git a/.github/ISSUE_TEMPLATE/bug.yaml b/.github/ISSUE_TEMPLATE/bug.yaml index e97eeb4..e04dd50 100644 --- a/.github/ISSUE_TEMPLATE/bug.yaml +++ b/.github/ISSUE_TEMPLATE/bug.yaml @@ -5,7 +5,7 @@ body: id: version attributes: label: Version - value: "24.09" + value: "24.12" validations: required: true - type: dropdown diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d94a3ae..ba1e33c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -3,7 +3,7 @@ name: build on: [push, pull_request] env: - CACHE_VERSION: 10 + CACHE_VERSION: 11 CARDINAL_UNDER_WINE: 1 CIBUILD: true DEBIAN_FRONTEND: noninteractive @@ -143,7 +143,7 @@ jobs: # 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 get killed due to OOM - make DEBUG=true HAVE_PULSEAUDIO=false clap lv2 vst2 vst3 -j 1 + make DEBUG=true HAVE_PULSEAUDIO=false jack -j 1 - name: Set sha8 id: slug run: echo "SHA8=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV @@ -157,22 +157,11 @@ jobs: *.tar.xz macos: - strategy: - matrix: - debug: [0, 1] - target: [universal-10.15] - runs-on: macos-12 + runs-on: macos-13 steps: - uses: actions/checkout@v4 with: submodules: recursive - - name: Set debug or release - shell: bash - run: | - if [ "${{ matrix.debug }}" -eq 1 ]; then - echo "TARGET_SUFFIX=-debug" >> $GITHUB_ENV - echo "PAWPAW_DEBUG=1" >> $GITHUB_ENV - fi - name: Set up cache id: cache uses: actions/cache@v4 @@ -187,32 +176,32 @@ jobs: src/Rack/dep/libarchive-3.4.3 src/Rack/dep/libsamplerate-0.1.9 src/Rack/dep/zstd-1.4.5 - key: macos-${{ matrix.target }}${{ env.TARGET_SUFFIX }}-v${{ env.CACHE_VERSION }} + key: macos-universal-v${{ env.CACHE_VERSION }} - name: Setup dependencies run: | - ./deps/PawPaw/.github/workflows/bootstrap-deps.sh macos-${{ matrix.target }} + ./deps/PawPaw/.github/workflows/bootstrap-deps.sh macos-universal-10.15 - name: Build extra dependencies run: | export PATH="/usr/local/opt/ccache/libexec:${PATH}" - ./deps/PawPaw/bootstrap-cardinal.sh macos-${{ matrix.target }} && ./deps/PawPaw/.cleanup.sh macos-${{ matrix.target }} + ./deps/PawPaw/bootstrap-cardinal.sh macos-universal-10.15 && ./deps/PawPaw/.cleanup.sh macos-universal-10.15 - name: Set up ccache if: steps.cache.outputs.cache-hit == 'true' uses: hendrikmuhs/ccache-action@v1.2 with: - key: ccache-macos-${{ matrix.target }}${{ env.TARGET_SUFFIX }}-v${{ env.CACHE_VERSION }} + key: ccache-macos-universal-v${{ env.CACHE_VERSION }} - name: Build macOS (base) if: steps.cache.outputs.cache-hit == 'true' shell: bash run: | export PATH="/usr/local/opt/ccache/libexec:${PATH}" - source deps/PawPaw/local.env macos-${{ matrix.target }} + source deps/PawPaw/local.env macos-universal-10.15 make features - make NOOPT=true -j $(sysctl -n hw.logicalcpu) + make NOOPT=true ${MAKE_ARGS} -j $(sysctl -n hw.logicalcpu) - name: Build macOS (packaging) if: steps.cache.outputs.cache-hit == 'true' shell: bash run: | - source deps/PawPaw/local.env macos-${{ matrix.target }} + source deps/PawPaw/local.env macos-universal-10.15 ./utils/create-macos-installer.sh - name: Set sha8 (non-release) if: startsWith(github.ref, 'refs/tags/') != true @@ -223,10 +212,10 @@ jobs: - name: Rename macOS bundle if: steps.cache.outputs.cache-hit == 'true' run: | - mv ${{ github.event.repository.name }}-macOS.pkg ${{ github.event.repository.name }}-macOS-${{ matrix.target }}${{ env.TARGET_SUFFIX }}-${{ github.event.pull_request.number || env.SHA8 }}.pkg + mv ${{ github.event.repository.name }}-macOS.pkg ${{ github.event.repository.name }}-macOS-universal-${{ github.event.pull_request.number || env.SHA8 }}.pkg - uses: actions/upload-artifact@v4 with: - name: ${{ github.event.repository.name }}-macOS-${{ matrix.target }}${{ env.TARGET_SUFFIX }}-${{ github.event.pull_request.number || env.SHA8 }} + name: ${{ github.event.repository.name }}-macOS-universal-${{ github.event.pull_request.number || env.SHA8 }} path: | ${{ github.event.repository.name }}-*.pkg - uses: softprops/action-gh-release@v1 diff --git a/.gitmodules b/.gitmodules index e8cffc9..41435ee 100644 --- a/.gitmodules +++ b/.gitmodules @@ -259,4 +259,7 @@ url = https://github.com/CardinalModules/JUCE.git [submodule "plugins/rcm-modules"] path = plugins/rcm-modules - url = https://github.com/Rcomian/rcm-modules.git \ No newline at end of file + url = https://github.com/Rcomian/rcm-modules.git +[submodule "plugins/admiral"] + path = plugins/admiral + url = https://github.com/wapiflapi/admiral.git \ No newline at end of file diff --git a/Makefile b/Makefile index 2e29714..507cd76 100644 --- a/Makefile +++ b/Makefile @@ -15,7 +15,7 @@ include $(ROOT)/Makefile.base.mk # src/CardinalPlugin.cpp `getVersion` # utils/macOS/Info_{JACK,Native}.plist # .github/ISSUE_TEMPLATE/bug.yaml src/CardinalCommon.cpp src/CardinalPlugin.cpp utils/macOS/Info_{JACK,Native}.plist -VERSION = 24.09 +VERSION = 24.12 # -------------------------------------------------------------- # Build targets diff --git a/README.md b/README.md index ecac61c..105b5b4 100644 --- a/README.md +++ b/README.md @@ -122,6 +122,7 @@ At the moment the following 3rd-party modules are provided: - [21kHz](https://github.com/netboy3/21kHz-rack-plugins) - [8Mode](https://github.com/8Mode/8Mode-VCV_Modules) - [Aaron Static](https://github.com/aaronstatic/AaronStatic_modules) +- [Admiral](https://github.com/wapiflapi/admiral) - [alef's bits](https://github.com/alefnull/alefsbits) - [AlgoritmArte](https://github.com/algoritmarte/AlgoritmarteVCVPlugin) - [Amalgamated Harmonics](https://github.com/jhoar/AmalgamatedHarmonics) diff --git a/carla b/carla index e39f04d..17000e7 160000 --- a/carla +++ b/carla @@ -1 +1 @@ -Subproject commit e39f04d2d8587327e741ad881617c427f5014d48 +Subproject commit 17000e7fe99459b25a50094a8b00bdfa12f2bfbc diff --git a/deps/Makefile b/deps/Makefile index e9e28a4..0354e0c 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -165,7 +165,7 @@ ifeq ($(shell uname -s),Darwin) ifeq ($(CIBUILD),true) DEP_MAKE += SHA256SUM="shasum5.30 -a 256" else -DEP_MAKE += SHA256SUM="shasum5.30 -a 256" +DEP_MAKE += SHA256SUM="shasum5.34 -a 256" endif endif diff --git a/deps/PawPaw b/deps/PawPaw index e0a81ba..0985cf8 160000 --- a/deps/PawPaw +++ b/deps/PawPaw @@ -1 +1 @@ -Subproject commit e0a81ba6f24b194c7aa0c6828d422f1354256a09 +Subproject commit 0985cf8d1c3a00b1958ef90e0f1aa511b865241a diff --git a/docs/DIFFERENCES.md b/docs/DIFFERENCES.md index ef31a08..adbc4b8 100644 --- a/docs/DIFFERENCES.md +++ b/docs/DIFFERENCES.md @@ -46,6 +46,7 @@ Bellow follows a list of features comparing the official plugin to Cardinal. Additionally, Cardinal contains the following built-in modules not present in the official plugin or standalone: + * Admiral (never updated to v2) * Aria Salvatrice modules (except Arcane related modules, due to their online requirement) * Arable Instruments and Parable Instruments (never updated to v2) * Mog (never updated to v2) diff --git a/docs/LICENSES.md b/docs/LICENSES.md index e516ae7..ffdcb89 100644 --- a/docs/LICENSES.md +++ b/docs/LICENSES.md @@ -16,6 +16,7 @@ Below follows a list of all code licenses used in Cardinal and linked submodules | 21kHz | MIT | | | 8Mode | BSD-3-Clause | | | Aaron Static | MIT | | +| admiral | MIT | | | alef's bits | GPL-3.0-or-later | | | AlgoritmArte | GPL-3.0-or-later | | | Amalgamated Harmonics | BSD-3-Clause | | diff --git a/dpf b/dpf index 6b04262..c1ef624 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit 6b042628933f220a05571bde6a02fe0198a96b5d +Subproject commit c1ef6244581cf8378366c686cf210e3062ec40a5 diff --git a/patches/examples/DRMR_-_Interverb.vcv b/patches/examples/DRMR_-_Interverb.vcv index 27e1c8e..6fc5237 100644 --- a/patches/examples/DRMR_-_Interverb.vcv +++ b/patches/examples/DRMR_-_Interverb.vcv @@ -1,5 +1,6 @@ { "version": "2.1.2", + "zoom": 1.0, "modules": [ { "id": 1184757612963547, diff --git a/patches/examples/JTB_-_Waves.vcv b/patches/examples/JTB_-_Waves.vcv index 8633c28..dd7ddc1 100644 --- a/patches/examples/JTB_-_Waves.vcv +++ b/patches/examples/JTB_-_Waves.vcv @@ -1,10 +1,6 @@ { "version": "2.1.2", "zoom": 0.82074141502380371, - "gridOffset": [ - -44.997005462646484, - -0.079142682254314423 - ], "modules": [ { "id": 3538881790933672, diff --git a/patches/examples/falkTX_-_Mini-Arp-Seq.vcv b/patches/examples/falkTX_-_Mini-Arp-Seq.vcv new file mode 100644 index 0000000..be097b4 --- /dev/null +++ b/patches/examples/falkTX_-_Mini-Arp-Seq.vcv @@ -0,0 +1,543 @@ +{ + "version": "2.4.1", + "zoom": 1.0, + "modules": [ + { + "id": 3781955267578472, + "plugin": "rcm", + "model": "rcm-pianoroll", + "version": "2.0", + "params": [ + { + "value": 0.0, + "id": 0 + }, + { + "value": 0.0, + "id": 1 + } + ], + "leftModuleId": 6820180775829814, + "data": { + "backgroundHue": 0.5, + "backgroundSaturation": 1.0, + "backgroundLuminosity": 0.25, + "patterns": [ + { + "numberOfMeasures": 1, + "beatsPerMeasure": 4, + "divisionsPerBeat": 4, + "measures": [ + { + "notes": [ + { + "pitch": 43, + "velocity": 0.75, + "retrigger": true, + "active": true + }, + { + "pitch": 45, + "velocity": 0.75, + "retrigger": true, + "active": true + }, + { + "pitch": 43, + "velocity": 0.75, + "retrigger": true, + "active": true + }, + { + "pitch": 47, + "velocity": 0.75, + "retrigger": true, + "active": true + }, + { + "pitch": 45, + "velocity": 0.75, + "retrigger": true, + "active": true + }, + { + "pitch": 50, + "velocity": 0.75, + "retrigger": true, + "active": true + }, + { + "pitch": 45, + "velocity": 0.75, + "retrigger": true, + "active": true + }, + { + "pitch": 48, + "velocity": 0.75, + "retrigger": true, + "active": true + }, + { + "pitch": 43, + "velocity": 0.75, + "retrigger": true, + "active": true + }, + { + "pitch": 45, + "velocity": 0.75, + "retrigger": true, + "active": true + }, + { + "pitch": 43, + "velocity": 0.75, + "retrigger": true, + "active": true + }, + { + "pitch": 40, + "velocity": 0.75, + "retrigger": true, + "active": true + }, + { + "pitch": 45, + "velocity": 0.75, + "retrigger": true, + "active": true + }, + { + "pitch": 50, + "velocity": 0.75, + "retrigger": true, + "active": true + }, + { + "pitch": 45, + "velocity": 0.75, + "retrigger": true, + "active": true + }, + { + "pitch": 40, + "velocity": 0.75, + "retrigger": true, + "active": true + } + ] + }, + { + "notes": [ + { + "pitch": 0, + "velocity": 0.0, + "retrigger": false, + "active": false + }, + { + "pitch": 0, + "velocity": 0.0, + "retrigger": false, + "active": false + }, + { + "pitch": 0, + "velocity": 0.0, + "retrigger": false, + "active": false + }, + { + "pitch": 0, + "velocity": 0.0, + "retrigger": false, + "active": false + }, + { + "pitch": 0, + "velocity": 0.0, + "retrigger": false, + "active": false + }, + { + "pitch": 0, + "velocity": 0.0, + "retrigger": false, + "active": false + }, + { + "pitch": 0, + "velocity": 0.0, + "retrigger": false, + "active": false + }, + { + "pitch": 0, + "velocity": 0.0, + "retrigger": false, + "active": false + }, + { + "pitch": 0, + "velocity": 0.0, + "retrigger": false, + "active": false + }, + { + "pitch": 0, + "velocity": 0.0, + "retrigger": false, + "active": false + }, + { + "pitch": 0, + "velocity": 0.0, + "retrigger": false, + "active": false + }, + { + "pitch": 0, + "velocity": 0.0, + "retrigger": false, + "active": false + }, + { + "pitch": 0, + "velocity": 0.0, + "retrigger": false, + "active": false + }, + { + "pitch": 0, + "velocity": 0.0, + "retrigger": false, + "active": false + }, + { + "pitch": 0, + "velocity": 0.0, + "retrigger": false, + "active": false + }, + { + "pitch": 0, + "velocity": 0.0, + "retrigger": false, + "active": false + } + ] + } + ] + } + ], + "currentPattern": 0, + "currentStep": 12, + "clockDelay": 0, + "sequenceRunning": true, + "lowestDisplayNote": 36, + "notesToShow": 18, + "currentMeasure": 0, + "driverMode": false + }, + "pos": [ + 15, + 0 + ] + }, + { + "id": 5726895899473528, + "plugin": "Fundamental", + "model": "ADSR", + "version": "2.0", + "params": [ + { + "value": 0.13614450395107269, + "id": 0 + }, + { + "value": 0.22289082407951355, + "id": 1 + }, + { + "value": 0.40602409839630127, + "id": 2 + }, + { + "value": 0.84699004888534546, + "id": 3 + }, + { + "value": 0.0, + "id": 4 + }, + { + "value": 0.0, + "id": 5 + }, + { + "value": 0.0, + "id": 6 + }, + { + "value": 0.0, + "id": 7 + }, + { + "value": 0.0, + "id": 8 + } + ], + "leftModuleId": 5708118528523616, + "rightModuleId": 4828178296911509, + "pos": [ + 38, + 1 + ] + }, + { + "id": 4849601226601697, + "plugin": "Fundamental", + "model": "LFO", + "version": "2.0", + "params": [ + { + "value": 1.0, + "id": 0 + }, + { + "value": 0.0, + "id": 1 + }, + { + "value": 9.1108551025390625, + "id": 2 + }, + { + "value": 0.0, + "id": 3 + }, + { + "value": 0.0, + "id": 4 + }, + { + "value": 0.5, + "id": 5 + }, + { + "value": 0.0, + "id": 6 + } + ], + "rightModuleId": 5708118528523616, + "pos": [ + 15, + 1 + ] + }, + { + "id": 5708118528523616, + "plugin": "AudibleInstruments", + "model": "Rings", + "version": "2.0", + "params": [ + { + "value": 0.0, + "id": 0 + }, + { + "value": 0.0, + "id": 1 + }, + { + "value": 30.0, + "id": 2 + }, + { + "value": 0.26506146788597107, + "id": 3 + }, + { + "value": 0.5, + "id": 4 + }, + { + "value": 0.5, + "id": 5 + }, + { + "value": 0.5, + "id": 6 + }, + { + "value": 0.0, + "id": 7 + }, + { + "value": 0.0, + "id": 8 + }, + { + "value": 0.0, + "id": 9 + }, + { + "value": 0.2293335497379303, + "id": 10 + }, + { + "value": 0.0, + "id": 11 + } + ], + "leftModuleId": 4849601226601697, + "rightModuleId": 5726895899473528, + "data": { + "polyphony": 0, + "model": 0, + "easterEgg": false + }, + "pos": [ + 24, + 1 + ] + }, + { + "id": 4828178296911509, + "plugin": "Fundamental", + "model": "VCA-1", + "version": "2.0", + "params": [ + { + "value": 1.0, + "id": 0 + }, + { + "value": 1.0, + "id": 1 + } + ], + "leftModuleId": 5726895899473528, + "rightModuleId": 1, + "pos": [ + 47, + 1 + ] + }, + { + "id": 1, + "plugin": "Cardinal", + "model": "HostAudio2", + "version": "2.0", + "params": [ + { + "value": 0.79432821273803711, + "id": 0 + } + ], + "leftModuleId": 4828178296911509, + "data": { + "dcFilter": true + }, + "pos": [ + 50, + 1 + ] + }, + { + "id": 6820180775829814, + "plugin": "Cardinal", + "model": "HostTime", + "version": "2.0", + "params": [], + "rightModuleId": 3781955267578472, + "pos": [ + 7, + 0 + ] + } + ], + "cables": [ + { + "id": 3464471860196875, + "outputModuleId": 5726895899473528, + "outputId": 0, + "inputModuleId": 4828178296911509, + "inputId": 0, + "color": "#e8ff52" + }, + { + "id": 739552540616113, + "outputModuleId": 4828178296911509, + "outputId": 0, + "inputModuleId": 1, + "inputId": 0, + "color": "#52beff" + }, + { + "id": 5881920486582986, + "outputModuleId": 3781955267578472, + "outputId": 6, + "inputModuleId": 5726895899473528, + "inputId": 4, + "color": "#ff9352" + }, + { + "id": 7657052036566932, + "outputModuleId": 3781955267578472, + "outputId": 7, + "inputModuleId": 5726895899473528, + "inputId": 5, + "color": "#ffd452" + }, + { + "id": 3027399326509518, + "outputModuleId": 3781955267578472, + "outputId": 5, + "inputModuleId": 5708118528523616, + "inputId": 6, + "color": "#ff5252" + }, + { + "id": 1398852441915612, + "outputModuleId": 5708118528523616, + "outputId": 0, + "inputModuleId": 4828178296911509, + "inputId": 1, + "color": "#a8ff52" + }, + { + "id": 3464388186872028, + "outputModuleId": 4849601226601697, + "outputId": 0, + "inputModuleId": 5708118528523616, + "inputId": 3, + "color": "#e8ff52" + }, + { + "id": 5512382435010554, + "outputModuleId": 6820180775829814, + "outputId": 4, + "inputModuleId": 4849601226601697, + "inputId": 4, + "color": "#ff5252" + }, + { + "id": 1138454520134661, + "outputModuleId": 6820180775829814, + "outputId": 4, + "inputModuleId": 3781955267578472, + "inputId": 0, + "color": "#ff5252" + }, + { + "id": 2498215696665084, + "outputModuleId": 6820180775829814, + "outputId": 1, + "inputModuleId": 3781955267578472, + "inputId": 2, + "color": "#527dff" + } + ] +} diff --git a/plugins/AaronStatic b/plugins/AaronStatic index 4ace0a1..958b60c 160000 --- a/plugins/AaronStatic +++ b/plugins/AaronStatic @@ -1 +1 @@ -Subproject commit 4ace0a1789c577ee4eb12dc03da5271f80598d62 +Subproject commit 958b60c6f7f41af4a14a30ce3e93a039bb4d2f2b diff --git a/plugins/BaconPlugs b/plugins/BaconPlugs index a86d508..2886a28 160000 --- a/plugins/BaconPlugs +++ b/plugins/BaconPlugs @@ -1 +1 @@ -Subproject commit a86d5081d12a72ae0d0c775c61813b695cde8a9c +Subproject commit 2886a282a0f8518e0515b549e426428db332378c diff --git a/plugins/Befaco b/plugins/Befaco index b24e1c3..5a80023 160000 --- a/plugins/Befaco +++ b/plugins/Befaco @@ -1 +1 @@ -Subproject commit b24e1c373c7c54871d33247d40216e311dc00849 +Subproject commit 5a80023d86e0f67ead3e27385170310cd430d44c diff --git a/plugins/Bidoo b/plugins/Bidoo index 8610d4c..23967e9 160000 --- a/plugins/Bidoo +++ b/plugins/Bidoo @@ -1 +1 @@ -Subproject commit 8610d4c86740d9d67ebfa4ded70279df7aeb95be +Subproject commit 23967e9986e256ada353aaf387da33bdc2b5e08c diff --git a/plugins/Biset b/plugins/Biset index a697109..154b359 160000 --- a/plugins/Biset +++ b/plugins/Biset @@ -1 +1 @@ -Subproject commit a697109733cf0d0f022cf01e06896a1e78b236f6 +Subproject commit 154b359fda461a1368baf128ce951297155284c2 diff --git a/plugins/BogaudioModules b/plugins/BogaudioModules index 4af2e2d..2802604 160000 --- a/plugins/BogaudioModules +++ b/plugins/BogaudioModules @@ -1 +1 @@ -Subproject commit 4af2e2d38004b98645deb8a25c7ec74c7c8f1a03 +Subproject commit 2802604321d286cfdd263aafdf7fd0468ebd8069 diff --git a/plugins/BogaudioModules-helper/BogaudioModules-helper.cpp b/plugins/BogaudioModules-helper/BogaudioModules-helper.cpp new file mode 100644 index 0000000..d63930f --- /dev/null +++ b/plugins/BogaudioModules-helper/BogaudioModules-helper.cpp @@ -0,0 +1,19 @@ +/* + * DISTRHO Cardinal Plugin + * Copyright (C) 2021-2024 Filipe Coelho + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +#include "../BogaudioModules/src/bogaudio.hpp" + +#include "../BogaudioModules/src/follower_base.hpp" +#include "../BogaudioModules/src/VCF.hpp" + +namespace bogaudio { + +constexpr float FollowerBase::efGainMinDecibels; +constexpr float FollowerBase::efGainMaxDecibels; +constexpr float VCF::maxFrequency; +constexpr float VCF::minFrequency; + +} diff --git a/plugins/ChowDSP b/plugins/ChowDSP index 871f712..023de1d 160000 --- a/plugins/ChowDSP +++ b/plugins/ChowDSP @@ -1 +1 @@ -Subproject commit 871f712f3eb95ada1c34bf3d8170690eb4aec8d0 +Subproject commit 023de1d2c49153590fb0434a7f21fdb539e1c561 diff --git a/plugins/EnigmaCurry b/plugins/EnigmaCurry index 550b435..dbcd600 160000 --- a/plugins/EnigmaCurry +++ b/plugins/EnigmaCurry @@ -1 +1 @@ -Subproject commit 550b435575c550d829e8cabd97a430e39df836cc +Subproject commit dbcd60007a5bb1cb9be7fa66e1e3589da3405ff6 diff --git a/plugins/HamptonHarmonics b/plugins/HamptonHarmonics index e5cf81f..7db5ef9 160000 --- a/plugins/HamptonHarmonics +++ b/plugins/HamptonHarmonics @@ -1 +1 @@ -Subproject commit e5cf81f1c356fdc98fd08584146cda8af7e16b1f +Subproject commit 7db5ef91d611d3da1e1552ee0d329d803db3b1fe diff --git a/plugins/JW-Modules b/plugins/JW-Modules index 356588d..9d8f851 160000 --- a/plugins/JW-Modules +++ b/plugins/JW-Modules @@ -1 +1 @@ -Subproject commit 356588ddb142dab99837af58681bc0d8afb88e4c +Subproject commit 9d8f8515deb20d7e14ca85b4c1d04ec6b66b3e8d diff --git a/plugins/LittleUtils b/plugins/LittleUtils index b7ce224..4693926 160000 --- a/plugins/LittleUtils +++ b/plugins/LittleUtils @@ -1 +1 @@ -Subproject commit b7ce2244835fa376201b21b2274937152dcd1121 +Subproject commit 46939264c5081187c5dbc481e4d4a0667eafd473 diff --git a/plugins/LyraeModules b/plugins/LyraeModules index b21cbe8..8162f0d 160000 --- a/plugins/LyraeModules +++ b/plugins/LyraeModules @@ -1 +1 @@ -Subproject commit b21cbe8ee25ddf2a927e0b4ec9f2c97c115857af +Subproject commit 8162f0d6aee157425c7d7eb3582d905c9ac6c43e diff --git a/plugins/ML_modules b/plugins/ML_modules index 3110422..05ac273 160000 --- a/plugins/ML_modules +++ b/plugins/ML_modules @@ -1 +1 @@ -Subproject commit 311042275900650c0b0cc57fcd2b57333820adde +Subproject commit 05ac273285dca1da828deca5aba37c0b7df0fbbd diff --git a/plugins/Makefile b/plugins/Makefile index 4c01f91..683f0bc 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -346,6 +346,11 @@ PLUGIN_FILES += $(wildcard AaronStatic/src/*.cpp) # modules/types which are present in other plugins AARONSTATIC_CUSTOM = RefreshCounter +# -------------------------------------------------------------- +# Admiral + +PLUGIN_FILES += $(filter-out admiral/src/plugin.cpp,$(wildcard admiral/src/*.cpp)) + # -------------------------------------------------------------- # AmalgamatedHarmonics @@ -555,7 +560,10 @@ PLUGIN_FILES += $(filter-out Befaco/src/plugin.cpp Befaco/src/MidiThing.cpp,$(wi PLUGIN_FILES += $(wildcard Befaco/src/noise-plethora/*/*.cpp) # modules/types which are present in other plugins -BEFACO_CUSTOM = ADSR Mixer chowdsp Burst +BEFACO_CUSTOM = ADSR Mixer chowdsp Burst RecordButton + +BEFACO_FLAGS = $(filter-out -fsingle-precision-constant,$(filter-out -std=gnu++11,$(BUILD_CXX_FLAGS))) +BEFACO_FLAGS += -std=gnu++17 # -------------------------------------------------------------- # Bidoo @@ -587,6 +595,7 @@ BISET_CUSTOM = Blank ButtonTrigger Clock Tree TreeDisplay PLUGIN_FILES += $(filter-out BogaudioModules/src/bogaudio.cpp,$(wildcard BogaudioModules/src/*.cpp)) PLUGIN_FILES += $(wildcard BogaudioModules/src/dsp/*.cpp) PLUGIN_FILES += $(wildcard BogaudioModules/src/dsp/filters/*.cpp) +PLUGIN_FILES += BogaudioModules-helper/BogaudioModules-helper.cpp MINIPLUGIN_FILES += BogaudioModules/src/AD.cpp MINIPLUGIN_FILES += BogaudioModules/src/LFO.cpp @@ -623,10 +632,11 @@ MINIPLUGIN_FILES += BogaudioModules/src/dsp/filters/experiments.cpp MINIPLUGIN_FILES += BogaudioModules/src/dsp/filters/filter.cpp MINIPLUGIN_FILES += BogaudioModules/src/dsp/filters/multimode.cpp MINIPLUGIN_FILES += BogaudioModules/src/dsp/filters/resample.cpp +MINIPLUGIN_FILES += BogaudioModules-helper/BogaudioModules-helper.cpp # modules/types which are present in other plugins BOGAUDIO_CUSTOM = ADSR BlueNoiseGenerator LFO Noise VCA VCO VCF -BOGAUDIO_CUSTOM_PER_FILE = ARQuantity AttackMenuItem ReleaseMenuItem +BOGAUDIO_CUSTOM_PER_FILE = ARQuantity ARSlider AttackMenuItem ReleaseMenuItem # -------------------------------------------------------------- # ChowDSP @@ -2135,6 +2145,13 @@ $(BUILD_DIR)/AaronStatic/%.cpp.o: AaronStatic/%.cpp -DpluginInstance=pluginInstance__AaronStatic \ -Dinit=init__AaronStatic +$(BUILD_DIR)/admiral/%.cpp.o: admiral/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(foreach m,$(ADMIRAL_CUSTOM),$(call custom_module_names,$(m),admiral)) \ + -DpluginInstance=pluginInstance__admiral + $(BUILD_DIR)/alefsbits/%.cpp.o: alefsbits/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" @@ -2226,13 +2243,15 @@ $(BUILD_DIR)/BaconPlugs/%.cpp.o: BaconPlugs/%.cpp -DDARK_BACON \ -IBaconPlugs/libs/midifile/include \ -IBaconPlugs/libs/open303-code/Source/DSPCode \ + -IBaconPlugs/libs/sst/sst-basic-blocks/include \ + -IBaconPlugs/libs/sst/sst-rackhelpers/include \ -Wno-array-bounds \ -Wno-strict-aliasing $(BUILD_DIR)/Befaco/%.cpp.o: Befaco/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" - $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(SILENT)$(CXX) $< $(BEFACO_FLAGS) -c -o $@ \ $(foreach m,$(BEFACO_CUSTOM),$(call custom_module_names,$(m),Befaco)) \ -DpluginInstance=pluginInstance__Befaco @@ -2256,19 +2275,7 @@ $(BUILD_DIR)/Biset/src/%.cpp.o: Biset/src/%.cpp $(foreach m,$(BISET_CUSTOM),$(call custom_module_names,$(m),Biset)) \ -DpluginInstance=pluginInstance__Biset -$(BUILD_DIR)/BogaudioModules/src/follower_base.cpp.o: BogaudioModules/src/follower_base.cpp - -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" - @echo "Compiling $<" - $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ - $(foreach m,$(BOGAUDIO_CUSTOM),$(call custom_module_names,$(m),Bogaudio)) \ - -DpluginInstance=pluginInstance__BogaudioModules \ - -DefGainMaxDecibels=efGainMaxDecibelsDebug \ - -DRACK_SIMD=1 \ - -DSKIP_MINGW_FORMAT \ - -IBogaudioModules/lib \ - -IBogaudioModules/src/dsp - -$(BUILD_DIR)/BogaudioModules/%.cpp.o: BogaudioModules/%.cpp +$(BUILD_DIR)/BogaudioModules%.cpp.o: BogaudioModules%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ @@ -2575,7 +2582,7 @@ $(BUILD_DIR)/LyraeModules/%.cpp.o: LyraeModules/%.cpp $(foreach m,$(LYRAE_CUSTOM),$(call custom_module_names,$(m),Lyrae)) \ -DpluginInstance=pluginInstance__Lyrae -$(BUILD_DIR)/Meander/src/Meander.cpp.o: Meander/src/Meander.cpp +$(BUILD_DIR)/Meander/src/%.cpp.o: Meander/src/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ diff --git a/plugins/Meander b/plugins/Meander index b368659..922fe91 160000 --- a/plugins/Meander +++ b/plugins/Meander @@ -1 +1 @@ -Subproject commit b36865978358ffdbeb80ad603c4c54f5a535107a +Subproject commit 922fe91a6084247a48426b52884d27a67764d67d diff --git a/plugins/Orbits b/plugins/Orbits index ff0c007..5c7ea72 160000 --- a/plugins/Orbits +++ b/plugins/Orbits @@ -1 +1 @@ -Subproject commit ff0c007feb9ed1de57ea246f86e8b2b68572f5e6 +Subproject commit 5c7ea729ba16a14179b25e90a2f87dc4902e5bf4 diff --git a/plugins/Sapphire b/plugins/Sapphire index b5d2fc1..fcfdfab 160000 --- a/plugins/Sapphire +++ b/plugins/Sapphire @@ -1 +1 @@ -Subproject commit b5d2fc122382d7934b3ea92e05ad91a9aec89504 +Subproject commit fcfdfab93efed535ea65e0a47c870f6e2e6654be diff --git a/plugins/admiral b/plugins/admiral new file mode 160000 index 0000000..2885b72 --- /dev/null +++ b/plugins/admiral @@ -0,0 +1 @@ +Subproject commit 2885b72e1e82b1103eb2cb4db2a226c57c9e5f40 diff --git a/plugins/forsitan-modulare b/plugins/forsitan-modulare index 494fefa..a120964 160000 --- a/plugins/forsitan-modulare +++ b/plugins/forsitan-modulare @@ -1 +1 @@ -Subproject commit 494fefaf38cb48928a165fd20d1535a0690bf613 +Subproject commit a120964048ee535380ddd82bd112650780929375 diff --git a/plugins/h4n4-modules b/plugins/h4n4-modules index bb1b158..5364f01 160000 --- a/plugins/h4n4-modules +++ b/plugins/h4n4-modules @@ -1 +1 @@ -Subproject commit bb1b15870d9dad4dd8a562957f45c2383506795d +Subproject commit 5364f01c95056a94e84259c782730decb32750eb diff --git a/plugins/nonlinearcircuits b/plugins/nonlinearcircuits index dc154fd..2e6bffd 160000 --- a/plugins/nonlinearcircuits +++ b/plugins/nonlinearcircuits @@ -1 +1 @@ -Subproject commit dc154fd9c179db75f88ea6cfd3000f7a936a7e35 +Subproject commit 2e6bffda1df17188061b0065054b98713102556c diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 8d1830b..884ea7e 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -27,6 +27,15 @@ // Aaron Static #include "AaronStatic/src/plugin.hpp" +// Admiral +/* NOTE too much noise in original include, do this a different way +// #include "admiral/src/plugin.hpp" +*/ +extern Model* modelWatches; +extern Model* modelShifts; +extern Model* modelTables; +extern Model* modelDivisions; + // Alef's Bits #define modelSteps modelalefsbitsSteps #define modelLogic modelalefsbitsLogic @@ -608,7 +617,9 @@ extern Model* modelZeta; #undef modelDelta // Meander -extern int panelTheme; +extern int Meander_panelTheme; +extern int MSQ_panelTheme; +extern int MSP_panelTheme; #include "Meander/src/plugin.hpp" // MindMeldModular @@ -910,6 +921,7 @@ Plugin* pluginInstance__Fundamental; Plugin* pluginInstance__21kHz; Plugin* pluginInstance__8Mode; extern Plugin* pluginInstance__AaronStatic; +Plugin* pluginInstance__admiral; Plugin* pluginInstance__alefsbits; Plugin* pluginInstance__Algoritmarte; Plugin* pluginInstance__AmalgamatedHarmonics; @@ -997,6 +1009,8 @@ std::string pluginPath(const std::string& dirname); namespace plugin { +static uint32_t numPluginModules = 0; + struct StaticPluginLoader { Plugin* const plugin; FILE* file; @@ -1051,6 +1065,8 @@ struct StaticPluginLoader { json_decref(rootJ); plugins.push_back(plugin); + + numPluginModules += plugin->models.size(); } if (file != nullptr) @@ -1249,6 +1265,21 @@ static void initStatic__AaronStatic() } } +static void initStatic__admiral() +{ + Plugin* const p = new Plugin; + pluginInstance__admiral = p; + + const StaticPluginLoader spl(p, "admiral"); + if (spl.ok()) + { + p->addModel(modelWatches); + p->addModel(modelShifts); + p->addModel(modelTables); + p->addModel(modelDivisions); + } +} + static void initStatic__alefsbits() { Plugin* const p = new Plugin; @@ -1561,6 +1592,12 @@ static void initStatic__Bacon() p->addModel(modelPolyGenerator); p->addModel(modelLintBuddy); p->addModel(modelLuckyHold); + p->addModel(modelPatchNameDisplay); + + // Used for testing or not practical + spl.removeModule("ContrastBNDEditor"); + spl.removeModule("BaconTest"); + spl.removeModule("PleaseQuit"); } } @@ -1599,6 +1636,8 @@ static void initStatic__Befaco() p->addModel(modelBurst); p->addModel(modelVoltio); p->addModel(modelOctaves); + p->addModel(modelBypass); + p->addModel(modelBandit); #undef modelADSR #undef modelMixer #undef modelBurst @@ -1663,6 +1702,7 @@ static void initStatic__Bidoo() p->addModel(modelSIGMA); p->addModel(modelFLAME); p->addModel(modelVOID); + p->addModel(modelRATEAU); // NOTE disabled in Cardinal due to curl usage // p->addModel(modelANTN); @@ -2118,6 +2158,7 @@ static void initStatic__EnigmaCurry() p->addModel(modelLatch); p->addModel(modelPulse); p->addModel(modelRange); + p->addModel(modelNegativeHarmony); #undef modelPulse } } @@ -2476,6 +2517,7 @@ static void initStatic__JW() { #define modelQuantizer modelJWQuantizer p->addModel(modelAdd5); + p->addModel(modelAbcdSeq); p->addModel(modelBouncyBalls); p->addModel(modelCat); p->addModel(modelTree); @@ -2503,6 +2545,7 @@ static void initStatic__JW() p->addModel(modelBlankPanelLarge); p->addModel(modelCoolBreeze); p->addModel(modelPete); + p->addModel(modelTimer); #ifndef STATIC_BUILD p->addModel(modelStr1ker); #else @@ -2640,8 +2683,12 @@ static void initStatic__Meander() if (spl.ok()) { // for dark theme - panelTheme = 1; + Meander_panelTheme = 1; + MSQ_panelTheme = 1; + MSP_panelTheme = 1; p->addModel(modelMeander); + p->addModel(modelModeScaleQuant); + p->addModel(modelModeScaleProgressions); } } @@ -2933,6 +2980,7 @@ static void initStatic__nonlinearcircuits() p->addModel(modelSlothApathy); p->addModel(modelSlothInertia); p->addModel(modelSlothTorpor); + p->addModel(modelSplish); p->addModel(modelSquidAxon); p->addModel(modelStatues); p->addModel(modelTripleSloth); @@ -3125,12 +3173,14 @@ static void initStatic__Sapphire() const StaticPluginLoader spl(p, "Sapphire"); if (spl.ok()) { + p->addModel(modelSapphireChaops); p->addModel(modelSapphireElastika); p->addModel(modelSapphireFrolic); p->addModel(modelSapphireGalaxy); p->addModel(modelSapphireGlee); p->addModel(modelSapphireGravy); p->addModel(modelSapphireHiss); + p->addModel(modelSapphireLark); p->addModel(modelSapphireMoots); p->addModel(modelSapphireNucleus); p->addModel(modelSapphirePivot); @@ -3138,6 +3188,7 @@ static void initStatic__Sapphire() p->addModel(modelSapphirePop); p->addModel(modelSapphireRotini); p->addModel(modelSapphireSam); + p->addModel(modelSapphireSauce); p->addModel(modelSapphireTin); p->addModel(modelSapphireTout); p->addModel(modelSapphireTricorder); @@ -3492,6 +3543,7 @@ void initStaticPlugins() initStatic__21kHz(); initStatic__8Mode(); initStatic__AaronStatic(); + initStatic__admiral(); initStatic__alefsbits(); initStatic__Algoritmarte(); initStatic__AmalgamatedHarmonics(); @@ -3569,6 +3621,9 @@ void initStaticPlugins() initStatic__WhatTheRack(); initStatic__ZetaCarinaeModules(); initStatic__ZZC(); + + INFO("Have %u modules from %u plugin collections", + numPluginModules, static_cast(plugins.size())); } void destroyStaticPlugins() @@ -3593,7 +3648,9 @@ void updateStaticPluginsDarkMode() } // meander { - panelTheme = darkMode ? 1 : 0; + Meander_panelTheme = darkMode ? 1 : 0; + MSQ_panelTheme = darkMode ? 1 : 0; + MSP_panelTheme = darkMode ? 1 : 0; } // glue the giant { diff --git a/src/CardinalCommon.cpp b/src/CardinalCommon.cpp index fa594db..1c4cc46 100644 --- a/src/CardinalCommon.cpp +++ b/src/CardinalCommon.cpp @@ -99,7 +99,7 @@ void destroyStaticPlugins(); } } -const std::string CARDINAL_VERSION = "24.09"; +const std::string CARDINAL_VERSION = "24.12"; // ----------------------------------------------------------------------------------------------------------- diff --git a/src/CardinalPlugin.cpp b/src/CardinalPlugin.cpp index c6e6616..b69ab28 100644 --- a/src/CardinalPlugin.cpp +++ b/src/CardinalPlugin.cpp @@ -414,7 +414,7 @@ protected: uint32_t getVersion() const override { - return d_version(0, 24, 9); + return d_version(0, 24, 12); } int64_t getUniqueId() const override diff --git a/src/Makefile.cardinal.mk b/src/Makefile.cardinal.mk index 56b3dd9..0cc66af 100644 --- a/src/Makefile.cardinal.mk +++ b/src/Makefile.cardinal.mk @@ -186,7 +186,7 @@ endif endif ifeq ($(MACOS),true) -EXTRA_DSP_LIBS += -framework Accelerate -framework AppKit +EXTRA_DSP_LIBS += -framework Accelerate -framework AppKit -framework AudioToolbox else ifeq ($(WINDOWS),true) EXTRA_DSP_LIBS += -lole32 -lshlwapi -luuid -lversion endif diff --git a/src/custom/dep.cpp b/src/custom/dep.cpp index 64a3823..59ee7bb 100644 --- a/src/custom/dep.cpp +++ b/src/custom/dep.cpp @@ -27,16 +27,6 @@ void refreshTheme(); #include "nanovg.h" -// fix bogaudio build, another missing symbol -#ifndef NDEBUG -namespace bogaudio { -struct FollowerBase { - static float efGainMaxDecibelsDebug; -}; -float FollowerBase::efGainMaxDecibelsDebug = 12.0f; -} -#endif - // Special nvgRGB for blank panels extern "C" { NVGcolor nvgRGBblank(const unsigned char r, const unsigned char g, const unsigned char b) @@ -66,7 +56,6 @@ enum DarkMode { kModeDHE, kModeDrumKit, kModeESeries, - kModeJW, kModeLilacLoop, kModeLittleUtils, kModeLOGinstruments, @@ -181,6 +170,7 @@ static const struct { { kModeBidoo, "/Bidoo/res/PILOT.svg", {"rect843-6-4-5","rect843","rect843-4","rect843-6-4","rect843-6-7"}, -1 }, { kModeBidoo, "/Bidoo/res/POUPRE.svg", {}, -1 }, { kModeBidoo, "/Bidoo/res/RABBIT.svg", {}, -1 }, + { kModeBidoo, "/Bidoo/res/RATEAU.svg", {"rect930"}, -1 }, { kModeBidoo, "/Bidoo/res/REI.svg", {}, -1 }, { kModeBidoo, "/Bidoo/res/SIGMA.svg", {}, -1 }, { kModeBidoo, "/Bidoo/res/SPORE.svg", {}, -1 }, @@ -284,30 +274,6 @@ static const struct { { kModeDrumKit, "/DrumKit/res/Tomi.svg", {}, -1 }, // Custom, runtime dark mode used with permission { kModeESeries,"/ESeries/res/E340.svg", {}, -1 }, - // CC0-1.0 - // BSD-3-Clause - { kModeJW, "/JW-Modules/res/Add5.svg", {}, -1 }, - { kModeJW, "/JW-Modules/res/BlankPanel1hp.svg", {}, -1 }, - { kModeJW, "/JW-Modules/res/BlankPanelLarge.svg", {}, -1 }, - { kModeJW, "/JW-Modules/res/BlankPanelMedium.svg", {}, -1 }, - { kModeJW, "/JW-Modules/res/BlankPanelSmall.svg", {}, -1 }, - { kModeJW, "/JW-Modules/res/BouncyBalls.svg", {}, -1 }, - { kModeJW, "/JW-Modules/res/D1v1de.svg", {}, -1 }, - { kModeJW, "/JW-Modules/res/DivSeq.svg", {}, -1 }, - { kModeJW, "/JW-Modules/res/EightSeq.svg", {}, -1 }, - { kModeJW, "/JW-Modules/res/GridSeq.svg", {}, -1 }, - { kModeJW, "/JW-Modules/res/MinMax.svg", {"path38411"}, -1 }, - { kModeJW, "/JW-Modules/res/NoteSeq.svg", {}, -1 }, - { kModeJW, "/JW-Modules/res/NoteSeq16.svg", {}, -1 }, - { kModeJW, "/JW-Modules/res/NoteSeqFu.svg", {}, -1 }, - { kModeJW, "/JW-Modules/res/OnePattern.svg", {}, -1 }, - { kModeJW, "/JW-Modules/res/Patterns.svg", {}, -1 }, - { kModeJW, "/JW-Modules/res/Pres1t.svg", {}, -1 }, - { kModeJW, "/JW-Modules/res/PT.svg", {}, -1 }, - { kModeJW, "/JW-Modules/res/Str1ker.svg", {"rect2094","rect995","rect169"}, -1 }, - { kModeJW, "/JW-Modules/res/Trigs.svg", {}, -1 }, - { kModeJW, "/JW-Modules/res/WavHeadPanel.svg", {}, -1 }, - { kModeJW, "/JW-Modules/res/XYPad.svg", {}, -1 }, // GPL3.0-or-later { kModeLilacLoop, "/LilacLoop/res/Looper.svg", {}, -1 }, // EUPL-1.2 @@ -335,20 +301,20 @@ static const struct { { kModeMyth, "/myth-modules/res/Mavka.svg", {}, -1 }, { kModeMyth, "/myth-modules/res/Molphar.svg", {}, -1 }, // CC0-1.0 - { kModeNonlinearcircuits, "/nonlinearcircuits/res/BOOLs2.svg", {}, -1 }, - { kModeNonlinearcircuits, "/nonlinearcircuits/res/DoubleNeuronRef.svg", {}, -1 }, + { kModeNonlinearcircuits, "/nonlinearcircuits/res/BOOLs.svg", {}, -1 }, + { kModeNonlinearcircuits, "/nonlinearcircuits/res/DoubleNeuron.svg", {}, -1 }, { kModeNonlinearcircuits, "/nonlinearcircuits/res/LetsSplosh.svg", {}, -1 }, - { kModeNonlinearcircuits, "/nonlinearcircuits/res/NLC - 4seq.svg", {}, -1 }, - { kModeNonlinearcircuits, "/nonlinearcircuits/res/NLC - 8 BIT CIPHER.svg", {}, -1 }, - { kModeNonlinearcircuits, "/nonlinearcircuits/res/NLC - DIVIDE & CONQUER.svg", {}, -1 }, - { kModeNonlinearcircuits, "/nonlinearcircuits/res/NLC - DIVINE CMOS.svg", {}, -1 }, - { kModeNonlinearcircuits, "/nonlinearcircuits/res/NLC - GENiE.svg", {}, -1 }, - { kModeNonlinearcircuits, "/nonlinearcircuits/res/NLC - NEURON.svg", {}, -1 }, - { kModeNonlinearcircuits, "/nonlinearcircuits/res/NLC - NUMBERWANG.svg", {}, -1 }, - { kModeNonlinearcircuits, "/nonlinearcircuits/res/NLC - ROUTER.svg", {}, -1 }, - { kModeNonlinearcircuits, "/nonlinearcircuits/res/NLC - SEGUE.svg", {}, -1 }, - { kModeNonlinearcircuits, "/nonlinearcircuits/res/NLC - STATUES.svg", {}, -1 }, - { kModeNonlinearcircuits, "/nonlinearcircuits/res/squid-axon-papernoise-panel2.svg", {}, -1 }, + { kModeNonlinearcircuits, "/nonlinearcircuits/res/4seq.svg", {}, -1 }, + { kModeNonlinearcircuits, "/nonlinearcircuits/res/8BitCipher.svg", {}, -1 }, + { kModeNonlinearcircuits, "/nonlinearcircuits/res/DivideConquer.svg", {}, -1 }, + { kModeNonlinearcircuits, "/nonlinearcircuits/res/DivineCMOS.svg", {}, -1 }, + { kModeNonlinearcircuits, "/nonlinearcircuits/res/GENiE.svg", {}, -1 }, + { kModeNonlinearcircuits, "/nonlinearcircuits/res/Neuron.svg", {}, -1 }, + { kModeNonlinearcircuits, "/nonlinearcircuits/res/Numberwang.svg", {}, -1 }, + { kModeNonlinearcircuits, "/nonlinearcircuits/res/Router.svg", {}, -1 }, + { kModeNonlinearcircuits, "/nonlinearcircuits/res/Segue.svg", {}, -1 }, + { kModeNonlinearcircuits, "/nonlinearcircuits/res/Statues.svg", {}, -1 }, + { kModeNonlinearcircuits, "/nonlinearcircuits/res/SquidAxon.svg", {}, -1 }, { kModeNonlinearcircuits, "/nonlinearcircuits/res/SlothApathy.svg", {}, -1 }, { kModeNonlinearcircuits, "/nonlinearcircuits/res/SlothInertia.svg", {}, -1 }, { kModeNonlinearcircuits, "/nonlinearcircuits/res/SlothTorpor.svg", {}, -1 }, @@ -471,6 +437,8 @@ static const struct { { kModeBefaco, "/Befaco/res/panels/StereoStrip.svg" }, { kModeBefaco, "/Befaco/res/panels/Voltio.svg" }, { kModeBefaco, "/Befaco/res/panels/Octaves.svg" }, + { kModeBefaco, "/Befaco/res/panels/Bypass.svg" }, + { kModeBefaco, "/Befaco/res/panels/Bandit.svg" }, // GPLv3+ { kModeCardinal, "/Cardinal/res/AudioFile.svg" }, { kModeCardinal, "/Cardinal/res/AudioToCVPitch.svg" }, @@ -723,42 +691,6 @@ bool invertPaintForDarkMode(const DarkMode mode, NSVGshape* const shape, NSVGpai case kModeDHE: paint.color = darkerColor(paint.color); return true; - // Special case for JW-Modules colors - case kModeJW: - switch (paint.color) - { - // do nothing - case 0x320997ff: - case 0x32099aff: - case 0x3209f1ff: - case 0x3209f3ff: - case 0x32fc1a8f: - case 0x32fc1a90: - case 0x32fc9418: - case 0x32fc9619: - case 0xc7fc9619: - case 0xff050505: - case 0xffead7be: - case 0xfff7a540: - case 0xfffa9c2a: - case 0xfffc9619: - case 0xfffcb654: - case 0xfffd9c17: - case 0xffffffff: - return false; - // make more transparent - case 0xffbad6eb: - case 0xffbae8eb: - case 0xffeabed5: - case 0xffead6bd: - paint.color = 0x32000000 | (paint.color & 0xffffff); - return true; - // make it more white - case 0xffa0a0a0: - paint.color = 0xffc0c0c0; - return true; - } - break; // Special case for Lilac case kModeLilacLoop: switch (paint.color) diff --git a/utils/macOS/Info_JACK.plist b/utils/macOS/Info_JACK.plist index 968aa4a..c97c0e1 100644 --- a/utils/macOS/Info_JACK.plist +++ b/utils/macOS/Info_JACK.plist @@ -11,7 +11,7 @@ CFBundleIdentifier studio.kx.distrho.cardinal.jack CFBundleShortVersionString - 24.09 + 24.12 LSMinimumSystemVersion 10.15 NSHumanReadableCopyright diff --git a/utils/macOS/Info_Native.plist b/utils/macOS/Info_Native.plist index 2c3d028..5051b55 100644 --- a/utils/macOS/Info_Native.plist +++ b/utils/macOS/Info_Native.plist @@ -11,7 +11,7 @@ CFBundleIdentifier studio.kx.distrho.cardinal.native CFBundleShortVersionString - 24.09 + 24.12 LSMinimumSystemVersion 10.15 NSHumanReadableCopyright