Skip to content

Commit 9fbf44e

Browse files
Merge branch 'DISTRHO:main' into add-loginstruments
2 parents 0e18b88 + 0b01d08 commit 9fbf44e

29 files changed

+222
-130
lines changed

.github/ISSUE_TEMPLATE/bug.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ body:
55
id: version
66
attributes:
77
label: Version
8-
value: "24.05"
8+
value: "24.09"
99
validations:
1010
required: true
1111
- type: dropdown

.github/workflows/build.yml

+13-5
Original file line numberDiff line numberDiff line change
@@ -159,12 +159,20 @@ jobs:
159159
macos:
160160
strategy:
161161
matrix:
162+
debug: [0, 1]
162163
target: [universal-10.15]
163164
runs-on: macos-12
164165
steps:
165166
- uses: actions/checkout@v4
166167
with:
167168
submodules: recursive
169+
- name: Set debug or release
170+
shell: bash
171+
run: |
172+
if [ "${{ matrix.debug }}" -eq 1 ]; then
173+
echo "TARGET_SUFFIX=-debug" >> $GITHUB_ENV
174+
echo "PAWPAW_DEBUG=1" >> $GITHUB_ENV
175+
fi
168176
- name: Set up cache
169177
id: cache
170178
uses: actions/cache@v4
@@ -179,7 +187,7 @@ jobs:
179187
src/Rack/dep/libarchive-3.4.3
180188
src/Rack/dep/libsamplerate-0.1.9
181189
src/Rack/dep/zstd-1.4.5
182-
key: macos-${{ matrix.target }}-v${{ env.CACHE_VERSION }}
190+
key: macos-${{ matrix.target }}${{ env.TARGET_SUFFIX }}-v${{ env.CACHE_VERSION }}
183191
- name: Setup dependencies
184192
run: |
185193
./deps/PawPaw/.github/workflows/bootstrap-deps.sh macos-${{ matrix.target }}
@@ -191,7 +199,7 @@ jobs:
191199
if: steps.cache.outputs.cache-hit == 'true'
192200
uses: hendrikmuhs/ccache-action@v1.2
193201
with:
194-
key: ccache-macos-${{ matrix.target }}-v${{ env.CACHE_VERSION }}
202+
key: ccache-macos-${{ matrix.target }}${{ env.TARGET_SUFFIX }}-v${{ env.CACHE_VERSION }}
195203
- name: Build macOS (base)
196204
if: steps.cache.outputs.cache-hit == 'true'
197205
shell: bash
@@ -215,14 +223,14 @@ jobs:
215223
- name: Rename macOS bundle
216224
if: steps.cache.outputs.cache-hit == 'true'
217225
run: |
218-
mv ${{ github.event.repository.name }}-macOS.pkg ${{ github.event.repository.name }}-macOS-${{ matrix.target }}-${{ github.event.pull_request.number || env.SHA8 }}.pkg
226+
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
219227
- uses: actions/upload-artifact@v4
220228
with:
221-
name: ${{ github.event.repository.name }}-macOS-${{ matrix.target }}-${{ github.event.pull_request.number || env.SHA8 }}
229+
name: ${{ github.event.repository.name }}-macOS-${{ matrix.target }}${{ env.TARGET_SUFFIX }}-${{ github.event.pull_request.number || env.SHA8 }}
222230
path: |
223231
${{ github.event.repository.name }}-*.pkg
224232
- uses: softprops/action-gh-release@v1
225-
if: startsWith(github.ref, 'refs/tags/')
233+
if: ${{ matrix.debug == '0' && startsWith(github.ref, 'refs/tags/') }}
226234
with:
227235
tag_name: ${{ github.ref_name }}
228236
name: ${{ github.ref_name }}

.gitmodules

+3
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,9 @@
200200
[submodule "plugins/forsitan-modulare"]
201201
path = plugins/forsitan-modulare
202202
url = https://github.com/gosub/forsitan-modulare.git
203+
[submodule "plugins/MUS-X"]
204+
path = plugins/MUS-X
205+
url = https://github.com/Jojosito/MUS-X.git
203206
[submodule "plugins/myth-modules"]
204207
path = plugins/myth-modules
205208
url = https://github.com/Ahineya/vcv-myth-plugin.git

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ 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.05
18+
VERSION = 24.09
1919

