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:
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;
}