     }
   }
 
-  void update_clock()
-  {
-    Timer1.detachInterrupt();
-    if(!seq_values.clock_ext)
-    {
-      Timer1.attachInterrupt(clock_isr, seq_values.clock_period);
-    }
-  }
-
  private:
   float note_to_cv(int8_t note)
   {

  virtual void loop()
  {
    // cache stage, step, and clock gate (so that each loop is "atomic")
    ATOMIC_BLOCK(ATOMIC_FORCEON)
    {
      cached_stage = stage;
      cached_step = step;
      cached_clock_gate = clock_gate;
      cached_retrigger = retrigger;
      retrigger = false;
    }

    if(cached_retrigger)
    {

#include <du-ino_dsp.h>
#include <TimerOne.h>
#include <avr/pgmspace.h>

#define DIGITAL_THRESH 3.0 // V

