diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2009-11-20 15:26:34 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2009-11-20 15:26:34 +0000 |
commit | 8f7f17187770afc8352dad61ca48ff304c734f68 (patch) | |
tree | 8877485412c5e1685d777e2660ac69ad1d561d33 /gtk2_ardour/editor_route_groups.cc | |
parent | 648450781b8e5a39fd89c1a42f34b601c97df0e2 (diff) |
make strip-as-GUI-for-send work for metering too ; frame around session summary widget ; tooltip for editor group tabs ; route group dialog name entry is now activatable (return == click on ok)
git-svn-id: svn://localhost/ardour2/branches/3.0@6137 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_route_groups.cc')
-rw-r--r-- | gtk2_ardour/editor_route_groups.cc | 99 |
1 files changed, 51 insertions, 48 deletions
diff --git a/gtk2_ardour/editor_route_groups.cc b/gtk2_ardour/editor_route_groups.cc index 7496d50ccb..2a07ca89c1 100644 --- a/gtk2_ardour/editor_route_groups.cc +++ b/gtk2_ardour/editor_route_groups.cc @@ -252,87 +252,90 @@ EditorRouteGroups::new_route_group () } void -EditorRouteGroups::new_from_selection () +EditorRouteGroups::run_new_group_dialog (const RouteList& rl) { RouteGroup* g = new RouteGroup ( *_session, "", RouteGroup::Active, - (RouteGroup::Property) (RouteGroup::Mute | RouteGroup::Solo | RouteGroup::Edit | RouteGroup::Select) + (RouteGroup::Property) (RouteGroup::Mute | RouteGroup::Solo | RouteGroup::Edit | RouteGroup::RecEnable) ); RouteGroupDialog d (g, Gtk::Stock::NEW); int const r = d.do_run (); - if (r == Gtk::RESPONSE_OK) { + switch (r) { + case Gtk::RESPONSE_OK: + case Gtk::RESPONSE_ACCEPT: _session->add_route_group (g); - - for (TrackSelection::iterator i = _editor->get_selection().tracks.begin(); i != _editor->get_selection().tracks.end(); ++i) { - RouteTimeAxisView* rtv = dynamic_cast<RouteTimeAxisView*> (*i); - if (rtv) { - rtv->route()->set_route_group (g, this); - } + for (RouteList::const_iterator i = rl.begin(); i != rl.end(); ++i) { + (*i)->set_route_group (g, this); } - - } else { + break; + default: delete g; } } void -EditorRouteGroups::new_from_rec_enabled () +EditorRouteGroups::new_from_selection () { - RouteGroup* g = new RouteGroup ( - *_session, - "", - RouteGroup::Active, - (RouteGroup::Property) (RouteGroup::Mute | RouteGroup::Solo | RouteGroup::Edit | RouteGroup::RecEnable) - ); + if (_editor->get_selection().tracks.empty()) { + return; + } - RouteGroupDialog d (g, Gtk::Stock::NEW); - int const r = d.do_run (); + RouteList rl; - if (r == Gtk::RESPONSE_OK) { - _session->add_route_group (g); - - for (Editor::TrackViewList::const_iterator i = _editor->get_track_views().begin(); i != _editor->get_track_views().end(); ++i) { - RouteTimeAxisView* rtv = dynamic_cast<RouteTimeAxisView*> (*i); - if (rtv && rtv->route()->record_enabled()) { - rtv->route()->set_route_group (g, this); - } + for (TrackSelection::iterator i = _editor->get_selection().tracks.begin(); i != _editor->get_selection().tracks.end(); ++i) { + RouteTimeAxisView* rtv = dynamic_cast<RouteTimeAxisView*> (*i); + if (rtv) { + rl.push_back (rtv->route()); } + } - } else { - delete g; + if (rl.empty()) { + return; } + + run_new_group_dialog (rl); } void -EditorRouteGroups::new_from_soloed () +EditorRouteGroups::new_from_rec_enabled () { - RouteGroup* g = new RouteGroup ( - *_session, - "", - RouteGroup::Active, - (RouteGroup::Property) (RouteGroup::Mute | RouteGroup::Solo | RouteGroup::Edit) - ); + RouteList rl; - RouteGroupDialog d (g, Gtk::Stock::NEW); - int const r = d.do_run (); + for (Editor::TrackViewList::const_iterator i = _editor->get_track_views().begin(); i != _editor->get_track_views().end(); ++i) { + RouteTimeAxisView* rtv = dynamic_cast<RouteTimeAxisView*> (*i); + if (rtv && rtv->route()->record_enabled()) { + rl.push_back (rtv->route()); + } + } - if (r == Gtk::RESPONSE_OK) { - _session->add_route_group (g); + if (rl.empty()) { + return; + } - for (Editor::TrackViewList::const_iterator i = _editor->get_track_views().begin(); i != _editor->get_track_views().end(); ++i) { - RouteTimeAxisView* rtv = dynamic_cast<RouteTimeAxisView*> (*i); - if (rtv && !rtv->route()->is_master() && rtv->route()->soloed()) { - rtv->route()->set_route_group (g, this); - } + run_new_group_dialog (rl); +} + +void +EditorRouteGroups::new_from_soloed () +{ + RouteList rl; + + for (Editor::TrackViewList::const_iterator i = _editor->get_track_views().begin(); i != _editor->get_track_views().end(); ++i) { + RouteTimeAxisView* rtv = dynamic_cast<RouteTimeAxisView*> (*i); + if (rtv && !rtv->route()->is_master() && rtv->route()->soloed()) { + rl.push_back (rtv->route()); } + } - } else { - delete g; + if (rl.empty()) { + return; } + + run_new_group_dialog (rl); } void |