Signed-off-by: falkTX <falktx@falktx.com>tags/22.06
@@ -34,16 +34,12 @@ ifeq ($(DEBUG),true) | |||||
BASE_FLAGS += -UDEBUG | BASE_FLAGS += -UDEBUG | ||||
endif | 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../include/neon-compat | ||||
# BASE_FLAGS += -I../src/Rack/include | |||||
# ifeq ($(SYSDEPS),true) | # ifeq ($(SYSDEPS),true) | ||||
# BASE_FLAGS += -DCARDINAL_SYSDEPS | # BASE_FLAGS += -DCARDINAL_SYSDEPS | ||||
# BASE_FLAGS += $(shell pkg-config --cflags jansson libarchive samplerate speexdsp) | # BASE_FLAGS += $(shell pkg-config --cflags jansson libarchive samplerate speexdsp) | ||||
@@ -58,14 +54,13 @@ endif | |||||
# # BASE_FLAGS += -IRack/dep/osdialog | # # BASE_FLAGS += -IRack/dep/osdialog | ||||
# BASE_FLAGS += -I../src/Rack/dep/oui-blendish | # BASE_FLAGS += -I../src/Rack/dep/oui-blendish | ||||
# BASE_FLAGS += -I../src/Rack/dep/pffft | # 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 | # 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 | $(BUILD_DIR)/%.cpp.o: plugins/%.cpp | ||||
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" | -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" | ||||
@@ -35,6 +35,9 @@ static constexpr const bool kCvOutputs[] = PLUGIN_CV_OUTPUTS; | |||||
#include "DistrhoUtils.hpp" | #include "DistrhoUtils.hpp" | ||||
#include <time.h> | |||||
#include <sys/time.h> | |||||
namespace rack { | namespace rack { | ||||
static thread_local Context* threadContext = nullptr; | static thread_local Context* threadContext = nullptr; | ||||
@@ -51,6 +54,15 @@ void contextSet(Context* context) { | |||||
threadContext = context; | threadContext = context; | ||||
} | } | ||||
namespace random { | |||||
Xoroshiro128Plus& local() { | |||||
static Xoroshiro128Plus rng; | |||||
return rng; | |||||
} | |||||
} // namespace random | |||||
} | } | ||||
struct PluginLv2 { | struct PluginLv2 { | ||||
@@ -62,6 +74,21 @@ struct PluginLv2 { | |||||
PluginLv2(double sr) | 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; | context._engine.sampleRate = sr; | ||||
contextSet(&context); | contextSet(&context); | ||||
module = PLUGIN_MODEL->createModule(); | 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 |