2020
# --------------------------------------------------------------
2121
# Build targets

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,7 @@ At the moment the following 3rd-party modules are provided:
175175
- [Mog](https://github.com/JustMog/Mog-VCV)
176176
- [mscHack](https://github.com/mschack/VCV-Rack-Plugins)
177177
- [MSM](https://github.com/netboy3/MSM-vcvrack-plugin)
178+
- [MUS-X](https://github.com/Jojosito/MUS-X)
178179
- [Myth](https://github.com/Ahineya/vcv-myth-plugin)
179180
- [Nonlinear Circuits](https://github.com/mhetrick/nonlinearcircuits)
180181
- [Orbits](https://github.com/RareBreeds/Orbits)

carla

Submodule carla updated 68 files

deps/Makefile

+3
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,9 @@ export MACOSX_DEPLOYMENT_TARGET = $(subst -mmacosx-version-min=,,$(filter -mmaco
7878
CMAKE += -DCMAKE_OSX_DEPLOYMENT_TARGET=$(MACOSX_DEPLOYMENT_TARGET)
7979
else ifeq ($(CIBUILD),true)
8080
$(error CI build requires -mmacosx-version-min flag on macOS)
81+
else
82+
export MACOSX_DEPLOYMENT_TARGET = 10.15
83+
CMAKE += -DCMAKE_OSX_DEPLOYMENT_TARGET=10.15
8184
endif
8285
CMAKE += -DCMAKE_OSX_SYSROOT="macosx"
8386
endif

docs/BUILDING.md

+15-2
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ Dependencies for vendored libraries:
7777
```
7878
# common
7979
sudo pacman -S cmake dbus file fftw libgl liblo libsndfile libx11 libxcursor libxext libxrandr python3
80-
# nedeed by vendored libraries
80+
# needed by vendored libraries
8181
sudo pacman -S wget
8282
```
8383

@@ -97,10 +97,23 @@ Dependencies for vendored libraries:
9797
```
9898
# common
9999
sudo apt install cmake libdbus-1-dev libgl1-mesa-dev liblo-dev libfftw3-dev libmagic-dev libsndfile1-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev python3
100-
# nedeed by vendored libraries
100+
# needed by vendored libraries
101101
sudo apt install wget
102102
```
103103

104+
### Fedora
105+
106+
At this time, it is only possible to build with vendored libraries.
107+
108+
Dependencies for vendored libraries:
109+
110+
```
111+
# common
112+
sudo dnf install cmake dbus file fftw mesa-libGL liblo libsndfile libX11 libXcursor libXext libXrandr python3
113+
# needed by vendored libraries
114+
sudo dnf install wget
115+
```
116+
104117
## macOS
105118

106119
Installing Xcode and the "Command-Line utilities" add-on is required.

docs/DIFFERENCES.md

+13-12
Original file line numberDiff line numberDiff line change
@@ -47,16 +47,17 @@ Bellow follows a list of features comparing the official plugin to Cardinal.
4747
Additionally, Cardinal contains the following built-in modules not present in the official plugin or standalone:
4848

4949
* Aria Salvatrice modules (except Arcane related modules, due to their online requirement)
50+
* Arable Instruments and Parable Instruments (never updated to v2)
5051
* Mog (never updated to v2)
51-
* mscHack (never updated to v2)
52-
* rackwindows
53-
* AIDA-X
54-
* Audio File
55-
* Audio to CV Pitch converter
56-
* Carla Plugin Host
57-
* Ildaeil Host
58-
* glBars (OpenGL bars visualization, as seen in XMMS and XBMC/Kodi)
59-
* Text Editor (resizable and with syntax highlight)
60-
* Host Parameters (24 host-exposed parameters as CV sources)
61-
* Host Time (play, reset, bar, beat, tick, bar-phase and beat-phase CV sources)
62-
* Host CV (for the Raw-CV plugin variant, allows direct CV access to/from the DAW)
52+
* Rackwindows (never updated to v2)
53+
* The DISTRHO collection, including:
54+
* AIDA-X
55+
* Audio File
56+
* Audio to CV Pitch converter
57+
* Carla Plugin Host
58+
* Ildaeil Host
59+
* glBars (OpenGL bars visualization, as seen in XMMS and XBMC/Kodi)
60+
* Text Editor (resizable and with syntax highlight)
61+
* Host Parameters (24 host-exposed parameters as CV sources)
62+
* Host Time (play, reset, bar, beat, tick, bar-phase and beat-phase CV sources)
63+
* Host CV (for the Raw-CV plugin variant, allows direct CV access to/from the DAW)

docs/LICENSES.md

+2
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ Below follows a list of all code licenses used in Cardinal and linked submodules
6969
| Mog | CC0-1.0 | |
7070
| mscHack | BSD-3-Clause | |
7171
| MSM | MIT | Repo's [LICENSE-dist.md](https://github.com/netboy3/MSM-vcvrack-plugin/issues/10) includes wrong information |
72+
| MUS-X | GPL-3.0-or-later | |
7273
| Myth | GPL-3.0-or-later | |
7374
| Nonlinear Circuits | CC0-1.0 | |
7475
| Orbits | GPL-3.0-or-later | |
@@ -230,6 +231,7 @@ Below is a list of artwork licenses from plugins
230231
| MSM/Fonts/DejaVuSansMono.ttf | Bitstream-Vera | |
231232
| MSM/Fonts/Segment7Standard.ttf | OFL-1.1-RFN | |
232233
| MSM/Fonts/Sudo.ttf | OFL-1.1-no-RFN | |
234+
| MUS-X/* | GPL-3.0-or-later | No artwork specific license provided |
233235
| Myth/* | GPL-3.0-or-later | No artwork specific license provided |
234236
| nonlinearcircuits/* | CC0-1.0 | No artwork specific license provided |
235237
| nonlinearcircuits/Audiowide-Regular.ttf | OFL-1.1-RFN | |

plugins/MUS-X

Submodule MUS-X added at f622217

plugins/Makefile

+16-2
Original file line numberDiff line numberDiff line change
@@ -551,7 +551,7 @@ MINIPLUGIN_FILES += BaconPlugs/src/Style.cpp
551551
# --------------------------------------------------------------
552552
# Befaco
553553

554-
PLUGIN_FILES += $(filter-out Befaco/src/plugin.cpp,$(wildcard Befaco/src/*.cpp))
554+
PLUGIN_FILES += $(filter-out Befaco/src/plugin.cpp Befaco/src/MidiThing.cpp,$(wildcard Befaco/src/*.cpp))
555555
PLUGIN_FILES += $(wildcard Befaco/src/noise-plethora/*/*.cpp)
556556

557557
# modules/types which are present in other plugins
@@ -936,6 +936,11 @@ PLUGIN_FILES += $(filter-out MSM/src/MSM.cpp,$(wildcard MSM/src/*.cpp))
936936
# modules/types which are present in other plugins
937937
MSM_CUSTOM = ADSR BlankPanel Delay LFO LowFrequencyOscillator Mult Noise OP VCA VCO sawTable triTable
938938

939+
# --------------------------------------------------------------
940+
# MUS-X
941+
942+
PLUGIN_FILES += $(filter-out MUS-X/src/plugin.cpp,$(wildcard MUS-X/src/*.cpp))
943+
939944
# --------------------------------------------------------------
940945
# myth-modules
941946

@@ -1307,9 +1312,10 @@ VALLEYAUDIO_CUSTOM_PER_FILE = TempoKnob
13071312
# Voxglitch
13081313

13091314
PLUGIN_FILES += $(filter-out voxglitch/src/plugin.cpp,$(wildcard voxglitch/src/*.cpp))
1315+
PLUGIN_FILES += voxglitch/src/vgLib-2.0/constants.cpp
13101316

13111317
# modules/types which are present in other plugins
1312-
VOXGLITCH_CUSTOM = ADSR AudioFile Looper Readout
1318+
VOXGLITCH_CUSTOM = $(DRWAV) ADSR AudioFile Looper Quantizer Random Readout SlewLimiter constants
13131319
VOXGLITCH_CUSTOM_PER_FILE = AudioBuffer GateSequencer Grain SamplePlayer Sequencer SequencerDisplay VoltageSequencer
13141320

13151321
# --------------------------------------------------------------
@@ -1472,6 +1478,7 @@ RESOURCE_FILES += MindMeldModular/res/ShapeMaster/CommunityShapes
14721478
RESOURCE_FILES += MindMeldModular/res/ShapeMaster/MindMeldPresets
14731479
RESOURCE_FILES += MindMeldModular/res/ShapeMaster/MindMeldShapes
14741480
RESOURCE_FILES += Mog/res
1481+
RESOURCE_FILES += MUS-X/presets
14751482
RESOURCE_FILES += nonlinearcircuits/res
14761483
RESOURCE_FILES += ParableInstruments/res/Neil.png
14771484
RESOURCE_FILES += surgext/build/surge-data/configuration.xml
@@ -2633,6 +2640,13 @@ $(BUILD_DIR)/MSM/%.cpp.o: MSM/%.cpp
26332640
$(foreach m,$(MSM_CUSTOM),$(call custom_module_names,$(m),MSM)) \
26342641
-DpluginInstance=pluginInstance__MSM
26352642

2643+
$(BUILD_DIR)/MUS-X/%.cpp.o: MUS-X/%.cpp
2644+
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
2645+
@echo "Compiling $<"
2646+
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \
2647+
$(foreach m,$(MUS_X_CUSTOM),$(call custom_module_names,$(m),MUS_X)) \
2648+
-DpluginInstance=pluginInstance__MUS_X
2649+
26362650
$(BUILD_DIR)/myth-modules/%.cpp.o: myth-modules/%.cpp
26372651
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
26382652
@echo "Compiling $<"

plugins/Sapphire

plugins/plugins.cpp

+61-20
Original file line numberDiff line numberDiff line change
@@ -762,6 +762,9 @@ extern Model* modelBlankPanel;
762762
#undef modelVCA
763763
#undef modelVCO
764764

765+
// MUS-X
766+
#include "MUS-X/src/plugin.hpp"
767+
765768
// myth-modules
766769
#include "myth-modules/src/plugin.hpp"
767770

@@ -959,6 +962,7 @@ Plugin* pluginInstance__MockbaModular;
959962
Plugin* pluginInstance__Mog;
960963
extern Plugin* pluginInstance__mscHack;
961964
Plugin* pluginInstance__MSM;
965+
Plugin* pluginInstance__MUS_X;
962966
Plugin* pluginInstance__myth_modules;
963967
Plugin* pluginInstance__nonlinearcircuits;
964968
Plugin* pluginInstance__Orbits;
@@ -1594,9 +1598,13 @@ static void initStatic__Befaco()
15941598
p->addModel(modelMotionMTR);
15951599
p->addModel(modelBurst);
15961600
p->addModel(modelVoltio);
1601+
p->addModel(modelOctaves);
15971602
#undef modelADSR
15981603
#undef modelMixer
15991604
#undef modelBurst
1605+
1606+
// NOTE disabled in Cardinal due to MIDI usage
1607+
spl.removeModule("MidiThingV2");
16001608
}
16011609
}
16021610

@@ -2865,6 +2873,30 @@ static void initStatic__MSM()
28652873
}
28662874
}
28672875

2876+
static void initStatic__MUS_X()
2877+
{
2878+
Plugin* const p = new Plugin;
2879+
pluginInstance__MUS_X = p;
2880+
2881+
const StaticPluginLoader spl(p, "MUS-X");
2882+
if (spl.ok())
2883+
{
2884+
p->addModel(musx::modelADSR);
2885+
p->addModel(musx::modelDelay);
2886+
p->addModel(musx::modelDrift);
2887+
p->addModel(musx::modelFilter);
2888+
p->addModel(musx::modelLast);
2889+
p->addModel(musx::modelLFO);
2890+
p->addModel(musx::modelModMatrix);
2891+
p->addModel(musx::modelOnePole);
2892+
p->addModel(musx::modelOnePoleLP);
2893+
p->addModel(musx::modelOscillators);
2894+
p->addModel(musx::modelSplitStack);
2895+
p->addModel(musx::modelSynth);
2896+
p->addModel(musx::modelTuner);
2897+
}
2898+
}
2899+
28682900
static void initStatic__myth_modules()
28692901
{
28702902
Plugin* const p = new Plugin;
@@ -3097,6 +3129,7 @@ static void initStatic__Sapphire()
30973129
p->addModel(modelSapphireFrolic);
30983130
p->addModel(modelSapphireGalaxy);
30993131
p->addModel(modelSapphireGlee);
3132+
p->addModel(modelSapphireGravy);
31003133
p->addModel(modelSapphireHiss);
31013134
p->addModel(modelSapphireMoots);
31023135
p->addModel(modelSapphireNucleus);
@@ -3365,26 +3398,33 @@ static void initStatic__Voxglitch()
33653398
if (spl.ok())
33663399
{
33673400
#define modelLooper modelVoxglitchLooper
3368-
p->addModel(modelAutobreak);
3369-
p->addModel(modelByteBeat);
3370-
p->addModel(modelDigitalProgrammer);
3371-
p->addModel(modelDigitalSequencer);
3372-
p->addModel(modelDigitalSequencerXP);
3373-
p->addModel(modelGlitchSequencer);
3374-
p->addModel(modelGhosts);
3375-
p->addModel(modelGrainEngineMK2);
3376-
p->addModel(modelGrainEngineMK2Expander);
3377-
p->addModel(modelGrainFx);
3378-
p->addModel(modelGrooveBox);
3379-
p->addModel(modelGrooveBoxExpander);
3380-
p->addModel(modelHazumi);
3381-
p->addModel(modelLooper);
3382-
p->addModel(modelRepeater);
3383-
p->addModel(modelSamplerX8);
3384-
p->addModel(modelSatanonaut);
3385-
p->addModel(modelWavBank);
3386-
p->addModel(modelWavBankMC);
3387-
p->addModel(modelXY);
3401+
p->addModel(modelArpSeq);
3402+
p->addModel(modelAutobreak);
3403+
p->addModel(modelAutobreakStudio);
3404+
p->addModel(modelByteBeat);
3405+
p->addModel(modelDigitalProgrammer);
3406+
p->addModel(modelDigitalSequencer);
3407+
p->addModel(modelDigitalSequencerXP);
3408+
p->addModel(modelDrumRandomizer);
3409+
p->addModel(modelGlitchSequencer);
3410+
p->addModel(modelGhosts);
3411+
p->addModel(modelGrainEngineMK2);
3412+
p->addModel(modelGrainEngineMK2Expander);
3413+
p->addModel(modelGrainFx);
3414+
p->addModel(modelGrooveBox);
3415+
p->addModel(modelGrooveBoxExpander);
3416+
p->addModel(modelHazumi);
3417+
p->addModel(modelOnePoint);
3418+
p->addModel(modelOneZero);
3419+
p->addModel(modelLooper);
3420+
p->addModel(modelNoteDetector);
3421+
p->addModel(modelRepeater);
3422+
p->addModel(modelSamplerX8);
3423+
p->addModel(modelSampler16P);
3424+
p->addModel(modelSatanonaut);
3425+
p->addModel(modelWavBank);
3426+
p->addModel(modelWavBankMC);
3427+
p->addModel(modelXY);
33883428
#undef modelLooper
33893429
}
33903430
}
@@ -3504,6 +3544,7 @@ void initStaticPlugins()
35043544
initStatic__Mog();
35053545
initStatic__mscHack();
35063546
initStatic__MSM();
3547+
initStatic__MUS_X();
35073548
initStatic__myth_modules();
35083549
initStatic__nonlinearcircuits();
35093550
initStatic__Orbits();

plugins/voxglitch

Submodule voxglitch updated 549 files

0 commit comments

Comments
 (0)