Lincoln's patch from #3223 to add show/hide midi track options to the route list.
authorCarl Hetherington <carl@carlh.net>
Sun, 6 Jun 2010 00:56:19 +0000 (00:56 +0000)
committerCarl Hetherington <carl@carlh.net>
Sun, 6 Jun 2010 00:56:19 +0000 (00:56 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@7237 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/editor_routes.cc
gtk2_ardour/editor_routes.h

index e80838cb55d1656d4532daad4336fcb6026f870e..b351c8a51dd518d51d5e761de5c8cdf52c40b2b2 100644 (file)
@@ -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 ();
@@ -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
index d0798ee5bc34c2a9c88311d8f1a76bb4b7a7bfae..fbbfafe54d319b80c9a8711a09189f28868648c7 100644 (file)
@@ -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 (