     // verify settings and export to function parameters
     for(uint8_t i = 0; i < 8; ++i)
     {
+      if(stage_pitch[i] < 0)
+      {
+        stage_pitch[i] = 0;
+      }
       if(stage_pitch[i] > 119)
       {
         stage_pitch[i] = 119;

  {
    if(bpm == 0)
    {
      display->draw_text(x, y, "EXT", DUINO_SSD1306::White);
    }
    else
    {
      display->draw_char(x, y, '0' + bpm / 10, DUINO_SSD1306::White);
      display->draw_char(x + 6, y, '0' + bpm % 10, DUINO_SSD1306::White);
      display->draw_char(x + 12, y, '0', DUINO_SSD1306::White);
    }
  }

  void display_note(int16_t x, int16_t y, uint8_t note, DUINO_SSD1306::SSD1306Color color)
  {
    // draw octave
    display->draw_char(x + 9, y + 8, '0' + note / 12, color);


  bool display_changed;

  int8_t stage_pitch[8];
  int8_t stage_steps[8];
  int8_t stage_gate[8];
  uint8_t stage_slew;
  int8_t stage_count;
  uint8_t diradd_mode;
  uint8_t slew_rate;
  uint8_t gate_time;
  int8_t clock_bpm;
};

DU_SEQ_Function * function;
