BogaudioModules

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

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:
Msrc/Reftone.cpp | 6+++---
Msrc/Stack.cpp | 8++++----
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); }