Skip to content

Commit 65af58a

Browse files
authored
Merge branch 'DISTRHO:main' into update-surge
2 parents d296dea + 959356f commit 65af58a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+8339
-240
lines changed

.github/ISSUE_TEMPLATE/bug.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ body:
55
id: version
66
attributes:
77
label: Version
8-
value: "24.12"
8+
value: "26.01"
99
validations:
1010
required: true
1111
- type: dropdown

.github/workflows/build.yml

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@ name: build
33
on: [push, pull_request]
44

55
env:
6-
CACHE_VERSION: 11
6+
CACHE_VERSION: 14
77
CARDINAL_UNDER_WINE: 1
88
CIBUILD: true
99
DEBIAN_FRONTEND: noninteractive
1010
LIBGL_ALWAYS_SOFTWARE: true
11+
PAWPAW_CI: 1
1112
PAWPAW_FAST_MATH: 1
1213
PAWPAW_SKIP_GLIB: 1
1314
PAWPAW_SKIP_LTO: 1
@@ -23,7 +24,7 @@ jobs:
2324
target: [aarch64, armhf, i686, riscv64, x86_64]
2425
runs-on: ubuntu-latest
2526
container:
26-
image: ubuntu:20.04
27+
image: ubuntu:22.04
2728
steps:
2829
- name: Install git
2930
run: |
@@ -125,7 +126,7 @@ jobs:
125126
*.tar.gz
126127
127128
linux-x86_64-debug:
128-
runs-on: ubuntu-20.04
129+
runs-on: ubuntu-22.04
129130
steps:
130131
- uses: actions/checkout@v4
131132
with:
@@ -157,7 +158,7 @@ jobs:
157158
*.tar.xz
158159
159160
macos:
160-
runs-on: macos-13
161+
runs-on: macos-14
161162
steps:
162163
- uses: actions/checkout@v4
163164
with:
@@ -179,6 +180,7 @@ jobs:
179180
key: macos-universal-v${{ env.CACHE_VERSION }}
180181
- name: Setup dependencies
181182
run: |
183+
brew uninstall --force --ignore-dependencies cmake
182184
./deps/PawPaw/.github/workflows/bootstrap-deps.sh macos-universal-10.15
183185
- name: Build extra dependencies
184186
run: |
@@ -228,18 +230,20 @@ jobs:
228230
files: |
229231
${{ github.event.repository.name }}-*.pkg
230232
231-
modaudio:
233+
mod-plugin-builder:
232234
strategy:
233235
matrix:
234236
include:
237+
- name: darkglass-anagram
238+
target: darkglass-anagram
235239
- name: modduo
236240
target: modduo-static
237241
extraflags: MODDUO=true
238242
- name: modduox
239243
target: modduox-static
240244
- name: moddwarf
241245
target: moddwarf
242-
runs-on: ubuntu-20.04
246+
runs-on: ubuntu-22.04
243247
steps:
244248
- uses: actions/checkout@v4
245249
with:
@@ -254,7 +258,7 @@ jobs:
254258
- name: Set up dependencies
255259
run: |
256260
sudo apt-get update -qq
257-
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
261+
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
258262
sudo apt-get install -yqq pandoc texlive-latex-recommended texlive-latex-extra
259263
sudo apt-get clean
260264
- name: Bootstrap toolchain
@@ -422,7 +426,7 @@ jobs:
422426
export PATH="/usr/lib/ccache:${PATH}"
423427
source deps/PawPaw/local.env ${{ matrix.target }}
424428
make features
425-
make NOOPT=true -j $(nproc)
429+
xvfb-run make NOOPT=true -j $(nproc)
426430
- name: Build cross-compiled (carla)
427431
if: steps.cache.outputs.cache-hit == 'true'
428432
shell: bash
@@ -471,7 +475,7 @@ jobs:
471475
Cardinal-*.zip
472476
473477
headless:
474-
runs-on: ubuntu-20.04
478+
runs-on: ubuntu-22.04
475479
steps:
476480
- uses: actions/checkout@v4
477481
with:
@@ -488,7 +492,7 @@ jobs:
488492
make HEADLESS=true -j $(nproc)
489493
490494
lto:
491-
runs-on: ubuntu-20.04
495+
runs-on: ubuntu-22.04
492496
steps:
493497
- uses: actions/checkout@v4
494498
with:
@@ -505,7 +509,7 @@ jobs:
505509
make WITH_LTO=true -j $(nproc) native
506510
507511
sysdeps:
508-
runs-on: ubuntu-20.04
512+
runs-on: ubuntu-22.04
509513
steps:
510514
- uses: actions/checkout@v4
511515
with:
@@ -521,7 +525,7 @@ jobs:
521525
make SYSDEPS=true -j $(nproc)
522526
523527
source-tarball:
524-
runs-on: ubuntu-20.04
528+
runs-on: ubuntu-22.04
525529
steps:
526530
- uses: actions/checkout@v4
527531
with:
@@ -561,7 +565,7 @@ jobs:
561565
/home/runner/*/*/cardinal*.tar.xz
562566
563567
plugin-validation:
564-
runs-on: ubuntu-20.04
568+
runs-on: ubuntu-22.04
565569
steps:
566570
- uses: actions/checkout@v4
567571
with:
@@ -583,8 +587,8 @@ jobs:
583587
- name: Set up dependencies
584588
run: |
585589
# custom repos
586-
wget https://launchpad.net/~kxstudio-debian/+archive/kxstudio/+files/kxstudio-repos_11.1.0_all.deb
587-
sudo dpkg -i kxstudio-repos_11.1.0_all.deb
590+
wget https://launchpad.net/~kxstudio-debian/+archive/kxstudio/+files/kxstudio-repos_11.2.0_all.deb
591+
sudo dpkg -i kxstudio-repos_11.2.0_all.deb
588592
sudo apt-get update -qq
589593
# build-deps
590594
sudo apt-get install -yqq libdbus-1-dev libgl1-mesa-dev liblo-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev

