commit 40a056484446a19f75d126607b7710d71d00d56a
parent 95ae3d03b50571af80755169ea6f148387ad2082
Author: Matt Demanett <matt@demanett.net>
Date: Sun, 30 Jun 2019 22:47:45 -0400
STACK: fix value snap on octave knob when controlled by mapped midi CC. #63
Diffstat:
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/Reftone.cpp b/src/Reftone.cpp
@@ -3,8 +3,8 @@
void Reftone::process(const ProcessArgs& args) {
// C4 -- the pitch.hpp reference frequency -- in knob values:
- const int referencePitch = 0;
- const int referenceOctave = 4;
+ const float referencePitch = 0.0f;
+ const float referenceOctave = 4.0f;
if (!(
_pitch == params[PITCH_PARAM].getValue() &&
@@ -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*(_octave - referenceOctave) + (_pitch - referencePitch) + _fine);
+ _frequency = semitoneToFrequency(referenceSemitone + 12.0f*roundf(_octave - referenceOctave) + (_pitch - referencePitch) + _fine);
_cv = frequencyToCV(_frequency);
}
diff --git a/src/Stack.cpp b/src/Stack.cpp
@@ -2,17 +2,17 @@
#include "Stack.hpp"
void Stack::process(const ProcessArgs& args) {
- lights[QUANTIZE_LIGHT].value = params[QUANTIZE_PARAM].getValue() > 0.5;
+ lights[QUANTIZE_LIGHT].value = params[QUANTIZE_PARAM].getValue() > 0.5f;
if (!(outputs[OUT_OUTPUT].isConnected() || outputs[THRU_OUTPUT].isConnected())) {
return;
}
- float semitones = params[OCTAVE_PARAM].getValue() * 12.0;
+ float semitones = roundf(params[OCTAVE_PARAM].getValue()) * 12.0f;
semitones += params[SEMIS_PARAM].getValue();
if (inputs[CV_INPUT].isConnected()) {
- semitones += clamp(inputs[CV_INPUT].getVoltage(), -5.0f, 5.0f) * 10.0;
+ semitones += clamp(inputs[CV_INPUT].getVoltage(), -5.0f, 5.0f) * 10.0f;
}
- if (params[QUANTIZE_PARAM].getValue() > 0.5) {
+ if (params[QUANTIZE_PARAM].getValue() > 0.5f) {
semitones = roundf(semitones);
}