Browse Source

Switch back to run trigger input and pulse output instead of gates.

tags/v2.0.1
Andrew Belt 2 years ago
parent
commit
f2bbf4f746
1 changed files with 7 additions and 4 deletions
  1. +7
    -4
      src/SEQ3.cpp

+ 7
- 4
src/SEQ3.cpp View File

@@ -50,9 +50,11 @@ struct SEQ3 : Module {
dsp::BooleanTrigger resetButtonTrigger;
dsp::BooleanTrigger gateTriggers[8];

dsp::SchmittTrigger runTrigger;
dsp::SchmittTrigger clockTrigger;
dsp::SchmittTrigger resetTrigger;

dsp::PulseGenerator runPulse;
dsp::PulseGenerator clockPulse;
dsp::PulseGenerator resetPulse;

@@ -149,10 +151,11 @@ struct SEQ3 : Module {
// Use bitwise OR "|" to always evaluate both expressions
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);
if (runTrigger.process(inputs[RUN_INPUT].getVoltage(), 0.1f, 2.f)) {
running ^= true;
runPulse.trigger(1e-3f);
}

// Reset
@@ -227,7 +230,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(running ? 10.f : 0.f);
outputs[RUN_OUTPUT].setVoltage(runPulse.process(args.sampleTime) ? 10.f : 0.f);
outputs[RESET_OUTPUT].setVoltage(resetGate ? 10.f : 0.f);

lights[CLOCK_LIGHT].setSmoothBrightness(clockGate, args.sampleTime);


Loading…
Cancel
Save