.gitmodules

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,9 @@
4949
[submodule "plugins/ValleyAudio"]
5050
path = plugins/ValleyAudio
5151
url = https://github.com/ValleyAudio/ValleyRackFree.git
52-
[submodule "plugins/DrumKit"]
53-
path = plugins/DrumKit
54-
url = https://github.com/SVModular/DrumKit.git
52+
[submodule "plugins/WSTD-Drums"]
53+
path = plugins/WSTD-Drums
54+
url = https://github.com/Wasted-Audio/WSTD-Drums.git
5555
[submodule "carla"]
5656
path = carla
5757
url = https://github.com/falkTX/Carla.git
@@ -260,4 +260,9 @@
260260
[submodule "plugins/admiral"]
261261
path = plugins/admiral
262262
url = https://github.com/wapiflapi/admiral.git
263-
263+
[submodule "plugins/eightfold"]
264+
path = plugins/eightfold
265+
url = https://github.com/scanner-darkly/eightfold.git
266+
[submodule "plugins/Venom"]
267+
path = plugins/Venom
268+
url = https://github.com/DaveBenham/VenomModules

Makefile

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
#!/usr/bin/make -f
22
# DISTRHO Cardinal Plugin
3-
# Copyright (C) 2021-2024 Filipe Coelho <falktx@falktx.com>
3+
# Copyright (C) 2021-2025 Filipe Coelho <falktx@falktx.com>
44
# SPDX-License-Identifier: GPL-3.0-or-later
55

66
ROOT = .
77
include $(ROOT)/Makefile.base.mk
88

9-
# -----------------------------------------------------------------------------
9+
# ---------------------------------------------------------------------------------------------------------------------
1010
# Set version
1111

1212
# also set in:
@@ -15,20 +15,20 @@ include $(ROOT)/Makefile.base.mk
1515
# src/CardinalPlugin.cpp `getVersion`
1616
# utils/macOS/Info_{JACK,Native}.plist
1717
# .github/ISSUE_TEMPLATE/bug.yaml src/CardinalCommon.cpp src/CardinalPlugin.cpp utils/macOS/Info_{JACK,Native}.plist
18-
VERSION = 24.12
18+
VERSION = 26.01
1919

20-
# --------------------------------------------------------------
20+
# ---------------------------------------------------------------------------------------------------------------------
2121
# Build targets
2222

