Signed-off-by: falkTX <falktx@falktx.com>tags/22.06
| @@ -34,16 +34,12 @@ ifeq ($(DEBUG),true) | |||
| BASE_FLAGS += -UDEBUG | |||
| endif | |||
| # BASE_FLAGS += -DHEADLESS | |||
| # BASE_FLAGS += -DPRIVATE= | |||
| # | |||
| # BASE_FLAGS += -fno-finite-math-only | |||
| # # BASE_FLAGS += -I../dpf/dgl | |||
| # BASE_FLAGS += -I../dpf/dgl/src/nanovg | |||
| # BASE_FLAGS += -I../dpf/distrho | |||
| # BASE_FLAGS += -I../include | |||
| BASE_FLAGS += -DHEADLESS | |||
| BASE_FLAGS += -fno-finite-math-only | |||
| BASE_FLAGS += -pthread | |||
| # might be needed later | |||
| # BASE_FLAGS += -I../include/neon-compat | |||
| # BASE_FLAGS += -I../src/Rack/include | |||
| # ifeq ($(SYSDEPS),true) | |||
| # BASE_FLAGS += -DCARDINAL_SYSDEPS | |||
| # BASE_FLAGS += $(shell pkg-config --cflags jansson libarchive samplerate speexdsp) | |||
| @@ -58,14 +54,13 @@ endif | |||
| # # BASE_FLAGS += -IRack/dep/osdialog | |||
| # BASE_FLAGS += -I../src/Rack/dep/oui-blendish | |||
| # BASE_FLAGS += -I../src/Rack/dep/pffft | |||
| # BASE_FLAGS += -pthread | |||
| # | |||
| # ifeq ($(WINDOWS),true) | |||
| # BASE_FLAGS += -D_USE_MATH_DEFINES | |||
| # BASE_FLAGS += -DWIN32_LEAN_AND_MEAN | |||
| # BASE_FLAGS += -I../include/mingw-compat | |||
| # BASE_FLAGS += -I../include/mingw-std-threads | |||
| # endif | |||
| ifeq ($(WINDOWS),true) | |||
| BASE_FLAGS += -D_USE_MATH_DEFINES | |||
| BASE_FLAGS += -DWIN32_LEAN_AND_MEAN | |||
| BASE_FLAGS += -I../include/mingw-compat | |||
| BASE_FLAGS += -I../include/mingw-std-threads | |||
| endif | |||
| # -------------------------------------------------------------- | |||
| # lots of warnings from VCV side | |||
| @@ -121,10 +116,15 @@ clean: | |||
| # -------------------------------------------------------------- | |||
| # $(BUILD_DIR)/valleyaudio-plateau.cpp.o: plugins/valleyaudio-plateau.cpp | |||
| # -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" | |||
| # @echo "Compiling $<" | |||
| # $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -DSLUG='"$*"' -c -o $@ | |||
| $(BUILD_DIR)/aubileinstruments-%.cpp.o: plugins/aubileinstruments-%.cpp | |||
| -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" | |||
| @echo "Compiling $<" | |||
| $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -DSLUG='"aubileinstruments-$*"' \ | |||
| -DTEST \ | |||
| -I../plugins/AudibleInstruments/eurorack \ | |||
| -Wno-class-memaccess \ | |||
| -Wno-unused-local-typedefs \ | |||
| -c -o $@ | |||
| $(BUILD_DIR)/%.cpp.o: plugins/%.cpp | |||
| -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" | |||
| @@ -35,6 +35,9 @@ static constexpr const bool kCvOutputs[] = PLUGIN_CV_OUTPUTS; | |||
| #include "DistrhoUtils.hpp" | |||
| #include <time.h> | |||
| #include <sys/time.h> | |||
| namespace rack { | |||
| static thread_local Context* threadContext = nullptr; | |||
| @@ -51,6 +54,15 @@ void contextSet(Context* context) { | |||
| threadContext = context; | |||
| } | |||
| namespace random { | |||
| Xoroshiro128Plus& local() { | |||
| static Xoroshiro128Plus rng; | |||
| return rng; | |||
| } | |||
| } // namespace random | |||
| } | |||
| struct PluginLv2 { | |||
| @@ -62,6 +74,21 @@ struct PluginLv2 { | |||
| PluginLv2(double sr) | |||
| { | |||
| rack::random::Xoroshiro128Plus& rng(rack::random::local()); | |||
| if (! rng.isSeeded()) | |||
| { | |||
| struct timeval tv; | |||
| gettimeofday(&tv, NULL); | |||
| uint64_t usec = uint64_t(tv.tv_sec) * 1000 * 1000 + tv.tv_usec; | |||
| static uint64_t globalCounter = 1; | |||
| rng.seed(usec, globalCounter++); | |||
| for (int i = 0; i < 4; i++) | |||
| rng(); | |||
| } | |||
| context._engine.sampleRate = sr; | |||
| contextSet(&context); | |||
| module = PLUGIN_MODEL->createModule(); | |||
| @@ -0,0 +1,60 @@ | |||
| /* | |||
| * 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. | |||
| */ | |||
| #define PLAITS_ALWAYS_LOW_CPU_MODE | |||
| #include "AudibleInstruments/src/Plaits.cpp" | |||
| #include "AudibleInstruments/eurorack/stmlib/utils/random.cc" | |||
| #include "AudibleInstruments/eurorack/stmlib/dsp/units.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/dsp/voice.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/dsp/engine/additive_engine.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/dsp/engine/bass_drum_engine.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/dsp/engine/chord_engine.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/dsp/engine/fm_engine.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/dsp/engine/grain_engine.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/dsp/engine/hi_hat_engine.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/dsp/engine/modal_engine.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/dsp/engine/noise_engine.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/dsp/engine/particle_engine.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/dsp/engine/snare_drum_engine.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/dsp/engine/speech_engine.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/dsp/engine/string_engine.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/dsp/engine/swarm_engine.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/dsp/engine/virtual_analog_engine.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/dsp/engine/waveshaping_engine.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/dsp/engine/wavetable_engine.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/dsp/physical_modelling/modal_voice.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/dsp/physical_modelling/resonator.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/dsp/physical_modelling/string.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/dsp/physical_modelling/string_voice.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/dsp/speech/lpc_speech_synth.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/dsp/speech/lpc_speech_synth_controller.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/dsp/speech/lpc_speech_synth_phonemes.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/dsp/speech/lpc_speech_synth_words.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/dsp/speech/naive_speech_synth.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/dsp/speech/sam_speech_synth.cc" | |||
| #include "AudibleInstruments/eurorack/plaits/resources.cc" | |||
| #define PLUGIN_MODEL modelPlaits | |||
| #define PLUGIN_CV_INPUTS {1,1,1,1,1,1,1,1} | |||
| #define PLUGIN_CV_OUTPUTS {0,0} | |||
| #include "lv2plugin.cpp" | |||
| #include "export.cpp" | |||
| @@ -0,0 +1,40 @@ | |||
| /* | |||
| * 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. | |||
| */ | |||
| #define BRAIDS_ALWAYS_LOW_CPU_MODE | |||
| #include "AudibleInstruments/src/Braids.cpp" | |||
| #include "AudibleInstruments/eurorack/stmlib/utils/random.cc" | |||
| #define kHighestNote kHighestNoteAnalog | |||
| #define kPitchTableStart kPitchTableStartAnalog | |||
| #define kOctave kOctaveAnalog | |||
| #include "AudibleInstruments/eurorack/braids/analog_oscillator.cc" | |||
| #undef kHighestNote | |||
| #undef kPitchTableStart | |||
| #undef kOctave | |||
| #include "AudibleInstruments/eurorack/braids/digital_oscillator.cc" | |||
| #include "AudibleInstruments/eurorack/braids/macro_oscillator.cc" | |||
| // #include "AudibleInstruments/eurorack/braids/quantizer.cc" | |||
| #include "AudibleInstruments/eurorack/braids/resources.cc" | |||
| #define PLUGIN_MODEL modelBraids | |||
| #define PLUGIN_CV_INPUTS {1,1,1,1,1} | |||
| #define PLUGIN_CV_OUTPUTS {0} | |||
| #include "lv2plugin.cpp" | |||
| #include "export.cpp" | |||
| @@ -0,0 +1,25 @@ | |||
| /* | |||
| * 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 "Fundamental/src/Quantizer.cpp" | |||
| #define PLUGIN_MODEL modelQuantizer | |||
| #define PLUGIN_CV_INPUTS {1} | |||
| #define PLUGIN_CV_OUTPUTS {1} | |||
| #include "lv2plugin.cpp" | |||
| #include "export.cpp" | |||
| @@ -0,0 +1,25 @@ | |||
| /* | |||
| * 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 "Fundamental/src/SEQ3.cpp" | |||
| #define PLUGIN_MODEL modelSEQ3 | |||
| #define PLUGIN_CV_INPUTS {1,1,1,1,1} | |||
| #define PLUGIN_CV_OUTPUTS {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1} | |||
| #include "lv2plugin.cpp" | |||
| #include "export.cpp" | |||
| @@ -1 +1 @@ | |||
| Subproject commit 6833adeb7141a06151c9ee7059cc43d3c854c96d | |||
| Subproject commit 2a19bb25c0da725756390ad96dca55632800c74d | |||
| @@ -1 +1 @@ | |||
| Subproject commit 612b0dba4634c365b98f96da2459ba58124bbcf0 | |||
| Subproject commit 5ad6f48a006beedda1465208aab8f9296d39c48a | |||