BogaudioModules

BogaudioModules for VCV Rack
Log | Files | Refs | README | LICENSE

commit 278499425074469c8df9478d0bfd43c25c28a3e7
parent 876e4e1fca55fe39bbd29c6852ec3a5e42b8c2b7
Author: Matt Demanett <matt@demanett.net>
Date:   Tue, 16 Jul 2019 22:47:38 -0400

Fix midding mapping of knobs with "snap" in more places.

Diffstat:
Msrc/AddrSeq.cpp | 4++--
Msrc/AddrSeq.hpp | 2+-
Msrc/CVD.cpp | 2+-
Msrc/EightFO.cpp | 2+-
Msrc/EightOne.cpp | 4++--
Msrc/EightOne.hpp | 2+-
Msrc/Lag.cpp | 2+-
Msrc/OneEight.cpp | 4++--
Msrc/OneEight.hpp | 2+-
Msrc/Reftone.cpp | 2+-
Msrc/Stack.cpp | 2+-
11 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/src/AddrSeq.cpp b/src/AddrSeq.cpp @@ -71,12 +71,12 @@ void AddrSeq::process(const ProcessArgs& args) { _step = (_step + reverse * clock) % steps; _step += (_step < 0) * steps; _step -= _step * reset; - int select = params[SELECT_PARAM].getValue(); + float select = params[SELECT_PARAM].getValue(); select += clamp(inputs[SELECT_INPUT].getVoltage(), 0.0f, 10.0f) * 0.1f * 8.0f; if (!_selectOnClock || clock) { _select = select; } - int step = _step + _select; + int step = _step + roundf(_select); step = step % 8; float out = 0.0f; diff --git a/src/AddrSeq.hpp b/src/AddrSeq.hpp @@ -54,7 +54,7 @@ struct AddrSeq : SelectOnClockModule { Trigger _reset; bogaudio::dsp::Timer _timer; int _step; - int _select = 0; + float _select = 0.0f; float _rangeOffset = 0.0f; float _rangeScale = 10.0f; diff --git a/src/CVD.cpp b/src/CVD.cpp @@ -10,7 +10,7 @@ void CVD::process(const ProcessArgs& args) { if (inputs[TIME_INPUT].isConnected()) { time *= clamp(inputs[TIME_INPUT].getVoltage() / 10.0f, 0.0f, 1.0f); } - switch ((int)params[TIME_SCALE_PARAM].getValue()) { + switch ((int)roundf(params[TIME_SCALE_PARAM].getValue())) { case 0: { time /= 100.f; break; diff --git a/src/EightFO.cpp b/src/EightFO.cpp @@ -44,7 +44,7 @@ void EightFO::process(const ProcessArgs& args) { setFrequency(params[FREQUENCY_PARAM], inputs[PITCH_INPUT], _phasor); - _wave = (Wave)params[WAVE_PARAM].getValue(); + _wave = (Wave)roundf(params[WAVE_PARAM].getValue()); if (_wave == SQUARE_WAVE) { float pw = params[SAMPLE_PWM_PARAM].getValue(); if (inputs[SAMPLE_PWM_INPUT].isConnected()) { diff --git a/src/EightOne.cpp b/src/EightOne.cpp @@ -24,12 +24,12 @@ void EightOne::process(const ProcessArgs& args) { _step = (_step + reverse * clock) % steps; _step += (_step < 0) * steps; _step -= _step * reset; - int select = params[SELECT_PARAM].getValue(); + float select = params[SELECT_PARAM].getValue(); select += clamp(inputs[SELECT_INPUT].getVoltage(), 0.0f, 10.0f) * 0.1f * 8.0f; if (!_selectOnClock || clock) { _select = select; } - int step = _step + _select; + int step = _step + roundf(_select); step = step % 8; float out = 0.0f; diff --git a/src/EightOne.hpp b/src/EightOne.hpp @@ -54,7 +54,7 @@ struct EightOne : SelectOnClockModule { Trigger _reset; bogaudio::dsp::Timer _timer; int _step; - int _select = 0; + float _select = 0.0f; EightOne() { config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); diff --git a/src/Lag.cpp b/src/Lag.cpp @@ -18,7 +18,7 @@ void Lag::process(const ProcessArgs& args) { if (inputs[TIME_INPUT].isConnected()) { time *= clamp(inputs[TIME_INPUT].getVoltage() / 10.0f, 0.0f, 1.0f); } - switch ((int)params[TIME_SCALE_PARAM].getValue()) { + switch ((int)roundf(params[TIME_SCALE_PARAM].getValue())) { case 0: { time /= 10.f; break; diff --git a/src/OneEight.cpp b/src/OneEight.cpp @@ -24,12 +24,12 @@ void OneEight::process(const ProcessArgs& args) { _step = (_step + reverse * clock) % steps; _step += (_step < 0) * steps; _step -= _step * reset; - int select = params[SELECT_PARAM].getValue(); + float select = params[SELECT_PARAM].getValue(); select += clamp(inputs[SELECT_INPUT].getVoltage(), 0.0f, 10.0f) * 0.1f * 8.0f; if (!_selectOnClock || clock) { _select = select; } - int step = _step + _select; + int step = _step + roundf(_select); step = step % 8; float in = inputs[IN_INPUT].getVoltage() + !inputs[IN_INPUT].isConnected() * 10.0f; diff --git a/src/OneEight.hpp b/src/OneEight.hpp @@ -54,7 +54,7 @@ struct OneEight : SelectOnClockModule { Trigger _reset; bogaudio::dsp::Timer _timer; int _step; - int _select = 0; + float _select = 0.0f; OneEight() { config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); diff --git a/src/Reftone.cpp b/src/Reftone.cpp @@ -14,7 +14,7 @@ void Reftone::process(const ProcessArgs& args) { _pitch = params[PITCH_PARAM].getValue(); _octave = params[OCTAVE_PARAM].getValue(); _fine = params[FINE_PARAM].getValue(); - _frequency = semitoneToFrequency(referenceSemitone + 12.0f*roundf(_octave - referenceOctave) + (_pitch - referencePitch) + _fine); + _frequency = semitoneToFrequency(referenceSemitone + 12.0f*roundf(_octave - referenceOctave) + roundf(_pitch - referencePitch) + _fine); _cv = frequencyToCV(_frequency); } diff --git a/src/Stack.cpp b/src/Stack.cpp @@ -8,7 +8,7 @@ void Stack::process(const ProcessArgs& args) { } float semitones = roundf(params[OCTAVE_PARAM].getValue()) * 12.0f; - semitones += params[SEMIS_PARAM].getValue(); + semitones += roundf(params[SEMIS_PARAM].getValue()); if (inputs[CV_INPUT].isConnected()) { semitones += clamp(inputs[CV_INPUT].getVoltage(), -5.0f, 5.0f) * 10.0f; }