diff options
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/midi_time_axis.cc | 37 | ||||
-rw-r--r-- | gtk2_ardour/midi_time_axis.h | 1 |
2 files changed, 38 insertions, 0 deletions
diff --git a/gtk2_ardour/midi_time_axis.cc b/gtk2_ardour/midi_time_axis.cc index b0cc49f388..8d1f46d55a 100644 --- a/gtk2_ardour/midi_time_axis.cc +++ b/gtk2_ardour/midi_time_axis.cc @@ -190,6 +190,43 @@ MidiTimeAxisView::hide () } void +MidiTimeAxisView::set_height (uint32_t h) +{ + RouteTimeAxisView::set_height (h); + + if (height >= hLarger) { + _midi_expander.show(); + if (is_track() && _range_scroomer) + _range_scroomer->show(); + if (is_track() && _piano_roll_header) + _piano_roll_header->show(); + + } else if (height >= hLarge) { + _midi_expander.show(); + _midi_expander.set_expanded(FALSE); + if (is_track() && _range_scroomer) + _range_scroomer->show(); + if (is_track() && _piano_roll_header) + _piano_roll_header->show(); + + } else if (height >= hNormal) { + _midi_expander.show(); + _midi_expander.set_expanded(FALSE); + if (is_track() && _range_scroomer) + _range_scroomer->hide(); + if (is_track() && _piano_roll_header) + _piano_roll_header->hide(); + } else { + _midi_expander.hide(); + _midi_expander.set_expanded(FALSE); + if (is_track() && _range_scroomer) + _range_scroomer->hide(); + if (is_track() && _piano_roll_header) + _piano_roll_header->hide(); + } +} + +void MidiTimeAxisView::append_extra_display_menu_items () { using namespace Menu_Helpers; diff --git a/gtk2_ardour/midi_time_axis.h b/gtk2_ardour/midi_time_axis.h index 484cf52652..7a1a3ffc5c 100644 --- a/gtk2_ardour/midi_time_axis.h +++ b/gtk2_ardour/midi_time_axis.h @@ -64,6 +64,7 @@ class MidiTimeAxisView : public RouteTimeAxisView /* overridden from parent to store display state */ guint32 show_at (double y, int& nth, Gtk::VBox *parent); + void set_height (uint32_t); void hide (); void show_all_automation (); |