diff options
author | Carl Hetherington <carl@carlh.net> | 2010-12-29 22:07:34 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2010-12-29 22:07:34 +0000 |
commit | 6f306c98216a2901d45d1b5537d836d084673eb3 (patch) | |
tree | c2c6e3086ba9f2b14e4cb6fddca6b529bc04ecc0 /gtk2_ardour/route_ui.cc | |
parent | d367d94c7febe766afc7356e874ba4eb36fcae48 (diff) |
Add options to add sends from buses as well as tracks; remainder of #3637.
git-svn-id: svn://localhost/ardour2/branches/3.0@8372 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/route_ui.cc')
-rw-r--r-- | gtk2_ardour/route_ui.cc | 43 |
1 files changed, 35 insertions, 8 deletions
diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc index 1c72f81ea4..e9ccea65c3 100644 --- a/gtk2_ardour/route_ui.cc +++ b/gtk2_ardour/route_ui.cc @@ -659,10 +659,37 @@ RouteUI::build_sends_menu () sends_menu->set_name ("ArdourContextMenu"); MenuList& items = sends_menu->items(); - items.push_back (MenuElem(_("Assign all tracks (prefader)"), sigc::bind (sigc::mem_fun (*this, &RouteUI::create_sends), PreFader))); - items.push_back (MenuElem(_("Assign all tracks (postfader)"), sigc::bind (sigc::mem_fun (*this, &RouteUI::create_sends), PostFader))); - items.push_back (MenuElem(_("Assign selected tracks (prefader)"), sigc::bind (sigc::mem_fun (*this, &RouteUI::create_selected_sends), PreFader))); - items.push_back (MenuElem(_("Assign selected tracks (postfader)"), sigc::bind (sigc::mem_fun (*this, &RouteUI::create_selected_sends), PostFader))); + items.push_back ( + MenuElem(_("Assign all tracks (prefader)"), sigc::bind (sigc::mem_fun (*this, &RouteUI::create_sends), PreFader, false)) + ); + + items.push_back ( + MenuElem(_("Assign all tracks and buses (prefader)"), sigc::bind (sigc::mem_fun (*this, &RouteUI::create_sends), PreFader, true)) + ); + + items.push_back ( + MenuElem(_("Assign all tracks (postfader)"), sigc::bind (sigc::mem_fun (*this, &RouteUI::create_sends), PostFader, false)) + ); + + items.push_back ( + MenuElem(_("Assign all tracks and buses (postfader)"), sigc::bind (sigc::mem_fun (*this, &RouteUI::create_sends), PostFader, true)) + ); + + items.push_back ( + MenuElem(_("Assign selected tracks (prefader)"), sigc::bind (sigc::mem_fun (*this, &RouteUI::create_selected_sends), PreFader, false)) + ); + + items.push_back ( + MenuElem(_("Assign selected tracks and buses (prefader)"), sigc::bind (sigc::mem_fun (*this, &RouteUI::create_selected_sends), PreFader, true))); + + items.push_back ( + MenuElem(_("Assign selected tracks (postfader)"), sigc::bind (sigc::mem_fun (*this, &RouteUI::create_selected_sends), PostFader, false)) + ); + + items.push_back ( + MenuElem(_("Assign selected tracks and buses (postfader)"), sigc::bind (sigc::mem_fun (*this, &RouteUI::create_selected_sends), PostFader, true)) + ); + items.push_back (MenuElem(_("Copy track/bus gains to sends"), sigc::mem_fun (*this, &RouteUI::set_sends_gain_from_track))); items.push_back (MenuElem(_("Set sends gain to -inf"), sigc::mem_fun (*this, &RouteUI::set_sends_gain_to_zero))); items.push_back (MenuElem(_("Set sends gain to 0dB"), sigc::mem_fun (*this, &RouteUI::set_sends_gain_to_unity))); @@ -670,13 +697,13 @@ RouteUI::build_sends_menu () } void -RouteUI::create_sends (Placement p) +RouteUI::create_sends (Placement p, bool include_buses) { - _session->globally_add_internal_sends (_route, p); + _session->globally_add_internal_sends (_route, p, include_buses); } void -RouteUI::create_selected_sends (Placement p) +RouteUI::create_selected_sends (Placement p, bool include_buses) { boost::shared_ptr<RouteList> rlist (new RouteList); TrackSelection& selected_tracks (ARDOUR_UI::instance()->the_editor().get_selection().tracks); @@ -686,7 +713,7 @@ RouteUI::create_selected_sends (Placement p) RouteUI* rui; if ((rtv = dynamic_cast<RouteTimeAxisView*>(*i)) != 0) { if ((rui = dynamic_cast<RouteUI*>(rtv)) != 0) { - if (boost::dynamic_pointer_cast<AudioTrack>(rui->route())) { + if (include_buses || boost::dynamic_pointer_cast<AudioTrack>(rui->route())) { rlist->push_back (rui->route()); } } |