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
This commit is contained in:
Carl Hetherington 2010-06-06 00:56:19 +00:00
parent 17bb05a7c0
commit 9510cb20fc
2 changed files with 47 additions and 16 deletions

View 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_audiobus ()
{
set_all_audio_visibility (2, true);
}
void
EditorRoutes::hide_all_audiobus ()
{
set_all_audio_visibility (2, false);
}
void
EditorRoutes::show_all_audiotracks()
{
set_all_audio_visibility (1, true);
set_all_audio_midi_visibility (1, true);
}
void
EditorRoutes::hide_all_audiotracks ()
{
set_all_audio_visibility (1, false);
set_all_audio_midi_visibility (1, false);
}
void
EditorRoutes::show_all_audiobus ()
{
set_all_audio_midi_visibility (2, true);
}
void
EditorRoutes::hide_all_audiobus ()
{
set_all_audio_midi_visibility (2, false);
}
void
EditorRoutes::show_all_miditracks()
{
set_all_audio_midi_visibility (3, true);
}
void
EditorRoutes::hide_all_miditracks ()
{
set_all_audio_midi_visibility (3, false);
}
bool

View 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 (