     widgets_slew_->attach_click_callback(s_slew_click_callback);
     container_outer_->attach_child(widgets_slew_, 5);
 
-    slew_filter = new DUINO_Filter(DUINO_Filter::LowPass, 1.0, 0.0);
-
-    stage = step = 0;
-    gate = false;
-
-    last_gate = false;
-    last_stage = 0;
-    last_diradd_mode = false;
-    last_reverse = false;
-    last_half_clock = false;
-
-    reverse = false;
+    slew_filter_ = new DUINO_Filter(DUINO_Filter::LowPass, 1.0, 0.0);
+
+    stage_ = step_ = 0;
+    gate_ = false;
+
+    last_gate_ = false;
+    last_stage_ = 0;
+    last_diradd_mode_ = false;
+    last_reverse_ = false;
+    last_half_clock_ = false;
+
+    reverse_ = false;
 
     Clock.begin();
     Clock.attach_clock_callback(clock_callback);

  DUINO_MultiDisplayWidget<8> * widgets_gate_;
  DUINO_MultiDisplayWidget<8> * widgets_slew_;

  DUINO_Filter * slew_filter;

  volatile uint8_t stage, step;
  volatile bool gate;

  bool cached_clock_gate, cached_retrigger;
  unsigned long clock_time;

  bool last_gate;
  uint8_t last_stage;
  bool last_diradd_mode;
  bool last_reverse;
  bool last_half_clock;

  bool reverse;

  uint16_t gate_ms;
};

DU_SEQ_Function * function;

private:
  bool partial_gate()
  {
    return (Clock.get_external() && cached_clock_gate_)
           || cached_retrigger_
           || ((millis() - clock_time_) < gate_ms_);
  }

  float note_to_cv(int8_t note)
