diff options
author | Robin Gareus <robin@gareus.org> | 2015-07-10 11:11:44 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2015-07-10 11:47:20 +0200 |
commit | ad9f76a8c5ae2765259da99f2927fb50b7111f94 (patch) | |
tree | 4fa7cae400197697b035c5c5f7ff7a7386fff97a /gtk2_ardour | |
parent | 62d0384b5a3470db85f808d254ef02ba9740fc62 (diff) |
add context menu to hide/show Midi-tracks - fixes #6430
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/mixer_ui.cc | 33 | ||||
-rw-r--r-- | gtk2_ardour/mixer_ui.h | 4 |
2 files changed, 30 insertions, 7 deletions
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<AudioTrack> at = strip->audio_track(); + boost::shared_ptr<MidiTrack> 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; |