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