From 22a03c1756d490ea26b05d0ce912a0ce20cf2a45 Mon Sep 17 00:00:00 2001 From: Andrew Belt Date: Mon, 1 Nov 2021 03:35:00 -0400 Subject: [PATCH] SEQ 3: Make RUN input/output a gate instead of trigger. --- src/SEQ3.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/SEQ3.cpp b/src/SEQ3.cpp index 60138e1..6dc2a4b 100644 --- a/src/SEQ3.cpp +++ b/src/SEQ3.cpp @@ -50,11 +50,9 @@ struct SEQ3 : Module { dsp::BooleanTrigger gateTriggers[8]; dsp::SchmittTrigger clockTrigger; - dsp::SchmittTrigger runTrigger; dsp::SchmittTrigger resetTrigger; dsp::PulseGenerator clockPulse; - dsp::PulseGenerator runPulse; dsp::PulseGenerator resetPulse; /** Phase of internal LFO */ @@ -147,9 +145,12 @@ struct SEQ3 : Module { void process(const ProcessArgs& args) override { // Run // Use bitwise OR "|" to always evaluate both expressions - if (runButtonTrigger.process(params[RUN_PARAM].getValue()) | runTrigger.process(inputs[RUN_INPUT].getVoltage(), 0.1f, 2.f)) { + if (runButtonTrigger.process(params[RUN_PARAM].getValue())) { running ^= true; - runPulse.trigger(1e-3f); + } + // Run input overrides button + if (inputs[RUN_INPUT].isConnected()) { + running = (inputs[RUN_INPUT].getVoltage() >= 2.f); } // Reset @@ -218,7 +219,7 @@ struct SEQ3 : Module { outputs[STEPS_OUTPUT].setVoltage((numSteps - 1) * 1.f); outputs[CLOCK_OUTPUT].setVoltage(clockGate ? 10.f : 0.f); - outputs[RUN_OUTPUT].setVoltage(runPulse.process(args.sampleTime) ? 10.f : 0.f); + outputs[RUN_OUTPUT].setVoltage(running ? 10.f : 0.f); outputs[RESET_OUTPUT].setVoltage(resetGate ? 10.f : 0.f); lights[CLOCK_LIGHT].setSmoothBrightness(clockGate, args.sampleTime);