     randomSeed(cv_read(CI1));
 
     // initialize interface
+    current_step = -1;
     displayed_step = -1;
 
     // load params

  virtual void function_loop()
  {
    widget_loop();
  }

  void clock_clock_callback()

  DUINO_DisplayWidget * widget_swing_;
  DUINO_MultiDisplayWidget<STEP_MAX> * widgets_patterns_[4];

  volatile int8_t current_step;
  int8_t displayed_step;
};

DU_PLSR_Function * function;

void clock_ext_isr() { function->clock_ext_callback(); }
void reset_isr() { function->reset_callback(); }

void clock_callback() { function->clock_clock_callback(); }
void external_callback() { function->clock_external_callback(); }
