summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_routes.cc
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2010-06-06 00:56:19 +0000
committerCarl Hetherington <carl@carlh.net>2010-06-06 00:56:19 +0000
commit9510cb20fcb9376fa20fc7bbc35aa8c53c55137e (patch)
treeab3de4e9cfba13c57f74eba8b3abe59e6bd6d6a6 /gtk2_ardour/editor_routes.cc
parent17bb05a7c068e243c34135f722f4ec2ef0f8dcde (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.cc45
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