2323
all: cardinal carla deps dgl plugins gen resources
2424

25-
# --------------------------------------------------------------
25+
# ---------------------------------------------------------------------------------------------------------------------
2626
# Build config
2727

2828
PREFIX ?= /usr/local
2929
DESTDIR ?=
3030

31-
# --------------------------------------------------------------
31+
# ---------------------------------------------------------------------------------------------------------------------
3232
# Carla config
3333

3434
CARLA_EXTRA_ARGS = \
@@ -44,7 +44,16 @@ ifneq ($(DEBUG),true)
4444
CARLA_EXTRA_ARGS += EXTERNAL_PLUGINS=true
4545
endif
4646

47-
# --------------------------------------------------------------
47+
# ---------------------------------------------------------------------------------------------------------------------
48+
# DGL config
49+
50+
ifeq ($(WASM),true)
51+
UI_TYPE = gles2
52+
else
53+
UI_TYPE = opengl
54+
endif
55+
56+
# ---------------------------------------------------------------------------------------------------------------------
4857
# Check for required system-wide dependencies
4958

5059
ifeq ($(SYSDEPS),true)
@@ -183,7 +192,7 @@ endif
183192

184193
dgl:
185194
ifneq ($(HEADLESS),true)
186-
$(MAKE) opengl -C dpf/dgl $(DGL_EXTRA_ARGS)
195+
$(MAKE) $(UI_TYPE) -C dpf/dgl $(DGL_EXTRA_ARGS)
187196
endif
188197

189198
plugins: deps
@@ -229,6 +238,9 @@ clap: carla deps dgl plugins resources
229238
lv2: carla deps dgl plugins resources
230239
$(MAKE) lv2 -C src $(CARLA_EXTRA_ARGS)
231240

