diff options
author | Carl Hetherington <carl@carlh.net> | 2010-06-06 00:56:19 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2010-06-06 00:56:19 +0000 |
commit | 9510cb20fcb9376fa20fc7bbc35aa8c53c55137e (patch) | |
tree | ab3de4e9cfba13c57f74eba8b3abe59e6bd6d6a6 /gtk2_ardour/editor_routes.cc | |
parent | 17bb05a7c068e243c34135f722f4ec2ef0f8dcde (diff) |
Lincoln's patch from #3223 to add show/hide midi track options to the route list.
git-svn-id: svn://localhost/ardour2/branches/3.0@7237 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_routes.cc')
-rw-r--r-- | gtk2_ardour/editor_routes.cc | 45 |
1 files changed, 37 insertions, 8 deletions
diff --git a/gtk2_ardour/editor_routes.cc b/gtk2_ardour/editor_routes.cc index e80838cb55..b351c8a51d 100644 --- a/gtk2_ardour/editor_routes.cc +++ b/gtk2_ardour/editor_routes.cc @@ -303,6 +303,8 @@ EditorRoutes::build_menu () items.push_back (MenuElem (_("Hide All Audio Tracks"), sigc::mem_fun (*this, &EditorRoutes::hide_all_audiotracks))); items.push_back (MenuElem (_("Show All Audio Busses"), sigc::mem_fun (*this, &EditorRoutes::show_all_audiobus))); items.push_back (MenuElem (_("Hide All Audio Busses"), sigc::mem_fun (*this, &EditorRoutes::hide_all_audiobus))); + items.push_back (MenuElem (_("Show All Midi Tracks"), sigc::mem_fun (*this, &EditorRoutes::show_all_miditracks))); + items.push_back (MenuElem (_("Hide All Midi Tracks"), sigc::mem_fun (*this, &EditorRoutes::hide_all_miditracks))); items.push_back (MenuElem (_("Show Tracks With Regions Under Playhead"), sigc::mem_fun (*this, &EditorRoutes::show_tracks_with_regions_at_playhead))); } @@ -694,7 +696,7 @@ EditorRoutes::set_all_tracks_visibility (bool yn) } void -EditorRoutes::set_all_audio_visibility (int tracks, bool yn) +EditorRoutes::set_all_audio_midi_visibility (int tracks, bool yn) { TreeModel::Children rows = _model->children(); TreeModel::Children::iterator i; @@ -702,10 +704,13 @@ EditorRoutes::set_all_audio_visibility (int tracks, bool yn) suspend_redisplay (); for (i = rows.begin(); i != rows.end(); ++i) { + TreeModel::Row row = (*i); TimeAxisView* tv = row[_columns.tv]; + AudioTimeAxisView* atv; - + MidiTimeAxisView* mtv; + if (tv == 0) { continue; } @@ -729,6 +734,19 @@ EditorRoutes::set_all_audio_visibility (int tracks, bool yn) break; } } + else if ((mtv = dynamic_cast<MidiTimeAxisView*>(tv)) != 0) { + switch (tracks) { + case 0: + (*i)[_columns.visible] = yn; + break; + + case 3: + if (mtv->is_midi_track()) { + (*i)[_columns.visible] = yn; + } + break; + } + } } resume_redisplay (); @@ -747,25 +765,36 @@ EditorRoutes::show_all_routes () } void +EditorRoutes::show_all_audiotracks() +{ + set_all_audio_midi_visibility (1, true); +} +void +EditorRoutes::hide_all_audiotracks () +{ + set_all_audio_midi_visibility (1, false); +} + +void EditorRoutes::show_all_audiobus () { - set_all_audio_visibility (2, true); + set_all_audio_midi_visibility (2, true); } void EditorRoutes::hide_all_audiobus () { - set_all_audio_visibility (2, false); + set_all_audio_midi_visibility (2, false); } void -EditorRoutes::show_all_audiotracks() +EditorRoutes::show_all_miditracks() { - set_all_audio_visibility (1, true); + set_all_audio_midi_visibility (3, true); } void -EditorRoutes::hide_all_audiotracks () +EditorRoutes::hide_all_miditracks () { - set_all_audio_visibility (1, false); + set_all_audio_midi_visibility (3, false); } bool |