BogaudioModules

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

commit 31ad26eebd44bcb2d67ed6e0e645be0a65730da7
parent 12d2b9a74c81b6d3677dfcf0870662262bc62421
Author: Matt Demanett <matt@demanett.net>
Date:   Sat,  5 Oct 2019 22:37:33 -0400

1:8, 8:1, ADDR-SEQ: fix handling of step-select CV, and fix the documentation. #70

Diffstat:
MREADME.md | 2+-
Msrc/AddrSeq.cpp | 2+-
Msrc/EightOne.cpp | 2+-
Msrc/OneEight.cpp | 2+-
4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/README.md b/README.md @@ -368,7 +368,7 @@ WALK is a single-channel random walk, identical to one channel of WALK2, in 3HP. As a sequential switch, a trigger at the clock input advances the input selection -- which input is routed to the output. Like a sequencer, it can be reset with a trigger at RESET, the number of inputs to cycle through may be set with the STEPS knob, and the direction is set with the FWD/REV switch. -As a multiplexer, it routes an input to the output under control of the SELECT knob and CV. A 0-10V CV, divided into 8 equal divisions of 1.25V, controls the input selection. This value is summed with the knob setting; for example, setting the knob to 4 and inputting a 2.6V CV will send input 7 to the output. When the knob-plus-CV value exceeds 8, it wraps around. +As a multiplexer, it routes an input to the output under control of the SELECT knob and CV. A 0-10V CV, divided into 8 equal divisions of 1.25V, controls the input selection. A CV of less 1.25V does nothing; a voltage of 1.25-2.49V will add 1 step to the selection, and so on. This value is summed with the knob setting; for example, setting the knob to 4 and inputting a 2.6V CV will send input 6 to the output. When the knob-plus-CV value exceeds 8, it wraps around. Both functions may be used simultaneously: the SELECT+CV value is added to the sequential/clocked value, wrapping around. Note that the STEPS value only affects the sequential value; for example, using a clock input and setting STEPS to 2 will yield an alternation between two adjacent inputs, but this pair can be selected with the SELECT knob or CV. diff --git a/src/AddrSeq.cpp b/src/AddrSeq.cpp @@ -84,7 +84,7 @@ void AddrSeq::processChannel(const ProcessArgs& args, int c) { if (!_selectOnClock || clock) { _select[c] = select; } - int step = _step[c] + roundf(_select[c]); + int step = _step[c] + (int)_select[c]; step = step % 8; float out = params[OUT1_PARAM + step].getValue(); diff --git a/src/EightOne.cpp b/src/EightOne.cpp @@ -37,7 +37,7 @@ void EightOne::processChannel(const ProcessArgs& args, int c) { if (!_selectOnClock || clock) { _select[c] = select; } - int step = _step[c] + roundf(_select[c]); + int step = _step[c] + (int)_select[c]; step = step % 8; Input& in = inputs[IN1_INPUT + step]; diff --git a/src/OneEight.cpp b/src/OneEight.cpp @@ -37,7 +37,7 @@ void OneEight::processChannel(const ProcessArgs& args, int c) { if (!_selectOnClock || clock) { _select[c] = select; } - int step = _step[c] + roundf(_select[c]); + int step = _step[c] + (int)_select[c]; step = step % 8; if (_channels > 1) {