241+
mapi: carla deps dgl plugins resources
242+
$(MAKE) mapi -C src $(CARLA_EXTRA_ARGS)
243+
232244
vst2: carla deps dgl plugins resources
233245
$(MAKE) vst2 -C src $(CARLA_EXTRA_ARGS)
234246

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ At the moment the following 3rd-party modules are provided:
145145
- [CVfunk](https://github.com/codygeary/CVfunk-Modules)
146146
- [dBiz](https://github.com/dBiz/dBiz)
147147
- [DHE Modules](https://github.com/dhemery/DHE-Modules)
148-
- [DrumKit](https://svmodular.com/plugin/vcv/drumkit.html)
148+
- [eightfold](https://github.com/scanner-darkly/eightfold)
149149
- [EnigmaCurry](https://github.com/EnigmaCurry/EnigmaCurry-vcv-pack)
150150
- [E-Series](https://github.com/VCVRack/ESeries)
151151
- [ExpertSleepers Encoders](https://expert-sleepers.co.uk/vcvrack_encoders.html)
@@ -196,8 +196,10 @@ At the moment the following 3rd-party modules are provided:
196196
- [Surge XT](https://github.com/surge-synthesizer/surge-rack)
197197
- [unless_modules](https://gitlab.com/unlessgames/unless_modules)
198198
- [Valley](https://github.com/ValleyAudio/ValleyRackFree)
199+
- [Venom](https://github.com/DaveBenham/VenomModules)
199200
- [Voxglitch](https://github.com/clone45/voxglitch)
200201
- [WhatTheRack](https://github.com/korfuri/WhatTheRack)
202+
- [WSTD-Drums](https://github.com/Wasted-Audio/WSTD-Drums)
201203
- [ZetaCarinae](https://github.com/mhampton/ZetaCarinaeModules)
202204
- [ZZC](https://github.com/zezic/ZZC)
203205

carla

Submodule carla updated 351 files

deps/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ SPACE +=
5757
CMAKE = cmake
5858
CMAKE += -DCMAKE_INSTALL_LIBDIR=lib
5959
CMAKE += -DCMAKE_INSTALL_PREFIX='$(RACK_DEP_PATH)'
60+
CMAKE += -DCMAKE_POLICY_VERSION_MINIMUM=3.5
6061
CMAKE += -DBUILD_SHARED_LIBS=OFF
6162

6263
# make sure debug/release matches

docs/LICENSES.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ Below follows a list of all code licenses used in Cardinal and linked submodules
3939
| CVfunk | MIT | |
4040
| dBiz | GPL-3.0-or-later | |
4141
| DHE-Modules | MIT | |
42-
| DrumKit | CC0-1.0 | |
42+
| eightfold | GPL-3.0-or-later | |
4343
| EnigmaCurry | GPL-3.0-or-later | |
4444
| E-Series | GPL-3.0-or-later | |
4545
| ExpertSleepers Encoders | MIT | |
@@ -90,7 +90,9 @@ Below follows a list of all code licenses used in Cardinal and linked submodules
9090
| Surge XT | GPL-3.0-or-later | |
9191
| unless_modules | GPL-3.0-or-later | |
9292
| Valley | GPL-3.0-or-later | |
93+
| Venom | GPL-3.0-or-later | |
9394
| Voxglitch | GPL-3.0-or-later | |
95+
| WSTD-Drums | CC0-1.0 | |
9496
| WhatTheRack | WTFPL | |
9597
| ZetaCarinae | GPL-3.0-or-later | |
9698
| ZZC | GPL-3.0-or-later | |
@@ -178,6 +180,7 @@ Below is a list of artwork licenses from plugins
178180
| DHE-Modules/* | MIT | Same license as source code |
179181
| DrumKit/* | CC0-1.0 | |
180182
| DrumKit/component/NovaMono.ttf | OFL-1.1-RFN | |
183+
| eightfold/* | GPL-3.0-or-later | No artwork specific license provided |
181184
| EnigmaCurry/res/fonts/dseg/* | OFL-1.1-RFN | |
182185
| EnigmaCurry/res/fonts/Fantasque/* | OFL-1.1 | |
183186
| EnigmaCurry/res/fonts/manrope/* | OFL-1.1 | |
@@ -201,6 +204,7 @@ Below is a list of artwork licenses from plugins
201204
| ImpromptuModular/res/comp/complib/* | CC-BY-NC-4.0 | |
202205
| JW-Modules/* | BSD-3-Clause | No artwork specific license provided |
203206
| JW-Modules/DejaVuSansMono.ttf | Bitstream-Vera | Unused in Cardinal |
207+
| JW-Modules/res/fonts/ShareTechMono-Regular.ttf | OFL-1.1 | |
204208
| kocmoc/* | GPL-3.0-or-later | No artwork specific license provided |
205209
| LifeFormModular/* | MIT | No artwork specific license provided |
206210
| LilacLoop/* | GPL-3.0-or-later | No artwork specific license provided |
@@ -263,6 +267,7 @@ Below is a list of artwork licenses from plugins
263267
| ValleyAudio/din1451alt.ttf | CC-BY-3.0-DE | |
264268
| ValleyAudio/DSEG14Classic-*.ttf | OFL-1.1-RFN | |
265269
| ValleyAudio/ShareTechMono-*.ttf | OFL-1.1-RFN | |
270+
| Venom/* | GPL-3.0-or-later | No artwork specific license provided |
266271
| voxglitch/* | GPL-3.0-or-later | No artwork specific license provided |
267272
| voxglitch/ShareTechMono-Regular.ttf | OFL-1.1-RFN | |
268273
| WhatTheRack/* | WTFPL | |

docs/OSC-REMOTE-CONTROL.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,17 @@ If all went well opening the "Engine" menu again should show a checkmark, indica
2323
For the moment there is no error dialog or information in case things go wrong.
2424
If you are unable to connect, make sure your OS network firewall settings allows opening port 2228.
2525

26+
### Automatic startup on headless builds
27+
28+
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.
29+
30+
To change the port for the OSC server use the `CARDINAL_REMOTE_HOST_PORT` environment variable, for example:
31+
```sh
32+
env CARDINAL_REMOTE_HOST_PORT=2228 CardinalNative
33+
```
34+
35+
This can be useful for starting Cardinal where no mouse/keyboard are attached but you want remote control.
36+
2637
## TouchOSC example setup
2738

2839
A TouchOSC compatible file is available [here](https://github.com/DISTRHO/Cardinal/raw/main/patches/touchosc/24-direct-fader-params.tosc).

0 commit comments

Comments
 (0)