diff --git a/src/Braids.cpp b/src/Braids.cpp index 0884ebf..918a4ab 100644 --- a/src/Braids.cpp +++ b/src/Braids.cpp @@ -1,6 +1,7 @@ #include #include "AudibleInstruments.hpp" -#include "dsp.hpp" +#include "dsp/samplerate.hpp" +#include "dsp/ringbuffer.hpp" #include "braids/macro_oscillator.h" #include "braids/vco_jitter_source.h" #include "braids/signature_waveshaper.h" diff --git a/src/Clouds.cpp b/src/Clouds.cpp index 7535273..5be5f7a 100644 --- a/src/Clouds.cpp +++ b/src/Clouds.cpp @@ -1,6 +1,7 @@ #include #include "AudibleInstruments.hpp" -#include "dsp.hpp" +#include "dsp/samplerate.hpp" +#include "dsp/ringbuffer.hpp" #include "clouds/dsp/granular_processor.h" diff --git a/src/Elements.cpp b/src/Elements.cpp index 7cf1b78..c63916e 100644 --- a/src/Elements.cpp +++ b/src/Elements.cpp @@ -1,6 +1,7 @@ #include #include "AudibleInstruments.hpp" -#include "dsp.hpp" +#include "dsp/samplerate.hpp" +#include "dsp/ringbuffer.hpp" #include "elements/dsp/part.h" diff --git a/src/Frames.cpp b/src/Frames.cpp index e5657c9..0aa8f06 100644 --- a/src/Frames.cpp +++ b/src/Frames.cpp @@ -2,6 +2,7 @@ #include #include "frames/keyframer.h" #include "frames/poly_lfo.h" +#include "dsp/digital.hpp" struct Frames : Module { @@ -84,7 +85,10 @@ void Frames::step() { controls[i] = params[GAIN1_PARAM + i].value * 65535.0; } - int32_t timestamp = clampf(params[FRAME_PARAM].value + params[MODULATION_PARAM].value * inputs[FRAME_INPUT].value / 10.0, 0.0, 1.0) * 65535.0; + int32_t timestamp = params[FRAME_PARAM].value * 65535.0; + int32_t timestampMod = timestamp + params[MODULATION_PARAM].value * inputs[FRAME_INPUT].value / 10.0 * 65535.0; + timestamp = clampi(timestamp, 0, 65535); + timestampMod = clampi(timestampMod, 0, 65535); int16_t nearestIndex = -1; if (!poly_lfo_mode) { nearestIndex = keyframer.FindNearestKeyframe(timestamp, 2048); @@ -100,7 +104,7 @@ void Frames::step() { poly_lfo.set_spread(controls[2]); if (controls[3] != lastControls[3]) poly_lfo.set_coupling(controls[3]); - poly_lfo.Render(timestamp); + poly_lfo.Render(timestampMod); } else { for (int i = 0; i < 4; i++) { @@ -127,7 +131,7 @@ void Frames::step() { keyframer.RemoveKeyframe(nearestTimestamp); } } - keyframer.Evaluate(timestamp); + keyframer.Evaluate(timestampMod); } // Get gains @@ -248,12 +252,12 @@ FramesWidget::FramesWidget() { addChild(createScrew(Vec(15, 365))); addChild(createScrew(Vec(box.size.x-30, 365))); - addParam(createParam(Vec(14, 52), module, Frames::GAIN1_PARAM, 0.0, 1.0, 0.5)); - addParam(createParam(Vec(81, 52), module, Frames::GAIN2_PARAM, 0.0, 1.0, 0.5)); - addParam(createParam(Vec(149, 52), module, Frames::GAIN3_PARAM, 0.0, 1.0, 0.5)); - addParam(createParam(Vec(216, 52), module, Frames::GAIN4_PARAM, 0.0, 1.0, 0.5)); + addParam(createParam(Vec(14, 52), module, Frames::GAIN1_PARAM, 0.0, 1.0, 0.0)); + addParam(createParam(Vec(81, 52), module, Frames::GAIN2_PARAM, 0.0, 1.0, 0.0)); + addParam(createParam(Vec(149, 52), module, Frames::GAIN3_PARAM, 0.0, 1.0, 0.0)); + addParam(createParam(Vec(216, 52), module, Frames::GAIN4_PARAM, 0.0, 1.0, 0.0)); addParam(createParam(Vec(91, 117), module, Frames::FRAME_PARAM, 0.0, 1.0, 0.0)); - addParam(createParam(Vec(208, 141), module, Frames::MODULATION_PARAM, -1.0, 1.0, 0.0)); + addParam(createParam(Vec(208, 141), module, Frames::MODULATION_PARAM, -1.0, 1.0, 0.0)); addParam(createParam(Vec(19, 123), module, Frames::ADD_PARAM, 0.0, 1.0, 0.0)); addParam(createParam(Vec(19, 172), module, Frames::DEL_PARAM, 0.0, 1.0, 0.0)); addParam(createParam(Vec(18, 239), module, Frames::OFFSET_PARAM, 0.0, 1.0, 0.0)); diff --git a/src/Kinks.cpp b/src/Kinks.cpp index d54ee81..60a4f5b 100644 --- a/src/Kinks.cpp +++ b/src/Kinks.cpp @@ -1,4 +1,5 @@ #include "AudibleInstruments.hpp" +#include "dsp/digital.hpp" struct Kinks : Module { diff --git a/src/Rings.cpp b/src/Rings.cpp index e9c5362..5172f36 100644 --- a/src/Rings.cpp +++ b/src/Rings.cpp @@ -1,6 +1,8 @@ #include #include "AudibleInstruments.hpp" -#include "dsp.hpp" +#include "dsp/samplerate.hpp" +#include "dsp/ringbuffer.hpp" +#include "dsp/digital.hpp" #include "rings/dsp/part.h" #include "rings/dsp/strummer.h" #include "rings/dsp/string_synth_part.h" diff --git a/src/Tides.cpp b/src/Tides.cpp index 2ad477f..9ed8a7d 100644 --- a/src/Tides.cpp +++ b/src/Tides.cpp @@ -1,5 +1,7 @@ -#include "AudibleInstruments.hpp" #include +#include "AudibleInstruments.hpp" +#include "dsp/samplerate.hpp" +#include "dsp/digital.hpp" #include "tides/generator.h" diff --git a/src/Warps.cpp b/src/Warps.cpp index 01d7acd..45964e7 100644 --- a/src/Warps.cpp +++ b/src/Warps.cpp @@ -1,5 +1,6 @@ #include #include "AudibleInstruments.hpp" +#include "dsp/digital.hpp" #include "warps/dsp/modulator.h"