       if(widget_save_->params.vals.rate[p - 1] != rate_last)
       {
         widget_save_->mark_changed();
+        update_cached_ = true;
         widget_save_->display();
         display_plr(p);
         display_loop();

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

DU_VSEG_Function * function;

    if (widget_save_->params.vals.loop != loop_last)
    {
      widget_save_->mark_changed();
      update_cached_ = true;
      widget_save_->display();
      display_loop();
    }
