 
     // output full display
     Display.display();
+
+    // initialize filter
+    env_lpf_ = new DUINO_Filter(DUINO_Filter::LowPass, 100.0, 0.0);
 
     // attach gate interrupt
     gt_attach_interrupt(GT3, gate_isr, CHANGE);

        }
      }

      cv_out(CO1, cv_current_);
      cv_out(CO3, cv_current_ / 2.0);
    }
    else if (gate_)
    {

  DUINO_DisplayWidget * widget_repeat_;
  DU_VSEG_PointWidget * widgets_points_[8];

  DUINO_Filter * env_lpf_;

  volatile bool gate_, retrigger_;
  unsigned long gate_time_, release_time_;
  float cv_current_, cv_released_;
