Add surgext
Signed-off-by: falkTX <falktx@falktx.com>
This commit is contained in:
parent
8efc6a45e0
commit
1ba43b195f
12 changed files with 371 additions and 3 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -18,6 +18,7 @@ compile_commands.json
|
||||||
|
|
||||||
/bin/
|
/bin/
|
||||||
/build/
|
/build/
|
||||||
|
/deps/surge-build/
|
||||||
/documentation.pdf
|
/documentation.pdf
|
||||||
/jucewrapper/build/
|
/jucewrapper/build/
|
||||||
/jucewrapper/JUCE/
|
/jucewrapper/JUCE/
|
||||||
|
|
|
||||||
3
.gitmodules
vendored
3
.gitmodules
vendored
|
|
@ -224,3 +224,6 @@
|
||||||
[submodule "plugins/stoermelder-packone"]
|
[submodule "plugins/stoermelder-packone"]
|
||||||
path = plugins/stoermelder-packone
|
path = plugins/stoermelder-packone
|
||||||
url = https://github.com/stoermelder/vcvrack-packone.git
|
url = https://github.com/stoermelder/vcvrack-packone.git
|
||||||
|
[submodule "plugins/surgext"]
|
||||||
|
path = plugins/surgext
|
||||||
|
url = https://github.com/surge-synthesizer/surge-rack.git
|
||||||
|
|
|
||||||
2
Makefile
2
Makefile
|
|
@ -193,7 +193,7 @@ endif
|
||||||
|
|
||||||
deps:
|
deps:
|
||||||
ifeq ($(SYSDEPS),true)
|
ifeq ($(SYSDEPS),true)
|
||||||
$(MAKE) quickjs -C deps
|
$(MAKE) quickjs surge -C deps
|
||||||
else
|
else
|
||||||
$(MAKE) all -C deps
|
$(MAKE) all -C deps
|
||||||
endif
|
endif
|
||||||
|
|
|
||||||
|
|
@ -169,6 +169,7 @@ At the moment the following 3rd-party modules are provided:
|
||||||
- Sonus Modular
|
- Sonus Modular
|
||||||
- stocaudio
|
- stocaudio
|
||||||
- Stoermelder Pack-One
|
- Stoermelder Pack-One
|
||||||
|
- Surge XT
|
||||||
- unless_modules
|
- unless_modules
|
||||||
- Valley
|
- Valley
|
||||||
- Voxglitch
|
- Voxglitch
|
||||||
|
|
|
||||||
54
deps/Makefile
vendored
54
deps/Makefile
vendored
|
|
@ -308,9 +308,61 @@ $(DEP_PATH)/lib/libquickjs.a:
|
||||||
install -m644 $(CURDIR)/QuickJS/libquickjs.a $@
|
install -m644 $(CURDIR)/QuickJS/libquickjs.a $@
|
||||||
install -m644 $(CURDIR)/QuickJS/quickjs.h $(DEP_PATH)/include/quickjs.h
|
install -m644 $(CURDIR)/QuickJS/quickjs.h $(DEP_PATH)/include/quickjs.h
|
||||||
|
|
||||||
|
# --------------------------------------------------------------
|
||||||
|
# SurgeXT target
|
||||||
|
|
||||||
|
SURGE_DEP_PATH = $(abspath surge-build)
|
||||||
|
SURGE_SRC_PATH = $(abspath ../plugins/surgext/surge)
|
||||||
|
SURGE_NAMES = HysteresisProcessing Patch SolverType Tunings Wavetable clouds ghc plaits stmlib
|
||||||
|
|
||||||
|
SURGE_CXX_FLAGS = $(filter-out -fsingle-precision-constant,$(filter-out -std=gnu++11,$(BUILD_CXX_FLAGS)))
|
||||||
|
SURGE_CXX_FLAGS += $(foreach n,$(SURGE_NAMES),-D$(n)=surgext$(n))
|
||||||
|
|
||||||
|
# fix JUCE build https://github.com/juce-framework/JUCE/issues/374
|
||||||
|
ifeq ($(CPU_I386),true)
|
||||||
|
SURGE_CXX_FLAGS += -D__sigemptyset=sigemptyset
|
||||||
|
endif
|
||||||
|
|
||||||
|
# unwanted in this build
|
||||||
|
SURGE_CXX_FLAGS += -DJUCE_DSP_ENABLE_SNAP_TO_ZERO=0
|
||||||
|
|
||||||
|
# possibly use fftw?
|
||||||
|
# ifeq ($(shell $(PKG_CONFIG) --exists fftw3 fftw3f && echo true),true)
|
||||||
|
# SURGE_CXX_FLAGS += -DJUCE_DSP_USE_STATIC_FFTW=1
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# JUCE_USE_CURL
|
||||||
|
SURGE_ENV = env \
|
||||||
|
AR=$(AR) \
|
||||||
|
CC=$(CC) \
|
||||||
|
CXX=$(CXX) \
|
||||||
|
CFLAGS='$(BUILD_C_FLAGS) -w' \
|
||||||
|
CXXFLAGS='$(SURGE_CXX_FLAGS) -w' \
|
||||||
|
LDFLAGS='$(LINK_FLAGS)'
|
||||||
|
|
||||||
|
SURGE_LIB = $(SURGE_DEP_PATH)/src/common/libsurge-common.a
|
||||||
|
|
||||||
|
$(SURGE_LIB): $(SURGE_DEP_PATH)/Makefile
|
||||||
|
$(DEP_MAKE) -C $(SURGE_DEP_PATH) surge-common
|
||||||
|
|
||||||
|
$(SURGE_DEP_PATH)/Makefile: $(SURGE_SRC_PATH)/CMakeLists.txt
|
||||||
|
mkdir -p $(SURGE_DEP_PATH)
|
||||||
|
cd $(SURGE_DEP_PATH) && \
|
||||||
|
$(SURGE_ENV) $(CMAKE) \
|
||||||
|
-DSURGE_COMPILE_BLOCK_SIZE=8 \
|
||||||
|
-DSURGE_SKIP_AIRWINDOWS=TRUE \
|
||||||
|
-DSURGE_SKIP_JUCE_FOR_RACK=TRUE \
|
||||||
|
-DSURGE_SKIP_LUA=TRUE \
|
||||||
|
-DSURGE_SKIP_ODDSOUND_MTS=TRUE \
|
||||||
|
$(SURGE_SRC_PATH)
|
||||||
|
|
||||||
# --------------------------------------------------------------
|
# --------------------------------------------------------------
|
||||||
# Build targets
|
# Build targets
|
||||||
|
|
||||||
|
ifneq ($(NOPLUGINS),true)
|
||||||
|
TARGETS += $(SURGE_LIB)
|
||||||
|
endif
|
||||||
|
|
||||||
TARGETS += $(DEP_PATH)/lib/libjansson.a
|
TARGETS += $(DEP_PATH)/lib/libjansson.a
|
||||||
TARGETS += $(DEP_PATH)/lib/libquickjs.a
|
TARGETS += $(DEP_PATH)/lib/libquickjs.a
|
||||||
TARGETS += $(DEP_PATH)/lib/libsamplerate.a
|
TARGETS += $(DEP_PATH)/lib/libsamplerate.a
|
||||||
|
|
@ -340,6 +392,7 @@ clean:
|
||||||
rm -rf $(DEP_PATH)/libsamplerate-0.1.9
|
rm -rf $(DEP_PATH)/libsamplerate-0.1.9
|
||||||
rm -rf $(DEP_PATH)/speexdsp-SpeexDSP-1.2rc3
|
rm -rf $(DEP_PATH)/speexdsp-SpeexDSP-1.2rc3
|
||||||
rm -rf $(DEP_PATH)/zstd-1.4.5
|
rm -rf $(DEP_PATH)/zstd-1.4.5
|
||||||
|
rm -rf $(SURGE_DEP_PATH)
|
||||||
|
|
||||||
download: \
|
download: \
|
||||||
$(DEP_PATH)/jansson-2.12 \
|
$(DEP_PATH)/jansson-2.12 \
|
||||||
|
|
@ -349,5 +402,6 @@ download: \
|
||||||
$(DEP_PATH)/zstd-1.4.5/.stamp-patched
|
$(DEP_PATH)/zstd-1.4.5/.stamp-patched
|
||||||
|
|
||||||
quickjs: $(DEP_PATH)/lib/libquickjs.a
|
quickjs: $(DEP_PATH)/lib/libquickjs.a
|
||||||
|
surge: $(SURGE_LIB)
|
||||||
|
|
||||||
# --------------------------------------------------------------
|
# --------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -76,6 +76,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule
|
||||||
| Sonus Modular | GPL-3.0-or-later | |
|
| Sonus Modular | GPL-3.0-or-later | |
|
||||||
| stocaudio | GPL-3.0-or-later | |
|
| stocaudio | GPL-3.0-or-later | |
|
||||||
| Stoermelder Pack-One | GPL-3.0-or-later | |
|
| Stoermelder Pack-One | GPL-3.0-or-later | |
|
||||||
|
| Surge XT | GPL-3.0-or-later | |
|
||||||
| unless_modules | GPL-3.0-or-later | |
|
| unless_modules | GPL-3.0-or-later | |
|
||||||
| Valley | GPL-3.0-or-later | |
|
| Valley | GPL-3.0-or-later | |
|
||||||
| Voxglitch | GPL-3.0-or-later | |
|
| Voxglitch | GPL-3.0-or-later | |
|
||||||
|
|
@ -215,6 +216,9 @@ Below is a list of artwork licenses from plugins
|
||||||
| stocaudio/* | GPL-3.0-or-later | No artwork specific license provided |
|
| stocaudio/* | GPL-3.0-or-later | No artwork specific license provided |
|
||||||
| stoermelder-packone/* | GPL-3.0-or-later | No artwork specific license provided |
|
| stoermelder-packone/* | GPL-3.0-or-later | No artwork specific license provided |
|
||||||
| stoermelder-packone/fonts/RedkostComic.otf | OFL-1.1-RFN | |
|
| stoermelder-packone/fonts/RedkostComic.otf | OFL-1.1-RFN | |
|
||||||
|
| surgext/* | GPL-3.0-or-later | |
|
||||||
|
| surgext/xt/* | CC-BY-NC-SA-4.0 | |
|
||||||
|
| surgext/xt/fonts/quicksand/* | OFL-1.1-RFN | |
|
||||||
| unless_modules/* | CC-BY-NC-ND-4.0 | |
|
| unless_modules/* | CC-BY-NC-ND-4.0 | |
|
||||||
| unless_modules/font/CuteFont-Regular.ttf| OFL-1.1 | |
|
| unless_modules/font/CuteFont-Regular.ttf| OFL-1.1 | |
|
||||||
| unless_modules/font/Terminus.ttf | GPL-2.0-or-later | [Starting from v4.32, font license is OFL-1.1](https://files.ax86.net/terminus-ttf/#license) |
|
| unless_modules/font/Terminus.ttf | GPL-2.0-or-later | [Starting from v4.32, font license is OFL-1.1](https://files.ax86.net/terminus-ttf/#license) |
|
||||||
|
|
|
||||||
|
|
@ -89,6 +89,30 @@ set_property(TARGET libspeexdsp PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR
|
||||||
add_library(libzstd STATIC IMPORTED)
|
add_library(libzstd STATIC IMPORTED)
|
||||||
set_property(TARGET libzstd PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../src/Rack/dep/lib/libzstd.a")
|
set_property(TARGET libzstd PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../src/Rack/dep/lib/libzstd.a")
|
||||||
|
|
||||||
|
set(SURGE_DEP_PATH "${PROJECT_SOURCE_DIR}/../deps/surge-build")
|
||||||
|
|
||||||
|
add_library(surgedep01 STATIC IMPORTED)
|
||||||
|
add_library(surgedep02 STATIC IMPORTED)
|
||||||
|
add_library(surgedep03 STATIC IMPORTED)
|
||||||
|
add_library(surgedep04 STATIC IMPORTED)
|
||||||
|
add_library(surgedep05 STATIC IMPORTED)
|
||||||
|
add_library(surgedep06 STATIC IMPORTED)
|
||||||
|
add_library(surgedep07 STATIC IMPORTED)
|
||||||
|
add_library(surgedep08 STATIC IMPORTED)
|
||||||
|
add_library(surgedep09 STATIC IMPORTED)
|
||||||
|
add_library(surgedep10 STATIC IMPORTED)
|
||||||
|
|
||||||
|
set_property(TARGET surgedep01 PROPERTY IMPORTED_LOCATION "${SURGE_DEP_PATH}/src/common/libsurge-common.a")
|
||||||
|
set_property(TARGET surgedep02 PROPERTY IMPORTED_LOCATION "${SURGE_DEP_PATH}/src/common/libjuce_dsp_rack_sub.a")
|
||||||
|
set_property(TARGET surgedep03 PROPERTY IMPORTED_LOCATION "${SURGE_DEP_PATH}/libs/airwindows/libairwindows.a")
|
||||||
|
set_property(TARGET surgedep04 PROPERTY IMPORTED_LOCATION "${SURGE_DEP_PATH}/libs/eurorack/libeurorack.a")
|
||||||
|
set_property(TARGET surgedep05 PROPERTY IMPORTED_LOCATION "${SURGE_DEP_PATH}/libs/fmt/libfmt.a")
|
||||||
|
set_property(TARGET surgedep06 PROPERTY IMPORTED_LOCATION "${SURGE_DEP_PATH}/libs/sqlite-3.23.3/libsqlite.a")
|
||||||
|
set_property(TARGET surgedep07 PROPERTY IMPORTED_LOCATION "${SURGE_DEP_PATH}/libs/sst/sst-plugininfra/libsst-plugininfra.a")
|
||||||
|
set_property(TARGET surgedep08 PROPERTY IMPORTED_LOCATION "${SURGE_DEP_PATH}/libs/sst/sst-plugininfra/libs/filesystem/libfilesystem.a")
|
||||||
|
set_property(TARGET surgedep09 PROPERTY IMPORTED_LOCATION "${SURGE_DEP_PATH}/libs/sst/sst-plugininfra/libs/strnatcmp/libstrnatcmp.a")
|
||||||
|
set_property(TARGET surgedep10 PROPERTY IMPORTED_LOCATION "${SURGE_DEP_PATH}/libs/sst/sst-plugininfra/libs/tinyxml/libtinyxml.a")
|
||||||
|
|
||||||
# dependencies
|
# dependencies
|
||||||
|
|
||||||
find_package(PkgConfig REQUIRED)
|
find_package(PkgConfig REQUIRED)
|
||||||
|
|
@ -181,6 +205,16 @@ target_link_libraries(Cardinal
|
||||||
ysfx
|
ysfx
|
||||||
zita_resampler
|
zita_resampler
|
||||||
dgl
|
dgl
|
||||||
|
surgedep01
|
||||||
|
surgedep02
|
||||||
|
surgedep03
|
||||||
|
surgedep04
|
||||||
|
surgedep05
|
||||||
|
surgedep06
|
||||||
|
surgedep07
|
||||||
|
surgedep08
|
||||||
|
surgedep09
|
||||||
|
surgedep10
|
||||||
libaubio
|
libaubio
|
||||||
libarchive
|
libarchive
|
||||||
libjansson
|
libjansson
|
||||||
|
|
@ -274,6 +308,16 @@ target_link_libraries(CardinalFX
|
||||||
ysfx
|
ysfx
|
||||||
zita_resampler
|
zita_resampler
|
||||||
dgl
|
dgl
|
||||||
|
surgedep01
|
||||||
|
surgedep02
|
||||||
|
surgedep03
|
||||||
|
surgedep04
|
||||||
|
surgedep05
|
||||||
|
surgedep06
|
||||||
|
surgedep07
|
||||||
|
surgedep08
|
||||||
|
surgedep09
|
||||||
|
surgedep10
|
||||||
libaubio
|
libaubio
|
||||||
libarchive
|
libarchive
|
||||||
libjansson
|
libjansson
|
||||||
|
|
@ -366,6 +410,16 @@ target_link_libraries(CardinalSynth
|
||||||
ysfx
|
ysfx
|
||||||
zita_resampler
|
zita_resampler
|
||||||
dgl
|
dgl
|
||||||
|
surgedep01
|
||||||
|
surgedep02
|
||||||
|
surgedep03
|
||||||
|
surgedep04
|
||||||
|
surgedep05
|
||||||
|
surgedep06
|
||||||
|
surgedep07
|
||||||
|
surgedep08
|
||||||
|
surgedep09
|
||||||
|
surgedep10
|
||||||
libaubio
|
libaubio
|
||||||
libarchive
|
libarchive
|
||||||
libjansson
|
libjansson
|
||||||
|
|
|
||||||
|
|
@ -919,6 +919,63 @@ PLUGIN_FILES += $(filter-out $(STOERMELDER_PACKONE_IGNORED:%=stoermelder-packone
|
||||||
STOERMELDER_PACKONE_CUSTOM = LongPressButton
|
STOERMELDER_PACKONE_CUSTOM = LongPressButton
|
||||||
STOERMELDER_PACKONE_CUSTOM_PER_FILE = InputLedDisplay IntermixEnvModule
|
STOERMELDER_PACKONE_CUSTOM_PER_FILE = InputLedDisplay IntermixEnvModule
|
||||||
|
|
||||||
|
# --------------------------------------------------------------
|
||||||
|
# surgext
|
||||||
|
|
||||||
|
PLUGIN_FILES += $(filter-out surgext/src/SurgeXT.cpp,$(wildcard surgext/src/*.cpp))
|
||||||
|
PLUGIN_FILES += surgext-helper/surgext-helper.cpp
|
||||||
|
|
||||||
|
# modules/types which are present in other plugins
|
||||||
|
SURGEXT_CUSTOM = HysteresisProcessing Patch SolverType Tunings Wavetable ghc clouds plaits stmlib
|
||||||
|
|
||||||
|
SURGEXT_FLAGS = $(filter-out -fsingle-precision-constant,$(filter-out -std=gnu++11,$(BUILD_CXX_FLAGS)))
|
||||||
|
SURGEXT_FLAGS += -std=gnu++17
|
||||||
|
SURGEXT_FLAGS += -DTIXML_USE_STL=1
|
||||||
|
SURGEXT_FLAGS += -Isurgext/surge/src/common \
|
||||||
|
-Isurgext/surge/src/common/dsp \
|
||||||
|
-Isurgext/surge/src/common/dsp/filters \
|
||||||
|
-Isurgext/surge/src/common/dsp/vembertech \
|
||||||
|
-Isurgext/surge/src/common/dsp/utilities \
|
||||||
|
-Isurgext/surge/src/common/dsp/oscillators \
|
||||||
|
-Isurgext/surge/src/common/dsp/modulators \
|
||||||
|
-Isurgext/surge/src/surge-testrunner \
|
||||||
|
-Isurgext/surge/libs/sst/sst-filters/include \
|
||||||
|
-Isurgext/surge/libs/sst/sst-cpputils/include \
|
||||||
|
-Isurgext/surge/libs/sst/sst-waveshapers/include \
|
||||||
|
-Isurgext/surge/libs/sst/sst-plugininfra/include \
|
||||||
|
-Isurgext/surge/libs/sst/sst-plugininfra/libs/tinyxml/include \
|
||||||
|
-Isurgext/surge/libs/sst/sst-plugininfra/libs/filesystem \
|
||||||
|
-Isurgext/surge/libs/fmt/include \
|
||||||
|
-Isurgext/surge/libs/LuaJitLib/LuaJIT/src \
|
||||||
|
-Isurgext/surge/libs/strnatcmp \
|
||||||
|
-Isurgext/surge/src/headless \
|
||||||
|
-Isurgext/surge/libs/tuning-library/include \
|
||||||
|
-I../deps/surge-build/libs/sst/sst-plugininfra/libs/filesystem/include \
|
||||||
|
-include limits \
|
||||||
|
-DSURGE_COMPILE_BLOCK_SIZE=8
|
||||||
|
|
||||||
|
ifneq ($(DEBUG),true)
|
||||||
|
SURGEXT_FLAGS += -DRELEASE=1
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(MACOS),true)
|
||||||
|
SURGEXT_FLAGS += -Wno-undefined-bool-conversion -Wno-unused-variable -Wno-reorder -Wno-char-subscripts -Wno-sign-compare -Wno-ignored-qualifiers -Wno-c++17-extensions -Wno-unused-private-field
|
||||||
|
SURGEXT_FLAGS += -DMAC
|
||||||
|
else ifeq ($(WINDOWS),true)
|
||||||
|
SURGEXT_FLAGS += -Wno-suggest-override -Wno-sign-compare -Wno-ignored-qualifiers -Wno-unused-variable -Wno-char-subscripts -Wno-reorder -Wno-int-in-bool-context
|
||||||
|
SURGEXT_FLAGS += -DWINDOWS
|
||||||
|
SURGEXT_FLAGS += -DSKIP_MINGW_FORMAT
|
||||||
|
else
|
||||||
|
SURGEXT_FLAGS += -Wno-unused-value -Wno-suggest-override -Wno-implicit-fallthrough -Wno-ignored-qualifiers
|
||||||
|
SURGEXT_FLAGS += -Wno-nonnull-compare -Wno-sign-compare -Wno-char-subscripts -Wno-unused-variable -Wno-unused-but-set-variable -Wno-reorder -Wno-multichar
|
||||||
|
SURGEXT_FLAGS += -DLINUX
|
||||||
|
SURGEXT_FLAGS += -Isurge/src/linux
|
||||||
|
endif
|
||||||
|
|
||||||
|
SURGEXT_FLAGS += -DSURGE_RACK_BASE_VERSION=XT1-0-1
|
||||||
|
SURGEXT_FLAGS += -DSURGE_RACK_PLUG_VERSION=Cardinal
|
||||||
|
SURGEXT_FLAGS += -DSURGE_RACK_SURGE_VERSION=Cardinal
|
||||||
|
|
||||||
# --------------------------------------------------------------
|
# --------------------------------------------------------------
|
||||||
# unless_modules
|
# unless_modules
|
||||||
|
|
||||||
|
|
@ -1197,6 +1254,7 @@ all: $(TARGET)
|
||||||
clean:
|
clean:
|
||||||
rm -f $(TARGET)
|
rm -f $(TARGET)
|
||||||
rm -rf $(BUILD_DIR)
|
rm -rf $(BUILD_DIR)
|
||||||
|
rm -rf surgext/build
|
||||||
|
|
||||||
# --------------------------------------------------------------
|
# --------------------------------------------------------------
|
||||||
|
|
||||||
|
|
@ -1223,6 +1281,8 @@ RESOURCE_FILES = \
|
||||||
$(wildcard */res/*.svg) \
|
$(wildcard */res/*.svg) \
|
||||||
$(wildcard */res/*/*.svg) \
|
$(wildcard */res/*/*.svg) \
|
||||||
$(wildcard */res/*/*/*.svg) \
|
$(wildcard */res/*/*/*.svg) \
|
||||||
|
$(wildcard */res/*/*/*/*.svg) \
|
||||||
|
$(wildcard */res/*/*/*/*/*.svg) \
|
||||||
$(wildcard */res/*.otf) \
|
$(wildcard */res/*.otf) \
|
||||||
$(wildcard */res/*/*.otf) \
|
$(wildcard */res/*/*.otf) \
|
||||||
$(wildcard */res/*/*/*.otf) \
|
$(wildcard */res/*/*/*.otf) \
|
||||||
|
|
@ -1247,10 +1307,21 @@ RESOURCE_FILES += Meander/res
|
||||||
RESOURCE_FILES += Mog/res
|
RESOURCE_FILES += Mog/res
|
||||||
RESOURCE_FILES += nonlinearcircuits/res
|
RESOURCE_FILES += nonlinearcircuits/res
|
||||||
RESOURCE_FILES += ParableInstruments/res/Neil.png
|
RESOURCE_FILES += ParableInstruments/res/Neil.png
|
||||||
|
RESOURCE_FILES += surgext/build/surge-data/configuration.xml
|
||||||
|
RESOURCE_FILES += surgext/build/surge-data/fx_presets
|
||||||
|
RESOURCE_FILES += surgext/build/surge-data/wavetables
|
||||||
|
RESOURCE_FILES += surgext/build/surge-data/windows.wt
|
||||||
|
RESOURCE_FILES += surgext/patches
|
||||||
|
RESOURCE_FILES += $(wildcard surgext/res/xt/fonts/quicksand/*.ttf)
|
||||||
RESOURCE_FILES += $(wildcard unless_modules/art/*.art)
|
RESOURCE_FILES += $(wildcard unless_modules/art/*.art)
|
||||||
RESOURCE_FILES += $(wildcard unless_modules/art/svg/*/*.svg)
|
RESOURCE_FILES += $(wildcard unless_modules/art/svg/*/*.svg)
|
||||||
RESOURCE_FILES += $(wildcard unless_modules/font/*.ttf)
|
RESOURCE_FILES += $(wildcard unless_modules/font/*.ttf)
|
||||||
# RESOURCE_FILES += $(wildcard unless_modules/manual/*)
|
# RESOURCE_FILES += $(wildcard unless_modules/manual/*)
|
||||||
|
|
||||||
|
JACK_RESOURCES = $(CURDIR)/surgext/build/surge-data/configuration.xml
|
||||||
|
JACK_RESOURCES += $(CURDIR)/surgext/build/surge-data/fx_presets
|
||||||
|
JACK_RESOURCES += $(CURDIR)/surgext/build/surge-data/wavetables
|
||||||
|
JACK_RESOURCES += $(CURDIR)/surgext/build/surge-data/windows.wt
|
||||||
endif
|
endif
|
||||||
|
|
||||||
RESOURCE_FILES += Cardinal/res/Miku/Miku.png
|
RESOURCE_FILES += Cardinal/res/Miku/Miku.png
|
||||||
|
|
@ -1305,7 +1376,7 @@ VST3_RESOURCES += $(RESOURCE_FILES:%=../bin/CardinalSynth.vst3/Contents/Resource
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
resources: $(LV2_RESOURCES) $(VST2_RESOURCES) $(VST3_RESOURCES) $(CLAP_RESOURCES)
|
resources: $(JACK_RESOURCES) $(LV2_RESOURCES) $(VST2_RESOURCES) $(VST3_RESOURCES) $(CLAP_RESOURCES)
|
||||||
|
|
||||||
../bin/Cardinal.lv2/resources/%: %
|
../bin/Cardinal.lv2/resources/%: %
|
||||||
-@mkdir -p "$(shell dirname $@)"
|
-@mkdir -p "$(shell dirname $@)"
|
||||||
|
|
@ -1427,6 +1498,23 @@ else
|
||||||
$(SILENT)ln -sf $(abspath $<) $@
|
$(SILENT)ln -sf $(abspath $<) $@
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
%/surgext/build/surge-data/configuration.xml: surgext/surge/resources/surge-shared/configuration.xml
|
||||||
|
-@mkdir -p "$(shell dirname $@)"
|
||||||
|
$(SILENT)ln -sf $(abspath $<) $@
|
||||||
|
|
||||||
|
%/surgext/build/surge-data/fx_presets:
|
||||||
|
-@mkdir -p "$@"
|
||||||
|
cp -R surgext/surge/resources/data/fx_presets/* $@/
|
||||||
|
cp -R surgext/res/surge_extra_data/fx_presets/* $@/
|
||||||
|
|
||||||
|
%/surgext/build/surge-data/wavetables: surgext/surge/resources/data/wavetables
|
||||||
|
-@mkdir -p "$(shell dirname $@)"
|
||||||
|
$(SILENT)ln -sf $(abspath $<) $@
|
||||||
|
|
||||||
|
%/surgext/build/surge-data/windows.wt: surgext/surge/resources/surge-shared/windows.wt
|
||||||
|
-@mkdir -p "$(shell dirname $@)"
|
||||||
|
$(SILENT)ln -sf $(abspath $<) $@
|
||||||
|
|
||||||
# --------------------------------------------------------------
|
# --------------------------------------------------------------
|
||||||
# Build commands
|
# Build commands
|
||||||
|
|
||||||
|
|
@ -2048,6 +2136,13 @@ $(BUILD_DIR)/stocaudio/%.cpp.o: stocaudio/%.cpp
|
||||||
$(foreach m,$(STOCAUDIO_CUSTOM),$(call custom_module_names,$(m),stocaudio)) \
|
$(foreach m,$(STOCAUDIO_CUSTOM),$(call custom_module_names,$(m),stocaudio)) \
|
||||||
-DpluginInstance=pluginInstance__stocaudio
|
-DpluginInstance=pluginInstance__stocaudio
|
||||||
|
|
||||||
|
$(BUILD_DIR)/surgext%.cpp.o: surgext%.cpp
|
||||||
|
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
|
||||||
|
@echo "Compiling $<"
|
||||||
|
$(SILENT)$(CXX) $< $(SURGEXT_FLAGS) -c -o $@ \
|
||||||
|
$(foreach m,$(SURGEXT_CUSTOM),$(call custom_module_names,$(m),surgext)) \
|
||||||
|
-DpluginInstance=pluginInstance__surgext
|
||||||
|
|
||||||
$(BUILD_DIR)/unless_modules/%.cpp.o: unless_modules/%.cpp
|
$(BUILD_DIR)/unless_modules/%.cpp.o: unless_modules/%.cpp
|
||||||
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
|
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
|
||||||
@echo "Compiling $<"
|
@echo "Compiling $<"
|
||||||
|
|
|
||||||
|
|
@ -736,6 +736,11 @@ StoermelderSettings pluginSettings;
|
||||||
void StoermelderSettings::saveToJson() {}
|
void StoermelderSettings::saveToJson() {}
|
||||||
void StoermelderSettings::readFromJson() {}
|
void StoermelderSettings::readFromJson() {}
|
||||||
|
|
||||||
|
// surgext
|
||||||
|
#include "surgext/src/SurgeXT.h"
|
||||||
|
void surgext_rack_initialize();
|
||||||
|
void surgext_rack_update_theme();
|
||||||
|
|
||||||
// unless_modules
|
// unless_modules
|
||||||
#include "unless_modules/src/unless.hpp"
|
#include "unless_modules/src/unless.hpp"
|
||||||
|
|
||||||
|
|
@ -848,6 +853,7 @@ Plugin* pluginInstance__repelzen;
|
||||||
Plugin* pluginInstance__sonusmodular;
|
Plugin* pluginInstance__sonusmodular;
|
||||||
Plugin* pluginInstance__stocaudio;
|
Plugin* pluginInstance__stocaudio;
|
||||||
extern Plugin* pluginInstance__stoermelder_p1;
|
extern Plugin* pluginInstance__stoermelder_p1;
|
||||||
|
Plugin* pluginInstance__surgext;
|
||||||
Plugin* pluginInstance__unless_modules;
|
Plugin* pluginInstance__unless_modules;
|
||||||
Plugin* pluginInstance__ValleyAudio;
|
Plugin* pluginInstance__ValleyAudio;
|
||||||
Plugin* pluginInstance__Voxglitch;
|
Plugin* pluginInstance__Voxglitch;
|
||||||
|
|
@ -2840,6 +2846,64 @@ static void initStatic__stoermelder_p1()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void initStatic__surgext()
|
||||||
|
{
|
||||||
|
Plugin* const p = new Plugin;
|
||||||
|
pluginInstance__surgext = p;
|
||||||
|
|
||||||
|
const StaticPluginLoader spl(p, "surgext");
|
||||||
|
if (spl.ok())
|
||||||
|
{
|
||||||
|
p->addModel(modelVCOClassic);
|
||||||
|
p->addModel(modelVCOModern);
|
||||||
|
p->addModel(modelVCOWavetable);
|
||||||
|
p->addModel(modelVCOWindow);
|
||||||
|
p->addModel(modelVCOSine);
|
||||||
|
p->addModel(modelVCOFM2);
|
||||||
|
p->addModel(modelVCOFM3);
|
||||||
|
p->addModel(modelVCOSHNoise);
|
||||||
|
p->addModel(modelVCOAlias);
|
||||||
|
p->addModel(modelVCOString);
|
||||||
|
p->addModel(modelVCOTwist);
|
||||||
|
|
||||||
|
// Add the ported ones
|
||||||
|
p->addModel(modelSurgeVCF);
|
||||||
|
p->addModel(modelSurgeDelay);
|
||||||
|
p->addModel(modelSurgeDelayLineByFreq);
|
||||||
|
p->addModel(modelSurgeWaveshaper);
|
||||||
|
p->addModel(modelSurgeLFO);
|
||||||
|
p->addModel(modelSurgeMixer);
|
||||||
|
p->addModel(modelSurgeModMatrix);
|
||||||
|
|
||||||
|
p->addModel(modelFXReverb);
|
||||||
|
p->addModel(modelFXPhaser);
|
||||||
|
p->addModel(modelFXRotarySpeaker);
|
||||||
|
p->addModel(modelFXDistortion);
|
||||||
|
p->addModel(modelFXFrequencyShifter);
|
||||||
|
p->addModel(modelFXChorus);
|
||||||
|
p->addModel(modelFXVocoder);
|
||||||
|
p->addModel(modelFXReverb2);
|
||||||
|
p->addModel(modelFXFlanger);
|
||||||
|
p->addModel(modelFXRingMod);
|
||||||
|
p->addModel(modelFXNeuron);
|
||||||
|
p->addModel(modelFXResonator);
|
||||||
|
p->addModel(modelFXChow);
|
||||||
|
p->addModel(modelFXExciter);
|
||||||
|
p->addModel(modelFXEnsemble);
|
||||||
|
p->addModel(modelFXCombulator);
|
||||||
|
p->addModel(modelFXSpringReverb);
|
||||||
|
p->addModel(modelFXTreeMonster);
|
||||||
|
|
||||||
|
/* v2.1 modules
|
||||||
|
p->addModel(modelEGxVCA);
|
||||||
|
p->addModel(modelQuadAD);
|
||||||
|
p->addModel(modelQuadLFO);
|
||||||
|
*/
|
||||||
|
|
||||||
|
surgext_rack_initialize();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void initStatic__unless_modules()
|
static void initStatic__unless_modules()
|
||||||
{
|
{
|
||||||
Plugin* const p = new Plugin;
|
Plugin* const p = new Plugin;
|
||||||
|
|
@ -3038,7 +3102,8 @@ void initStaticPlugins()
|
||||||
initStatic__repelzen();
|
initStatic__repelzen();
|
||||||
initStatic__sonusmodular();
|
initStatic__sonusmodular();
|
||||||
initStatic__stocaudio();
|
initStatic__stocaudio();
|
||||||
initStatic__stoermelder_p1(),
|
initStatic__stoermelder_p1();
|
||||||
|
initStatic__surgext();
|
||||||
initStatic__unless_modules();
|
initStatic__unless_modules();
|
||||||
initStatic__ValleyAudio();
|
initStatic__ValleyAudio();
|
||||||
initStatic__Voxglitch();
|
initStatic__Voxglitch();
|
||||||
|
|
@ -3077,6 +3142,10 @@ void updateStaticPluginsDarkMode()
|
||||||
{
|
{
|
||||||
gtg_default_theme = darkMode ? 1 : 0;
|
gtg_default_theme = darkMode ? 1 : 0;
|
||||||
}
|
}
|
||||||
|
// surgext
|
||||||
|
{
|
||||||
|
surgext_rack_update_theme();
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
1
plugins/surgext
Submodule
1
plugins/surgext
Submodule
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 1475b73ba29189ac6e294bf6d27a39443b584fa6
|
||||||
31
plugins/surgext-helper/surgext-helper.cpp
Normal file
31
plugins/surgext-helper/surgext-helper.cpp
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
/*
|
||||||
|
* DISTRHO Cardinal Plugin
|
||||||
|
* Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com>
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* For a full copy of the GNU General Public License see the LICENSE file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "../surgext/src/XTStyle.h"
|
||||||
|
|
||||||
|
using namespace sst::surgext_rack::style;
|
||||||
|
|
||||||
|
void surgext_rack_initialize()
|
||||||
|
{
|
||||||
|
XTStyle::initialize();
|
||||||
|
}
|
||||||
|
|
||||||
|
void surgext_rack_update_theme()
|
||||||
|
{
|
||||||
|
XTStyle::setGlobalStyle(rack::settings::darkMode ? XTStyle::Style::DARK : XTStyle::Style::LIGHT);
|
||||||
|
XTStyle::notifyStyleListeners();
|
||||||
|
}
|
||||||
|
|
@ -130,6 +130,29 @@ endif
|
||||||
RACK_EXTRA_LIBS += $(DEP_LIB_PATH)/libzstd.a
|
RACK_EXTRA_LIBS += $(DEP_LIB_PATH)/libzstd.a
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# --------------------------------------------------------------
|
||||||
|
# surgext libraries
|
||||||
|
|
||||||
|
ifneq ($(NOPLUGINS),true)
|
||||||
|
SURGE_DEP_PATH = $(abspath ../../deps/surge-build)
|
||||||
|
RACK_EXTRA_LIBS += $(SURGE_DEP_PATH)/src/common/libsurge-common.a
|
||||||
|
RACK_EXTRA_LIBS += $(SURGE_DEP_PATH)/src/common/libjuce_dsp_rack_sub.a
|
||||||
|
RACK_EXTRA_LIBS += $(SURGE_DEP_PATH)/libs/airwindows/libairwindows.a
|
||||||
|
RACK_EXTRA_LIBS += $(SURGE_DEP_PATH)/libs/eurorack/libeurorack.a
|
||||||
|
ifeq ($(DEBUG),true)
|
||||||
|
RACK_EXTRA_LIBS += $(SURGE_DEP_PATH)/libs/fmt/libfmtd.a
|
||||||
|
else
|
||||||
|
RACK_EXTRA_LIBS += $(SURGE_DEP_PATH)/libs/fmt/libfmt.a
|
||||||
|
endif
|
||||||
|
RACK_EXTRA_LIBS += $(SURGE_DEP_PATH)/libs/sqlite-3.23.3/libsqlite.a
|
||||||
|
RACK_EXTRA_LIBS += $(SURGE_DEP_PATH)/libs/sst/sst-plugininfra/libsst-plugininfra.a
|
||||||
|
ifneq ($(WINDOWS),true)
|
||||||
|
RACK_EXTRA_LIBS += $(SURGE_DEP_PATH)/libs/sst/sst-plugininfra/libs/filesystem/libfilesystem.a
|
||||||
|
endif
|
||||||
|
RACK_EXTRA_LIBS += $(SURGE_DEP_PATH)/libs/sst/sst-plugininfra/libs/strnatcmp/libstrnatcmp.a
|
||||||
|
RACK_EXTRA_LIBS += $(SURGE_DEP_PATH)/libs/sst/sst-plugininfra/libs/tinyxml/libtinyxml.a
|
||||||
|
endif
|
||||||
|
|
||||||
# --------------------------------------------------------------
|
# --------------------------------------------------------------
|
||||||
|
|
||||||
# FIXME
|
# FIXME
|
||||||
|
|
@ -148,6 +171,12 @@ EXTRA_LIBS += ../../deps/aubio/libaubio.a
|
||||||
EXTRA_LIBS += $(shell $(PKG_CONFIG) --libs fftw3f)
|
EXTRA_LIBS += $(shell $(PKG_CONFIG) --libs fftw3f)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifneq ($(NOPLUGINS),true)
|
||||||
|
ifeq ($(MACOS),true)
|
||||||
|
EXTRA_LIBS += -framework Accelerate
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
# --------------------------------------------------------------
|
# --------------------------------------------------------------
|
||||||
# Setup resources
|
# Setup resources
|
||||||
|
|
||||||
|
|
@ -283,6 +312,32 @@ LINK_FLAGS += --preload-file=./jsfx
|
||||||
LINK_FLAGS += --preload-file=./lv2
|
LINK_FLAGS += --preload-file=./lv2
|
||||||
endif
|
endif
|
||||||
LINK_FLAGS += --preload-file=../../bin/CardinalNative.lv2/resources@/resources
|
LINK_FLAGS += --preload-file=../../bin/CardinalNative.lv2/resources@/resources
|
||||||
|
ifneq ($(NOPLUGINS),true)
|
||||||
|
SYMLINKED_DIRS_RESOURCES =
|
||||||
|
# find . -type l | grep -v svg | grep -v ttf | grep -v art | grep -v json | grep -v png | grep -v otf | sort
|
||||||
|
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
|
||||||
|
SYMLINKED_DIRS_RESOURCES += Meander/res
|
||||||
|
SYMLINKED_DIRS_RESOURCES += MindMeldModular/presets
|
||||||
|
SYMLINKED_DIRS_RESOURCES += MindMeldModular/res/ShapeMaster/CommunityPresets
|
||||||
|
SYMLINKED_DIRS_RESOURCES += MindMeldModular/res/ShapeMaster/CommunityShapes
|
||||||
|
SYMLINKED_DIRS_RESOURCES += MindMeldModular/res/ShapeMaster/MindMeldPresets
|
||||||
|
SYMLINKED_DIRS_RESOURCES += MindMeldModular/res/ShapeMaster/MindMeldShapes
|
||||||
|
SYMLINKED_DIRS_RESOURCES += Mog/res
|
||||||
|
SYMLINKED_DIRS_RESOURCES += nonlinearcircuits/res
|
||||||
|
SYMLINKED_DIRS_RESOURCES += Orbits/presets
|
||||||
|
SYMLINKED_DIRS_RESOURCES += stoermelder-packone/presets
|
||||||
|
SYMLINKED_DIRS_RESOURCES += surgext/build/surge-data/wavetables
|
||||||
|
SYMLINKED_DIRS_RESOURCES += surgext/patches
|
||||||
|
SYMLINKED_DIRS_RESOURCES += surgext/presets
|
||||||
|
LINK_FLAGS += $(foreach d,$(SYMLINKED_DIRS_RESOURCES),--preload-file=../../bin/CardinalNative.lv2/resources/$(d)@/resources/$(d))
|
||||||
|
endif
|
||||||
LINK_FLAGS += -sALLOW_MEMORY_GROWTH
|
LINK_FLAGS += -sALLOW_MEMORY_GROWTH
|
||||||
LINK_FLAGS += -sINITIAL_MEMORY=64Mb
|
LINK_FLAGS += -sINITIAL_MEMORY=64Mb
|
||||||
LINK_FLAGS += -sLZ4=1
|
LINK_FLAGS += -sLZ4=1
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue