diff options
author | Carl Hetherington <carl@carlh.net> | 2012-06-13 15:38:27 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2012-06-13 15:38:27 +0000 |
commit | daf84122ca007baf4af451e0132bcd0f2ce6e060 (patch) | |
tree | 3908009a17d13afc6da9f1f8517ba5c9ba7dfa14 /gtk2_ardour/midi_time_axis.cc | |
parent | d341088f1320e1d445ab190d95e287cd9d5650db (diff) |
Make fit contents / show full range work for all
selected tracks (part of #4106).
git-svn-id: svn://localhost/ardour2/branches/3.0@12703 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/midi_time_axis.cc')
-rw-r--r-- | gtk2_ardour/midi_time_axis.cc | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/gtk2_ardour/midi_time_axis.cc b/gtk2_ardour/midi_time_axis.cc index 1657e11bfb..6259b1e431 100644 --- a/gtk2_ardour/midi_time_axis.cc +++ b/gtk2_ardour/midi_time_axis.cc @@ -383,11 +383,11 @@ MidiTimeAxisView::append_extra_display_menu_items () range_menu->set_name ("ArdourContextMenu"); range_items.push_back (MenuElem (_("Show Full Range"), sigc::bind ( - sigc::mem_fun(*this, &MidiTimeAxisView::set_note_range), + sigc::mem_fun(*this, &MidiTimeAxisView::set_note_range_for_selection), MidiStreamView::FullRange))); range_items.push_back (MenuElem (_("Fit Contents"), sigc::bind ( - sigc::mem_fun(*this, &MidiTimeAxisView::set_note_range), + sigc::mem_fun(*this, &MidiTimeAxisView::set_note_range_for_selection), MidiStreamView::ContentsRange))); items.push_back (MenuElem (_("Note Range"), *range_menu)); @@ -808,8 +808,23 @@ MidiTimeAxisView::set_color_mode (ColorMode mode, bool force, bool redisplay) void MidiTimeAxisView::set_note_range(MidiStreamView::VisibleNoteRange range) { - if (!_ignore_signals) + if (!_ignore_signals) { midi_view()->set_note_range(range); + } +} + +/** Set the note range for all selected MIDI tracks */ +void +MidiTimeAxisView::set_note_range_for_selection (MidiStreamView::VisibleNoteRange range) +{ + TrackSelection& ts = _editor.get_selection().tracks; + + for (TrackSelection::iterator i = ts.begin(); i != ts.end(); ++i) { + MidiTimeAxisView* mtv = dynamic_cast<MidiTimeAxisView*> (*i); + if (mtv) { + mtv->set_note_range (range); + } + } } |