-
- void redisplay_diskstream ();
-
- inline double contents_height() const
- { return (_trackview.current_height() - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE - 2); }
-
- inline double note_to_y(uint8_t note) const
- { return contents_height()
- - (note + 1 - lowest_note()) * note_height() + 1; }
-
- inline uint8_t y_to_note(double y) const
- { return (uint8_t)((contents_height() - y - 1)
- / contents_height() * (double)contents_note_range())
- + lowest_note(); }
-
- inline double note_height() const
- { return contents_height() / (double)contents_note_range(); }
-
- inline uint8_t contents_note_range() const
- { return highest_note() - lowest_note() + 1; }
-
+
+ void set_layer_display (LayerDisplay);
+ //bool can_change_layer_display() const { return false; } // revert this change for now. Although stacked view is weirdly implemented wrt the "scroomer", it is still necessary to be able to manage layered regions.
+ void redisplay_track ();
+
+ inline double contents_height() const {
+ return (child_height() - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE - 2);
+ }
+
+ inline double note_to_y(uint8_t note) const {
+ return contents_height() - (note + 1 - lowest_note()) * note_height() + 1;
+ }
+
+ uint8_t y_to_note(double y) const;
+
+ inline double note_height() const {
+ return contents_height() / (double)contents_note_range();
+ }
+
+ inline uint8_t contents_note_range() const {
+ return highest_note() - lowest_note() + 1;
+ }
+