diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc index 4f62318277..a1cb2365d5 100644 --- a/gtk2_ardour/mixer_ui.cc +++ b/gtk2_ardour/mixer_ui.cc @@ -945,7 +945,7 @@ Mixer_UI::set_all_strips_visibility (bool yn) void -Mixer_UI::set_all_audio_visibility (int tracks, bool yn) +Mixer_UI::set_all_audio_midi_visibility (int tracks, bool yn) { TreeModel::Children rows = track_model->children(); TreeModel::Children::iterator i; @@ -966,6 +966,7 @@ Mixer_UI::set_all_audio_visibility (int tracks, bool yn) } boost::shared_ptr at = strip->audio_track(); + boost::shared_ptr mt = strip->midi_track(); switch (tracks) { case 0: @@ -979,7 +980,13 @@ Mixer_UI::set_all_audio_visibility (int tracks, bool yn) break; case 2: - if (!at) { /* bus */ + if (!at && !mt) { /* bus */ + (*i)[track_columns.visible] = yn; + } + break; + + case 3: + if (mt) { /* midi-track */ (*i)[track_columns.visible] = yn; } break; @@ -1005,25 +1012,37 @@ Mixer_UI::show_all_routes () void Mixer_UI::show_all_audiobus () { - set_all_audio_visibility (2, true); + set_all_audio_midi_visibility (2, true); } void Mixer_UI::hide_all_audiobus () { - set_all_audio_visibility (2, false); + set_all_audio_midi_visibility (2, false); } void Mixer_UI::show_all_audiotracks() { - set_all_audio_visibility (1, true); + set_all_audio_midi_visibility (1, true); } void Mixer_UI::hide_all_audiotracks () { - set_all_audio_visibility (1, false); + set_all_audio_midi_visibility (1, false); } +void +Mixer_UI::show_all_miditracks() +{ + set_all_audio_midi_visibility (3, true); +} +void +Mixer_UI::hide_all_miditracks () +{ + set_all_audio_midi_visibility (3, false); +} + + void Mixer_UI::track_list_reorder (const TreeModel::Path&, const TreeModel::iterator&, int* /*new_order*/) { @@ -1196,6 +1215,8 @@ Mixer_UI::build_track_menu () items.push_back (MenuElem (_("Hide All Audio Tracks"), sigc::mem_fun(*this, &Mixer_UI::hide_all_audiotracks))); items.push_back (MenuElem (_("Show All Audio Busses"), sigc::mem_fun(*this, &Mixer_UI::show_all_audiobus))); items.push_back (MenuElem (_("Hide All Audio Busses"), sigc::mem_fun(*this, &Mixer_UI::hide_all_audiobus))); + items.push_back (MenuElem (_("Show All Midi Tracks"), sigc::mem_fun (*this, &Mixer_UI::show_all_miditracks))); + items.push_back (MenuElem (_("Hide All Midi Tracks"), sigc::mem_fun (*this, &Mixer_UI::hide_all_miditracks))); } diff --git a/gtk2_ardour/mixer_ui.h b/gtk2_ardour/mixer_ui.h index 4ab48ffd31..a56bb39bb1 100644 --- a/gtk2_ardour/mixer_ui.h +++ b/gtk2_ardour/mixer_ui.h @@ -179,7 +179,7 @@ class Mixer_UI : public Gtk::Window, public PBD::ScopedConnectionList, public AR void show_track_list_menu (); void set_all_strips_visibility (bool yn); - void set_all_audio_visibility (int tracks, bool yn); + void set_all_audio_midi_visibility (int, bool); void track_visibility_changed (std::string const & path); void update_track_visibility (); @@ -189,6 +189,8 @@ class Mixer_UI : public Gtk::Window, public PBD::ScopedConnectionList, public AR void hide_all_audiobus (); void show_all_audiotracks(); void hide_all_audiotracks (); + void show_all_miditracks(); + void hide_all_miditracks (); bool in_group_row_change;