diff --git a/.github/ISSUE_TEMPLATE/bug.yaml b/.github/ISSUE_TEMPLATE/bug.yaml index e04dd50..fa9be91 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.12" + value: "26.01" validations: required: true - type: dropdown diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ba1e33c..455397b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -3,11 +3,12 @@ name: build on: [push, pull_request] env: - CACHE_VERSION: 11 + CACHE_VERSION: 14 CARDINAL_UNDER_WINE: 1 CIBUILD: true DEBIAN_FRONTEND: noninteractive LIBGL_ALWAYS_SOFTWARE: true + PAWPAW_CI: 1 PAWPAW_FAST_MATH: 1 PAWPAW_SKIP_GLIB: 1 PAWPAW_SKIP_LTO: 1 @@ -23,7 +24,7 @@ jobs: target: [aarch64, armhf, i686, riscv64, x86_64] runs-on: ubuntu-latest container: - image: ubuntu:20.04 + image: ubuntu:22.04 steps: - name: Install git run: | @@ -125,7 +126,7 @@ jobs: *.tar.gz linux-x86_64-debug: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 with: @@ -157,7 +158,7 @@ jobs: *.tar.xz macos: - runs-on: macos-13 + runs-on: macos-14 steps: - uses: actions/checkout@v4 with: @@ -179,6 +180,7 @@ jobs: key: macos-universal-v${{ env.CACHE_VERSION }} - name: Setup dependencies run: | + brew uninstall --force --ignore-dependencies cmake ./deps/PawPaw/.github/workflows/bootstrap-deps.sh macos-universal-10.15 - name: Build extra dependencies run: | @@ -228,10 +230,12 @@ jobs: files: | ${{ github.event.repository.name }}-*.pkg - modaudio: + mod-plugin-builder: strategy: matrix: include: + - name: darkglass-anagram + target: darkglass-anagram - name: modduo target: modduo-static extraflags: MODDUO=true @@ -239,7 +243,7 @@ jobs: target: modduox-static - name: moddwarf target: moddwarf - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 with: @@ -254,7 +258,7 @@ jobs: - name: Set up dependencies run: | sudo apt-get update -qq - sudo apt-get install -yqq acl bc curl cvs git mercurial rsync subversion wget bison bzip2 flex gawk gperf gzip help2man nano perl patch tar texinfo unzip automake binutils build-essential cpio libtool libncurses-dev pkg-config python libtool-bin liblo-dev qemu-user-static + sudo apt-get install -yqq acl bc curl cvs git mercurial rsync subversion wget bison bzip2 flex gawk gperf gzip help2man nano perl patch tar texinfo unzip automake binutils build-essential cpio libtool libncurses-dev pkg-config python3 libtool-bin liblo-dev qemu-user-static sudo apt-get install -yqq pandoc texlive-latex-recommended texlive-latex-extra sudo apt-get clean - name: Bootstrap toolchain @@ -422,7 +426,7 @@ jobs: export PATH="/usr/lib/ccache:${PATH}" source deps/PawPaw/local.env ${{ matrix.target }} make features - make NOOPT=true -j $(nproc) + xvfb-run make NOOPT=true -j $(nproc) - name: Build cross-compiled (carla) if: steps.cache.outputs.cache-hit == 'true' shell: bash @@ -471,7 +475,7 @@ jobs: Cardinal-*.zip headless: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 with: @@ -488,7 +492,7 @@ jobs: make HEADLESS=true -j $(nproc) lto: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 with: @@ -505,7 +509,7 @@ jobs: make WITH_LTO=true -j $(nproc) native sysdeps: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 with: @@ -521,7 +525,7 @@ jobs: make SYSDEPS=true -j $(nproc) source-tarball: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 with: @@ -561,7 +565,7 @@ jobs: /home/runner/*/*/cardinal*.tar.xz plugin-validation: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 with: @@ -583,8 +587,8 @@ jobs: - name: Set up dependencies run: | # custom repos - wget https://launchpad.net/~kxstudio-debian/+archive/kxstudio/+files/kxstudio-repos_11.1.0_all.deb - sudo dpkg -i kxstudio-repos_11.1.0_all.deb + wget https://launchpad.net/~kxstudio-debian/+archive/kxstudio/+files/kxstudio-repos_11.2.0_all.deb + sudo dpkg -i kxstudio-repos_11.2.0_all.deb sudo apt-get update -qq # build-deps sudo apt-get install -yqq libdbus-1-dev libgl1-mesa-dev liblo-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev diff --git a/.gitmodules b/.gitmodules index 8460a09..bd50812 100644 --- a/.gitmodules +++ b/.gitmodules @@ -49,9 +49,9 @@ [submodule "plugins/ValleyAudio"] path = plugins/ValleyAudio url = https://github.com/ValleyAudio/ValleyRackFree.git -[submodule "plugins/DrumKit"] - path = plugins/DrumKit - url = https://github.com/SVModular/DrumKit.git +[submodule "plugins/WSTD-Drums"] + path = plugins/WSTD-Drums + url = https://github.com/Wasted-Audio/WSTD-Drums.git [submodule "carla"] path = carla url = https://github.com/falkTX/Carla.git @@ -260,4 +260,9 @@ [submodule "plugins/admiral"] path = plugins/admiral url = https://github.com/wapiflapi/admiral.git - +[submodule "plugins/eightfold"] + path = plugins/eightfold + url = https://github.com/scanner-darkly/eightfold.git +[submodule "plugins/Venom"] + path = plugins/Venom + url = https://github.com/DaveBenham/VenomModules diff --git a/Makefile b/Makefile index 507cd76..4965e2c 100644 --- a/Makefile +++ b/Makefile @@ -1,12 +1,12 @@ #!/usr/bin/make -f # DISTRHO Cardinal Plugin -# Copyright (C) 2021-2024 Filipe Coelho +# Copyright (C) 2021-2025 Filipe Coelho # SPDX-License-Identifier: GPL-3.0-or-later ROOT = . include $(ROOT)/Makefile.base.mk -# ----------------------------------------------------------------------------- +# --------------------------------------------------------------------------------------------------------------------- # Set version # also set in: @@ -15,20 +15,20 @@ 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.12 +VERSION = 26.01 -# -------------------------------------------------------------- +# --------------------------------------------------------------------------------------------------------------------- # Build targets all: cardinal carla deps dgl plugins gen resources -# -------------------------------------------------------------- +# --------------------------------------------------------------------------------------------------------------------- # Build config PREFIX ?= /usr/local DESTDIR ?= -# -------------------------------------------------------------- +# --------------------------------------------------------------------------------------------------------------------- # Carla config CARLA_EXTRA_ARGS = \ @@ -44,7 +44,16 @@ ifneq ($(DEBUG),true) CARLA_EXTRA_ARGS += EXTERNAL_PLUGINS=true endif -# -------------------------------------------------------------- +# --------------------------------------------------------------------------------------------------------------------- +# DGL config + +ifeq ($(WASM),true) +UI_TYPE = gles2 +else +UI_TYPE = opengl +endif + +# --------------------------------------------------------------------------------------------------------------------- # Check for required system-wide dependencies ifeq ($(SYSDEPS),true) @@ -183,7 +192,7 @@ endif dgl: ifneq ($(HEADLESS),true) - $(MAKE) opengl -C dpf/dgl $(DGL_EXTRA_ARGS) + $(MAKE) $(UI_TYPE) -C dpf/dgl $(DGL_EXTRA_ARGS) endif plugins: deps @@ -229,6 +238,9 @@ clap: carla deps dgl plugins resources lv2: carla deps dgl plugins resources $(MAKE) lv2 -C src $(CARLA_EXTRA_ARGS) +mapi: carla deps dgl plugins resources + $(MAKE) mapi -C src $(CARLA_EXTRA_ARGS) + vst2: carla deps dgl plugins resources $(MAKE) vst2 -C src $(CARLA_EXTRA_ARGS) diff --git a/README.md b/README.md index 3de00ba..7c11944 100644 --- a/README.md +++ b/README.md @@ -145,7 +145,7 @@ At the moment the following 3rd-party modules are provided: - [CVfunk](https://github.com/codygeary/CVfunk-Modules) - [dBiz](https://github.com/dBiz/dBiz) - [DHE Modules](https://github.com/dhemery/DHE-Modules) -- [DrumKit](https://svmodular.com/plugin/vcv/drumkit.html) +- [eightfold](https://github.com/scanner-darkly/eightfold) - [EnigmaCurry](https://github.com/EnigmaCurry/EnigmaCurry-vcv-pack) - [E-Series](https://github.com/VCVRack/ESeries) - [ExpertSleepers Encoders](https://expert-sleepers.co.uk/vcvrack_encoders.html) @@ -196,8 +196,10 @@ At the moment the following 3rd-party modules are provided: - [Surge XT](https://github.com/surge-synthesizer/surge-rack) - [unless_modules](https://gitlab.com/unlessgames/unless_modules) - [Valley](https://github.com/ValleyAudio/ValleyRackFree) +- [Venom](https://github.com/DaveBenham/VenomModules) - [Voxglitch](https://github.com/clone45/voxglitch) - [WhatTheRack](https://github.com/korfuri/WhatTheRack) +- [WSTD-Drums](https://github.com/Wasted-Audio/WSTD-Drums) - [ZetaCarinae](https://github.com/mhampton/ZetaCarinaeModules) - [ZZC](https://github.com/zezic/ZZC) diff --git a/carla b/carla index 17000e7..011867b 160000 --- a/carla +++ b/carla @@ -1 +1 @@ -Subproject commit 17000e7fe99459b25a50094a8b00bdfa12f2bfbc +Subproject commit 011867b6bcd592a510b4ec157c032fcdac23d6ef diff --git a/deps/Makefile b/deps/Makefile index 0354e0c..c53e998 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -57,6 +57,7 @@ SPACE += CMAKE = cmake CMAKE += -DCMAKE_INSTALL_LIBDIR=lib CMAKE += -DCMAKE_INSTALL_PREFIX='$(RACK_DEP_PATH)' +CMAKE += -DCMAKE_POLICY_VERSION_MINIMUM=3.5 CMAKE += -DBUILD_SHARED_LIBS=OFF # make sure debug/release matches diff --git a/deps/PawPaw b/deps/PawPaw index 0985cf8..f6eaed1 160000 --- a/deps/PawPaw +++ b/deps/PawPaw @@ -1 +1 @@ -Subproject commit 0985cf8d1c3a00b1958ef90e0f1aa511b865241a +Subproject commit f6eaed13bdeccec013d81ba2261f98aa8f452702 diff --git a/docs/LICENSES.md b/docs/LICENSES.md index 7e17118..b659fa7 100644 --- a/docs/LICENSES.md +++ b/docs/LICENSES.md @@ -39,7 +39,7 @@ Below follows a list of all code licenses used in Cardinal and linked submodules | CVfunk | MIT | | | dBiz | GPL-3.0-or-later | | | DHE-Modules | MIT | | -| DrumKit | CC0-1.0 | | +| eightfold | GPL-3.0-or-later | | | EnigmaCurry | GPL-3.0-or-later | | | E-Series | GPL-3.0-or-later | | | ExpertSleepers Encoders | MIT | | @@ -90,7 +90,9 @@ Below follows a list of all code licenses used in Cardinal and linked submodules | Surge XT | GPL-3.0-or-later | | | unless_modules | GPL-3.0-or-later | | | Valley | GPL-3.0-or-later | | +| Venom | GPL-3.0-or-later | | | Voxglitch | GPL-3.0-or-later | | +| WSTD-Drums | CC0-1.0 | | | WhatTheRack | WTFPL | | | ZetaCarinae | GPL-3.0-or-later | | | ZZC | GPL-3.0-or-later | | @@ -178,6 +180,7 @@ Below is a list of artwork licenses from plugins | DHE-Modules/* | MIT | Same license as source code | | DrumKit/* | CC0-1.0 | | | DrumKit/component/NovaMono.ttf | OFL-1.1-RFN | | +| eightfold/* | GPL-3.0-or-later | No artwork specific license provided | | EnigmaCurry/res/fonts/dseg/* | OFL-1.1-RFN | | | EnigmaCurry/res/fonts/Fantasque/* | OFL-1.1 | | | EnigmaCurry/res/fonts/manrope/* | OFL-1.1 | | @@ -201,6 +204,7 @@ Below is a list of artwork licenses from plugins | ImpromptuModular/res/comp/complib/* | CC-BY-NC-4.0 | | | JW-Modules/* | BSD-3-Clause | No artwork specific license provided | | JW-Modules/DejaVuSansMono.ttf | Bitstream-Vera | Unused in Cardinal | +| JW-Modules/res/fonts/ShareTechMono-Regular.ttf | OFL-1.1 | | | kocmoc/* | GPL-3.0-or-later | No artwork specific license provided | | LifeFormModular/* | MIT | No artwork specific license provided | | LilacLoop/* | GPL-3.0-or-later | No artwork specific license provided | @@ -263,6 +267,7 @@ Below is a list of artwork licenses from plugins | ValleyAudio/din1451alt.ttf | CC-BY-3.0-DE | | | ValleyAudio/DSEG14Classic-*.ttf | OFL-1.1-RFN | | | ValleyAudio/ShareTechMono-*.ttf | OFL-1.1-RFN | | +| Venom/* | GPL-3.0-or-later | No artwork specific license provided | | voxglitch/* | GPL-3.0-or-later | No artwork specific license provided | | voxglitch/ShareTechMono-Regular.ttf | OFL-1.1-RFN | | | WhatTheRack/* | WTFPL | | diff --git a/docs/OSC-REMOTE-CONTROL.md b/docs/OSC-REMOTE-CONTROL.md index 6867317..ccdede8 100644 --- a/docs/OSC-REMOTE-CONTROL.md +++ b/docs/OSC-REMOTE-CONTROL.md @@ -23,6 +23,17 @@ If all went well opening the "Engine" menu again should show a checkmark, indica For the moment there is no error dialog or information in case things go wrong. If you are unable to connect, make sure your OS network firewall settings allows opening port 2228. +### Automatic startup on headless builds + +If you do a headless build there is no UI to click on to enable remote control, so for this reason the headless builds (standalone, not plugins) will have OSC remote control enabled by default. + +To change the port for the OSC server use the `CARDINAL_REMOTE_HOST_PORT` environment variable, for example: +```sh +env CARDINAL_REMOTE_HOST_PORT=2228 CardinalNative +``` + +This can be useful for starting Cardinal where no mouse/keyboard are attached but you want remote control. + ## TouchOSC example setup A TouchOSC compatible file is available [here](https://github.com/DISTRHO/Cardinal/raw/main/patches/touchosc/24-direct-fader-params.tosc). diff --git a/dpf b/dpf index 32d911c..d4c2ce6 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit 32d911c1decd721520e44adce2ca7a92ca0ec4f0 +Subproject commit d4c2ce6e3da43ae328876146b60d2d2cca5caa44 diff --git a/patches/examples/nooneknowspeter_-_Catalyst.vcv b/patches/examples/nooneknowspeter_-_Catalyst.vcv new file mode 100644 index 0000000..711266c --- /dev/null +++ b/patches/examples/nooneknowspeter_-_Catalyst.vcv @@ -0,0 +1,2175 @@ +{ + "version": "2.4.1", + "zoom": 0.59460335969924927, + "gridOffset": [ + -45.503124237060547, + -0.23206208646297455 + ], + "modules": [ + { + "id": 62131727378541, + "plugin": "ImpromptuModular", + "model": "Clocked-Clkd", + "version": "2.0", + "params": [ + { + "value": 0.0, + "id": 0 + }, + { + "value": 0.0, + "id": 1 + }, + { + "value": 2.0, + "id": 2 + }, + { + "value": 94.0, + "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 + }, + { + "value": 0.0, + "id": 9 + } + ], + "leftModuleId": 1659782601880954, + "rightModuleId": 1911991021527897, + "data": { + "panelTheme": 1, + "panelContrast": 220.0, + "running": true, + "bpmDetectionMode": false, + "resetOnStartStop": 0, + "ppqn": 4, + "resetClockOutputsHigh": true, + "momentaryRunInput": true, + "forceCvOnBpmOut": false, + "displayIndex": 0, + "trigOuts": [ + false, + false, + false, + false + ], + "clockMaster": -1 + }, + "pos": [ + -16, + 0 + ] + }, + { + "id": 1911991021527897, + "plugin": "SonusModular", + "model": "Multimulti", + "version": "2.0", + "params": [], + "leftModuleId": 62131727378541, + "rightModuleId": 3501856113396568, + "pos": [ + -6, + 0 + ] + }, + { + "id": 3501856113396568, + "plugin": "JW-Modules", + "model": "FullScope", + "version": "2.0", + "params": [ + { + "value": 1.0, + "id": 0 + }, + { + "value": 0.0, + "id": 1 + }, + { + "value": 1.0, + "id": 2 + }, + { + "value": 0.0, + "id": 3 + }, + { + "value": -14.0, + "id": 4 + }, + { + "value": 0.0, + "id": 5 + }, + { + "value": 0.0, + "id": 6 + }, + { + "value": 0.0, + "id": 7 + }, + { + "value": 0.0, + "id": 8 + } + ], + "leftModuleId": 1911991021527897, + "rightModuleId": 7129029812723674, + "data": { + "lissajous": 1, + "external": 0, + "width": 255.0 + }, + "pos": [ + 2, + 0 + ] + }, + { + "id": 4304683746797983, + "plugin": "Bogaudio", + "model": "Bogaudio-Walk2", + "version": "2.0", + "params": [ + { + "value": 0.47469800710678101, + "id": 0 + }, + { + "value": 0.46144556999206543, + "id": 1 + }, + { + "value": 0.0, + "id": 2 + }, + { + "value": 0.0, + "id": 3 + }, + { + "value": 0.55060189962387085, + "id": 4 + }, + { + "value": 0.55662637948989868, + "id": 5 + }, + { + "value": 0.0, + "id": 6 + } + ], + "rightModuleId": 8636186340370385, + "data": { + "zoom_out": false, + "grid": true, + "color": 0 + }, + "pos": [ + -40, + 2 + ] + }, + { + "id": 8636186340370385, + "plugin": "Bogaudio", + "model": "Bogaudio-Mult", + "version": "2.0", + "params": [], + "leftModuleId": 4304683746797983, + "rightModuleId": 5216982652288525, + "data": {}, + "pos": [ + -26, + 2 + ] + }, + { + "id": 5216982652288525, + "plugin": "JW-Modules", + "model": "FullScope", + "version": "2.0", + "params": [ + { + "value": 1.0, + "id": 0 + }, + { + "value": 0.0, + "id": 1 + }, + { + "value": 1.0, + "id": 2 + }, + { + "value": 0.0, + "id": 3 + }, + { + "value": -14.0, + "id": 4 + }, + { + "value": 0.0, + "id": 5 + }, + { + "value": 0.0, + "id": 6 + }, + { + "value": 0.0, + "id": 7 + }, + { + "value": 0.0, + "id": 8 + } + ], + "leftModuleId": 8636186340370385, + "rightModuleId": 7289017232262868, + "data": { + "lissajous": 1, + "external": 0, + "width": 255.0 + }, + "pos": [ + -23, + 2 + ] + }, + { + "id": 7289017232262868, + "plugin": "AriaSalvatrice", + "model": "Darius", + "version": "2.0", + "params": [ + { + "value": 0.05268482118844986, + "id": 0 + }, + { + "value": 1.346773624420166, + "id": 1 + }, + { + "value": 6.4301052093505859, + "id": 2 + }, + { + "value": 0.15539190173149109, + "id": 3 + }, + { + "value": 5.930147647857666, + "id": 4 + }, + { + "value": 4.1964631080627441, + "id": 5 + }, + { + "value": 4.4687967300415039, + "id": 6 + }, + { + "value": 8.8043718338012695, + "id": 7 + }, + { + "value": 4.8241586685180664, + "id": 8 + }, + { + "value": 5.8854637145996094, + "id": 9 + }, + { + "value": 1.3582065105438232, + "id": 10 + }, + { + "value": 8.1199207305908203, + "id": 11 + }, + { + "value": 9.7356538772583008, + "id": 12 + }, + { + "value": 3.1004385948181152, + "id": 13 + }, + { + "value": 5.8523683547973633, + "id": 14 + }, + { + "value": 7.8737020492553711, + "id": 15 + }, + { + "value": 6.2805328369140625, + "id": 16 + }, + { + "value": 6.2846498489379883, + "id": 17 + }, + { + "value": 4.1319394111633301, + "id": 18 + }, + { + "value": 3.6204769611358643, + "id": 19 + }, + { + "value": 0.68961513042449951, + "id": 20 + }, + { + "value": 9.8785743713378906, + "id": 21 + }, + { + "value": 7.4258003234863281, + "id": 22 + }, + { + "value": 7.4546232223510742, + "id": 23 + }, + { + "value": 8.9979057312011719, + "id": 24 + }, + { + "value": 2.8963613510131836, + "id": 25 + }, + { + "value": 4.2896790504455566, + "id": 26 + }, + { + "value": 4.003629207611084, + "id": 27 + }, + { + "value": 4.7523512840270996, + "id": 28 + }, + { + "value": 3.7792673110961914, + "id": 29 + }, + { + "value": 0.17409040033817291, + "id": 30 + }, + { + "value": 9.0417556762695312, + "id": 31 + }, + { + "value": 5.8191108703613281, + "id": 32 + }, + { + "value": 0.12899941205978394, + "id": 33 + }, + { + "value": 2.7611031532287598, + "id": 34 + }, + { + "value": 0.14207999408245087, + "id": 35 + }, + { + "value": 0.5, + "id": 36 + }, + { + "value": 0.5, + "id": 37 + }, + { + "value": 0.5, + "id": 38 + }, + { + "value": 0.5, + "id": 39 + }, + { + "value": 0.5, + "id": 40 + }, + { + "value": 0.5, + "id": 41 + }, + { + "value": 0.5, + "id": 42 + }, + { + "value": 0.5, + "id": 43 + }, + { + "value": 0.5, + "id": 44 + }, + { + "value": 0.5, + "id": 45 + }, + { + "value": 0.5, + "id": 46 + }, + { + "value": 0.5, + "id": 47 + }, + { + "value": 0.5, + "id": 48 + }, + { + "value": 0.5, + "id": 49 + }, + { + "value": 0.5, + "id": 50 + }, + { + "value": 0.5, + "id": 51 + }, + { + "value": 0.5, + "id": 52 + }, + { + "value": 0.5, + "id": 53 + }, + { + "value": 0.5, + "id": 54 + }, + { + "value": 0.5, + "id": 55 + }, + { + "value": 0.5, + "id": 56 + }, + { + "value": 0.5, + "id": 57 + }, + { + "value": 0.5, + "id": 58 + }, + { + "value": 0.5, + "id": 59 + }, + { + "value": 0.5, + "id": 60 + }, + { + "value": 0.5, + "id": 61 + }, + { + "value": 0.5, + "id": 62 + }, + { + "value": 0.5, + "id": 63 + }, + { + "value": 0.5, + "id": 64 + }, + { + "value": 0.5, + "id": 65 + }, + { + "value": 0.5, + "id": 66 + }, + { + "value": 0.5, + "id": 67 + }, + { + "value": 0.5, + "id": 68 + }, + { + "value": 0.5, + "id": 69 + }, + { + "value": 0.5, + "id": 70 + }, + { + "value": 0.5, + "id": 71 + }, + { + "value": 0.0, + "id": 72 + }, + { + "value": 1.0, + "id": 73 + }, + { + "value": 0.0, + "id": 74 + }, + { + "value": 8.0, + "id": 75 + }, + { + "value": 0.0, + "id": 76 + }, + { + "value": 0.0, + "id": 77 + }, + { + "value": 0.0, + "id": 78 + }, + { + "value": 0.0, + "id": 79 + }, + { + "value": 1.0, + "id": 80 + }, + { + "value": 3.0, + "id": 81 + }, + { + "value": 5.0, + "id": 82 + }, + { + "value": 0.0, + "id": 83 + }, + { + "value": 1.0, + "id": 84 + }, + { + "value": 0.0, + "id": 85 + }, + { + "value": 2.0, + "id": 86 + } + ], + "leftModuleId": 5216982652288525, + "rightModuleId": 3527046639580119, + "data": { + "step": 1, + "node": 1, + "lastNode": 1, + "lastGate": 1, + "pathTraveled": [ + 0, + 1, + -1, + -1, + -1, + -1, + -1, + -1 + ] + }, + "pos": [ + -6, + 2 + ] + }, + { + "id": 3527046639580119, + "plugin": "Bogaudio", + "model": "Bogaudio-Mult", + "version": "2.0", + "params": [], + "leftModuleId": 7289017232262868, + "rightModuleId": 4288556518425111, + "data": {}, + "pos": [ + 26, + 2 + ] + }, + { + "id": 4288556518425111, + "plugin": "Bogaudio", + "model": "Bogaudio-VCO", + "version": "2.0", + "params": [ + { + "value": 0.0, + "id": 0 + }, + { + "value": 0.0, + "id": 1 + }, + { + "value": 0.0, + "id": 2 + }, + { + "value": 0.0, + "id": 3 + }, + { + "value": 0.0, + "id": 4 + }, + { + "value": 1.0, + "id": 5 + }, + { + "value": 0.0, + "id": 6 + } + ], + "leftModuleId": 3527046639580119, + "rightModuleId": 4662717555805257, + "data": { + "poly_input": 0, + "dc_correction": true + }, + "pos": [ + 29, + 2 + ] + }, + { + "id": 4916903463233428, + "plugin": "AriaSalvatrice", + "model": "Darius", + "version": "2.0", + "params": [ + { + "value": 0.05268482118844986, + "id": 0 + }, + { + "value": 1.346773624420166, + "id": 1 + }, + { + "value": 6.4301052093505859, + "id": 2 + }, + { + "value": 0.15539190173149109, + "id": 3 + }, + { + "value": 5.930147647857666, + "id": 4 + }, + { + "value": 4.1964631080627441, + "id": 5 + }, + { + "value": 4.4687967300415039, + "id": 6 + }, + { + "value": 8.8043718338012695, + "id": 7 + }, + { + "value": 4.8241586685180664, + "id": 8 + }, + { + "value": 5.8854637145996094, + "id": 9 + }, + { + "value": 1.3582065105438232, + "id": 10 + }, + { + "value": 8.1199207305908203, + "id": 11 + }, + { + "value": 9.7356538772583008, + "id": 12 + }, + { + "value": 3.1004385948181152, + "id": 13 + }, + { + "value": 5.8523683547973633, + "id": 14 + }, + { + "value": 7.8737020492553711, + "id": 15 + }, + { + "value": 6.2805328369140625, + "id": 16 + }, + { + "value": 6.2846498489379883, + "id": 17 + }, + { + "value": 4.1319394111633301, + "id": 18 + }, + { + "value": 3.6204769611358643, + "id": 19 + }, + { + "value": 0.68961513042449951, + "id": 20 + }, + { + "value": 9.8785743713378906, + "id": 21 + }, + { + "value": 7.4258003234863281, + "id": 22 + }, + { + "value": 7.4546232223510742, + "id": 23 + }, + { + "value": 8.9979057312011719, + "id": 24 + }, + { + "value": 2.8963613510131836, + "id": 25 + }, + { + "value": 4.2896790504455566, + "id": 26 + }, + { + "value": 4.003629207611084, + "id": 27 + }, + { + "value": 4.7523512840270996, + "id": 28 + }, + { + "value": 3.7792673110961914, + "id": 29 + }, + { + "value": 0.17409040033817291, + "id": 30 + }, + { + "value": 9.0417556762695312, + "id": 31 + }, + { + "value": 5.8191108703613281, + "id": 32 + }, + { + "value": 0.12899941205978394, + "id": 33 + }, + { + "value": 2.7611031532287598, + "id": 34 + }, + { + "value": 0.14207999408245087, + "id": 35 + }, + { + "value": 0.5, + "id": 36 + }, + { + "value": 0.5, + "id": 37 + }, + { + "value": 0.5, + "id": 38 + }, + { + "value": 0.5, + "id": 39 + }, + { + "value": 0.5, + "id": 40 + }, + { + "value": 0.5, + "id": 41 + }, + { + "value": 0.5, + "id": 42 + }, + { + "value": 0.5, + "id": 43 + }, + { + "value": 0.5, + "id": 44 + }, + { + "value": 0.5, + "id": 45 + }, + { + "value": 0.5, + "id": 46 + }, + { + "value": 0.5, + "id": 47 + }, + { + "value": 0.5, + "id": 48 + }, + { + "value": 0.5, + "id": 49 + }, + { + "value": 0.5, + "id": 50 + }, + { + "value": 0.5, + "id": 51 + }, + { + "value": 0.5, + "id": 52 + }, + { + "value": 0.5, + "id": 53 + }, + { + "value": 0.5, + "id": 54 + }, + { + "value": 0.5, + "id": 55 + }, + { + "value": 0.5, + "id": 56 + }, + { + "value": 0.5, + "id": 57 + }, + { + "value": 0.5, + "id": 58 + }, + { + "value": 0.5, + "id": 59 + }, + { + "value": 0.5, + "id": 60 + }, + { + "value": 0.5, + "id": 61 + }, + { + "value": 0.5, + "id": 62 + }, + { + "value": 0.5, + "id": 63 + }, + { + "value": 0.5, + "id": 64 + }, + { + "value": 0.5, + "id": 65 + }, + { + "value": 0.5, + "id": 66 + }, + { + "value": 0.5, + "id": 67 + }, + { + "value": 0.5, + "id": 68 + }, + { + "value": 0.5, + "id": 69 + }, + { + "value": 0.5, + "id": 70 + }, + { + "value": 0.5, + "id": 71 + }, + { + "value": 0.0, + "id": 72 + }, + { + "value": 1.0, + "id": 73 + }, + { + "value": 0.0, + "id": 74 + }, + { + "value": 8.0, + "id": 75 + }, + { + "value": 0.0, + "id": 76 + }, + { + "value": 0.0, + "id": 77 + }, + { + "value": 0.0, + "id": 78 + }, + { + "value": 0.0, + "id": 79 + }, + { + "value": 1.0, + "id": 80 + }, + { + "value": 3.0, + "id": 81 + }, + { + "value": 5.0, + "id": 82 + }, + { + "value": 0.0, + "id": 83 + }, + { + "value": 1.0, + "id": 84 + }, + { + "value": 0.0, + "id": 85 + }, + { + "value": 2.0, + "id": 86 + } + ], + "rightModuleId": 1106085699720762, + "data": { + "step": 4, + "node": 12, + "lastNode": 12, + "lastGate": 12, + "pathTraveled": [ + 0, + 2, + 4, + 7, + 12, + -1, + -1, + -1 + ] + }, + "pos": [ + -6, + 1 + ] + }, + { + "id": 1106085699720762, + "plugin": "Bogaudio", + "model": "Bogaudio-Mult", + "version": "2.0", + "params": [], + "leftModuleId": 4916903463233428, + "rightModuleId": 2252060481249196, + "data": {}, + "pos": [ + 26, + 1 + ] + }, + { + "id": 4662717555805257, + "plugin": "AudibleInstruments", + "model": "Clouds", + "version": "2.0", + "params": [ + { + "value": 0.0, + "id": 0 + }, + { + "value": 0.0, + "id": 1 + }, + { + "value": 0.0, + "id": 2 + }, + { + "value": 0.85903644561767578, + "id": 3 + }, + { + "value": 0.67469894886016846, + "id": 4 + }, + { + "value": 0.0, + "id": 5 + }, + { + "value": 1.0, + "id": 6 + }, + { + "value": 0.71084344387054443, + "id": 7 + }, + { + "value": 0.67710858583450317, + "id": 8 + }, + { + "value": 0.7216869592666626, + "id": 9 + }, + { + "value": 0.0, + "id": 10 + }, + { + "value": 0.0, + "id": 11 + }, + { + "value": 0.0, + "id": 12 + } + ], + "leftModuleId": 4288556518425111, + "data": { + "playback": 0, + "quality": 0, + "blendMode": 0 + }, + "pos": [ + 39, + 2 + ] + }, + { + "id": 8989400763278496, + "plugin": "MSM", + "model": "DualDelay", + "version": "2.0", + "params": [ + { + "value": 1.0, + "id": 0 + }, + { + "value": 1.0, + "id": 1 + }, + { + "value": 0.67479997873306274, + "id": 2 + }, + { + "value": 0.67479997873306274, + "id": 3 + }, + { + "value": 0.0, + "id": 4 + }, + { + "value": 0.0, + "id": 5 + }, + { + "value": 1.0, + "id": 6 + }, + { + "value": 0.0, + "id": 7 + }, + { + "value": 1.0, + "id": 8 + }, + { + "value": 0.0, + "id": 9 + }, + { + "value": 0.73076951503753662, + "id": 10 + }, + { + "value": 0.5, + "id": 11 + }, + { + "value": 1.0, + "id": 12 + }, + { + "value": 1.0, + "id": 13 + }, + { + "value": 0.0, + "id": 14 + }, + { + "value": 0.0, + "id": 15 + }, + { + "value": 0.0, + "id": 16 + }, + { + "value": 0.0, + "id": 17 + } + ], + "leftModuleId": 2252060481249196, + "data": { + "Theme": 1, + "DISPLAYA": 1, + "DISPLAYB": 1 + }, + "pos": [ + 39, + 1 + ] + }, + { + "id": 2252060481249196, + "plugin": "Bogaudio", + "model": "Bogaudio-VCO", + "version": "2.0", + "params": [ + { + "value": 0.0, + "id": 0 + }, + { + "value": 0.0, + "id": 1 + }, + { + "value": 0.0, + "id": 2 + }, + { + "value": 0.0, + "id": 3 + }, + { + "value": 0.0, + "id": 4 + }, + { + "value": 1.0, + "id": 5 + }, + { + "value": 0.0, + "id": 6 + } + ], + "leftModuleId": 1106085699720762, + "rightModuleId": 8989400763278496, + "data": { + "poly_input": 0, + "dc_correction": true + }, + "pos": [ + 29, + 1 + ] + }, + { + "id": 7129029812723674, + "plugin": "mscHack", + "model": "Mix_4_0_4", + "version": "2.0", + "params": [ + { + "value": 0.64939934015274048, + "id": 0 + }, + { + "value": 0.0, + "id": 1 + }, + { + "value": 1.0, + "id": 2 + }, + { + "value": 1.0, + "id": 3 + }, + { + "value": 0.0, + "id": 4 + }, + { + "value": 1.0, + "id": 5 + }, + { + "value": 1.0, + "id": 6 + }, + { + "value": 1.0, + "id": 7 + }, + { + "value": 1.0, + "id": 8 + }, + { + "value": 0.0, + "id": 9 + }, + { + "value": 0.0, + "id": 10 + }, + { + "value": 0.0, + "id": 11 + }, + { + "value": 0.0, + "id": 12 + }, + { + "value": 0.0, + "id": 13 + }, + { + "value": 0.0, + "id": 14 + }, + { + "value": 0.0, + "id": 15 + }, + { + "value": 0.0, + "id": 16 + }, + { + "value": 0.5, + "id": 17 + }, + { + "value": 0.5, + "id": 18 + }, + { + "value": 0.5, + "id": 19 + }, + { + "value": 0.5, + "id": 20 + }, + { + "value": 0.5, + "id": 21 + }, + { + "value": 0.5, + "id": 22 + }, + { + "value": 0.5, + "id": 23 + }, + { + "value": 0.5, + "id": 24 + }, + { + "value": 0.5, + "id": 25 + }, + { + "value": 0.5, + "id": 26 + }, + { + "value": 0.5, + "id": 27 + }, + { + "value": 0.5, + "id": 28 + }, + { + "value": 0.5, + "id": 29 + }, + { + "value": 0.5, + "id": 30 + }, + { + "value": 0.5, + "id": 31 + }, + { + "value": 0.5, + "id": 32 + }, + { + "value": 0.5, + "id": 33 + }, + { + "value": 0.5, + "id": 34 + }, + { + "value": 0.5, + "id": 35 + }, + { + "value": 0.5, + "id": 36 + }, + { + "value": 0.5, + "id": 37 + }, + { + "value": 0.5, + "id": 38 + }, + { + "value": 0.5, + "id": 39 + }, + { + "value": 0.5, + "id": 40 + }, + { + "value": 0.70361471176147461, + "id": 41 + }, + { + "value": 0.0, + "id": 42 + }, + { + "value": 0.0, + "id": 43 + }, + { + "value": 0.0, + "id": 44 + }, + { + "value": 0.71084392070770264, + "id": 45 + }, + { + "value": 0.71325337886810303, + "id": 46 + }, + { + "value": 0.0, + "id": 47 + }, + { + "value": 0.0, + "id": 48 + }, + { + "value": 0.51686739921569824, + "id": 49 + }, + { + "value": 0.0, + "id": 50 + }, + { + "value": 0.0, + "id": 51 + }, + { + "value": 0.0, + "id": 52 + }, + { + "value": 0.0, + "id": 53 + }, + { + "value": 0.0, + "id": 54 + }, + { + "value": 0.0, + "id": 55 + }, + { + "value": 0.0, + "id": 56 + }, + { + "value": 1.0, + "id": 57 + }, + { + "value": 1.0, + "id": 58 + }, + { + "value": 1.0, + "id": 59 + }, + { + "value": 1.0, + "id": 60 + } + ], + "leftModuleId": 3501856113396568, + "rightModuleId": 8500131601554147, + "data": { + "m_bMuteStates": [ + false, + false, + false, + false, + false, + false, + false, + false + ], + "m_bSoloStates": [ + false, + false, + false, + false, + false, + false, + false, + false + ], + "m_bGroupPreMute": [ + true + ], + "m_bGainLevelx2": [ + false + ], + "m_bPreFader": [ + false, + false, + false, + false + ], + "m_bAuxIgnoreSolo": [ + false + ] + }, + "pos": [ + 19, + 0 + ] + }, + { + "id": 8395408628109080, + "plugin": "Valley", + "model": "Plateau", + "version": "2.0", + "params": [ + { + "value": 0.0, + "id": 0 + }, + { + "value": 0.5, + "id": 1 + }, + { + "value": 0.0, + "id": 2 + }, + { + "value": 10.0, + "id": 3 + }, + { + "value": 10.0, + "id": 4 + }, + { + "value": 0.5, + "id": 5 + }, + { + "value": 10.0, + "id": 6 + }, + { + "value": 0.5499500036239624, + "id": 7 + }, + { + "value": 10.0, + "id": 8 + }, + { + "value": 10.0, + "id": 9 + }, + { + "value": 0.0, + "id": 10 + }, + { + "value": 0.5, + "id": 11 + }, + { + "value": 0.5, + "id": 12 + }, + { + "value": 0.0, + "id": 13 + }, + { + "value": 0.0, + "id": 14 + }, + { + "value": 0.0, + "id": 15 + }, + { + "value": 0.0, + "id": 16 + }, + { + "value": 0.0, + "id": 17 + }, + { + "value": 0.0, + "id": 18 + }, + { + "value": 0.0, + "id": 19 + }, + { + "value": 0.0, + "id": 20 + }, + { + "value": 0.0, + "id": 21 + }, + { + "value": 0.0, + "id": 22 + }, + { + "value": 0.0, + "id": 23 + }, + { + "value": 0.0, + "id": 24 + }, + { + "value": 0.0, + "id": 25 + }, + { + "value": 0.0, + "id": 26 + }, + { + "value": 0.0, + "id": 27 + }, + { + "value": 0.0, + "id": 28 + }, + { + "value": 0.0, + "id": 29 + }, + { + "value": 1.0, + "id": 30 + } + ], + "leftModuleId": 6060371358954687, + "data": { + "frozen": false, + "freezeToggle": false, + "panelStyle": 0, + "tuned": 0, + "diffuseInput": 1, + "preDelayCVSens": 0, + "inputSensitivity": 0, + "outputSaturation": 0 + }, + "pos": [ + 45, + -1 + ] + }, + { + "id": 6060371358954687, + "plugin": "ParableInstruments", + "model": "Neil", + "version": "2.0", + "params": [ + { + "value": 0.5, + "id": 0 + }, + { + "value": 0.68072414398193359, + "id": 1 + }, + { + "value": 0.0, + "id": 2 + }, + { + "value": 0.74216896295547485, + "id": 3 + }, + { + "value": 0.6710851788520813, + "id": 4 + }, + { + "value": 0.81084364652633667, + "id": 5 + }, + { + "value": 0.72771108150482178, + "id": 6 + }, + { + "value": 0.5, + "id": 7 + }, + { + "value": 0.5, + "id": 8 + }, + { + "value": 0.70482110977172852, + "id": 9 + }, + { + "value": 0.0, + "id": 10 + }, + { + "value": 0.0, + "id": 11 + } + ], + "rightModuleId": 8395408628109080, + "data": { + "playbackmode": 0, + "lofi": false, + "mono": false, + "freeze": false, + "buffersize": 1, + "reverse": 0 + }, + "pos": [ + 14, + -1 + ] + }, + { + "id": 4300651035948303, + "plugin": "Bidoo", + "model": "fLAME", + "version": "2.0", + "params": [ + { + "value": 0.0, + "id": 0 + }, + { + "value": 0.0, + "id": 1 + }, + { + "value": 0.0, + "id": 2 + }, + { + "value": 0.0, + "id": 3 + }, + { + "value": 0.0, + "id": 4 + }, + { + "value": 0.0, + "id": 5 + } + ], + "leftModuleId": 8500131601554147, + "data": { + "xBox": 31.71875, + "yBox": 0.4765625, + "wBox": 0.0, + "hBox": 0.0, + "frameSize": 1024.0, + "colorScheme": 1.0 + }, + "pos": [ + 47, + 0 + ] + }, + { + "id": 8500131601554147, + "plugin": "Cardinal", + "model": "HostAudio2", + "version": "2.0", + "params": [ + { + "value": 1.0, + "id": 0 + } + ], + "leftModuleId": 7129029812723674, + "rightModuleId": 4300651035948303, + "data": { + "dcFilter": true + }, + "pos": [ + 39, + 0 + ] + }, + { + "id": 1659782601880954, + "plugin": "Cardinal", + "model": "HostTime", + "version": "2.0", + "params": [], + "rightModuleId": 62131727378541, + "data": { + "barDivision": 1 + }, + "pos": [ + -24, + 0 + ] + } + ], + "cables": [ + { + "id": 5369457870419826, + "outputModuleId": 62131727378541, + "outputId": 1, + "inputModuleId": 1911991021527897, + "inputId": 0, + "color": "#ff9352" + }, + { + "id": 7071592608607655, + "outputModuleId": 1911991021527897, + "outputId": 0, + "inputModuleId": 3501856113396568, + "inputId": 0, + "color": "#ffd452" + }, + { + "id": 2215041335470426, + "outputModuleId": 62131727378541, + "outputId": 3, + "inputModuleId": 1911991021527897, + "inputId": 2, + "color": "#e8ff52" + }, + { + "id": 6193630193933082, + "outputModuleId": 1911991021527897, + "outputId": 8, + "inputModuleId": 3501856113396568, + "inputId": 5, + "color": "#a8ff52" + }, + { + "id": 7973827414495970, + "outputModuleId": 7129029812723674, + "outputId": 0, + "inputModuleId": 8500131601554147, + "inputId": 0, + "color": "#52beff" + }, + { + "id": 6544425266861102, + "outputModuleId": 7129029812723674, + "outputId": 1, + "inputModuleId": 8500131601554147, + "inputId": 1, + "color": "#527dff" + }, + { + "id": 4429003181984041, + "outputModuleId": 2252060481249196, + "outputId": 3, + "inputModuleId": 7129029812723674, + "inputId": 0, + "color": "#67ff52" + }, + { + "id": 1912835577889862, + "outputModuleId": 7129029812723674, + "outputId": 2, + "inputModuleId": 6060371358954687, + "inputId": 9, + "color": "#ff5293" + }, + { + "id": 627704708040903, + "outputModuleId": 7129029812723674, + "outputId": 6, + "inputModuleId": 6060371358954687, + "inputId": 10, + "color": "#ff5252" + }, + { + "id": 3033899792229734, + "outputModuleId": 6060371358954687, + "outputId": 0, + "inputModuleId": 7129029812723674, + "inputId": 4, + "color": "#ff9352" + }, + { + "id": 5635490298167809, + "outputModuleId": 6060371358954687, + "outputId": 1, + "inputModuleId": 7129029812723674, + "inputId": 12, + "color": "#ffd452" + }, + { + "id": 2434627396018901, + "outputModuleId": 4288556518425111, + "outputId": 3, + "inputModuleId": 4662717555805257, + "inputId": 6, + "color": "#6752ff" + }, + { + "id": 93008979403067, + "outputModuleId": 4662717555805257, + "outputId": 0, + "inputModuleId": 8989400763278496, + "inputId": 11, + "color": "#52ffff" + }, + { + "id": 693319618114398, + "outputModuleId": 4662717555805257, + "outputId": 1, + "inputModuleId": 8989400763278496, + "inputId": 12, + "color": "#52beff" + }, + { + "id": 8448857937346948, + "outputModuleId": 8989400763278496, + "outputId": 0, + "inputModuleId": 7129029812723674, + "inputId": 1, + "color": "#527dff" + }, + { + "id": 6260514231492803, + "outputModuleId": 8989400763278496, + "outputId": 1, + "inputModuleId": 7129029812723674, + "inputId": 9, + "color": "#6752ff" + }, + { + "id": 2270641463296977, + "outputModuleId": 4916903463233428, + "outputId": 36, + "inputModuleId": 1106085699720762, + "inputId": 0, + "color": "#ffd452" + }, + { + "id": 6756229717609380, + "outputModuleId": 1106085699720762, + "outputId": 0, + "inputModuleId": 2252060481249196, + "inputId": 0, + "color": "#a852ff" + }, + { + "id": 8067231886550742, + "outputModuleId": 1106085699720762, + "outputId": 1, + "inputModuleId": 4662717555805257, + "inputId": 4, + "color": "#e952ff" + }, + { + "id": 5644913135709621, + "outputModuleId": 1911991021527897, + "outputId": 3, + "inputModuleId": 8989400763278496, + "inputId": 0, + "color": "#ff52d4" + }, + { + "id": 2785530634055973, + "outputModuleId": 8395408628109080, + "outputId": 0, + "inputModuleId": 7129029812723674, + "inputId": 5, + "color": "#ff5293" + }, + { + "id": 7848829968517457, + "outputModuleId": 8395408628109080, + "outputId": 1, + "inputModuleId": 7129029812723674, + "inputId": 13, + "color": "#ff5252" + }, + { + "id": 2489710152917376, + "outputModuleId": 7129029812723674, + "outputId": 3, + "inputModuleId": 8395408628109080, + "inputId": 0, + "color": "#ff9352" + }, + { + "id": 3900002823632923, + "outputModuleId": 7129029812723674, + "outputId": 7, + "inputModuleId": 8395408628109080, + "inputId": 1, + "color": "#ffd452" + }, + { + "id": 3156196171882697, + "outputModuleId": 1659782601880954, + "outputId": 1, + "inputModuleId": 62131727378541, + "inputId": 0, + "color": "#e8ff52" + }, + { + "id": 3466630695716247, + "outputModuleId": 7289017232262868, + "outputId": 36, + "inputModuleId": 3527046639580119, + "inputId": 0, + "color": "#a8ff52" + }, + { + "id": 554657089121846, + "outputModuleId": 3527046639580119, + "outputId": 0, + "inputModuleId": 4288556518425111, + "inputId": 0, + "color": "#52ff7d" + }, + { + "id": 7817862999329202, + "outputModuleId": 7129029812723674, + "outputId": 0, + "inputModuleId": 4300651035948303, + "inputId": 0, + "color": "#52ffbe" + }, + { + "id": 6308491081404058, + "outputModuleId": 4304683746797983, + "outputId": 1, + "inputModuleId": 8636186340370385, + "inputId": 0, + "color": "#e952ff" + }, + { + "id": 6202424790608086, + "outputModuleId": 8636186340370385, + "outputId": 0, + "inputModuleId": 7289017232262868, + "inputId": 4, + "color": "#ff5252" + }, + { + "id": 435942003625483, + "outputModuleId": 4304683746797983, + "outputId": 0, + "inputModuleId": 8636186340370385, + "inputId": 1, + "color": "#ff5252" + }, + { + "id": 2602550347931605, + "outputModuleId": 8636186340370385, + "outputId": 3, + "inputModuleId": 7289017232262868, + "inputId": 2, + "color": "#ff9352" + }, + { + "id": 4251321654985697, + "outputModuleId": 8636186340370385, + "outputId": 1, + "inputModuleId": 5216982652288525, + "inputId": 1, + "color": "#ffd452" + }, + { + "id": 1626668455564229, + "outputModuleId": 8636186340370385, + "outputId": 4, + "inputModuleId": 5216982652288525, + "inputId": 0, + "color": "#e8ff52" + }, + { + "id": 6063743223822489, + "outputModuleId": 1911991021527897, + "outputId": 1, + "inputModuleId": 5216982652288525, + "inputId": 3, + "color": "#a8ff52" + } + ] +} diff --git a/patches/examples/nooneknowspeter_-_Velour.vcv b/patches/examples/nooneknowspeter_-_Velour.vcv new file mode 100644 index 0000000..1e79c52 --- /dev/null +++ b/patches/examples/nooneknowspeter_-_Velour.vcv @@ -0,0 +1,2055 @@ +{ + "version": "2.4.1", + "zoom": 0.49999922513961792, + "gridOffset": [ + -32.154037475585938, + -1.4488898515701294 + ], + "modules": [ + { + "id": 8401101019084944, + "plugin": "Bogaudio", + "model": "Bogaudio-Walk2", + "version": "2.0", + "params": [ + { + "value": 0.89277017116546631, + "id": 0 + }, + { + "value": 0.78586769104003906, + "id": 1 + }, + { + "value": 0.3228611946105957, + "id": 2 + }, + { + "value": -0.44819235801696777, + "id": 3 + }, + { + "value": 0.92816561460494995, + "id": 4 + }, + { + "value": 0.29394039511680603, + "id": 5 + }, + { + "value": 0.0, + "id": 6 + } + ], + "leftModuleId": 4576969143779329, + "rightModuleId": 6457225277964798, + "data": { + "zoom_out": false, + "grid": true, + "color": 0 + }, + "pos": [ + 15, + 0 + ] + }, + { + "id": 3963843809374158, + "plugin": "WSTD-Drums", + "model": "Gnome", + "version": "2.0", + "params": [ + { + "value": 82.512306213378906, + "id": 0 + }, + { + "value": 0.34999999403953552, + "id": 1 + }, + { + "value": 0.0, + "id": 2 + }, + { + "value": 0.0, + "id": 3 + } + ], + "rightModuleId": 8231395416803978, + "data": { + "running": true + }, + "pos": [ + 0, + 0 + ] + }, + { + "id": 4576969143779329, + "plugin": "Bogaudio", + "model": "Bogaudio-Mult", + "version": "2.0", + "params": [], + "leftModuleId": 8231395416803978, + "rightModuleId": 8401101019084944, + "data": {}, + "pos": [ + 12, + 0 + ] + }, + { + "id": 8231395416803978, + "plugin": "Bogaudio", + "model": "Bogaudio-Mult", + "version": "2.0", + "params": [], + "leftModuleId": 3963843809374158, + "rightModuleId": 4576969143779329, + "data": {}, + "pos": [ + 9, + 0 + ] + }, + { + "id": 4488994658119862, + "plugin": "AriaSalvatrice", + "model": "Darius", + "version": "2.0", + "params": [ + { + "value": 7.0261387825012207, + "id": 0 + }, + { + "value": 6.4799728393554688, + "id": 1 + }, + { + "value": 1.0944652557373047, + "id": 2 + }, + { + "value": 5.4544520378112793, + "id": 3 + }, + { + "value": 2.4997563362121582, + "id": 4 + }, + { + "value": 0.2141343355178833, + "id": 5 + }, + { + "value": 4.5171718597412109, + "id": 6 + }, + { + "value": 1.9916675090789795, + "id": 7 + }, + { + "value": 0.065357208251953125, + "id": 8 + }, + { + "value": 8.6424083709716797, + "id": 9 + }, + { + "value": 3.0126681327819824, + "id": 10 + }, + { + "value": 4.8913331031799316, + "id": 11 + }, + { + "value": 1.8676176071166992, + "id": 12 + }, + { + "value": 7.9574198722839355, + "id": 13 + }, + { + "value": 7.6182794570922852, + "id": 14 + }, + { + "value": 2.6099047660827637, + "id": 15 + }, + { + "value": 0.32318747043609619, + "id": 16 + }, + { + "value": 6.3941841125488281, + "id": 17 + }, + { + "value": 8.3590145111083984, + "id": 18 + }, + { + "value": 7.9967021942138672, + "id": 19 + }, + { + "value": 6.5890960693359375, + "id": 20 + }, + { + "value": 4.3147969245910645, + "id": 21 + }, + { + "value": 0.17612627148628235, + "id": 22 + }, + { + "value": 8.8611621856689453, + "id": 23 + }, + { + "value": 2.1500341892242432, + "id": 24 + }, + { + "value": 6.1861410140991211, + "id": 25 + }, + { + "value": 6.3773579597473145, + "id": 26 + }, + { + "value": 3.8886151313781738, + "id": 27 + }, + { + "value": 5.9339375495910645, + "id": 28 + }, + { + "value": 8.6667995452880859, + "id": 29 + }, + { + "value": 5.5161662101745605, + "id": 30 + }, + { + "value": 6.4344863891601562, + "id": 31 + }, + { + "value": 2.9477152824401855, + "id": 32 + }, + { + "value": 7.8309292793273926, + "id": 33 + }, + { + "value": 1.250623345375061, + "id": 34 + }, + { + "value": 8.43328857421875, + "id": 35 + }, + { + "value": 0.5, + "id": 36 + }, + { + "value": 0.5, + "id": 37 + }, + { + "value": 0.5, + "id": 38 + }, + { + "value": 0.5, + "id": 39 + }, + { + "value": 0.5, + "id": 40 + }, + { + "value": 0.5, + "id": 41 + }, + { + "value": 0.5, + "id": 42 + }, + { + "value": 0.5, + "id": 43 + }, + { + "value": 0.5, + "id": 44 + }, + { + "value": 0.5, + "id": 45 + }, + { + "value": 0.5, + "id": 46 + }, + { + "value": 0.5, + "id": 47 + }, + { + "value": 0.5, + "id": 48 + }, + { + "value": 0.5, + "id": 49 + }, + { + "value": 0.5, + "id": 50 + }, + { + "value": 0.5, + "id": 51 + }, + { + "value": 0.5, + "id": 52 + }, + { + "value": 0.5, + "id": 53 + }, + { + "value": 0.5, + "id": 54 + }, + { + "value": 0.5, + "id": 55 + }, + { + "value": 0.5, + "id": 56 + }, + { + "value": 0.5, + "id": 57 + }, + { + "value": 0.5, + "id": 58 + }, + { + "value": 0.5, + "id": 59 + }, + { + "value": 0.5, + "id": 60 + }, + { + "value": 0.5, + "id": 61 + }, + { + "value": 0.5, + "id": 62 + }, + { + "value": 0.5, + "id": 63 + }, + { + "value": 0.5, + "id": 64 + }, + { + "value": 0.5, + "id": 65 + }, + { + "value": 0.5, + "id": 66 + }, + { + "value": 0.5, + "id": 67 + }, + { + "value": 0.5, + "id": 68 + }, + { + "value": 0.5, + "id": 69 + }, + { + "value": 0.5, + "id": 70 + }, + { + "value": 0.5, + "id": 71 + }, + { + "value": 0.0, + "id": 72 + }, + { + "value": 1.0, + "id": 73 + }, + { + "value": 0.0, + "id": 74 + }, + { + "value": 8.0, + "id": 75 + }, + { + "value": 0.0, + "id": 76 + }, + { + "value": 0.0, + "id": 77 + }, + { + "value": 0.0, + "id": 78 + }, + { + "value": 0.0, + "id": 79 + }, + { + "value": 1.0, + "id": 80 + }, + { + "value": 3.0, + "id": 81 + }, + { + "value": 5.0, + "id": 82 + }, + { + "value": 0.21686747670173645, + "id": 83 + }, + { + "value": 1.0, + "id": 84 + }, + { + "value": 0.0, + "id": 85 + }, + { + "value": 2.0, + "id": 86 + } + ], + "leftModuleId": 687112602285230, + "rightModuleId": 5328912255895118, + "data": { + "step": 1, + "node": 1, + "lastNode": 1, + "lastGate": 1, + "pathTraveled": [ + 0, + 1, + -1, + -1, + -1, + -1, + -1, + -1 + ] + }, + "pos": [ + 26, + 1 + ] + }, + { + "id": 5328912255895118, + "plugin": "Bogaudio", + "model": "Bogaudio-Mult", + "version": "2.0", + "params": [], + "leftModuleId": 4488994658119862, + "rightModuleId": 7510407318957287, + "data": {}, + "pos": [ + 58, + 1 + ] + }, + { + "id": 5866320402390628, + "plugin": "Bogaudio", + "model": "Bogaudio-ADSR", + "version": "2.0", + "params": [ + { + "value": 0.11973415315151215, + "id": 0 + }, + { + "value": 0.38369983434677124, + "id": 1 + }, + { + "value": 1.0, + "id": 2 + }, + { + "value": 0.36683237552642822, + "id": 3 + }, + { + "value": 0.0, + "id": 4 + } + ], + "leftModuleId": 1862980889020017, + "data": { + "invert": 1.0 + }, + "pos": [ + 74, + 1 + ] + }, + { + "id": 7510407318957287, + "plugin": "Bogaudio", + "model": "Bogaudio-VCO", + "version": "2.0", + "params": [ + { + "value": 0.0, + "id": 0 + }, + { + "value": 0.0, + "id": 1 + }, + { + "value": 0.0, + "id": 2 + }, + { + "value": 0.0, + "id": 3 + }, + { + "value": 0.0, + "id": 4 + }, + { + "value": 1.0, + "id": 5 + }, + { + "value": 0.0, + "id": 6 + } + ], + "leftModuleId": 5328912255895118, + "rightModuleId": 1862980889020017, + "data": { + "poly_input": 0, + "dc_correction": true + }, + "pos": [ + 61, + 1 + ] + }, + { + "id": 1862980889020017, + "plugin": "Bogaudio", + "model": "Bogaudio-Mix1", + "version": "2.0", + "params": [ + { + "value": 1.0, + "id": 0 + }, + { + "value": 0.0, + "id": 1 + } + ], + "leftModuleId": 7510407318957287, + "rightModuleId": 5866320402390628, + "data": { + "linear_cv": false + }, + "pos": [ + 71, + 1 + ] + }, + { + "id": 6457225277964798, + "plugin": "AriaSalvatrice", + "model": "Darius", + "version": "2.0", + "params": [ + { + "value": 7.0261387825012207, + "id": 0 + }, + { + "value": 6.4799728393554688, + "id": 1 + }, + { + "value": 1.0944652557373047, + "id": 2 + }, + { + "value": 5.4544520378112793, + "id": 3 + }, + { + "value": 2.4997563362121582, + "id": 4 + }, + { + "value": 0.2141343355178833, + "id": 5 + }, + { + "value": 4.5171718597412109, + "id": 6 + }, + { + "value": 1.9916675090789795, + "id": 7 + }, + { + "value": 0.065357208251953125, + "id": 8 + }, + { + "value": 8.6424083709716797, + "id": 9 + }, + { + "value": 3.0126681327819824, + "id": 10 + }, + { + "value": 4.8913331031799316, + "id": 11 + }, + { + "value": 1.8676176071166992, + "id": 12 + }, + { + "value": 7.9574198722839355, + "id": 13 + }, + { + "value": 7.6182794570922852, + "id": 14 + }, + { + "value": 2.6099047660827637, + "id": 15 + }, + { + "value": 0.32318747043609619, + "id": 16 + }, + { + "value": 6.3941841125488281, + "id": 17 + }, + { + "value": 8.3590145111083984, + "id": 18 + }, + { + "value": 7.9967021942138672, + "id": 19 + }, + { + "value": 6.5890960693359375, + "id": 20 + }, + { + "value": 4.3147969245910645, + "id": 21 + }, + { + "value": 0.17612627148628235, + "id": 22 + }, + { + "value": 8.8611621856689453, + "id": 23 + }, + { + "value": 2.1500341892242432, + "id": 24 + }, + { + "value": 6.1861410140991211, + "id": 25 + }, + { + "value": 6.3773579597473145, + "id": 26 + }, + { + "value": 3.8886151313781738, + "id": 27 + }, + { + "value": 5.9339375495910645, + "id": 28 + }, + { + "value": 8.6667995452880859, + "id": 29 + }, + { + "value": 5.5161662101745605, + "id": 30 + }, + { + "value": 6.4344863891601562, + "id": 31 + }, + { + "value": 2.9477152824401855, + "id": 32 + }, + { + "value": 7.8309292793273926, + "id": 33 + }, + { + "value": 1.250623345375061, + "id": 34 + }, + { + "value": 8.43328857421875, + "id": 35 + }, + { + "value": 0.5, + "id": 36 + }, + { + "value": 0.5, + "id": 37 + }, + { + "value": 0.5, + "id": 38 + }, + { + "value": 0.5, + "id": 39 + }, + { + "value": 0.5, + "id": 40 + }, + { + "value": 0.5, + "id": 41 + }, + { + "value": 0.5, + "id": 42 + }, + { + "value": 0.5, + "id": 43 + }, + { + "value": 0.5, + "id": 44 + }, + { + "value": 0.5, + "id": 45 + }, + { + "value": 0.5, + "id": 46 + }, + { + "value": 0.5, + "id": 47 + }, + { + "value": 0.5, + "id": 48 + }, + { + "value": 0.5, + "id": 49 + }, + { + "value": 0.5, + "id": 50 + }, + { + "value": 0.5, + "id": 51 + }, + { + "value": 0.5, + "id": 52 + }, + { + "value": 0.5, + "id": 53 + }, + { + "value": 0.5, + "id": 54 + }, + { + "value": 0.5, + "id": 55 + }, + { + "value": 0.5, + "id": 56 + }, + { + "value": 0.5, + "id": 57 + }, + { + "value": 0.5, + "id": 58 + }, + { + "value": 0.5, + "id": 59 + }, + { + "value": 0.5, + "id": 60 + }, + { + "value": 0.5, + "id": 61 + }, + { + "value": 0.5, + "id": 62 + }, + { + "value": 0.5, + "id": 63 + }, + { + "value": 0.5, + "id": 64 + }, + { + "value": 0.5, + "id": 65 + }, + { + "value": 0.5, + "id": 66 + }, + { + "value": 0.5, + "id": 67 + }, + { + "value": 0.5, + "id": 68 + }, + { + "value": 0.5, + "id": 69 + }, + { + "value": 0.5, + "id": 70 + }, + { + "value": 0.5, + "id": 71 + }, + { + "value": 0.0, + "id": 72 + }, + { + "value": 1.0, + "id": 73 + }, + { + "value": 0.0, + "id": 74 + }, + { + "value": 8.0, + "id": 75 + }, + { + "value": 0.0, + "id": 76 + }, + { + "value": 0.0, + "id": 77 + }, + { + "value": 0.0, + "id": 78 + }, + { + "value": 0.0, + "id": 79 + }, + { + "value": 1.0, + "id": 80 + }, + { + "value": 3.0, + "id": 81 + }, + { + "value": 5.0, + "id": 82 + }, + { + "value": 0.0, + "id": 83 + }, + { + "value": 1.0, + "id": 84 + }, + { + "value": 0.0, + "id": 85 + }, + { + "value": 2.0, + "id": 86 + } + ], + "leftModuleId": 8401101019084944, + "rightModuleId": 2177876768984755, + "data": { + "step": 4, + "node": 11, + "lastNode": 11, + "lastGate": 11, + "pathTraveled": [ + 0, + 2, + 4, + 7, + 11, + -1, + -1, + -1 + ] + }, + "pos": [ + 29, + 0 + ] + }, + { + "id": 2177876768984755, + "plugin": "Bogaudio", + "model": "Bogaudio-Mult", + "version": "2.0", + "params": [], + "leftModuleId": 6457225277964798, + "rightModuleId": 6815715252023104, + "data": {}, + "pos": [ + 61, + 0 + ] + }, + { + "id": 6815715252023104, + "plugin": "AudibleInstruments", + "model": "Braids", + "version": "2.0", + "params": [ + { + "value": 0.0, + "id": 0 + }, + { + "value": -1.0, + "id": 1 + }, + { + "value": 0.0, + "id": 2 + }, + { + "value": 0.5, + "id": 3 + }, + { + "value": 0.0, + "id": 4 + }, + { + "value": 0.5, + "id": 5 + }, + { + "value": 0.29036134481430054, + "id": 6 + } + ], + "leftModuleId": 2177876768984755, + "rightModuleId": 4223613076827292, + "data": { + "settings": [ + 13, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "lowCpu": false + }, + "pos": [ + 64, + 0 + ] + }, + { + "id": 3125880692782920, + "plugin": "Fundamental", + "model": "LFO", + "version": "2.0", + "params": [ + { + "value": 0.0, + "id": 0 + }, + { + "value": 0.0, + "id": 1 + }, + { + "value": -2.1228907108306885, + "id": 2 + }, + { + "value": 0.0, + "id": 3 + }, + { + "value": 0.0, + "id": 4 + }, + { + "value": 0.5, + "id": 5 + }, + { + "value": 0.0, + "id": 6 + } + ], + "rightModuleId": 687112602285230, + "pos": [ + 4, + 1 + ] + }, + { + "id": 687112602285230, + "plugin": "Fundamental", + "model": "Scope", + "version": "2.0", + "params": [ + { + "value": 0.0, + "id": 0 + }, + { + "value": 0.0, + "id": 1 + }, + { + "value": 0.0, + "id": 2 + }, + { + "value": 0.0, + "id": 3 + }, + { + "value": 1.0, + "id": 4 + }, + { + "value": 0.0, + "id": 5 + }, + { + "value": 0.0, + "id": 6 + }, + { + "value": 1.0, + "id": 7 + } + ], + "leftModuleId": 3125880692782920, + "rightModuleId": 4488994658119862, + "pos": [ + 13, + 1 + ] + }, + { + "id": 1613538496199230, + "plugin": "stocaudio", + "model": "Polydelay", + "version": "2.0", + "params": [ + { + "value": 0.5, + "id": 0 + }, + { + "value": 0.050666660070419312, + "id": 1 + }, + { + "value": 0.0, + "id": 2 + }, + { + "value": 0.0, + "id": 3 + }, + { + "value": 1.0, + "id": 4 + }, + { + "value": 0.24533355236053467, + "id": 5 + }, + { + "value": 0.0, + "id": 6 + }, + { + "value": 0.0, + "id": 7 + } + ], + "leftModuleId": 7195941555388282, + "pos": [ + 99, + -1 + ] + }, + { + "id": 4223613076827292, + "plugin": "mscHack", + "model": "Mix_4_0_4", + "version": "2.0", + "params": [ + { + "value": 0.56265157461166382, + "id": 0 + }, + { + "value": 0.87000149488449097, + "id": 1 + }, + { + "value": 0.43800094723701477, + "id": 2 + }, + { + "value": 0.0, + "id": 3 + }, + { + "value": 0.0, + "id": 4 + }, + { + "value": 1.0, + "id": 5 + }, + { + "value": 1.0, + "id": 6 + }, + { + "value": 1.0, + "id": 7 + }, + { + "value": 0.99800002574920654, + "id": 8 + }, + { + "value": 0.0, + "id": 9 + }, + { + "value": 0.0, + "id": 10 + }, + { + "value": 0.0, + "id": 11 + }, + { + "value": 0.0, + "id": 12 + }, + { + "value": 0.0, + "id": 13 + }, + { + "value": 0.0, + "id": 14 + }, + { + "value": 0.0, + "id": 15 + }, + { + "value": 0.0, + "id": 16 + }, + { + "value": 0.5, + "id": 17 + }, + { + "value": 0.5, + "id": 18 + }, + { + "value": 0.5, + "id": 19 + }, + { + "value": 0.5, + "id": 20 + }, + { + "value": 0.5, + "id": 21 + }, + { + "value": 0.5, + "id": 22 + }, + { + "value": 0.5, + "id": 23 + }, + { + "value": 0.68554204702377319, + "id": 24 + }, + { + "value": 0.5, + "id": 25 + }, + { + "value": 0.5, + "id": 26 + }, + { + "value": 0.5, + "id": 27 + }, + { + "value": 0.5, + "id": 28 + }, + { + "value": 0.5, + "id": 29 + }, + { + "value": 0.5, + "id": 30 + }, + { + "value": 0.5, + "id": 31 + }, + { + "value": 0.53373491764068604, + "id": 32 + }, + { + "value": 0.5, + "id": 33 + }, + { + "value": 0.5, + "id": 34 + }, + { + "value": 0.5, + "id": 35 + }, + { + "value": 0.5, + "id": 36 + }, + { + "value": 0.5, + "id": 37 + }, + { + "value": 0.5, + "id": 38 + }, + { + "value": 0.5, + "id": 39 + }, + { + "value": 0.32771077752113342, + "id": 40 + }, + { + "value": 0.92891669273376465, + "id": 41 + }, + { + "value": 0.88313132524490356, + "id": 42 + }, + { + "value": 0.0, + "id": 43 + }, + { + "value": 0.0, + "id": 44 + }, + { + "value": 0.72168684005737305, + "id": 45 + }, + { + "value": 0.86867374181747437, + "id": 46 + }, + { + "value": 0.85542160272598267, + "id": 47 + }, + { + "value": 0.83011990785598755, + "id": 48 + }, + { + "value": 0.0, + "id": 49 + }, + { + "value": 0.0, + "id": 50 + }, + { + "value": 0.0, + "id": 51 + }, + { + "value": 0.0, + "id": 52 + }, + { + "value": 0.0, + "id": 53 + }, + { + "value": 0.0, + "id": 54 + }, + { + "value": 0.0, + "id": 55 + }, + { + "value": 0.0, + "id": 56 + }, + { + "value": 0.65301191806793213, + "id": 57 + }, + { + "value": 1.0, + "id": 58 + }, + { + "value": 0.90843379497528076, + "id": 59 + }, + { + "value": 1.0, + "id": 60 + } + ], + "leftModuleId": 6815715252023104, + "rightModuleId": 4112825555132958, + "data": { + "m_bMuteStates": [ + false, + false, + false, + false, + false, + false, + false, + false + ], + "m_bSoloStates": [ + false, + false, + false, + false, + false, + false, + false, + false + ], + "m_bGroupPreMute": [ + true + ], + "m_bGainLevelx2": [ + false + ], + "m_bPreFader": [ + false, + false, + false, + false + ], + "m_bAuxIgnoreSolo": [ + false + ] + }, + "pos": [ + 80, + 0 + ] + }, + { + "id": 4706465147710920, + "plugin": "AudibleInstruments", + "model": "Clouds", + "version": "2.0", + "params": [ + { + "value": 0.0, + "id": 0 + }, + { + "value": 0.0, + "id": 1 + }, + { + "value": 0.0, + "id": 2 + }, + { + "value": 0.97042751312255859, + "id": 3 + }, + { + "value": 0.49198877811431885, + "id": 4 + }, + { + "value": -1.570360541343689, + "id": 5 + }, + { + "value": 0.35826081037521362, + "id": 6 + }, + { + "value": 0.69173765182495117, + "id": 7 + }, + { + "value": 0.93423271179199219, + "id": 8 + }, + { + "value": 0.53975981473922729, + "id": 9 + }, + { + "value": 0.7913019061088562, + "id": 10 + }, + { + "value": 0.43277645111083984, + "id": 11 + }, + { + "value": 0.037778515368700027, + "id": 12 + } + ], + "rightModuleId": 4195596968423719, + "data": { + "playback": 0, + "quality": 0, + "blendMode": 3 + }, + "pos": [ + 32, + -1 + ] + }, + { + "id": 7195941555388282, + "plugin": "ParableInstruments", + "model": "Neil", + "version": "2.0", + "params": [ + { + "value": 0.5, + "id": 0 + }, + { + "value": 0.74578297138214111, + "id": 1 + }, + { + "value": 0.0, + "id": 2 + }, + { + "value": 1.0, + "id": 3 + }, + { + "value": 0.74216651916503906, + "id": 4 + }, + { + "value": 0.67590349912643433, + "id": 5 + }, + { + "value": 0.69638544321060181, + "id": 6 + }, + { + "value": 0.72289144992828369, + "id": 7 + }, + { + "value": 0.69036132097244263, + "id": 8 + }, + { + "value": 0.89759010076522827, + "id": 9 + }, + { + "value": 0.0, + "id": 10 + }, + { + "value": 0.0, + "id": 11 + } + ], + "leftModuleId": 4195596968423719, + "rightModuleId": 1613538496199230, + "data": { + "playbackmode": 0, + "lofi": false, + "mono": false, + "freeze": false, + "buffersize": 1, + "reverse": 0 + }, + "pos": [ + 68, + -1 + ] + }, + { + "id": 4195596968423719, + "plugin": "AudibleInstruments", + "model": "Clouds", + "version": "2.0", + "params": [ + { + "value": 0.0, + "id": 0 + }, + { + "value": 0.0, + "id": 1 + }, + { + "value": 0.0, + "id": 2 + }, + { + "value": 0.74337387084960938, + "id": 3 + }, + { + "value": 0.93855434656143188, + "id": 4 + }, + { + "value": 0.0, + "id": 5 + }, + { + "value": 1.0, + "id": 6 + }, + { + "value": 0.96144688129425049, + "id": 7 + }, + { + "value": 0.93132662773132324, + "id": 8 + }, + { + "value": 0.63373452425003052, + "id": 9 + }, + { + "value": 0.38915622234344482, + "id": 10 + }, + { + "value": 0.36024093627929688, + "id": 11 + }, + { + "value": 0.41566285490989685, + "id": 12 + } + ], + "leftModuleId": 4706465147710920, + "rightModuleId": 7195941555388282, + "data": { + "playback": 0, + "quality": 0, + "blendMode": 0 + }, + "pos": [ + 50, + -1 + ] + }, + { + "id": 4112825555132958, + "plugin": "Cardinal", + "model": "HostAudio2", + "version": "2.0", + "params": [ + { + "value": 1.0, + "id": 0 + } + ], + "leftModuleId": 4223613076827292, + "data": { + "dcFilter": true + }, + "pos": [ + 100, + 0 + ] + } + ], + "cables": [ + { + "id": 1737632974552185, + "outputModuleId": 3963843809374158, + "outputId": 2, + "inputModuleId": 8231395416803978, + "inputId": 0, + "color": "#527dff" + }, + { + "id": 4651216152544086, + "outputModuleId": 3963843809374158, + "outputId": 4, + "inputModuleId": 8231395416803978, + "inputId": 1, + "color": "#a852ff" + }, + { + "id": 2631164562212760, + "outputModuleId": 4223613076827292, + "outputId": 0, + "inputModuleId": 4112825555132958, + "inputId": 0, + "color": "#e952ff" + }, + { + "id": 7856593858560804, + "outputModuleId": 4223613076827292, + "outputId": 1, + "inputModuleId": 4112825555132958, + "inputId": 1, + "color": "#ff52d4" + }, + { + "id": 3058453933209471, + "outputModuleId": 4195596968423719, + "outputId": 0, + "inputModuleId": 4223613076827292, + "inputId": 4, + "color": "#52beff" + }, + { + "id": 738172398032874, + "outputModuleId": 4195596968423719, + "outputId": 1, + "inputModuleId": 4223613076827292, + "inputId": 12, + "color": "#527dff" + }, + { + "id": 4647729779146190, + "outputModuleId": 4223613076827292, + "outputId": 2, + "inputModuleId": 4195596968423719, + "inputId": 6, + "color": "#6752ff" + }, + { + "id": 1569159119929211, + "outputModuleId": 4223613076827292, + "outputId": 6, + "inputModuleId": 4195596968423719, + "inputId": 7, + "color": "#a852ff" + }, + { + "id": 835155137538407, + "outputModuleId": 6815715252023104, + "outputId": 0, + "inputModuleId": 4223613076827292, + "inputId": 0, + "color": "#ffd452" + }, + { + "id": 7923878216598081, + "outputModuleId": 6457225277964798, + "outputId": 36, + "inputModuleId": 2177876768984755, + "inputId": 0, + "color": "#e952ff" + }, + { + "id": 6449624397526304, + "outputModuleId": 2177876768984755, + "outputId": 0, + "inputModuleId": 6815715252023104, + "inputId": 1, + "color": "#ffd452" + }, + { + "id": 1565179834364724, + "outputModuleId": 7195941555388282, + "outputId": 0, + "inputModuleId": 4223613076827292, + "inputId": 5, + "color": "#a8ff52" + }, + { + "id": 1679088434531215, + "outputModuleId": 7195941555388282, + "outputId": 1, + "inputModuleId": 4223613076827292, + "inputId": 13, + "color": "#67ff52" + }, + { + "id": 2417475228330684, + "outputModuleId": 4223613076827292, + "outputId": 3, + "inputModuleId": 7195941555388282, + "inputId": 9, + "color": "#52ff7d" + }, + { + "id": 49102553289391, + "outputModuleId": 4223613076827292, + "outputId": 7, + "inputModuleId": 7195941555388282, + "inputId": 10, + "color": "#52ffbe" + }, + { + "id": 2782310593200760, + "outputModuleId": 2177876768984755, + "outputId": 1, + "inputModuleId": 7195941555388282, + "inputId": 4, + "color": "#52ffff" + }, + { + "id": 7537172819853304, + "outputModuleId": 6457225277964798, + "outputId": 37, + "inputModuleId": 6815715252023104, + "inputId": 0, + "color": "#52beff" + }, + { + "id": 1202463958825698, + "outputModuleId": 8231395416803978, + "outputId": 3, + "inputModuleId": 6457225277964798, + "inputId": 2, + "color": "#527dff" + }, + { + "id": 5841327569860677, + "outputModuleId": 4488994658119862, + "outputId": 36, + "inputModuleId": 5328912255895118, + "inputId": 0, + "color": "#e952ff" + }, + { + "id": 8807073842317602, + "outputModuleId": 5328912255895118, + "outputId": 1, + "inputModuleId": 4706465147710920, + "inputId": 4, + "color": "#a8ff52" + }, + { + "id": 805252248668354, + "outputModuleId": 7510407318957287, + "outputId": 3, + "inputModuleId": 1862980889020017, + "inputId": 2, + "color": "#67ff52" + }, + { + "id": 8007460391870293, + "outputModuleId": 5866320402390628, + "outputId": 0, + "inputModuleId": 1862980889020017, + "inputId": 1, + "color": "#52ffbe" + }, + { + "id": 5516878996793388, + "outputModuleId": 4488994658119862, + "outputId": 37, + "inputModuleId": 5328912255895118, + "inputId": 1, + "color": "#52ffff" + }, + { + "id": 4709500155141215, + "outputModuleId": 4706465147710920, + "outputId": 1, + "inputModuleId": 4223613076827292, + "inputId": 14, + "color": "#e8ff52" + }, + { + "id": 5444801490875727, + "outputModuleId": 4706465147710920, + "outputId": 0, + "inputModuleId": 4223613076827292, + "inputId": 6, + "color": "#ffd452" + }, + { + "id": 986620589227638, + "outputModuleId": 1862980889020017, + "outputId": 0, + "inputModuleId": 4223613076827292, + "inputId": 1, + "color": "#52ff7d" + }, + { + "id": 7794798684989949, + "outputModuleId": 4223613076827292, + "outputId": 4, + "inputModuleId": 4706465147710920, + "inputId": 6, + "color": "#527dff" + }, + { + "id": 7383318766314512, + "outputModuleId": 4223613076827292, + "outputId": 8, + "inputModuleId": 4706465147710920, + "inputId": 7, + "color": "#6752ff" + }, + { + "id": 5652959298703947, + "outputModuleId": 1613538496199230, + "outputId": 0, + "inputModuleId": 4223613076827292, + "inputId": 7, + "color": "#e952ff" + }, + { + "id": 6492618964232031, + "outputModuleId": 1613538496199230, + "outputId": 1, + "inputModuleId": 4223613076827292, + "inputId": 15, + "color": "#ff52d4" + }, + { + "id": 6602325143075219, + "outputModuleId": 4223613076827292, + "outputId": 5, + "inputModuleId": 1613538496199230, + "inputId": 0, + "color": "#ff5293" + }, + { + "id": 8055811355984514, + "outputModuleId": 4223613076827292, + "outputId": 9, + "inputModuleId": 1613538496199230, + "inputId": 1, + "color": "#ff5252" + }, + { + "id": 1788086222196074, + "outputModuleId": 687112602285230, + "outputId": 0, + "inputModuleId": 1613538496199230, + "inputId": 2, + "color": "#67ff52" + }, + { + "id": 4048027445325540, + "outputModuleId": 8231395416803978, + "outputId": 1, + "inputModuleId": 3125880692782920, + "inputId": 4, + "color": "#ffd452" + }, + { + "id": 4588085510110331, + "outputModuleId": 3125880692782920, + "outputId": 0, + "inputModuleId": 687112602285230, + "inputId": 0, + "color": "#52ff7d" + }, + { + "id": 4028540605490750, + "outputModuleId": 8401101019084944, + "outputId": 1, + "inputModuleId": 6457225277964798, + "inputId": 3, + "color": "#a852ff" + }, + { + "id": 2665292229194811, + "outputModuleId": 5328912255895118, + "outputId": 0, + "inputModuleId": 7510407318957287, + "inputId": 0, + "color": "#6752ff" + }, + { + "id": 1940135207674808, + "outputModuleId": 3963843809374158, + "outputId": 2, + "inputModuleId": 4576969143779329, + "inputId": 0, + "color": "#67ff52" + }, + { + "id": 984501014684268, + "outputModuleId": 5328912255895118, + "outputId": 3, + "inputModuleId": 5866320402390628, + "inputId": 0, + "color": "#52ffbe" + }, + { + "id": 8172180805555003, + "outputModuleId": 8231395416803978, + "outputId": 4, + "inputModuleId": 4488994658119862, + "inputId": 2, + "color": "#52ffff" + } + ] +} diff --git a/patches/examples/nooneknowspeter_-_Xmas.vcv b/patches/examples/nooneknowspeter_-_Xmas.vcv new file mode 100644 index 0000000..01fcc76 --- /dev/null +++ b/patches/examples/nooneknowspeter_-_Xmas.vcv @@ -0,0 +1,3631 @@ +{ + "version": "2.4.1", + "zoom": 0.42044827342033386, + "gridOffset": [ + -62.799350738525391, + -1.9729030132293701 + ], + "modules": [ + { + "id": 2159047972516498, + "plugin": "ImpromptuModular", + "model": "Clocked-Clkd", + "version": "2.0", + "params": [ + { + "value": 0.0, + "id": 0 + }, + { + "value": 0.0, + "id": 1 + }, + { + "value": 2.0, + "id": 2 + }, + { + "value": 151.0, + "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 + }, + { + "value": 0.0, + "id": 9 + } + ], + "leftModuleId": 4187213689217722, + "rightModuleId": 3830846223236507, + "data": { + "panelTheme": 1, + "panelContrast": 220.0, + "running": true, + "bpmDetectionMode": false, + "resetOnStartStop": 0, + "ppqn": 4, + "resetClockOutputsHigh": true, + "momentaryRunInput": true, + "forceCvOnBpmOut": false, + "displayIndex": 0, + "trigOuts": [ + false, + false, + false, + false + ], + "clockMaster": -1 + }, + "pos": [ + -52, + 0 + ] + }, + { + "id": 4187213689217722, + "plugin": "Bogaudio", + "model": "Bogaudio-Mult", + "version": "2.0", + "params": [], + "rightModuleId": 2159047972516498, + "data": {}, + "pos": [ + -55, + 0 + ] + }, + { + "id": 3830846223236507, + "plugin": "Bogaudio", + "model": "Bogaudio-Mult", + "version": "2.0", + "params": [], + "leftModuleId": 2159047972516498, + "rightModuleId": 5622494419825952, + "data": {}, + "pos": [ + -42, + 0 + ] + }, + { + "id": 5588781388402853, + "plugin": "Bogaudio", + "model": "Bogaudio-ADSR", + "version": "2.0", + "params": [ + { + "value": 0.10286685824394226, + "id": 0 + }, + { + "value": 0.31622999906539917, + "id": 1 + }, + { + "value": 1.0, + "id": 2 + }, + { + "value": 0.31622999906539917, + "id": 3 + }, + { + "value": 0.0, + "id": 4 + } + ], + "leftModuleId": 6485270196416882, + "rightModuleId": 1170574363078075, + "data": { + "invert": 1.0 + }, + "pos": [ + 46, + 0 + ] + }, + { + "id": 7382001000905062, + "plugin": "Bogaudio", + "model": "Bogaudio-ADSR", + "version": "2.0", + "params": [ + { + "value": 0.14142100512981415, + "id": 0 + }, + { + "value": 0.31622999906539917, + "id": 1 + }, + { + "value": 1.0, + "id": 2 + }, + { + "value": 0.31622999906539917, + "id": 3 + }, + { + "value": 0.0, + "id": 4 + } + ], + "leftModuleId": 1305145125414192, + "rightModuleId": 438885941898769, + "data": { + "invert": 1.0 + }, + "pos": [ + 18, + 0 + ] + }, + { + "id": 2278749660885397, + "plugin": "Bogaudio", + "model": "Bogaudio-ADSR", + "version": "2.0", + "params": [ + { + "value": 0.14142100512981415, + "id": 0 + }, + { + "value": 0.31622999906539917, + "id": 1 + }, + { + "value": 1.0, + "id": 2 + }, + { + "value": 0.31622999906539917, + "id": 3 + }, + { + "value": 0.0, + "id": 4 + } + ], + "leftModuleId": 998069146105942, + "rightModuleId": 6529439116344665, + "data": { + "invert": 1.0 + }, + "pos": [ + 32, + 0 + ] + }, + { + "id": 413123163252880, + "plugin": "Bogaudio", + "model": "Bogaudio-ADSR", + "version": "2.0", + "params": [ + { + "value": 0.17274630069732666, + "id": 0 + }, + { + "value": 0.31622999906539917, + "id": 1 + }, + { + "value": 1.0, + "id": 2 + }, + { + "value": 0.31622999906539917, + "id": 3 + }, + { + "value": 0.0, + "id": 4 + } + ], + "leftModuleId": 8554745767661414, + "rightModuleId": 3745062635142253, + "data": { + "invert": 1.0 + }, + "pos": [ + 1, + 0 + ] + }, + { + "id": 6766853921521776, + "plugin": "AriaSalvatrice", + "model": "Quack", + "version": "2.0", + "params": [ + { + "value": 0.0, + "id": 0 + }, + { + "value": 1.0, + "id": 1 + }, + { + "value": 0.0, + "id": 2 + }, + { + "value": 0.0, + "id": 3 + }, + { + "value": 1.0, + "id": 4 + }, + { + "value": 0.0, + "id": 5 + }, + { + "value": 1.0, + "id": 6 + }, + { + "value": 0.0, + "id": 7 + }, + { + "value": 1.0, + "id": 8 + }, + { + "value": 0.0, + "id": 9 + }, + { + "value": 0.0, + "id": 10 + }, + { + "value": 1.0, + "id": 11 + }, + { + "value": 100.0, + "id": 12 + }, + { + "value": 100.0, + "id": 13 + }, + { + "value": 100.0, + "id": 14 + }, + { + "value": 100.0, + "id": 15 + }, + { + "value": 0.0, + "id": 16 + }, + { + "value": 0.0, + "id": 17 + }, + { + "value": 0.0, + "id": 18 + }, + { + "value": 0.0, + "id": 19 + }, + { + "value": 0.0, + "id": 20 + }, + { + "value": 0.0, + "id": 21 + }, + { + "value": 0.0, + "id": 22 + }, + { + "value": 0.0, + "id": 23 + }, + { + "value": 0.0, + "id": 24 + }, + { + "value": 0.0, + "id": 25 + }, + { + "value": 0.0, + "id": 26 + }, + { + "value": 0.0, + "id": 27 + }, + { + "value": 0.0, + "id": 28 + }, + { + "value": 0.0, + "id": 29 + }, + { + "value": 0.0, + "id": 30 + }, + { + "value": 0.0, + "id": 31 + }, + { + "value": 1.0, + "id": 32 + }, + { + "value": 0.0, + "id": 33 + }, + { + "value": 0.0, + "id": 34 + }, + { + "value": 0.0, + "id": 35 + }, + { + "value": 1.0, + "id": 36 + }, + { + "value": 0.0, + "id": 37 + }, + { + "value": 0.0, + "id": 38 + }, + { + "value": 0.0, + "id": 39 + }, + { + "value": 0.0, + "id": 40 + }, + { + "value": 0.0, + "id": 41 + }, + { + "value": 0.0, + "id": 42 + }, + { + "value": 0.0, + "id": 43 + }, + { + "value": 0.0, + "id": 44 + }, + { + "value": 0.0, + "id": 45 + }, + { + "value": 0.0, + "id": 46 + }, + { + "value": 0.0, + "id": 47 + }, + { + "value": 0.0, + "id": 48 + }, + { + "value": 0.0, + "id": 49 + }, + { + "value": 0.0, + "id": 50 + }, + { + "value": 0.0, + "id": 51 + }, + { + "value": 4.0, + "id": 52 + }, + { + "value": 5.0, + "id": 53 + }, + { + "value": 0.0, + "id": 54 + } + ], + "rightModuleId": 4757927610032130, + "data": { + "sceneTrigSelection": false, + "scene": 0, + "scenes": [ + [ + false, + true, + false, + false, + true, + false, + true, + false, + true, + false, + false, + true + ], + [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ] + ] + }, + "pos": [ + -50, + -1 + ] + }, + { + "id": 4757927610032130, + "plugin": "Bogaudio", + "model": "Bogaudio-Mult", + "version": "2.0", + "params": [], + "leftModuleId": 6766853921521776, + "rightModuleId": 4881975851057372, + "data": {}, + "pos": [ + -43, + -1 + ] + }, + { + "id": 5622494419825952, + "plugin": "AriaSalvatrice", + "model": "Darius", + "version": "2.0", + "params": [ + { + "value": 5.7326288223266602, + "id": 0 + }, + { + "value": 1.2162555456161499, + "id": 1 + }, + { + "value": 8.3106145858764648, + "id": 2 + }, + { + "value": 2.7549829483032227, + "id": 3 + }, + { + "value": 1.6300861835479736, + "id": 4 + }, + { + "value": 0.91675013303756714, + "id": 5 + }, + { + "value": 3.9831564426422119, + "id": 6 + }, + { + "value": 8.9421091079711914, + "id": 7 + }, + { + "value": 8.2793073654174805, + "id": 8 + }, + { + "value": 5.8733129501342773, + "id": 9 + }, + { + "value": 1.7882294654846191, + "id": 10 + }, + { + "value": 2.6813724040985107, + "id": 11 + }, + { + "value": 4.2679920196533203, + "id": 12 + }, + { + "value": 6.4848566055297852, + "id": 13 + }, + { + "value": 5.3372011184692383, + "id": 14 + }, + { + "value": 5.7527809143066406, + "id": 15 + }, + { + "value": 1.8975667953491211, + "id": 16 + }, + { + "value": 5.119206428527832, + "id": 17 + }, + { + "value": 7.4633817672729492, + "id": 18 + }, + { + "value": 7.3897285461425781, + "id": 19 + }, + { + "value": 0.11451608687639236, + "id": 20 + }, + { + "value": 6.0726122856140137, + "id": 21 + }, + { + "value": 1.6985502243041992, + "id": 22 + }, + { + "value": 7.9478974342346191, + "id": 23 + }, + { + "value": 9.0303964614868164, + "id": 24 + }, + { + "value": 6.8020820617675781, + "id": 25 + }, + { + "value": 4.086698055267334, + "id": 26 + }, + { + "value": 8.1851844787597656, + "id": 27 + }, + { + "value": 6.3494329452514648, + "id": 28 + }, + { + "value": 4.6584978103637695, + "id": 29 + }, + { + "value": 2.6089012622833252, + "id": 30 + }, + { + "value": 5.6259002685546875, + "id": 31 + }, + { + "value": 6.4349942207336426, + "id": 32 + }, + { + "value": 6.5766806602478027, + "id": 33 + }, + { + "value": 2.8860161304473877, + "id": 34 + }, + { + "value": 9.8916788101196289, + "id": 35 + }, + { + "value": 0.5, + "id": 36 + }, + { + "value": 0.5, + "id": 37 + }, + { + "value": 0.5, + "id": 38 + }, + { + "value": 0.5, + "id": 39 + }, + { + "value": 0.5, + "id": 40 + }, + { + "value": 0.5, + "id": 41 + }, + { + "value": 0.5, + "id": 42 + }, + { + "value": 0.5, + "id": 43 + }, + { + "value": 0.5, + "id": 44 + }, + { + "value": 0.5, + "id": 45 + }, + { + "value": 0.5, + "id": 46 + }, + { + "value": 0.5, + "id": 47 + }, + { + "value": 0.5, + "id": 48 + }, + { + "value": 0.5, + "id": 49 + }, + { + "value": 0.5, + "id": 50 + }, + { + "value": 0.5, + "id": 51 + }, + { + "value": 0.5, + "id": 52 + }, + { + "value": 0.5, + "id": 53 + }, + { + "value": 0.5, + "id": 54 + }, + { + "value": 0.5, + "id": 55 + }, + { + "value": 0.5, + "id": 56 + }, + { + "value": 0.5, + "id": 57 + }, + { + "value": 0.5, + "id": 58 + }, + { + "value": 0.5, + "id": 59 + }, + { + "value": 0.5, + "id": 60 + }, + { + "value": 0.5, + "id": 61 + }, + { + "value": 0.5, + "id": 62 + }, + { + "value": 0.5, + "id": 63 + }, + { + "value": 0.5, + "id": 64 + }, + { + "value": 0.5, + "id": 65 + }, + { + "value": 0.5, + "id": 66 + }, + { + "value": 0.5, + "id": 67 + }, + { + "value": 0.5, + "id": 68 + }, + { + "value": 0.5, + "id": 69 + }, + { + "value": 0.5, + "id": 70 + }, + { + "value": 0.5, + "id": 71 + }, + { + "value": 0.0, + "id": 72 + }, + { + "value": 1.0, + "id": 73 + }, + { + "value": 0.0, + "id": 74 + }, + { + "value": 8.0, + "id": 75 + }, + { + "value": 0.0, + "id": 76 + }, + { + "value": 0.0, + "id": 77 + }, + { + "value": 0.0, + "id": 78 + }, + { + "value": 0.0, + "id": 79 + }, + { + "value": 1.0, + "id": 80 + }, + { + "value": 3.0, + "id": 81 + }, + { + "value": 5.0, + "id": 82 + }, + { + "value": 0.0, + "id": 83 + }, + { + "value": 1.0, + "id": 84 + }, + { + "value": 0.0, + "id": 85 + }, + { + "value": 2.0, + "id": 86 + } + ], + "leftModuleId": 3830846223236507, + "rightModuleId": 8554745767661414, + "data": { + "step": 5, + "node": 16, + "lastNode": 16, + "lastGate": 16, + "pathTraveled": [ + 0, + 1, + 3, + 7, + 11, + 16, + -1, + -1 + ] + }, + "pos": [ + -39, + 0 + ] + }, + { + "id": 8554745767661414, + "plugin": "21kHz", + "model": "kHzPalmLoop", + "version": "2.0", + "params": [ + { + "value": 9.0, + "id": 0 + }, + { + "value": 0.0, + "id": 1 + }, + { + "value": 0.0, + "id": 2 + }, + { + "value": 0.0, + "id": 3 + }, + { + "value": 0.0, + "id": 4 + } + ], + "leftModuleId": 5622494419825952, + "rightModuleId": 413123163252880, + "pos": [ + -7, + 0 + ] + }, + { + "id": 3745062635142253, + "plugin": "Bogaudio", + "model": "Bogaudio-Mix1", + "version": "2.0", + "params": [ + { + "value": 0.88509106636047363, + "id": 0 + }, + { + "value": 0.0, + "id": 1 + } + ], + "leftModuleId": 413123163252880, + "rightModuleId": 6814437816954201, + "data": { + "linear_cv": false + }, + "pos": [ + 4, + 0 + ] + }, + { + "id": 4881975851057372, + "plugin": "AriaSalvatrice", + "model": "Darius", + "version": "2.0", + "params": [ + { + "value": 5.7326288223266602, + "id": 0 + }, + { + "value": 1.2162555456161499, + "id": 1 + }, + { + "value": 8.3106145858764648, + "id": 2 + }, + { + "value": 2.7549829483032227, + "id": 3 + }, + { + "value": 1.6300861835479736, + "id": 4 + }, + { + "value": 0.91675013303756714, + "id": 5 + }, + { + "value": 3.9831564426422119, + "id": 6 + }, + { + "value": 8.9421091079711914, + "id": 7 + }, + { + "value": 8.2793073654174805, + "id": 8 + }, + { + "value": 5.8733129501342773, + "id": 9 + }, + { + "value": 1.7882294654846191, + "id": 10 + }, + { + "value": 2.6813724040985107, + "id": 11 + }, + { + "value": 4.2679920196533203, + "id": 12 + }, + { + "value": 6.4848566055297852, + "id": 13 + }, + { + "value": 5.3372011184692383, + "id": 14 + }, + { + "value": 5.7527809143066406, + "id": 15 + }, + { + "value": 1.8975667953491211, + "id": 16 + }, + { + "value": 5.119206428527832, + "id": 17 + }, + { + "value": 7.4633817672729492, + "id": 18 + }, + { + "value": 7.3897285461425781, + "id": 19 + }, + { + "value": 0.11451608687639236, + "id": 20 + }, + { + "value": 6.0726122856140137, + "id": 21 + }, + { + "value": 1.6985502243041992, + "id": 22 + }, + { + "value": 7.9478974342346191, + "id": 23 + }, + { + "value": 9.0303964614868164, + "id": 24 + }, + { + "value": 6.8020820617675781, + "id": 25 + }, + { + "value": 4.086698055267334, + "id": 26 + }, + { + "value": 8.1851844787597656, + "id": 27 + }, + { + "value": 6.3494329452514648, + "id": 28 + }, + { + "value": 4.6584978103637695, + "id": 29 + }, + { + "value": 2.6089012622833252, + "id": 30 + }, + { + "value": 5.6259002685546875, + "id": 31 + }, + { + "value": 6.4349942207336426, + "id": 32 + }, + { + "value": 6.5766806602478027, + "id": 33 + }, + { + "value": 2.8860161304473877, + "id": 34 + }, + { + "value": 9.8916788101196289, + "id": 35 + }, + { + "value": 0.5, + "id": 36 + }, + { + "value": 0.5, + "id": 37 + }, + { + "value": 0.5, + "id": 38 + }, + { + "value": 0.5, + "id": 39 + }, + { + "value": 0.5, + "id": 40 + }, + { + "value": 0.5, + "id": 41 + }, + { + "value": 0.5, + "id": 42 + }, + { + "value": 0.5, + "id": 43 + }, + { + "value": 0.5, + "id": 44 + }, + { + "value": 0.5, + "id": 45 + }, + { + "value": 0.5, + "id": 46 + }, + { + "value": 0.5, + "id": 47 + }, + { + "value": 0.5, + "id": 48 + }, + { + "value": 0.5, + "id": 49 + }, + { + "value": 0.5, + "id": 50 + }, + { + "value": 0.5, + "id": 51 + }, + { + "value": 0.5, + "id": 52 + }, + { + "value": 0.5, + "id": 53 + }, + { + "value": 0.5, + "id": 54 + }, + { + "value": 0.5, + "id": 55 + }, + { + "value": 0.5, + "id": 56 + }, + { + "value": 0.5, + "id": 57 + }, + { + "value": 0.5, + "id": 58 + }, + { + "value": 0.5, + "id": 59 + }, + { + "value": 0.5, + "id": 60 + }, + { + "value": 0.5, + "id": 61 + }, + { + "value": 0.5, + "id": 62 + }, + { + "value": 0.5, + "id": 63 + }, + { + "value": 0.5, + "id": 64 + }, + { + "value": 0.5, + "id": 65 + }, + { + "value": 0.5, + "id": 66 + }, + { + "value": 0.5, + "id": 67 + }, + { + "value": 0.5, + "id": 68 + }, + { + "value": 0.5, + "id": 69 + }, + { + "value": 0.5, + "id": 70 + }, + { + "value": 0.5, + "id": 71 + }, + { + "value": 0.0, + "id": 72 + }, + { + "value": 1.0, + "id": 73 + }, + { + "value": 0.0, + "id": 74 + }, + { + "value": 8.0, + "id": 75 + }, + { + "value": 0.0, + "id": 76 + }, + { + "value": 0.0, + "id": 77 + }, + { + "value": 0.0, + "id": 78 + }, + { + "value": 0.0, + "id": 79 + }, + { + "value": 1.0, + "id": 80 + }, + { + "value": 3.0, + "id": 81 + }, + { + "value": 5.0, + "id": 82 + }, + { + "value": 0.0, + "id": 83 + }, + { + "value": 1.0, + "id": 84 + }, + { + "value": 0.0, + "id": 85 + }, + { + "value": 2.0, + "id": 86 + } + ], + "leftModuleId": 4757927610032130, + "rightModuleId": 4527978366762434, + "data": { + "step": 5, + "node": 18, + "lastNode": 18, + "lastGate": 18, + "pathTraveled": [ + 0, + 2, + 5, + 8, + 13, + 18, + -1, + -1 + ] + }, + "pos": [ + -40, + -1 + ] + }, + { + "id": 4527978366762434, + "plugin": "AriaSalvatrice", + "model": "Darius", + "version": "2.0", + "params": [ + { + "value": 5.7326288223266602, + "id": 0 + }, + { + "value": 1.2162555456161499, + "id": 1 + }, + { + "value": 8.3106145858764648, + "id": 2 + }, + { + "value": 2.7549829483032227, + "id": 3 + }, + { + "value": 1.6300861835479736, + "id": 4 + }, + { + "value": 0.91675013303756714, + "id": 5 + }, + { + "value": 3.9831564426422119, + "id": 6 + }, + { + "value": 8.9421091079711914, + "id": 7 + }, + { + "value": 8.2793073654174805, + "id": 8 + }, + { + "value": 5.8733129501342773, + "id": 9 + }, + { + "value": 1.7882294654846191, + "id": 10 + }, + { + "value": 2.6813724040985107, + "id": 11 + }, + { + "value": 4.2679920196533203, + "id": 12 + }, + { + "value": 6.4848566055297852, + "id": 13 + }, + { + "value": 5.3372011184692383, + "id": 14 + }, + { + "value": 5.7527809143066406, + "id": 15 + }, + { + "value": 1.8975667953491211, + "id": 16 + }, + { + "value": 5.119206428527832, + "id": 17 + }, + { + "value": 7.4633817672729492, + "id": 18 + }, + { + "value": 7.3897285461425781, + "id": 19 + }, + { + "value": 0.11451608687639236, + "id": 20 + }, + { + "value": 6.0726122856140137, + "id": 21 + }, + { + "value": 1.6985502243041992, + "id": 22 + }, + { + "value": 7.9478974342346191, + "id": 23 + }, + { + "value": 9.0303964614868164, + "id": 24 + }, + { + "value": 6.8020820617675781, + "id": 25 + }, + { + "value": 4.086698055267334, + "id": 26 + }, + { + "value": 8.1851844787597656, + "id": 27 + }, + { + "value": 6.3494329452514648, + "id": 28 + }, + { + "value": 4.6584978103637695, + "id": 29 + }, + { + "value": 2.6089012622833252, + "id": 30 + }, + { + "value": 5.6259002685546875, + "id": 31 + }, + { + "value": 6.4349942207336426, + "id": 32 + }, + { + "value": 6.5766806602478027, + "id": 33 + }, + { + "value": 2.8860161304473877, + "id": 34 + }, + { + "value": 9.8916788101196289, + "id": 35 + }, + { + "value": 0.5, + "id": 36 + }, + { + "value": 0.5, + "id": 37 + }, + { + "value": 0.5, + "id": 38 + }, + { + "value": 0.5, + "id": 39 + }, + { + "value": 0.5, + "id": 40 + }, + { + "value": 0.5, + "id": 41 + }, + { + "value": 0.5, + "id": 42 + }, + { + "value": 0.5, + "id": 43 + }, + { + "value": 0.5, + "id": 44 + }, + { + "value": 0.5, + "id": 45 + }, + { + "value": 0.5, + "id": 46 + }, + { + "value": 0.5, + "id": 47 + }, + { + "value": 0.5, + "id": 48 + }, + { + "value": 0.5, + "id": 49 + }, + { + "value": 0.5, + "id": 50 + }, + { + "value": 0.5, + "id": 51 + }, + { + "value": 0.5, + "id": 52 + }, + { + "value": 0.5, + "id": 53 + }, + { + "value": 0.5, + "id": 54 + }, + { + "value": 0.5, + "id": 55 + }, + { + "value": 0.5, + "id": 56 + }, + { + "value": 0.5, + "id": 57 + }, + { + "value": 0.5, + "id": 58 + }, + { + "value": 0.5, + "id": 59 + }, + { + "value": 0.5, + "id": 60 + }, + { + "value": 0.5, + "id": 61 + }, + { + "value": 0.5, + "id": 62 + }, + { + "value": 0.5, + "id": 63 + }, + { + "value": 0.5, + "id": 64 + }, + { + "value": 0.5, + "id": 65 + }, + { + "value": 0.5, + "id": 66 + }, + { + "value": 0.5, + "id": 67 + }, + { + "value": 0.5, + "id": 68 + }, + { + "value": 0.5, + "id": 69 + }, + { + "value": 0.5, + "id": 70 + }, + { + "value": 0.5, + "id": 71 + }, + { + "value": 0.0, + "id": 72 + }, + { + "value": 1.0, + "id": 73 + }, + { + "value": 0.0, + "id": 74 + }, + { + "value": 8.0, + "id": 75 + }, + { + "value": 0.0, + "id": 76 + }, + { + "value": 0.0, + "id": 77 + }, + { + "value": 0.0, + "id": 78 + }, + { + "value": 0.0, + "id": 79 + }, + { + "value": 1.0, + "id": 80 + }, + { + "value": 3.0, + "id": 81 + }, + { + "value": 5.0, + "id": 82 + }, + { + "value": 0.0, + "id": 83 + }, + { + "value": 1.0, + "id": 84 + }, + { + "value": 0.0, + "id": 85 + }, + { + "value": 2.0, + "id": 86 + } + ], + "leftModuleId": 4881975851057372, + "rightModuleId": 1135374743729970, + "data": { + "step": 5, + "node": 20, + "lastNode": 20, + "lastGate": 20, + "pathTraveled": [ + 0, + 2, + 5, + 9, + 14, + 20, + -1, + -1 + ] + }, + "pos": [ + -8, + -1 + ] + }, + { + "id": 1135374743729970, + "plugin": "AriaSalvatrice", + "model": "Darius", + "version": "2.0", + "params": [ + { + "value": 5.7326288223266602, + "id": 0 + }, + { + "value": 1.2162555456161499, + "id": 1 + }, + { + "value": 8.3106145858764648, + "id": 2 + }, + { + "value": 2.7549829483032227, + "id": 3 + }, + { + "value": 1.6300861835479736, + "id": 4 + }, + { + "value": 0.91675013303756714, + "id": 5 + }, + { + "value": 3.9831564426422119, + "id": 6 + }, + { + "value": 8.9421091079711914, + "id": 7 + }, + { + "value": 8.2793073654174805, + "id": 8 + }, + { + "value": 5.8733129501342773, + "id": 9 + }, + { + "value": 1.7882294654846191, + "id": 10 + }, + { + "value": 2.6813724040985107, + "id": 11 + }, + { + "value": 4.2679920196533203, + "id": 12 + }, + { + "value": 6.4848566055297852, + "id": 13 + }, + { + "value": 5.3372011184692383, + "id": 14 + }, + { + "value": 5.7527809143066406, + "id": 15 + }, + { + "value": 1.8975667953491211, + "id": 16 + }, + { + "value": 5.119206428527832, + "id": 17 + }, + { + "value": 7.4633817672729492, + "id": 18 + }, + { + "value": 7.3897285461425781, + "id": 19 + }, + { + "value": 0.11451608687639236, + "id": 20 + }, + { + "value": 6.0726122856140137, + "id": 21 + }, + { + "value": 1.6985502243041992, + "id": 22 + }, + { + "value": 7.9478974342346191, + "id": 23 + }, + { + "value": 9.0303964614868164, + "id": 24 + }, + { + "value": 6.8020820617675781, + "id": 25 + }, + { + "value": 4.086698055267334, + "id": 26 + }, + { + "value": 8.1851844787597656, + "id": 27 + }, + { + "value": 6.3494329452514648, + "id": 28 + }, + { + "value": 4.6584978103637695, + "id": 29 + }, + { + "value": 2.6089012622833252, + "id": 30 + }, + { + "value": 5.6259002685546875, + "id": 31 + }, + { + "value": 6.4349942207336426, + "id": 32 + }, + { + "value": 6.5766806602478027, + "id": 33 + }, + { + "value": 2.8860161304473877, + "id": 34 + }, + { + "value": 9.8916788101196289, + "id": 35 + }, + { + "value": 0.5, + "id": 36 + }, + { + "value": 0.5, + "id": 37 + }, + { + "value": 0.5, + "id": 38 + }, + { + "value": 0.5, + "id": 39 + }, + { + "value": 0.5, + "id": 40 + }, + { + "value": 0.5, + "id": 41 + }, + { + "value": 0.5, + "id": 42 + }, + { + "value": 0.5, + "id": 43 + }, + { + "value": 0.5, + "id": 44 + }, + { + "value": 0.5, + "id": 45 + }, + { + "value": 0.5, + "id": 46 + }, + { + "value": 0.5, + "id": 47 + }, + { + "value": 0.5, + "id": 48 + }, + { + "value": 0.5, + "id": 49 + }, + { + "value": 0.5, + "id": 50 + }, + { + "value": 0.5, + "id": 51 + }, + { + "value": 0.5, + "id": 52 + }, + { + "value": 0.5, + "id": 53 + }, + { + "value": 0.5, + "id": 54 + }, + { + "value": 0.5, + "id": 55 + }, + { + "value": 0.5, + "id": 56 + }, + { + "value": 0.5, + "id": 57 + }, + { + "value": 0.5, + "id": 58 + }, + { + "value": 0.5, + "id": 59 + }, + { + "value": 0.5, + "id": 60 + }, + { + "value": 0.5, + "id": 61 + }, + { + "value": 0.5, + "id": 62 + }, + { + "value": 0.5, + "id": 63 + }, + { + "value": 0.5, + "id": 64 + }, + { + "value": 0.5, + "id": 65 + }, + { + "value": 0.5, + "id": 66 + }, + { + "value": 0.5, + "id": 67 + }, + { + "value": 0.5, + "id": 68 + }, + { + "value": 0.5, + "id": 69 + }, + { + "value": 0.5, + "id": 70 + }, + { + "value": 0.5, + "id": 71 + }, + { + "value": 0.0, + "id": 72 + }, + { + "value": 1.0, + "id": 73 + }, + { + "value": 0.0, + "id": 74 + }, + { + "value": 8.0, + "id": 75 + }, + { + "value": 0.0, + "id": 76 + }, + { + "value": 0.0, + "id": 77 + }, + { + "value": 0.0, + "id": 78 + }, + { + "value": 0.0, + "id": 79 + }, + { + "value": 1.0, + "id": 80 + }, + { + "value": 3.0, + "id": 81 + }, + { + "value": 5.0, + "id": 82 + }, + { + "value": 0.0, + "id": 83 + }, + { + "value": 1.0, + "id": 84 + }, + { + "value": 0.0, + "id": 85 + }, + { + "value": 2.0, + "id": 86 + } + ], + "leftModuleId": 4527978366762434, + "rightModuleId": 536482491730803, + "data": { + "step": 5, + "node": 15, + "lastNode": 15, + "lastGate": 15, + "pathTraveled": [ + 0, + 1, + 3, + 6, + 10, + 15, + -1, + -1 + ] + }, + "pos": [ + 24, + -1 + ] + }, + { + "id": 6485270196416882, + "plugin": "21kHz", + "model": "kHzPalmLoop", + "version": "2.0", + "params": [ + { + "value": 7.0, + "id": 0 + }, + { + "value": 0.0, + "id": 1 + }, + { + "value": 0.0, + "id": 2 + }, + { + "value": 0.0, + "id": 3 + }, + { + "value": 0.0, + "id": 4 + } + ], + "leftModuleId": 6529439116344665, + "rightModuleId": 5588781388402853, + "pos": [ + 38, + 0 + ] + }, + { + "id": 1170574363078075, + "plugin": "Bogaudio", + "model": "Bogaudio-Mix1", + "version": "2.0", + "params": [ + { + "value": 0.90909093618392944, + "id": 0 + }, + { + "value": 0.0, + "id": 1 + } + ], + "leftModuleId": 5588781388402853, + "rightModuleId": 1242960631247273, + "data": { + "linear_cv": false + }, + "pos": [ + 49, + 0 + ] + }, + { + "id": 1242960631247273, + "plugin": "HetrickCV", + "model": "Waveshaper", + "version": "2.0", + "params": [ + { + "value": 1.8915570974349976, + "id": 0 + }, + { + "value": 1.0, + "id": 1 + }, + { + "value": 0.0, + "id": 2 + } + ], + "leftModuleId": 1170574363078075, + "rightModuleId": 5268894183644161, + "pos": [ + 52, + 0 + ] + }, + { + "id": 998069146105942, + "plugin": "21kHz", + "model": "kHzPalmLoop", + "version": "2.0", + "params": [ + { + "value": 9.0, + "id": 0 + }, + { + "value": 0.0, + "id": 1 + }, + { + "value": 0.0, + "id": 2 + }, + { + "value": 0.0, + "id": 3 + }, + { + "value": 0.0, + "id": 4 + } + ], + "leftModuleId": 438885941898769, + "rightModuleId": 2278749660885397, + "pos": [ + 24, + 0 + ] + }, + { + "id": 6529439116344665, + "plugin": "Bogaudio", + "model": "Bogaudio-Mix1", + "version": "2.0", + "params": [ + { + "value": 0.90909093618392944, + "id": 0 + }, + { + "value": 0.0, + "id": 1 + } + ], + "leftModuleId": 2278749660885397, + "rightModuleId": 6485270196416882, + "data": { + "linear_cv": false + }, + "pos": [ + 35, + 0 + ] + }, + { + "id": 6814437816954201, + "plugin": "21kHz", + "model": "kHzPalmLoop", + "version": "2.0", + "params": [ + { + "value": 10.0, + "id": 0 + }, + { + "value": 0.0, + "id": 1 + }, + { + "value": 0.0, + "id": 2 + }, + { + "value": 0.0, + "id": 3 + }, + { + "value": 0.0, + "id": 4 + } + ], + "leftModuleId": 3745062635142253, + "rightModuleId": 1305145125414192, + "pos": [ + 7, + 0 + ] + }, + { + "id": 438885941898769, + "plugin": "Bogaudio", + "model": "Bogaudio-Mix1", + "version": "2.0", + "params": [ + { + "value": 1.0, + "id": 0 + }, + { + "value": 0.0, + "id": 1 + } + ], + "leftModuleId": 7382001000905062, + "rightModuleId": 998069146105942, + "data": { + "linear_cv": false + }, + "pos": [ + 21, + 0 + ] + }, + { + "id": 1305145125414192, + "plugin": "Bogaudio", + "model": "Bogaudio-Mix1", + "version": "2.0", + "params": [ + { + "value": 0.57800096273422241, + "id": 0 + }, + { + "value": 0.0, + "id": 1 + } + ], + "leftModuleId": 6814437816954201, + "rightModuleId": 7382001000905062, + "data": { + "linear_cv": false + }, + "pos": [ + 15, + 0 + ] + }, + { + "id": 5268894183644161, + "plugin": "MSM", + "model": "DualDelay", + "version": "2.0", + "params": [ + { + "value": 1.0, + "id": 0 + }, + { + "value": 1.0, + "id": 1 + }, + { + "value": 0.67479997873306274, + "id": 2 + }, + { + "value": 0.67479997873306274, + "id": 3 + }, + { + "value": 0.17179480195045471, + "id": 4 + }, + { + "value": 0.42564103007316589, + "id": 5 + }, + { + "value": 1.0, + "id": 6 + }, + { + "value": 0.0, + "id": 7 + }, + { + "value": 1.0, + "id": 8 + }, + { + "value": 0.0, + "id": 9 + }, + { + "value": 0.78974288702011108, + "id": 10 + }, + { + "value": 1.0, + "id": 11 + }, + { + "value": 0.44102579355239868, + "id": 12 + }, + { + "value": 0.33333185315132141, + "id": 13 + }, + { + "value": 0.0, + "id": 14 + }, + { + "value": 0.0, + "id": 15 + }, + { + "value": 0.0, + "id": 16 + }, + { + "value": 0.0, + "id": 17 + } + ], + "leftModuleId": 1242960631247273, + "rightModuleId": 4215581185125803, + "data": { + "Theme": 1, + "DISPLAYA": 1, + "DISPLAYB": 1 + }, + "pos": [ + 58, + 0 + ] + }, + { + "id": 4215581185125803, + "plugin": "mscHack", + "model": "Mix_4_0_4", + "version": "2.0", + "params": [ + { + "value": 0.5, + "id": 0 + }, + { + "value": 1.0, + "id": 1 + }, + { + "value": 0.52800261974334717, + "id": 2 + }, + { + "value": 0.87599974870681763, + "id": 3 + }, + { + "value": 1.0, + "id": 4 + }, + { + "value": 0.85999959707260132, + "id": 5 + }, + { + "value": 1.0, + "id": 6 + }, + { + "value": 0.0, + "id": 7 + }, + { + "value": 0.0, + "id": 8 + }, + { + "value": -0.26987946033477783, + "id": 9 + }, + { + "value": -0.09156624972820282, + "id": 10 + }, + { + "value": 0.3975902795791626, + "id": 11 + }, + { + "value": 0.0, + "id": 12 + }, + { + "value": 0.0, + "id": 13 + }, + { + "value": 0.0, + "id": 14 + }, + { + "value": 0.0, + "id": 15 + }, + { + "value": 0.0, + "id": 16 + }, + { + "value": 0.5, + "id": 17 + }, + { + "value": 0.5, + "id": 18 + }, + { + "value": 0.5, + "id": 19 + }, + { + "value": 0.5, + "id": 20 + }, + { + "value": 0.5, + "id": 21 + }, + { + "value": 0.5, + "id": 22 + }, + { + "value": 0.5, + "id": 23 + }, + { + "value": 0.5, + "id": 24 + }, + { + "value": 0.5, + "id": 25 + }, + { + "value": 0.5, + "id": 26 + }, + { + "value": 0.5, + "id": 27 + }, + { + "value": 0.5, + "id": 28 + }, + { + "value": 0.5, + "id": 29 + }, + { + "value": 0.5, + "id": 30 + }, + { + "value": 0.5, + "id": 31 + }, + { + "value": 0.5, + "id": 32 + }, + { + "value": 0.5, + "id": 33 + }, + { + "value": 0.5, + "id": 34 + }, + { + "value": 0.5, + "id": 35 + }, + { + "value": 0.5, + "id": 36 + }, + { + "value": 0.5, + "id": 37 + }, + { + "value": 0.5, + "id": 38 + }, + { + "value": 0.5, + "id": 39 + }, + { + "value": 0.5, + "id": 40 + }, + { + "value": 0.62168782949447632, + "id": 41 + }, + { + "value": 0.0, + "id": 42 + }, + { + "value": 0.0, + "id": 43 + }, + { + "value": 0.0, + "id": 44 + }, + { + "value": 0.36024099588394165, + "id": 45 + }, + { + "value": 0.0, + "id": 46 + }, + { + "value": 0.0, + "id": 47 + }, + { + "value": 0.0, + "id": 48 + }, + { + "value": 0.26265072822570801, + "id": 49 + }, + { + "value": 0.73252993822097778, + "id": 50 + }, + { + "value": 0.0, + "id": 51 + }, + { + "value": 0.0, + "id": 52 + }, + { + "value": 0.0, + "id": 53 + }, + { + "value": 0.0, + "id": 54 + }, + { + "value": 0.0, + "id": 55 + }, + { + "value": 0.0, + "id": 56 + }, + { + "value": 1.0, + "id": 57 + }, + { + "value": 1.0, + "id": 58 + }, + { + "value": 0.0, + "id": 59 + }, + { + "value": 0.0, + "id": 60 + } + ], + "leftModuleId": 5268894183644161, + "rightModuleId": 3607506233121471, + "data": { + "m_bMuteStates": [ + false, + false, + false, + false, + false, + false, + false, + false + ], + "m_bSoloStates": [ + false, + false, + false, + false, + false, + false, + false, + false + ], + "m_bGroupPreMute": [ + true + ], + "m_bGainLevelx2": [ + false + ], + "m_bPreFader": [ + false, + false, + false, + false + ], + "m_bAuxIgnoreSolo": [ + false + ] + }, + "pos": [ + 83, + 0 + ] + }, + { + "id": 7443709671562104, + "plugin": "ParableInstruments", + "model": "Neil", + "version": "2.0", + "params": [ + { + "value": 0.5, + "id": 0 + }, + { + "value": 0.79277026653289795, + "id": 1 + }, + { + "value": 0.0, + "id": 2 + }, + { + "value": 0.71927660703659058, + "id": 3 + }, + { + "value": 0.70240950584411621, + "id": 4 + }, + { + "value": 0.73011982440948486, + "id": 5 + }, + { + "value": 0.67951756715774536, + "id": 6 + }, + { + "value": 0.76023942232131958, + "id": 7 + }, + { + "value": 0.69036132097244263, + "id": 8 + }, + { + "value": 0.76987874507904053, + "id": 9 + }, + { + "value": 0.0, + "id": 10 + }, + { + "value": 0.0, + "id": 11 + } + ], + "leftModuleId": 536482491730803, + "data": { + "playbackmode": 0, + "lofi": false, + "mono": false, + "freeze": false, + "buffersize": 1, + "reverse": 0 + }, + "pos": [ + 68, + -1 + ] + }, + { + "id": 536482491730803, + "plugin": "Valley", + "model": "Plateau", + "version": "2.0", + "params": [ + { + "value": 1.0, + "id": 0 + }, + { + "value": 0.5, + "id": 1 + }, + { + "value": 0.0, + "id": 2 + }, + { + "value": 10.0, + "id": 3 + }, + { + "value": 10.0, + "id": 4 + }, + { + "value": 0.5, + "id": 5 + }, + { + "value": 10.0, + "id": 6 + }, + { + "value": 0.5499500036239624, + "id": 7 + }, + { + "value": 10.0, + "id": 8 + }, + { + "value": 10.0, + "id": 9 + }, + { + "value": 0.0, + "id": 10 + }, + { + "value": 0.5, + "id": 11 + }, + { + "value": 0.5, + "id": 12 + }, + { + "value": 0.0, + "id": 13 + }, + { + "value": 0.0, + "id": 14 + }, + { + "value": 0.0, + "id": 15 + }, + { + "value": 0.0, + "id": 16 + }, + { + "value": 0.0, + "id": 17 + }, + { + "value": 0.0, + "id": 18 + }, + { + "value": 0.0, + "id": 19 + }, + { + "value": 0.0, + "id": 20 + }, + { + "value": 0.0, + "id": 21 + }, + { + "value": 0.0, + "id": 22 + }, + { + "value": 0.0, + "id": 23 + }, + { + "value": 0.0, + "id": 24 + }, + { + "value": 0.0, + "id": 25 + }, + { + "value": 0.0, + "id": 26 + }, + { + "value": 0.0, + "id": 27 + }, + { + "value": 0.0, + "id": 28 + }, + { + "value": 0.0, + "id": 29 + }, + { + "value": 1.0, + "id": 30 + } + ], + "leftModuleId": 1135374743729970, + "rightModuleId": 7443709671562104, + "data": { + "frozen": false, + "freezeToggle": false, + "panelStyle": 0, + "tuned": 0, + "diffuseInput": 1, + "preDelayCVSens": 0, + "inputSensitivity": 0, + "outputSaturation": 0 + }, + "pos": [ + 56, + -1 + ] + }, + { + "id": 3607506233121471, + "plugin": "Cardinal", + "model": "HostAudio2", + "version": "2.0", + "params": [ + { + "value": 1.0, + "id": 0 + } + ], + "leftModuleId": 4215581185125803, + "data": { + "dcFilter": true + }, + "pos": [ + 103, + 0 + ] + } + ], + "cables": [ + { + "id": 2235176226196319, + "outputModuleId": 6814437816954201, + "outputId": 4, + "inputModuleId": 438885941898769, + "inputId": 2, + "color": "#67ff52" + }, + { + "id": 6022726504005218, + "outputModuleId": 998069146105942, + "outputId": 4, + "inputModuleId": 6529439116344665, + "inputId": 2, + "color": "#52ffbe" + }, + { + "id": 3282586688299790, + "outputModuleId": 7382001000905062, + "outputId": 0, + "inputModuleId": 438885941898769, + "inputId": 1, + "color": "#527dff" + }, + { + "id": 6658465679677949, + "outputModuleId": 2278749660885397, + "outputId": 0, + "inputModuleId": 6529439116344665, + "inputId": 1, + "color": "#6752ff" + }, + { + "id": 2742306951867261, + "outputModuleId": 5588781388402853, + "outputId": 0, + "inputModuleId": 1170574363078075, + "inputId": 1, + "color": "#a852ff" + }, + { + "id": 260784296137933, + "outputModuleId": 3745062635142253, + "outputId": 0, + "inputModuleId": 4215581185125803, + "inputId": 0, + "color": "#ff52d4" + }, + { + "id": 8073968937380858, + "outputModuleId": 6529439116344665, + "outputId": 0, + "inputModuleId": 4215581185125803, + "inputId": 2, + "color": "#ff5252" + }, + { + "id": 3164897786370058, + "outputModuleId": 8554745767661414, + "outputId": 2, + "inputModuleId": 3745062635142253, + "inputId": 2, + "color": "#ffd452" + }, + { + "id": 8903424001873344, + "outputModuleId": 413123163252880, + "outputId": 0, + "inputModuleId": 3745062635142253, + "inputId": 1, + "color": "#e8ff52" + }, + { + "id": 8456086847803564, + "outputModuleId": 2159047972516498, + "outputId": 1, + "inputModuleId": 3830846223236507, + "inputId": 0, + "color": "#a8ff52" + }, + { + "id": 4912535622605668, + "outputModuleId": 2159047972516498, + "outputId": 3, + "inputModuleId": 3830846223236507, + "inputId": 1, + "color": "#67ff52" + }, + { + "id": 508391464997356, + "outputModuleId": 3830846223236507, + "outputId": 0, + "inputModuleId": 413123163252880, + "inputId": 0, + "color": "#52ff7d" + }, + { + "id": 1773904448289839, + "outputModuleId": 3830846223236507, + "outputId": 3, + "inputModuleId": 7382001000905062, + "inputId": 0, + "color": "#52ffbe" + }, + { + "id": 5936597655473796, + "outputModuleId": 3830846223236507, + "outputId": 1, + "inputModuleId": 2278749660885397, + "inputId": 0, + "color": "#52ffff" + }, + { + "id": 2986652811528886, + "outputModuleId": 3830846223236507, + "outputId": 4, + "inputModuleId": 5588781388402853, + "inputId": 0, + "color": "#52beff" + }, + { + "id": 3444562726806638, + "outputModuleId": 3830846223236507, + "outputId": 5, + "inputModuleId": 5622494419825952, + "inputId": 2, + "color": "#ff5252" + }, + { + "id": 4728276395722392, + "outputModuleId": 3830846223236507, + "outputId": 2, + "inputModuleId": 5622494419825952, + "inputId": 4, + "color": "#ff9352" + }, + { + "id": 5814666200616619, + "outputModuleId": 5622494419825952, + "outputId": 36, + "inputModuleId": 8554745767661414, + "inputId": 1, + "color": "#e8ff52" + }, + { + "id": 5198037635643296, + "outputModuleId": 4881975851057372, + "outputId": 36, + "inputModuleId": 6814437816954201, + "inputId": 1, + "color": "#a8ff52" + }, + { + "id": 3006457239741485, + "outputModuleId": 5622494419825952, + "outputId": 37, + "inputModuleId": 4881975851057372, + "inputId": 2, + "color": "#52ff7d" + }, + { + "id": 2900816546241214, + "outputModuleId": 4881975851057372, + "outputId": 37, + "inputModuleId": 4527978366762434, + "inputId": 5, + "color": "#52ffbe" + }, + { + "id": 1814122622676943, + "outputModuleId": 4527978366762434, + "outputId": 36, + "inputModuleId": 998069146105942, + "inputId": 1, + "color": "#52beff" + }, + { + "id": 7381289574248263, + "outputModuleId": 1135374743729970, + "outputId": 36, + "inputModuleId": 6485270196416882, + "inputId": 1, + "color": "#6752ff" + }, + { + "id": 598155439618034, + "outputModuleId": 4527978366762434, + "outputId": 37, + "inputModuleId": 1135374743729970, + "inputId": 4, + "color": "#527dff" + }, + { + "id": 8997323665207629, + "outputModuleId": 536482491730803, + "outputId": 0, + "inputModuleId": 4215581185125803, + "inputId": 4, + "color": "#a852ff" + }, + { + "id": 3377121478525888, + "outputModuleId": 536482491730803, + "outputId": 1, + "inputModuleId": 4215581185125803, + "inputId": 12, + "color": "#e952ff" + }, + { + "id": 720617013682500, + "outputModuleId": 4215581185125803, + "outputId": 2, + "inputModuleId": 536482491730803, + "inputId": 0, + "color": "#ff52d4" + }, + { + "id": 3316867042879380, + "outputModuleId": 4215581185125803, + "outputId": 6, + "inputModuleId": 536482491730803, + "inputId": 1, + "color": "#ff5293" + }, + { + "id": 2126524991939052, + "outputModuleId": 6485270196416882, + "outputId": 2, + "inputModuleId": 1170574363078075, + "inputId": 2, + "color": "#ff9352" + }, + { + "id": 4077562280107778, + "outputModuleId": 1170574363078075, + "outputId": 0, + "inputModuleId": 1242960631247273, + "inputId": 0, + "color": "#ff9352" + }, + { + "id": 967178590970467, + "outputModuleId": 1242960631247273, + "outputId": 0, + "inputModuleId": 4215581185125803, + "inputId": 3, + "color": "#ffd452" + }, + { + "id": 419411845513826, + "outputModuleId": 4757927610032130, + "outputId": 0, + "inputModuleId": 4881975851057372, + "inputId": 7, + "color": "#a8ff52" + }, + { + "id": 2086354676419812, + "outputModuleId": 4757927610032130, + "outputId": 1, + "inputModuleId": 5622494419825952, + "inputId": 7, + "color": "#67ff52" + }, + { + "id": 6431589749239545, + "outputModuleId": 4757927610032130, + "outputId": 2, + "inputModuleId": 4527978366762434, + "inputId": 7, + "color": "#52ff7d" + }, + { + "id": 6968529858264893, + "outputModuleId": 4757927610032130, + "outputId": 3, + "inputModuleId": 1135374743729970, + "inputId": 7, + "color": "#52ffff" + }, + { + "id": 358980672133044, + "outputModuleId": 6766853921521776, + "outputId": 4, + "inputModuleId": 4757927610032130, + "inputId": 0, + "color": "#52beff" + }, + { + "id": 4384870734125312, + "outputModuleId": 6766853921521776, + "outputId": 4, + "inputModuleId": 4757927610032130, + "inputId": 1, + "color": "#527dff" + }, + { + "id": 7927603523615369, + "outputModuleId": 2159047972516498, + "outputId": 4, + "inputModuleId": 4187213689217722, + "inputId": 0, + "color": "#6752ff" + }, + { + "id": 6264497310562033, + "outputModuleId": 4187213689217722, + "outputId": 0, + "inputModuleId": 5622494419825952, + "inputId": 1, + "color": "#a852ff" + }, + { + "id": 5273879209094797, + "outputModuleId": 2159047972516498, + "outputId": 5, + "inputModuleId": 4187213689217722, + "inputId": 1, + "color": "#e952ff" + }, + { + "id": 2924798029829532, + "outputModuleId": 4187213689217722, + "outputId": 3, + "inputModuleId": 5622494419825952, + "inputId": 0, + "color": "#ff52d4" + }, + { + "id": 2033863350666172, + "outputModuleId": 4187213689217722, + "outputId": 4, + "inputModuleId": 4881975851057372, + "inputId": 0, + "color": "#ff5293" + }, + { + "id": 6716861340476980, + "outputModuleId": 4187213689217722, + "outputId": 5, + "inputModuleId": 4527978366762434, + "inputId": 0, + "color": "#ff5252" + }, + { + "id": 778360371637121, + "outputModuleId": 4187213689217722, + "outputId": 1, + "inputModuleId": 4881975851057372, + "inputId": 1, + "color": "#ff9352" + }, + { + "id": 3292377129970689, + "outputModuleId": 4187213689217722, + "outputId": 2, + "inputModuleId": 4527978366762434, + "inputId": 1, + "color": "#ffd452" + }, + { + "id": 4028939327390985, + "outputModuleId": 4215581185125803, + "outputId": 0, + "inputModuleId": 3607506233121471, + "inputId": 0, + "color": "#52ffff" + }, + { + "id": 8533240176029344, + "outputModuleId": 4215581185125803, + "outputId": 1, + "inputModuleId": 3607506233121471, + "inputId": 1, + "color": "#52beff" + }, + { + "id": 3832893590411641, + "outputModuleId": 4215581185125803, + "outputId": 3, + "inputModuleId": 7443709671562104, + "inputId": 9, + "color": "#527dff" + }, + { + "id": 4156137178982159, + "outputModuleId": 4215581185125803, + "outputId": 7, + "inputModuleId": 7443709671562104, + "inputId": 10, + "color": "#6752ff" + }, + { + "id": 3760373211330506, + "outputModuleId": 7443709671562104, + "outputId": 0, + "inputModuleId": 4215581185125803, + "inputId": 5, + "color": "#a852ff" + }, + { + "id": 4144293620724594, + "outputModuleId": 7443709671562104, + "outputId": 1, + "inputModuleId": 4215581185125803, + "inputId": 13, + "color": "#e952ff" + }, + { + "id": 363654023698591, + "outputModuleId": 438885941898769, + "outputId": 0, + "inputModuleId": 5268894183644161, + "inputId": 11, + "color": "#ff5293" + }, + { + "id": 4533367996164427, + "outputModuleId": 5268894183644161, + "outputId": 0, + "inputModuleId": 4215581185125803, + "inputId": 1, + "color": "#ff5293" + }, + { + "id": 6442029154232978, + "outputModuleId": 5268894183644161, + "outputId": 1, + "inputModuleId": 4215581185125803, + "inputId": 9, + "color": "#ff5252" + }, + { + "id": 2094602820170491, + "outputModuleId": 6814437816954201, + "outputId": 0, + "inputModuleId": 1305145125414192, + "inputId": 2, + "color": "#ffd452" + }, + { + "id": 1047657886668571, + "outputModuleId": 1305145125414192, + "outputId": 0, + "inputModuleId": 5268894183644161, + "inputId": 12, + "color": "#ff9352" + }, + { + "id": 5230685126204162, + "outputModuleId": 3830846223236507, + "outputId": 2, + "inputModuleId": 5268894183644161, + "inputId": 0, + "color": "#a8ff52" + }, + { + "id": 5327685443477545, + "outputModuleId": 4187213689217722, + "outputId": 0, + "inputModuleId": 1135374743729970, + "inputId": 1, + "color": "#67ff52" + }, + { + "id": 8669074006312217, + "outputModuleId": 4187213689217722, + "outputId": 3, + "inputModuleId": 1135374743729970, + "inputId": 0, + "color": "#52ff7d" + } + ] +} diff --git a/plugins/Befaco b/plugins/Befaco index 5a80023..5914634 160000 --- a/plugins/Befaco +++ b/plugins/Befaco @@ -1 +1 @@ -Subproject commit 5a80023d86e0f67ead3e27385170310cd430d44c +Subproject commit 5914634cd91cf11cc32394616252beb19c5c934c diff --git a/plugins/CVfunk b/plugins/CVfunk index a116e6b..51f2b4e 160000 --- a/plugins/CVfunk +++ b/plugins/CVfunk @@ -1 +1 @@ -Subproject commit a116e6b18ac05974a23509cc47adfd86e8406385 +Subproject commit 51f2b4e61cde7978fb84cdd892a1d3aaedc0ff5b diff --git a/plugins/Cardinal/plugin.json b/plugins/Cardinal/plugin.json index 4086063..003ff9f 100644 --- a/plugins/Cardinal/plugin.json +++ b/plugins/Cardinal/plugin.json @@ -171,6 +171,7 @@ "description": "Converts a monophonic audio signal to CV pitch", "manualUrl": "https://github.com/DISTRHO/Cardinal/blob/main/docs/CARDINAL-MODULES.md#audio-to-cv-pitch", "tags": [ + "Tuner", "Utility" ] }, @@ -192,15 +193,6 @@ "Utility" ] }, - { - "slug": "MPV", - "name": "MPV", - "description": "An embed video player inside Cardinal", - "manualUrl": "https://github.com/DISTRHO/Cardinal/blob/main/docs/CARDINAL-MODULES.md#mpv", - "tags": [ - "Visual" - ] - }, { "slug": "SassyScope", "name": "Sassy Scope", diff --git a/plugins/Cardinal/src/HostTime.cpp b/plugins/Cardinal/src/HostTime.cpp index a28c4cd..3c981d7 100644 --- a/plugins/Cardinal/src/HostTime.cpp +++ b/plugins/Cardinal/src/HostTime.cpp @@ -1,6 +1,6 @@ /* * DISTRHO Cardinal Plugin - * Copyright (C) 2021-2024 Filipe Coelho + * Copyright (C) 2021-2026 Filipe Coelho * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -37,14 +37,22 @@ struct HostTime : TerminalModule { kHostTimeClock, kHostTimeBarPhase, kHostTimeBeatPhase, + kHostTimeBPM, kHostTimeCount }; + enum BarDivisions { + Bars1 = 1, + Bars4 = 4, + Bars8 = 8 + }; + const CardinalPluginContext* const pcontext; rack::dsp::PulseGenerator pulseReset, pulseBar, pulseBeat, pulseClock; float sampleTime = 0.0f; uint32_t lastProcessCounter = 0; + BarDivisions barDivision = Bars1; // cached time values struct { bool reset = true; @@ -122,7 +130,9 @@ struct HostTime : TerminalModule { { timeInfo.beat = 1; ++timeInfo.bar; - pulseBar.trigger(); + + if (timeInfo.bar % barDivision == 1) + pulseBar.trigger(); } } @@ -148,7 +158,8 @@ struct HostTime : TerminalModule { ? tick / pcontext->ticksPerBeat : 0.0f; const float barPhase = playingWithBBT && pcontext->beatsPerBar > 0 - ? ((float) (timeInfo.beat - 1) + beatPhase) / pcontext->beatsPerBar + ? ((float)((timeInfo.bar - 1) % barDivision) + (timeInfo.beat - 1) + beatPhase) + / (pcontext->beatsPerBar * barDivision) : 0.0f; lights[kHostTimeRolling].setBrightness(playing ? 1.0f : 0.0f); @@ -166,10 +177,25 @@ struct HostTime : TerminalModule { outputs[kHostTimeClock].setVoltage(hasClock ? 10.0f : 0.0f); outputs[kHostTimeBarPhase].setVoltage(barPhase * 10.0f); outputs[kHostTimeBeatPhase].setVoltage(beatPhase * 10.0f); + outputs[kHostTimeBPM].setVoltage(playingWithBBT ? std::log2(pcontext->beatsPerMinute / 120.0) : 0.0); } void processTerminalOutput(const ProcessArgs&) override {} + + json_t* dataToJson() override { + json_t* rootJ = json_object(); + json_object_set_new(rootJ, "barDivision", json_integer(barDivision)); + return rootJ; + } + + void dataFromJson(json_t* rootJ) override { + if (json_t* bdJ = json_object_get(rootJ, "barDivision")) { + int value = json_integer_value(bdJ); + if (value == Bars1 || value == Bars4 || value == Bars8) + barDivision = static_cast(value); + } + } }; // -------------------------------------------------------------------------------------------------------------------- @@ -200,6 +226,7 @@ struct HostTimeWidget : ModuleWidgetWith8HP { addOutput(createOutput(Vec(startX, startY_cv + 4 * padding), m, HostTime::kHostTimeClock)); addOutput(createOutput(Vec(startX, startY_cv + 5 * padding), m, HostTime::kHostTimeBarPhase)); addOutput(createOutput(Vec(startX, startY_cv + 6 * padding), m, HostTime::kHostTimeBeatPhase)); + addOutput(createOutput(Vec(startX, startY_cv + 7 * padding), m, HostTime::kHostTimeBPM)); const float x = startX + 28; addChild(createLightCentered> (Vec(x, startY_cv + 0 * padding + 12), m, HostTime::kHostTimeRolling)); @@ -239,6 +266,7 @@ struct HostTimeWidget : ModuleWidgetWith8HP { nvgFontSize(args.vg, 11); drawOutputLine(args.vg, 5, "Bar Phase"); drawOutputLine(args.vg, 6, "Beat Phase"); + drawOutputLine(args.vg, 7, "BPM"); nvgBeginPath(args.vg); nvgRoundedRect(args.vg, startX - 1.0f, startY_top, 98.0f, 38.0f, 4); // 98 @@ -286,6 +314,22 @@ struct HostTimeWidget : ModuleWidgetWith8HP { ModuleWidget::drawLayer(args, layer); } + + void appendContextMenu(Menu* menu) override { + struct BarDivisionItem : MenuItem { + HostTime* module; + HostTime::BarDivisions value; + void onAction(const event::Action& e) override { + module->barDivision = value; + } + }; + + menu->addChild(new MenuSeparator); + menu->addChild(construct(&MenuLabel::text, "Bar Division")); + menu->addChild(construct(&BarDivisionItem::text, "Bars/1", &BarDivisionItem::module, module, &BarDivisionItem::value, HostTime::Bars1)); + menu->addChild(construct(&BarDivisionItem::text, "Bars/4", &BarDivisionItem::module, module, &BarDivisionItem::value, HostTime::Bars4)); + menu->addChild(construct(&BarDivisionItem::text, "Bars/8", &BarDivisionItem::module, module, &BarDivisionItem::value, HostTime::Bars8)); + } }; #else struct HostTimeWidget : ModuleWidget { diff --git a/plugins/DrumKit b/plugins/DrumKit deleted file mode 160000 index b94c5de..0000000 --- a/plugins/DrumKit +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b94c5deb9b93d810f582221f03db8a6feaee6679 diff --git a/plugins/HetrickCV b/plugins/HetrickCV index 49e2bc0..8c46fbe 160000 --- a/plugins/HetrickCV +++ b/plugins/HetrickCV @@ -1 +1 @@ -Subproject commit 49e2bc0f6a3ef4d1616b78d6280a6d4e7ee222d3 +Subproject commit 8c46fbe13acdcb87991719bddcc6ec8abcf152ef diff --git a/plugins/JW-Modules b/plugins/JW-Modules index 9d8f851..72c8b56 160000 --- a/plugins/JW-Modules +++ b/plugins/JW-Modules @@ -1 +1 @@ -Subproject commit 9d8f8515deb20d7e14ca85b4c1d04ec6b66b3e8d +Subproject commit 72c8b569dd2cc12ce16abe2da582fc58e07c3d54 diff --git a/plugins/Makefile b/plugins/Makefile index 58bd300..3560229 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -255,18 +255,12 @@ PLUGIN_FILES += Cardinal/src/glBars.cpp endif endif -ifneq ($(STATIC_BUILD),true) +ifneq ($(MOD_BUILD),true) PLUGIN_FILES += Cardinal/src/AudioFile.cpp ifneq ($(WASM),true) PLUGIN_FILES += Cardinal/src/Carla.cpp PLUGIN_FILES += Cardinal/src/Ildaeil.cpp endif -ifneq ($(HEADLESS),true) -ifeq ($(HAVE_X11),true) -PLUGIN_FILES += Cardinal/src/EmbedWidget.cpp -PLUGIN_FILES += Cardinal/src/MPV.cpp -endif -endif endif ifneq ($(HEADLESS),true) @@ -560,7 +554,7 @@ 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 RecordButton +BEFACO_CUSTOM = ADSR Mixer chowdsp Burst RecordButton Mixer2 Slew BEFACO_FLAGS = $(filter-out -fsingle-precision-constant,$(filter-out -std=gnu++11,$(BUILD_CXX_FLAGS))) BEFACO_FLAGS += -std=gnu++17 @@ -678,7 +672,7 @@ COMPUTERSCARE_CUSTOM = Quantizer PanelBorder PLUGIN_FILES += $(filter-out CVfunk/src/plugin.cpp,$(wildcard CVfunk/src/*.cpp)) # modules/types which are present in other plugins -CVFUNK_CUSTOM = Steps +CVFUNK_CUSTOM = Steps Node # -------------------------------------------------------------- # dBiz @@ -695,17 +689,15 @@ DBIZ_CUSTOM_PER_FILE = LERP MultiFilter Oscillator calcOutput sineOsc subBank PLUGIN_FILES += $(filter-out DHE-Modules/src/plugin.cpp,$(wildcard DHE-Modules/src/modules/*/init.cpp)) # -------------------------------------------------------------- -# DrumKit - -PLUGIN_FILES += $(wildcard DrumKit/src/*.cpp) -PLUGIN_FILES += $(wildcard DrumKit/src/controller/*.cpp) -PLUGIN_FILES += $(wildcard DrumKit/src/view/*.cpp) -PLUGIN_FILES += $(wildcard DrumKit/src/model/*.cpp) -PLUGIN_FILES += $(wildcard DrumKit/deps/*.cpp) -PLUGIN_FILES += $(wildcard DrumKit/deps/SynthDevKit/src/*.cpp) +# eightfold +PLUGIN_FILES += $(filter-out eightfold/src/plugin.cpp,$(wildcard eightfold/src/*.cpp)) # modules/types which are present in other plugins -DRUMKIT_CUSTOM = ADSR Envelope LowFrequencyOscillator +EIGHTFOLD_CUSTOM = Comparator comparator + + +EIGHTFOLD_FLAGS = $(filter-out -std=gnu++11,$(BUILD_CXX_FLAGS)) +EIGHTFOLD_FLAGS += -std=gnu++17 # -------------------------------------------------------------- # EnigmaCurry @@ -812,7 +804,7 @@ IHTSYN_CUSTOM_PER_FILE += mv_statevariable PLUGIN_FILES += $(filter-out JW-Modules/src/JWModules.cpp JW-Modules/src/Str1ker.cpp,$(wildcard JW-Modules/src/*.cpp)) -ifneq ($(STATIC_BUILD),true) +ifneq ($(MOD_BUILD),true) PLUGIN_FILES += JW-Modules/src/Str1ker.cpp PLUGIN_FILES += $(wildcard JW-Modules/lib/oscpack/ip/*.cpp) PLUGIN_FILES += $(wildcard JW-Modules/lib/oscpack/osc/*.cpp) @@ -824,7 +816,7 @@ endif endif # modules/types which are present in other plugins -JW_CUSTOM = PlayHead Quantizer +JW_CUSTOM = PlayHead Quantizer Arrange # -------------------------------------------------------------- # kocmoc @@ -832,7 +824,7 @@ JW_CUSTOM = PlayHead Quantizer PLUGIN_FILES += $(filter-out kocmoc/src/plugin.cpp,$(wildcard kocmoc/src/*.cpp)) # modules/types which are present in other plugins -KOCMOC_CUSTOM = Phasor __ct_base __ct_comp +KOCMOC_CUSTOM = Diode Phasor __ct_base __ct_comp # -------------------------------------------------------------- # LifeFormModular @@ -1312,6 +1304,11 @@ PLUGIN_BINARIES += ValleyAudio/src/XFADE.bin VALLEYAUDIO_CUSTOM = $(DRWAV) Chord DigitalDisplay VALLEYAUDIO_CUSTOM_PER_FILE = TempoKnob +# -------------------------------------------------------------- +# Venom + +PLUGIN_FILES += $(filter-out Venom/src/plugin.cpp,$(wildcard Venom/src/*.cpp)) + # -------------------------------------------------------------- # Voxglitch @@ -1327,6 +1324,19 @@ VOXGLITCH_CUSTOM_PER_FILE = AudioBuffer GateSequencer Grain SamplePlayer Sequenc PLUGIN_FILES += $(filter-out WhatTheRack/src/WhatTheRack.cpp,$(wildcard WhatTheRack/src/*.cpp)) +# -------------------------------------------------------------- +# WSTD-Drums + +PLUGIN_FILES += $(wildcard WSTD-Drums/src/*.cpp) +PLUGIN_FILES += $(wildcard WSTD-Drums/src/controller/*.cpp) +PLUGIN_FILES += $(wildcard WSTD-Drums/src/view/*.cpp) +PLUGIN_FILES += $(wildcard WSTD-Drums/src/model/*.cpp) +PLUGIN_FILES += $(wildcard WSTD-Drums/deps/*.cpp) +PLUGIN_FILES += $(wildcard WSTD-Drums/deps/SynthDevKit/src/*.cpp) + +# modules/types which are present in other plugins +WSTD_DRUMS_CUSTOM = ADSR Envelope LowFrequencyOscillator + # -------------------------------------------------------------- # ZetaCarinaeModules @@ -1446,6 +1456,7 @@ clean: PLUGIN_LIST = $(subst /plugin.json,,$(wildcard */plugin.json)) UNWANTED_FILES = HetrickCV/res/illustrator - deprecated/MyModule.svg +UNWANTED_FILES += $(wildcard "HetrickCV/res/affinity redo/*") UNWANTED_FILES += $(wildcard Meander/res/*) UNWANTED_FILES += $(wildcard Mog/res/*) UNWANTED_FILES += $(wildcard Mog/res/*/*) @@ -1475,7 +1486,7 @@ RESOURCE_FILES += BaconPlugs/res/midi/goldberg RESOURCE_FILES += Befaco/res/SpringReverbIR.f32 RESOURCE_FILES += cf/playeroscs RESOURCE_FILES += DHE-Modules/svg -RESOURCE_FILES += DrumKit/res/samples +RESOURCE_FILES += WSTD-Drums/res/samples RESOURCE_FILES += Meander/res RESOURCE_FILES += MindMeldModular/res/ShapeMaster/CommunityPresets RESOURCE_FILES += MindMeldModular/res/ShapeMaster/CommunityShapes @@ -2198,7 +2209,7 @@ $(BUILD_DIR)/AS/%.cpp.o: AS/%.cpp @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ $(foreach m,$(AS_CUSTOM),$(call custom_module_names,$(m),AS)) \ - $(foreach m,$(AS_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),AS_$(shell basename $*))) \ + $(foreach m,$(AS_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),AS_$(shell basename -- $*))) \ -DpluginInstance=pluginInstance__AS \ -Wno-unused-private-field @@ -2254,7 +2265,7 @@ $(BUILD_DIR)/Bidoo%.cpp.o: Bidoo%.cpp @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ $(foreach m,$(BIDOO_CUSTOM),$(call custom_module_names,$(m),Bidoo)) \ - $(foreach m,$(BIDOO_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),Bidoo_$(shell basename $*))) \ + $(foreach m,$(BIDOO_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),Bidoo_$(shell basename -- $*))) \ -DpluginInstance=pluginInstance__Bidoo \ -DSKIP_MINGW_FORMAT \ -IBidoo/src/dep/gverb/include \ @@ -2274,7 +2285,7 @@ $(BUILD_DIR)/BogaudioModules%.cpp.o: BogaudioModules%.cpp @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ $(foreach m,$(BOGAUDIO_CUSTOM),$(call custom_module_names,$(m),Bogaudio)) \ - $(foreach m,$(BOGAUDIO_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),Bogaudio_$(shell basename $*))) \ + $(foreach m,$(BOGAUDIO_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),Bogaudio_$(shell basename -- $*))) \ -DpluginInstance=pluginInstance__BogaudioModules \ -DRACK_SIMD=1 \ -DSKIP_MINGW_FORMAT \ @@ -2327,7 +2338,7 @@ $(BUILD_DIR)/dBiz/src/%.cpp.o: dBiz/src/%.cpp @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ $(foreach m,$(DBIZ_CUSTOM),$(call custom_module_names,$(m),dBiz)) \ - $(foreach m,$(DBIZ_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),dBiz_$(shell basename $*))) \ + $(foreach m,$(DBIZ_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),dBiz_$(shell basename -- $*))) \ -DpluginInstance=pluginInstance__dBiz $(BUILD_DIR)/DHE-Modules/src/%.cpp.o: DHE-Modules/src/%.cpp @@ -2338,14 +2349,12 @@ $(BUILD_DIR)/DHE-Modules/src/%.cpp.o: DHE-Modules/src/%.cpp -DpluginInstance=pluginInstance__DHE \ -IDHE-Modules/src -$(BUILD_DIR)/DrumKit/%.cpp.o: DrumKit/%.cpp +$(BUILD_DIR)/eightfold/src/%.cpp.o: eightfold/src/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" - $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ - $(foreach m,$(DRUMKIT_CUSTOM),$(call custom_module_names,$(m),DrumKit)) \ - -DpluginInstance=pluginInstance__DrumKit \ - -Dinit=init__DrumKit \ - -Wno-sign-compare + $(SILENT)$(CXX) $< $(EIGHTFOLD_FLAGS) -c -o $@ \ + $(foreach m,$(EIGHTFOLD_CUSTOM),$(call custom_module_names,$(m),eightfold)) \ + -DpluginInstance=pluginInstance__eightfold $(BUILD_DIR)/EnigmaCurry/src/%.cpp.o: EnigmaCurry/src/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @@ -2489,7 +2498,7 @@ $(BUILD_DIR)/ImpromptuModular%.cpp.o: ImpromptuModular%.cpp @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ $(foreach m,$(IMPROMPTUMODULAR_CUSTOM),$(call custom_module_names,$(m),ImpromptuModular)) \ - $(foreach m,$(IMPROMPTUMODULAR_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),ImpromptuModular_$(shell basename $*))) \ + $(foreach m,$(IMPROMPTUMODULAR_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),ImpromptuModular_$(shell basename -- $*))) \ -DpluginInstance=pluginInstance__ImpromptuModular \ -Wno-format-truncation @@ -2498,7 +2507,7 @@ $(BUILD_DIR)/ihtsyn/%.cpp.o: ihtsyn/%.cpp @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ $(foreach m,$(IHTSYN_CUSTOM),$(call custom_module_names,$(m),ihtsyn)) \ - $(foreach m,$(IHTSYN_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),ihtsyn_$(shell basename $*))) \ + $(foreach m,$(IHTSYN_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),ihtsyn_$(shell basename -- $*))) \ -DpluginInstance=pluginInstance__ihtsyn $(BUILD_DIR)/JW-Modules/src/WavHead.cpp.o: JW-Modules/src/WavHead.cpp @@ -2619,7 +2628,7 @@ $(BUILD_DIR)/mscHack/%.cpp.o: mscHack/%.cpp @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ $(foreach m,$(MSCHACK_CUSTOM),$(call custom_module_names,$(m),mscHack)) \ - $(foreach m,$(MSCHACK_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),mscHack_$(shell basename $*))) \ + $(foreach m,$(MSCHACK_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),mscHack_$(shell basename -- $*))) \ -DthePlugin=pluginInstance__mscHack \ -Dinit=init__mscHack \ -Wno-class-memaccess \ @@ -2700,7 +2709,7 @@ $(BUILD_DIR)/Prism/%.cpp.o: Prism/%.cpp @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ $(foreach m,$(PRISM_CUSTOM),$(call custom_module_names,$(m),Prism)) \ - $(foreach m,$(PRISM_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),Prism_$(shell basename $*))) \ + $(foreach m,$(PRISM_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),Prism_$(shell basename -- $*))) \ -DpluginInstance=pluginInstance__Prism \ $(BUILD_DIR)/rackwindows/%.cpp.o: rackwindows/%.cpp @@ -2744,6 +2753,7 @@ $(BUILD_DIR)/Sapphire/%.cpp.o: Sapphire/%.cpp @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -std=gnu++17 -c -o $@ \ $(foreach m,$(SAPPHIRE_CUSTOM),$(call custom_module_names,$(m),Sapphire)) \ + -DSKIP_MINGW_FORMAT \ -DpluginInstance=pluginInstance__sapphire $(BUILD_DIR)/sonusmodular/%.cpp.o: sonusmodular/%.cpp @@ -2773,7 +2783,7 @@ $(BUILD_DIR)/stoermelder-packone/%.cpp.o: stoermelder-packone/%.cpp @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ $(foreach m,$(STOERMELDER_PACKONE_CUSTOM),$(call custom_module_names,$(m),stoermelder_p1)) \ - $(foreach m,$(STOERMELDER_PACKONE_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),stoermelder_p1_$(shell basename $*))) \ + $(foreach m,$(STOERMELDER_PACKONE_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),stoermelder_p1_$(shell basename -- $*))) \ -DpluginInstance=pluginInstance__stoermelder_p1 \ -Dinit=init__stoermelder_p1 @@ -2803,19 +2813,28 @@ $(BUILD_DIR)/ValleyAudio/%.cpp.o: ValleyAudio/%.cpp @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ $(foreach m,$(VALLEYAUDIO_CUSTOM),$(call custom_module_names,$(m),ValleyAudio)) \ - $(foreach m,$(VALLEYAUDIO_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),ValleyAudio_$(shell basename $*))) \ + $(foreach m,$(VALLEYAUDIO_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),ValleyAudio_$(shell basename -- $*))) \ -DpluginInstance=pluginInstance__ValleyAudio \ -DSTDIO_OVERRIDE=ValleyAudio \ -IValleyAudio/src \ -Wno-sign-compare \ -Wno-unused-but-set-variable +$(BUILD_DIR)/Venom/%.cpp.o: Venom/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(foreach m,$(VENOM_CUSTOM),$(call custom_module_names,$(m),Venom)) \ + -DSKIP_MINGW_FORMAT \ + -DpluginInstance=pluginInstance__Venom \ + -lglfw + $(BUILD_DIR)/voxglitch/%.cpp.o: voxglitch/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ $(foreach m,$(VOXGLITCH_CUSTOM),$(call custom_module_names,$(m),Voxglitch)) \ - $(foreach m,$(VOXGLITCH_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),Voxglitch_$(shell basename $*))) \ + $(foreach m,$(VOXGLITCH_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),Voxglitch_$(shell basename -- $*))) \ -DpluginInstance=pluginInstance__Voxglitch \ -DSKIP_MINGW_FORMAT @@ -2826,6 +2845,15 @@ $(BUILD_DIR)/WhatTheRack/%.cpp.o: WhatTheRack/%.cpp $(foreach m,$(WHATTHERACK_CUSTOM),$(call custom_module_names,$(m),WhatTheRack)) \ -DpluginInstance=pluginInstance__WhatTheRack +$(BUILD_DIR)/WSTD-Drums/%.cpp.o: WSTD-Drums/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(foreach m,$(WSTD_DRUMS_CUSTOM),$(call custom_module_names,$(m),WSTD_Drums)) \ + -DpluginInstance=pluginInstance__WSTD_Drums \ + -Dinit=init__WSTD_Drums \ + -Wno-sign-compare + $(BUILD_DIR)/ZamAudio/%.cpp.o: ZamAudio/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" diff --git a/plugins/Sapphire b/plugins/Sapphire index 9665f4b..191fbee 160000 --- a/plugins/Sapphire +++ b/plugins/Sapphire @@ -1 +1 @@ -Subproject commit 9665f4bddb59841ef74ff206fe91345c146fed52 +Subproject commit 191fbee21a6be7d9c18eacc6f3a1804455d5358d diff --git a/plugins/Venom b/plugins/Venom new file mode 160000 index 0000000..ba95ede --- /dev/null +++ b/plugins/Venom @@ -0,0 +1 @@ +Subproject commit ba95ede2370d340e0f7143dd897ff7e089bda336 diff --git a/plugins/WSTD-Drums b/plugins/WSTD-Drums new file mode 160000 index 0000000..05330ce --- /dev/null +++ b/plugins/WSTD-Drums @@ -0,0 +1 @@ +Subproject commit 05330ce99f4ec742f906c77ab5d8758a15decb4c diff --git a/plugins/eightfold b/plugins/eightfold new file mode 160000 index 0000000..a541c5c --- /dev/null +++ b/plugins/eightfold @@ -0,0 +1 @@ +Subproject commit a541c5cfdc3fb9ad8e4f345470f817eaf576b987 diff --git a/plugins/kocmoc b/plugins/kocmoc index eaf7cbf..ea69aca 160000 --- a/plugins/kocmoc +++ b/plugins/kocmoc @@ -1 +1 @@ -Subproject commit eaf7cbf3af0a8525d3c649c53eab476c3052d41b +Subproject commit ea69acab96db49c32601b609cdfe06444ecee0e8 diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 5882a85..80759e2 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -147,10 +147,14 @@ extern Model* modelChord; #define modelADSR modelBefacoADSR #define modelMixer modelBefacoMixer #define modelBurst modelBefacoBurst +#define modelMixer2 modelBefacoMixer2 +#define modelSlew modelBefacoSlew #include "Befaco/src/plugin.hpp" #undef modelADSR #undef modelMixer #undef modelBurst +#undef modelMixer2 +#undef modelSlew // Bidoo #include "Bidoo/src/plugin.hpp" @@ -339,9 +343,11 @@ extern Model* modelTestVCF; #include "cf/src/plugin.hpp" // CVfunk +#define modelNode modelCVfunkNode #define modelSteps modelCVfunkSteps #include "CVfunk/src/plugin.hpp" #undef modelSteps +#undef modelNode // ChowDSP #include "ChowDSP/src/plugin.hpp" @@ -391,9 +397,8 @@ namespace truth { void init(Plugin*); } namespace xycloid { void init(Plugin*); } } -// DrumKit -#include "DrumKit/src/DrumKit.hpp" -void setupSamples(); +// eightfold +#include "eightfold/src/plugin.hpp" // EnigmaCurry #define modelPulse modelEnigmaCurryPulse @@ -450,6 +455,7 @@ void saveGtgPluginDefault(const char*, int) {} extern Model* modelTwoToFour; extern Model* modelAnalogToDigital; extern Model* modelASR; +extern Model* modelBinaryCounter; extern Model* modelBinaryGate; extern Model* modelBinaryNoise; extern Model* modelBitshift; @@ -460,6 +466,7 @@ extern Model* modelChaos2Op; extern Model* modelChaos3Op; extern Model* modelChaoticAttractors; extern Model* modelClockedNoise; +extern Model* modelClockToPhasor; extern Model* modelComparator; extern Model* modelContrast; extern Model* modelCrackle; @@ -478,6 +485,7 @@ extern Model* modelGingerbread; extern Model* modelLogicCombine; extern Model* modelMidSide; extern Model* modelMinMax; +extern Model* modelNormals; extern Model* modelPhaseDrivenSequencer; extern Model* modelPhaseDrivenSequencer32; extern Model* modelPhasorAnalyzer; @@ -507,8 +515,10 @@ extern Model* modelPhasorSubstepShape; extern Model* modelPhasorSwing; extern Model* modelPhasorTimetable; extern Model* modelPhasorToClock; +extern Model* modelPhasorToRandom; extern Model* modelPhasorToLFO; extern Model* modelPhasorToWaveforms; +extern Model* modelPolymetricPhasors; extern Model* modelProbability; extern Model* modelRandomGates; extern Model* modelRotator; @@ -566,8 +576,10 @@ extern Model* modelBlankPanel; // JW-Modules #define modelQuantizer modelJWQuantizer +#define modelArrange modelJWArrange #include "JW-Modules/src/JWModules.hpp" #undef modelQuantizer +#undef modelArrange // kocmoc #include "kocmoc/src/plugin.hpp" @@ -882,6 +894,13 @@ void surgext_rack_update_theme(); // ValleyAudio #include "ValleyAudio/src/Valley.hpp" +// Venom +#include "Venom/src/plugin.hpp" +namespace Venom +{ + void readDefaultThemes(); +} + // Voxglitch #define modelLooper modelVoxglitchLooper #include "voxglitch/src/plugin.hpp" @@ -890,6 +909,10 @@ void surgext_rack_update_theme(); // WhatTheRack #include "WhatTheRack/src/WhatTheRack.hpp" +// WSTD-Drums +#include "WSTD-Drums/src/WSTD_Drums.hpp" +void setupSamples(); + // ZetaCarinaeModules #include "ZetaCarinaeModules/src/plugin.hpp" @@ -947,7 +970,7 @@ Plugin* pluginInstance__Computerscare; Plugin* pluginInstance__CVfunk; Plugin* pluginInstance__dBiz; Plugin* pluginInstance__DHE; -extern Plugin* pluginInstance__DrumKit; +Plugin* pluginInstance__eightfold; Plugin* pluginInstance__EnigmaCurry; Plugin* pluginInstance__ESeries; Plugin* pluginInstance__ExpertSleepersEncoders; @@ -997,8 +1020,10 @@ extern Plugin* pluginInstance__stoermelder_p1; Plugin* pluginInstance__surgext; Plugin* pluginInstance__unless_modules; Plugin* pluginInstance__ValleyAudio; +Plugin* pluginInstance__Venom; Plugin* pluginInstance__Voxglitch; Plugin* pluginInstance__WhatTheRack; +extern Plugin* pluginInstance__WSTD_Drums; Plugin* pluginInstance__ZetaCarinaeModules; Plugin* pluginInstance__ZZC; @@ -1044,10 +1069,17 @@ struct StaticPluginLoader { return; } - // force ABI, we use static plugins so this doesnt matter as long as it builds - json_t* const version = json_string((APP_VERSION_MAJOR + ".0").c_str()); - json_object_set(rootJ, "version", version); - json_decref(version); + std::string version; + if (json_t* const versionJ = json_object_get(rootJ, "version")) + version = json_string_value(versionJ); + + if (!string::startsWith(version, APP_VERSION_MAJOR + ".")) + { + // force ABI, we use static plugins so this doesnt matter as long as it builds + json_t* const versionJ = json_string((APP_VERSION_MAJOR + ".0").c_str()); + json_object_set(rootJ, "version", versionJ); + json_decref(versionJ); + } // Load manifest p->fromJson(rootJ); @@ -1132,12 +1164,12 @@ static void initStatic__Cardinal() #else spl.removeModule("glBars"); #endif - #ifndef STATIC_BUILD + #ifndef __MOD_DEVICES__ p->addModel(modelAudioFile); #else spl.removeModule("AudioFile"); #endif - #if !(defined(DISTRHO_OS_WASM) || defined(STATIC_BUILD)) + #if !(defined(DISTRHO_OS_WASM) || defined(__MOD_DEVICES__)) p->addModel(modelCarla); p->addModel(modelIldaeil); #else @@ -1149,11 +1181,6 @@ static void initStatic__Cardinal() #else spl.removeModule("SassyScope"); #endif - #if defined(HAVE_X11) && !defined(HEADLESS) && !defined(STATIC_BUILD) - p->addModel(modelMPV); - #else - spl.removeModule("MPV"); - #endif #ifdef HAVE_FFTW3F p->addModel(modelAudioToCVPitch); #else @@ -1614,6 +1641,8 @@ static void initStatic__Befaco() #define modelADSR modelBefacoADSR #define modelMixer modelBefacoMixer #define modelBurst modelBefacoBurst +#define modelMixer2 modelBefacoMixer2 +#define modelSlew modelBefacoSlew p->addModel(modelEvenVCO); p->addModel(modelRampage); p->addModel(modelABC); @@ -1640,9 +1669,16 @@ static void initStatic__Befaco() p->addModel(modelOctaves); p->addModel(modelBypass); p->addModel(modelBandit); + p->addModel(modelAtte); + p->addModel(modelAxBC); + p->addModel(modelMixer2); + p->addModel(modelMuDi); + p->addModel(modelSlew); #undef modelADSR #undef modelMixer #undef modelBurst +#undef modelMixer2 +#undef modelSlew // NOTE disabled in Cardinal due to MIDI usage spl.removeModule("MidiThingV2"); @@ -2024,6 +2060,7 @@ static void initStatic__CVfunk() if (spl.ok()) { #define modelSteps modelCVfunkSteps + #define modelNode modelCVfunkNode p->addModel(modelSteps); p->addModel(modelEnvelopeArray); p->addModel(modelPentaSequencer); @@ -2044,7 +2081,17 @@ static void initStatic__CVfunk() p->addModel(modelStepWave); p->addModel(modelPreeeeeeeeeeessedDuck); p->addModel(modelArrange); - p->addModel(modelTriDelay); + p->addModel(modelTriDelay); + p->addModel(modelTatami); + p->addModel(modelCartesia); + p->addModel(modelJunkDNA); + p->addModel(modelPicus); + p->addModel(modelNode); + p->addModel(modelWeave); + p->addModel(modelWonk); + p->addModel(modelHammer); + p->addModel(modelHub); + #undef modelNode #undef modelSteps } } @@ -2127,27 +2174,19 @@ static void initStatic__DHE() } } -static void initStatic__DrumKit() +static void initStatic__eightfold() { Plugin* const p = new Plugin; - pluginInstance__DrumKit = p; + pluginInstance__eightfold = p; - const StaticPluginLoader spl(p, "DrumKit"); + const StaticPluginLoader spl(p, "eightfold"); if (spl.ok()) { - setupSamples(); - p->addModel(modelBD9); - p->addModel(modelSnare); - p->addModel(modelClosedHH); - p->addModel(modelOpenHH); - p->addModel(modelDMX); - p->addModel(modelCR78); - p->addModel(modelSBD); - p->addModel(modelGnome); - p->addModel(modelSequencer); - p->addModel(modelTomi); - p->addModel(modelBaronial); - p->addModel(modelMarionette); + p->addModel(modelSDOrcasHeartV2); + p->addModel(modelSDFormation); + p->addModel(modelSDLines); + p->addModel(modelSDTransgate); + p->addModel(modelSDComparator); } } @@ -2383,6 +2422,7 @@ static void initStatic__HetrickCV() p->addModel(modelTwoToFour); p->addModel(modelAnalogToDigital); p->addModel(modelASR); + p->addModel(modelBinaryCounter); p->addModel(modelBinaryGate); p->addModel(modelBinaryNoise); p->addModel(modelBitshift); @@ -2393,6 +2433,7 @@ static void initStatic__HetrickCV() p->addModel(modelChaos3Op); p->addModel(modelChaoticAttractors); p->addModel(modelClockedNoise); + p->addModel(modelClockToPhasor); p->addModel(modelComparator); p->addModel(modelContrast); p->addModel(modelCrackle); @@ -2411,6 +2452,7 @@ static void initStatic__HetrickCV() p->addModel(modelLogicCombine); p->addModel(modelMidSide); p->addModel(modelMinMax); + p->addModel(modelNormals); p->addModel(modelPhaseDrivenSequencer); p->addModel(modelPhaseDrivenSequencer32); p->addModel(modelPhasorAnalyzer); @@ -2440,8 +2482,10 @@ static void initStatic__HetrickCV() p->addModel(modelPhasorSwing); p->addModel(modelPhasorTimetable); p->addModel(modelPhasorToClock); + p->addModel(modelPhasorToRandom); p->addModel(modelPhasorToLFO); p->addModel(modelPhasorToWaveforms); + p->addModel(modelPolymetricPhasors); p->addModel(modelProbability); p->addModel(modelRandomGates); p->addModel(modelRotator); @@ -2526,6 +2570,7 @@ static void initStatic__JW() if (spl.ok()) { #define modelQuantizer modelJWQuantizer +#define modelArrange modelJWArrange p->addModel(modelAdd5); p->addModel(modelAbcdSeq); p->addModel(modelBouncyBalls); @@ -2556,12 +2601,14 @@ static void initStatic__JW() p->addModel(modelCoolBreeze); p->addModel(modelPete); p->addModel(modelTimer); - #ifndef STATIC_BUILD + #ifndef __MOD_DEVICES__ p->addModel(modelStr1ker); #else spl.removeModule("Str1ker"); #endif + p->addModel(modelArrange); #undef modelQuantizer +#undef modelArrange } } @@ -2578,6 +2625,7 @@ static void initStatic__kocmoc() p->addModel(modelTRG); p->addModel(modelLADR); p->addModel(modeluLADR); + p->addModel(modelDIOD); p->addModel(modelOP); p->addModel(modelPHASR); p->addModel(modelMUL); @@ -3173,7 +3221,11 @@ static void initStatic__Sapphire() if (spl.ok()) { p->addModel(modelSapphireChaops); + p->addModel(modelSapphireEcho); + p->addModel(modelSapphireEchoOut); + p->addModel(modelSapphireEchoTap); p->addModel(modelSapphireElastika); + p->addModel(modelSapphireEnv); p->addModel(modelSapphireFrolic); p->addModel(modelSapphireGalaxy); p->addModel(modelSapphireGlee); @@ -3192,6 +3244,7 @@ static void initStatic__Sapphire() p->addModel(modelSapphireTout); p->addModel(modelSapphireTricorder); p->addModel(modelSapphireTubeUnit); + p->addModel(modelSapphireZoo); } } @@ -3439,6 +3492,82 @@ static void initStatic__ValleyAudio() } } +static void initStatic__Venom() +{ + Plugin* const p = new Plugin; + pluginInstance__Venom = p; + + const StaticPluginLoader spl(p, "Venom"); + if (spl.ok()) + { + p->addModel(modelVenomAD_ASR); + p->addModel(modelVenomAuxClone); + p->addModel(modelVenomBayInput); + p->addModel(modelVenomBayNorm); + p->addModel(modelVenomBayOutput); + p->addModel(modelVenomBenjolinOsc); + p->addModel(modelVenomBenjolinGatesExpander); + p->addModel(modelVenomBenjolinVoltsExpander); + p->addModel(modelVenomBernoulliSwitch); + p->addModel(modelVenomBernoulliSwitchExpander); + p->addModel(modelVenomBlocker); + p->addModel(modelVenomBypass); + p->addModel(modelVenomCloneMerge); + p->addModel(modelVenomCompare2); + p->addModel(modelVenomCrossFade3D); + p->addModel(modelVenomHQ); + p->addModel(modelVenomKnob5); + p->addModel(modelVenomLinearBeats); + p->addModel(modelVenomLinearBeatsExpander); + p->addModel(modelVenomLogic); + p->addModel(modelVenomMix4); + p->addModel(modelVenomMix4Stereo); + p->addModel(modelVenomMixFade); + p->addModel(modelVenomMixFade2); + p->addModel(modelVenomMixMute); + p->addModel(modelVenomMixOffset); + p->addModel(modelVenomMixPan); + p->addModel(modelVenomMixSend); + p->addModel(modelVenomMixSolo); + p->addModel(modelVenomMousePad); + p->addModel(modelVenomMultiMerge); + p->addModel(modelVenomMultiSplit); + p->addModel(modelVenomSVF); + p->addModel(modelVenomOscillator); + p->addModel(modelVenomNORS_IQ); + p->addModel(modelVenomNORSIQChord2Scale); + p->addModel(modelVenomPan3D); + p->addModel(modelVenomPolyClone); + p->addModel(modelVenomPolyFade); + p->addModel(modelVenomPolyOffset); + p->addModel(modelVenomPolySHASR); + p->addModel(modelVenomPolyScale); + p->addModel(modelVenomPolyUnison); + p->addModel(modelVenomPush5); + p->addModel(modelVenomQuadVCPolarizer); + p->addModel(modelVenomRecurse); + p->addModel(modelVenomRecurseStereo); + p->addModel(modelVenomReformation); + p->addModel(modelVenomRhythmExplorer); + p->addModel(modelVenomShapedVCA); + p->addModel(modelVenomSlew); + p->addModel(modelVenomSphereToXYZ); + p->addModel(modelVenomThru); + p->addModel(modelVenomVCAMix4); + p->addModel(modelVenomVCAMix4Stereo); + p->addModel(modelVenomVCOUnit); + p->addModel(modelVenomBlank); + p->addModel(modelVenomWaveFolder); + p->addModel(modelVenomWaveMangler); + p->addModel(modelVenomWaveMultiplier); + p->addModel(modelVenomWidgetMenuExtender); + p->addModel(modelVenomWinComp); + p->addModel(modelVenomXM_OP); + + Venom::readDefaultThemes(); + } +} + static void initStatic__Voxglitch() { Plugin* p = new Plugin; @@ -3493,6 +3622,30 @@ static void initStatic__WhatTheRack() } } +static void initStatic__WSTD_Drums() +{ + Plugin* const p = new Plugin; + pluginInstance__WSTD_Drums = p; + + const StaticPluginLoader spl(p, "WSTD-Drums"); + if (spl.ok()) + { + setupSamples(); + p->addModel(modelBD9); + p->addModel(modelSnare); + p->addModel(modelClosedHH); + p->addModel(modelOpenHH); + p->addModel(modelDMX); + p->addModel(modelCR78); + p->addModel(modelSBD); + p->addModel(modelGnome); + p->addModel(modelSequencer); + p->addModel(modelTomi); + p->addModel(modelBaronial); + p->addModel(modelMarionette); + } +} + static void initStatic__ZetaCarinaeModules() { Plugin* p = new Plugin; @@ -3565,7 +3718,7 @@ void initStaticPlugins() initStatic__CVfunk(); initStatic__dBiz(); initStatic__DHE(); - initStatic__DrumKit(); + initStatic__eightfold(); initStatic__EnigmaCurry(); initStatic__ESeries(); initStatic__ExpertSleepersEncoders(); @@ -3615,8 +3768,10 @@ void initStaticPlugins() initStatic__surgext(); initStatic__unless_modules(); initStatic__ValleyAudio(); + initStatic__Venom(); initStatic__Voxglitch(); initStatic__WhatTheRack(); + initStatic__WSTD_Drums(); initStatic__ZetaCarinaeModules(); initStatic__ZZC(); diff --git a/src/CardinalCommon.cpp b/src/CardinalCommon.cpp index 1c4cc46..8891301 100644 --- a/src/CardinalCommon.cpp +++ b/src/CardinalCommon.cpp @@ -1,6 +1,6 @@ /* * DISTRHO Cardinal Plugin - * Copyright (C) 2021-2024 Filipe Coelho + * Copyright (C) 2021-2026 Filipe Coelho * SPDX-License-Identifier: GPL-3.0-or-later */ @@ -99,7 +99,7 @@ void destroyStaticPlugins(); } } -const std::string CARDINAL_VERSION = "24.12"; +const std::string CARDINAL_VERSION = "26.01"; // ----------------------------------------------------------------------------------------------------------- @@ -626,47 +626,7 @@ Initializer::Initializer(const CardinalBasePlugin* const plugin, const CardinalB if (asset::userDir.empty()) { - #if defined(DISTRHO_OS_WASM) - asset::userDir = "/userfiles"; - #elif defined(ARCH_MAC) - asset::userDir = system::join(homeDir(), "Documents", "Cardinal"); - #elif defined(ARCH_WIN) - asset::userDir = system::join(getSpecialPath(kSpecialPathMyDocuments), "Cardinal"); - #else - std::string xdgConfigDir; - if (const char* const xdgEnv = getenv("XDG_CONFIG_HOME")) - xdgConfigDir = xdgEnv; - if (xdgConfigDir.empty()) - xdgConfigDir = system::join(homeDir(), ".config"); - - const std::string xdgDirsConfigPath(system::join(xdgConfigDir, "user-dirs.dirs")); - - if (system::exists(xdgDirsConfigPath)) - { - std::ifstream xdgDirsConfigFile(xdgDirsConfigPath, std::ios::in|std::ios::ate); - std::string xdgDirsConfig(xdgDirsConfigFile.tellg(), 0); - - xdgDirsConfigFile.seekg(0); - xdgDirsConfigFile.read(&xdgDirsConfig[0], xdgDirsConfig.size()); - - if (const char* const xdgDocsDir = std::strstr(xdgDirsConfig.c_str(), "XDG_DOCUMENTS_DIR=\"")) - { - if (const char* const xdgDocsDirNL = std::strstr(xdgDocsDir, "\"\n")) - { - asset::userDir = std::string(xdgDocsDir + 19, xdgDocsDirNL - xdgDocsDir - 19); - - if (string::startsWith(asset::userDir, "$HOME")) - asset::userDir.replace(asset::userDir.begin(), asset::userDir.begin() + 5, homeDir()); - - if (! system::exists(asset::userDir)) - asset::userDir.clear(); - } - } - } - - if (asset::userDir.empty()) - asset::userDir = system::join(homeDir(), "Documents", "Cardinal"); - #endif + asset::userDir = system::join(getSpecialDir(kSpecialDirDocuments), "Cardinal"); if (isRealInstance) { @@ -683,17 +643,10 @@ Initializer::Initializer(const CardinalBasePlugin* const plugin, const CardinalB #ifndef CARDINAL_COMMON_DSP_ONLY if (asset::configDir.empty()) { - #if defined(ARCH_MAC) || defined(ARCH_WIN) || defined(DISTRHO_OS_WASM) - asset::configDir = asset::userDir; - #else - if (const char* const xdgEnv = getenv("XDG_CONFIG_HOME")) - asset::configDir = system::join(xdgEnv, "Cardinal"); - else - asset::configDir = system::join(homeDir(), ".config", "Cardinal"); + asset::configDir = system::join(getSpecialDir(kSpecialDirConfig), "Cardinal"); if (isRealInstance) system::createDirectory(asset::configDir); - #endif } #endif @@ -875,7 +828,8 @@ void Initializer::stopRemoteServer() lo_server_thread_stop(oscServerThread); lo_server_thread_del_method(oscServerThread, nullptr, nullptr); lo_server_thread_free(oscServerThread); - oscServerThread = oscServer = nullptr; + oscServerThread = nullptr; + oscServer = nullptr; } #else if (oscServer != nullptr) diff --git a/src/CardinalPlugin.cpp b/src/CardinalPlugin.cpp index b69ab28..3c01605 100644 --- a/src/CardinalPlugin.cpp +++ b/src/CardinalPlugin.cpp @@ -1,6 +1,6 @@ /* * DISTRHO Cardinal Plugin - * Copyright (C) 2021-2024 Filipe Coelho + * Copyright (C) 2021-2026 Filipe Coelho * SPDX-License-Identifier: GPL-3.0-or-later */ @@ -414,7 +414,7 @@ protected: uint32_t getVersion() const override { - return d_version(0, 24, 12); + return d_version(0, 26, 1); } int64_t getUniqueId() const override diff --git a/src/CardinalPluginContext.hpp b/src/CardinalPluginContext.hpp index 8c2f02b..e379b22 100644 --- a/src/CardinalPluginContext.hpp +++ b/src/CardinalPluginContext.hpp @@ -1,6 +1,6 @@ /* * DISTRHO Cardinal Plugin - * Copyright (C) 2021-2022 Filipe Coelho + * Copyright (C) 2021-2026 Filipe Coelho * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -155,8 +155,8 @@ public: std::function filebrowseraction; FileBrowserHandle filebrowserhandle; - CardinalBaseUI(const uint width, const uint height) - : UI(width, height), + CardinalBaseUI() + : UI(), #if DISTRHO_PLUGIN_WANT_DIRECT_ACCESS context(getRackContextFromPlugin(getPluginInstancePointer())), #else diff --git a/src/CardinalRemote/Makefile b/src/CardinalRemote/Makefile index 8c89164..6e53f44 100644 --- a/src/CardinalRemote/Makefile +++ b/src/CardinalRemote/Makefile @@ -229,7 +229,6 @@ SYMLINKED_DIRS_RESOURCES += BaconPlugs/res/midi/chopin SYMLINKED_DIRS_RESOURCES += BaconPlugs/res/midi/debussy SYMLINKED_DIRS_RESOURCES += BaconPlugs/res/midi/goldberg SYMLINKED_DIRS_RESOURCES += cf/playeroscs -SYMLINKED_DIRS_RESOURCES += DrumKit/res/samples SYMLINKED_DIRS_RESOURCES += Fundamental/presets SYMLINKED_DIRS_RESOURCES += GrandeModular/presets SYMLINKED_DIRS_RESOURCES += LyraeModules/presets @@ -247,6 +246,7 @@ SYMLINKED_DIRS_RESOURCES += surgext/build/surge-data/fx_presets SYMLINKED_DIRS_RESOURCES += surgext/build/surge-data/wavetables SYMLINKED_DIRS_RESOURCES += surgext/patches SYMLINKED_DIRS_RESOURCES += surgext/presets +SYMLINKED_DIRS_RESOURCES += WSTD-Drums/res/samples LINK_FLAGS += $(foreach d,$(SYMLINKED_DIRS_RESOURCES),--preload-file=../../bin/CardinalNative.lv2/resources/$(d)@/resources/$(d)) endif LINK_FLAGS += -sALLOW_MEMORY_GROWTH diff --git a/src/CardinalUI.cpp b/src/CardinalUI.cpp index 806608d..278e36a 100644 --- a/src/CardinalUI.cpp +++ b/src/CardinalUI.cpp @@ -1,6 +1,6 @@ /* * DISTRHO Cardinal Plugin - * Copyright (C) 2021-2024 Filipe Coelho + * Copyright (C) 2021-2026 Filipe Coelho * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -339,7 +339,7 @@ class CardinalUI : public CardinalBaseUI, public: CardinalUI() - : CardinalBaseUI(DISTRHO_UI_DEFAULT_WIDTH, DISTRHO_UI_DEFAULT_HEIGHT), + : CardinalBaseUI(), #if ! DISTRHO_PLUGIN_WANT_DIRECT_ACCESS #ifdef DISTRHO_OS_WASM fInitializer(new Initializer(static_cast(nullptr), this)), @@ -1259,20 +1259,6 @@ protected: #endif } -#if 0 - void uiReshape(const uint width, const uint height) override - { - glEnable(GL_BLEND); - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); - glOrtho(0.0, width, 0.0, height, -1.0, 1.0); - glViewport(0, 0, width, height); - glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); - } -#endif - private: /** Set our UI class as non-copyable and add a leak detector just in case. diff --git a/src/Makefile b/src/Makefile index 48d3bed..8799bff 100644 --- a/src/Makefile +++ b/src/Makefile @@ -147,6 +147,9 @@ au: $(TARGETS) $(MAKE) au -C CardinalFX $(CARDINAL_SYNTH_ARGS) $(MAKE) au -C CardinalSynth $(CARDINAL_SYNTH_ARGS) +mapi: $(TARGETS) + $(MAKE) mapi -C CardinalFX $(CARDINAL_FX_ARGS) + lv2: $(TARGETS) $(MAKE) lv2 -C Cardinal $(MAKE) lv2 -C CardinalFX $(CARDINAL_FX_ARGS) diff --git a/src/Makefile.cardinal.mk b/src/Makefile.cardinal.mk index 0cc66af..731dc36 100644 --- a/src/Makefile.cardinal.mk +++ b/src/Makefile.cardinal.mk @@ -264,6 +264,7 @@ endif ifeq ($(WASM),true) APP_EXT = .js +UI_TYPE = gles2 endif USE_VST2_BUNDLE = true @@ -317,7 +318,6 @@ SYMLINKED_DIRS_RESOURCES += BaconPlugs/res/midi/debussy SYMLINKED_DIRS_RESOURCES += BaconPlugs/res/midi/goldberg SYMLINKED_DIRS_RESOURCES += cf/playeroscs SYMLINKED_DIRS_RESOURCES += DHE-Modules/svg -SYMLINKED_DIRS_RESOURCES += DrumKit/res/samples SYMLINKED_DIRS_RESOURCES += GrandeModular/presets SYMLINKED_DIRS_RESOURCES += LyraeModules/presets SYMLINKED_DIRS_RESOURCES += Meander/res @@ -332,6 +332,7 @@ SYMLINKED_DIRS_RESOURCES += Orbits/presets SYMLINKED_DIRS_RESOURCES += stoermelder-packone/presets SYMLINKED_DIRS_RESOURCES += surgext/build/surge-data/fx_presets SYMLINKED_DIRS_RESOURCES += surgext/build/surge-data/wavetables +SYMLINKED_DIRS_RESOURCES += WSTD-Drums/res/samples endif LINK_FLAGS += $(foreach d,$(SYMLINKED_DIRS_RESOURCES),--preload-file=../../bin/CardinalNative.lv2/resources/$(d)@/resources/$(d)) @@ -408,6 +409,11 @@ endif BUILD_CXX_FLAGS += -DCARDINAL_PLUGIN_PREFIX='"$(PREFIX)"' +# -------------------------------------------------------------- +# we know what we are doing, promise! + +BUILD_CXX_FLAGS += -DDISTRHO_NO_WARNINGS + # -------------------------------------------------------------- # Enable all possible plugin types and setup resources diff --git a/src/custom/RemoteNanoVG.cpp b/src/custom/RemoteNanoVG.cpp index 59aab3d..06ea39a 100644 --- a/src/custom/RemoteNanoVG.cpp +++ b/src/custom/RemoteNanoVG.cpp @@ -1,6 +1,6 @@ /* * DISTRHO Cardinal Plugin - * Copyright (C) 2021-2022 Filipe Coelho + * Copyright (C) 2021-2025 Filipe Coelho * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -55,6 +55,7 @@ GLFWAPI void glfwSetClipboardString(GLFWwindow*, const char*) {} GLFWAPI GLFWcursor* glfwCreateStandardCursor(int) { return nullptr; } GLFWAPI void glfwSetCursor(GLFWwindow*, GLFWcursor*) {} GLFWAPI const char* glfwGetKeyName(int, int) { return nullptr; } +GLFWAPI int glfwGetKey(GLFWwindow*, int) { return 0; } GLFWAPI int glfwGetKeyScancode(int) { return 0; } GLFWAPI double glfwGetTime(void) { return 0.0; } diff --git a/src/custom/dep.cpp b/src/custom/dep.cpp index c6b83cf..74bbebf 100644 --- a/src/custom/dep.cpp +++ b/src/custom/dep.cpp @@ -54,7 +54,6 @@ enum DarkMode { kModeCf, kModeComputerscare, kModeDHE, - kModeDrumKit, kModeESeries, kModeLilacLoop, kModeLittleUtils, @@ -258,19 +257,6 @@ static const struct { { kModeDHE, "/DHE-Modules/svg/truth-4.svg", {}, -1 }, { kModeDHE, "/DHE-Modules/svg/upstage.svg", {}, -1 }, { kModeDHE, "/DHE-Modules/svg/xycloid.svg", {}, -1 }, - // CC0-1.0 - { kModeDrumKit, "/DrumKit/res/Baronial.svg", {}, -1 }, - { kModeDrumKit, "/DrumKit/res/BD9.svg", {}, -1 }, - { kModeDrumKit, "/DrumKit/res/ClosedHH.svg", {}, -1 }, - { kModeDrumKit, "/DrumKit/res/CR78.svg", {}, -1 }, - { kModeDrumKit, "/DrumKit/res/DMX.svg", {}, -1 }, - { kModeDrumKit, "/DrumKit/res/Gnome.svg", {}, -1 }, - { kModeDrumKit, "/DrumKit/res/Marionette.svg", {}, -1 }, - { kModeDrumKit, "/DrumKit/res/OpenHH.svg", {}, -1 }, - { kModeDrumKit, "/DrumKit/res/SBD.svg", {}, -1 }, - { kModeDrumKit, "/DrumKit/res/Sequencer.svg", {}, -1 }, - { kModeDrumKit, "/DrumKit/res/Snare.svg", {}, -1 }, - { kModeDrumKit, "/DrumKit/res/Tomi.svg", {}, -1 }, // Custom, runtime dark mode used with permission { kModeESeries,"/ESeries/res/E340.svg", {}, -1 }, // GPL3.0-or-later @@ -284,6 +270,7 @@ static const struct { { kModeLittleUtils, "/LittleUtils/res/TeleportOut.svg", {}, -1 }, // GPL-3.0-or-later { kModeKocmoc, "/kocmoc/res/DDLY.svg", {}, -1 }, + { kModeKocmoc, "/kocmoc/res/DIOD.svg", {}, -1 }, { kModeKocmoc, "/kocmoc/res/LADR.svg", {}, -1 }, { kModeKocmoc, "/kocmoc/res/uLADR.svg", {}, -1 }, { kModeKocmoc, "/kocmoc/res/MUL.svg", {}, -1 }, @@ -373,6 +360,7 @@ enum LightMode { kModePrism, kModeRepelzen, kModeSonusmodular, + kModeWSTDDrums, }; static const struct { @@ -435,6 +423,11 @@ static const struct { { kModeBefaco, "/Befaco/res/panels/Octaves.svg" }, { kModeBefaco, "/Befaco/res/panels/Bypass.svg" }, { kModeBefaco, "/Befaco/res/panels/Bandit.svg" }, + { kModeBefaco, "/Befaco/res/panels/Atte.svg" }, + { kModeBefaco, "/Befaco/res/panels/AxBC.svg" }, + { kModeBefaco, "/Befaco/res/panels/Mixer2.svg" }, + { kModeBefaco, "/Befaco/res/panels/MuDi.svg" }, + { kModeBefaco, "/Befaco/res/panels/Slew.svg" }, // GPLv3+ { kModeCardinal, "/Cardinal/res/AudioFile.svg" }, { kModeCardinal, "/Cardinal/res/AudioToCVPitch.svg" }, @@ -588,6 +581,20 @@ static const struct { { kModeSonusmodular, "/sonusmodular/res/tropicana.svg" }, { kModeSonusmodular, "/sonusmodular/res/twoff.svg" }, { kModeSonusmodular, "/sonusmodular/res/yabp.svg" }, + // CC0-1.0 + { kModeWSTDDrums, "/WSTD-Drums/res/Baronial.svg" }, + { kModeWSTDDrums, "/WSTD-Drums/res/BD9.svg" }, + { kModeWSTDDrums, "/WSTD-Drums/res/ClosedHH.svg" }, + { kModeWSTDDrums, "/WSTD-Drums/res/CR78.svg" }, + { kModeWSTDDrums, "/WSTD-Drums/res/DMX.svg" }, + { kModeWSTDDrums, "/WSTD-Drums/res/Gnome.svg" }, + { kModeWSTDDrums, "/WSTD-Drums/res/Marionette.svg" }, + { kModeWSTDDrums, "/WSTD-Drums/res/OpenHH.svg" }, + { kModeWSTDDrums, "/WSTD-Drums/res/SBD.svg" }, + { kModeWSTDDrums, "/WSTD-Drums/res/Sequencer.svg" }, + { kModeWSTDDrums, "/WSTD-Drums/res/Snare.svg" }, + { kModeWSTDDrums, "/WSTD-Drums/res/Tomi.svg" }, + { kModeWSTDDrums, "/WSTD-Drums/res/component/Knob.svg" }, }; static inline @@ -624,12 +631,6 @@ bool invertPaintForDarkMode(const DarkMode mode, NSVGshape* const shape, NSVGpai { switch (mode) { - // Special case for DrumKit background gradient - case kModeDrumKit: - std::free(paint.gradient); - paint.type = NSVG_PAINT_COLOR; - paint.color = 0xff191919; - return true; // Special case for PathSet shifty gradient case kModePathSet: paint.gradient->stops[0].color = 0xff7c4919; // 50% darker than main blue diff --git a/src/custom/glfw.cpp b/src/custom/glfw.cpp index b9c72b9..f069ac2 100644 --- a/src/custom/glfw.cpp +++ b/src/custom/glfw.cpp @@ -1,6 +1,6 @@ /* * DISTRHO Cardinal Plugin - * Copyright (C) 2021-2024 Filipe Coelho + * Copyright (C) 2021-2025 Filipe Coelho * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -17,6 +17,7 @@ #include "Application.hpp" #include "CardinalPluginContext.hpp" +#include "widget/event.hpp" #include @@ -207,3 +208,12 @@ GLFWAPI const char* glfwGetKeyName(const int key, int) default: return nullptr; } } + +int glfwGetKey(GLFWwindow*, const int key) +{ + CardinalPluginContext* const context = static_cast(APP); + DISTRHO_SAFE_ASSERT_RETURN(context != nullptr, GLFW_RELEASE); + DISTRHO_SAFE_ASSERT_RETURN(context->event != nullptr, GLFW_RELEASE); + + return context->event->heldKeys.find(key) != context->event->heldKeys.end() ? GLFW_PRESS : GLFW_RELEASE; +} diff --git a/src/override/Scene.cpp b/src/override/Scene.cpp index 909b498..5b6e85a 100644 --- a/src/override/Scene.cpp +++ b/src/override/Scene.cpp @@ -1,6 +1,6 @@ /* * DISTRHO Cardinal Plugin - * Copyright (C) 2021-2024 Filipe Coelho + * Copyright (C) 2021-2025 Filipe Coelho * SPDX-License-Identifier: GPL-3.0-or-later */ @@ -207,20 +207,23 @@ void Scene::step() { (internal->historyActionIndex != actionIndex && actionIndex > 0 && time - internal->lastSceneChangeTime >= 1.0)) { - remoteDetails->first = false; - - const std::string& name(APP->history->actions[actionIndex - 1]->name); - static const std::vector ignoredNames = { - "move knob", - "move modules", - "move switch", - }; - if (std::find(ignoredNames.cbegin(), ignoredNames.cend(), name) == ignoredNames.cend()) { - printf("action '%s'\n", APP->history->actions[actionIndex - 1]->name.c_str()); + if (remoteDetails->first) { + remoteDetails->first = false; remoteUtils::sendFullPatchToRemote(remoteDetails); - - if (remoteDetails->screenshot) { - window::generateScreenshot(); + } else { + const std::string& name(APP->history->actions[actionIndex - 1]->name); + static const std::vector ignoredNames = { + "move knob", + "move modules", + "move switch", + }; + if (std::find(ignoredNames.cbegin(), ignoredNames.cend(), name) == ignoredNames.cend()) { + d_debug("action '%s'\n", APP->history->actions[actionIndex - 1]->name.c_str()); + remoteUtils::sendFullPatchToRemote(remoteDetails); + + if (remoteDetails->screenshot) { + window::generateScreenshot(); + } } } internal->historyActionIndex = actionIndex; diff --git a/src/override/plugin.cpp b/src/override/plugin.cpp index 957fe9d..7b059e4 100644 --- a/src/override/plugin.cpp +++ b/src/override/plugin.cpp @@ -48,6 +48,7 @@ static const std::map pluginSlugFallbacks = { {"AudibleInstrumentsPreview", "AudibleInstruments"}, {"SequelSequencers", "DanielDavies"}, {"DelexanderVol1", "DelexandraVol1"}, + {"DrumKit", "WSTD-Drums"} // {"", ""}, }; @@ -102,6 +103,18 @@ static const std::map moduleSlugFallbacks = {{"Core", "Notes"}, {"Cardinal", "TextEditor"}}, {{"Core", "Blank"}, {"Cardinal", "Blank"}}, {{"MindMeld-ShapeMasterPro", "ShapeMasterPro"}, {"MindMeldModular", "ShapeMaster"}}, + {{"DrumKit", "BassDrum9"}, {"WSTD-Drums", "BassDrum9"}}, + {{"DrumKit", "ClosedHiHat"}, {"WSTD-Drums", "ClosedHiHat"}}, + {{"DrumKit", "CR78"}, {"WSTD-Drums", "CR78"}}, + {{"DrumKit", "DMX"}, {"WSTD-Drums", "DMX"}}, + {{"DrumKit", "OpenHiHat"}, {"WSTD-Drums", "OpenHiHat"}}, + {{"DrumKit", "SyntheticBassDrum"}, {"WSTD-Drums", "SyntheticBassDrum"}}, + {{"DrumKit", "SnareDrumN"}, {"WSTD-Drums", "SnareDrumN"}}, + {{"DrumKit", "Tomi"}, {"WSTD-Drums", "Tomi"}}, + {{"DrumKit", "Gnome"}, {"WSTD-Drums", "Gnome"}}, + {{"DrumKit", "Sequencer"}, {"WSTD-Drums", "Sequencer"}}, + {{"DrumKit", "Baronial"}, {"WSTD-Drums", "Baronial"}}, + {{"DrumKit", "MarionetteBass"}, {"WSTD-Drums", "MarionetteBass"}}, // {{"", ""}, {"", ""}}, }; diff --git a/utils/macOS/Info_JACK.plist b/utils/macOS/Info_JACK.plist index c97c0e1..0cc3a16 100644 --- a/utils/macOS/Info_JACK.plist +++ b/utils/macOS/Info_JACK.plist @@ -11,11 +11,11 @@ CFBundleIdentifier studio.kx.distrho.cardinal.jack CFBundleShortVersionString - 24.12 + 26.01 LSMinimumSystemVersion 10.15 NSHumanReadableCopyright - (C) 2011-2024 Filipe Coelho. + (C) 2011-2026 Filipe Coelho. 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. NSHighResolutionCapable diff --git a/utils/macOS/Info_Native.plist b/utils/macOS/Info_Native.plist index 5051b55..b2482ab 100644 --- a/utils/macOS/Info_Native.plist +++ b/utils/macOS/Info_Native.plist @@ -11,11 +11,11 @@ CFBundleIdentifier studio.kx.distrho.cardinal.native CFBundleShortVersionString - 24.12 + 26.01 LSMinimumSystemVersion 10.15 NSHumanReadableCopyright - (C) 2011-2024 Filipe Coelho. + (C) 2011-2026 Filipe Coelho. 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. NSHighResolutionCapable