diff options
author | Ben Loftis <ben@glw.com> | 2009-12-08 20:42:52 +0000 |
---|---|---|
committer | Ben Loftis <ben@glw.com> | 2009-12-08 20:42:52 +0000 |
commit | 360b97a763c43c26c6423cf2e3df438927ecb8ae (patch) | |
tree | d643f87b64633b246f54b051adb7da0da3415658 /gtk2_ardour/mixer_ui.cc | |
parent | c1a10ef31f5df38a8e2d0501be6dd22c4d3372fc (diff) |
backport feature to show only tracks with regions under the playhead (thanks Carl) and fix Save As function (thanks Paul)
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@6327 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/mixer_ui.cc')
-rw-r--r-- | gtk2_ardour/mixer_ui.cc | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc index e2946f823b..59bba9aea0 100644 --- a/gtk2_ardour/mixer_ui.cc +++ b/gtk2_ardour/mixer_ui.cc @@ -639,6 +639,7 @@ Mixer_UI::show_all_audiotracks() { set_all_audio_visibility (1, true); } + void Mixer_UI::hide_all_audiotracks () { @@ -646,6 +647,29 @@ Mixer_UI::hide_all_audiotracks () } void +Mixer_UI::show_tracks_with_regions_at_playhead () +{ + boost::shared_ptr<Session::RouteList> const regions = session->get_routes_with_regions_at (session->transport_frame ()); + + TreeModel::Children rows = track_model->children (); + for (TreeModel::Children::iterator i = rows.begin(); i != rows.end(); ++i) { + boost::shared_ptr<Route> route = (*i)[track_columns.route]; + + bool found = false; + for (Session::RouteList::iterator x = (*regions).begin(); x != (*regions).end(); ++x) { + if ((*x) == route) + found = true; + } + + (*i)[track_columns.visible] = found; + } + + strip_redisplay_does_not_sync_order_keys = true; + redisplay_track_list (); + strip_redisplay_does_not_sync_order_keys = false; +} + +void Mixer_UI::track_list_reorder (const TreeModel::Path& path, const TreeModel::iterator& iter, int* new_order) { strip_redisplay_does_not_sync_order_keys = true; @@ -944,7 +968,8 @@ Mixer_UI::build_track_menu () items.push_back (MenuElem (_("Hide All Audio Tracks"), mem_fun(*this, &Mixer_UI::hide_all_audiotracks))); items.push_back (MenuElem (_("Show All Audio Busses"), mem_fun(*this, &Mixer_UI::show_all_audiobus))); items.push_back (MenuElem (_("Hide All Audio Busses"), mem_fun(*this, &Mixer_UI::hide_all_audiobus))); - + items.push_back (MenuElem (_("Hide All Audio Busses"), mem_fun(*this, &Mixer_UI::hide_all_audiobus))); + items.push_back (MenuElem (_("Show Tracks With Regions Under Playhead"), mem_fun (*this, &Mixer_UI::show_tracks_with_regions_at_playhead))); } void |