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 |