From 9510cb20fcb9376fa20fc7bbc35aa8c53c55137e Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sun, 6 Jun 2010 00:56:19 +0000 Subject: [PATCH] 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 --- gtk2_ardour/editor_routes.cc | 45 +++++++++++++++++++++++++++++------- gtk2_ardour/editor_routes.h | 4 +++- 2 files changed, 40 insertions(+), 9 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(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 (); @@ -746,26 +764,37 @@ EditorRoutes::show_all_routes () set_all_tracks_visibility (true); } +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 diff --git a/gtk2_ardour/editor_routes.h b/gtk2_ardour/editor_routes.h index d0798ee5bc..fbbfafe54d 100644 --- a/gtk2_ardour/editor_routes.h +++ b/gtk2_ardour/editor_routes.h @@ -78,13 +78,15 @@ private: void update_solo_isolate_display (); void update_solo_safe_display (); void set_all_tracks_visibility (bool); - void set_all_audio_visibility (int, bool); + void set_all_audio_midi_visibility (int, bool); void show_all_routes (); void hide_all_routes (); void show_all_audiotracks (); void hide_all_audiotracks (); void show_all_audiobus (); void hide_all_audiobus (); + void show_all_miditracks (); + void hide_all_miditracks (); void show_tracks_with_regions_at_playhead (); void display_drag_data_received ( -- 2.30.2