From 23c79d85035d925536c8beed0064b7867137dfd6 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 19 Nov 2009 17:06:00 +0000 Subject: add new Graph debug bit ; make adding aux sends really work git-svn-id: svn://localhost/ardour2/branches/3.0@6132 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/opts.cc | 3 +++ gtk2_ardour/processor_box.cc | 5 ++++- gtk2_ardour/route_ui.cc | 24 ++++++++++++++++++++++++ gtk2_ardour/route_ui.h | 1 + 4 files changed, 32 insertions(+), 1 deletion(-) (limited to 'gtk2_ardour') diff --git a/gtk2_ardour/opts.cc b/gtk2_ardour/opts.cc index c35927dad8..7ce66c176e 100644 --- a/gtk2_ardour/opts.cc +++ b/gtk2_ardour/opts.cc @@ -84,6 +84,7 @@ list_debug_options () cerr << "\tSnapBBT\n"; cerr << "\tConfiguration\n"; cerr << "\tLatency\n"; + cerr << "\tGraph\n"; } static int @@ -123,6 +124,8 @@ parse_debug_options (const char* str) bits |= ARDOUR::DEBUG::Latency; } else if (strncasecmp (p, "processors", strlen (p)) == 0) { bits |= ARDOUR::DEBUG::Processors; + } else if (strncasecmp (p, "graph", strlen (p)) == 0) { + bits |= ARDOUR::DEBUG::Graph; } p = strtok_r (0, ",", &sp); diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc index e9d52016ec..bd84d4ca0a 100644 --- a/gtk2_ardour/processor_box.cc +++ b/gtk2_ardour/processor_box.cc @@ -825,7 +825,10 @@ ProcessorBox::choose_aux (boost::weak_ptr wr) return; } - _route->listen_via (target, PreFader, true, true); + boost::shared_ptr rlist (new RouteList); + rlist->push_back (_route); + + _session.add_internal_sends (target, PreFader, rlist); } void diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc index 5104601ba7..e06b9b18c4 100644 --- a/gtk2_ardour/route_ui.cc +++ b/gtk2_ardour/route_ui.cc @@ -44,6 +44,7 @@ #include "latency_gui.h" #include "mixer_strip.h" #include "automation_time_axis.h" +#include "route_time_axis.h" #include "ardour/route.h" #include "ardour/event_type_map.h" @@ -534,6 +535,8 @@ RouteUI::build_sends_menu () items.push_back (MenuElem(_("Assign all tracks (prefader)"), bind (mem_fun (*this, &RouteUI::create_sends), PreFader))); items.push_back (MenuElem(_("Assign all tracks (postfader)"), bind (mem_fun (*this, &RouteUI::create_sends), PostFader))); + items.push_back (MenuElem(_("Assign selected tracks (prefader)"), bind (mem_fun (*this, &RouteUI::create_selected_sends), PreFader))); + items.push_back (MenuElem(_("Assign selected tracks (postfader)"), bind (mem_fun (*this, &RouteUI::create_selected_sends), PostFader))); items.push_back (MenuElem(_("Copy track gains to sends"), mem_fun (*this, &RouteUI::set_sends_gain_from_track))); items.push_back (MenuElem(_("Set sends gain to -inf"), mem_fun (*this, &RouteUI::set_sends_gain_to_zero))); items.push_back (MenuElem(_("Set sends gain to 0dB"), mem_fun (*this, &RouteUI::set_sends_gain_to_unity))); @@ -546,6 +549,27 @@ RouteUI::create_sends (Placement p) _session.globally_add_internal_sends (_route, p); } +void +RouteUI::create_selected_sends (Placement p) +{ + boost::shared_ptr rlist (new RouteList); + TrackSelection& selected_tracks (ARDOUR_UI::instance()->the_editor().get_selection().tracks); + + for (TrackSelection::iterator i = selected_tracks.begin(); i != selected_tracks.end(); ++i) { + RouteTimeAxisView* rtv; + RouteUI* rui; + if ((rtv = dynamic_cast(*i)) != 0) { + if ((rui = dynamic_cast(rtv)) != 0) { + if (boost::dynamic_pointer_cast(rui->route())) { + rlist->push_back (rui->route()); + } + } + } + } + + _session.add_internal_sends (_route, p, rlist); +} + void RouteUI::set_sends_gain_from_track () { diff --git a/gtk2_ardour/route_ui.h b/gtk2_ardour/route_ui.h index 1b2aca1689..15eafb4e18 100644 --- a/gtk2_ardour/route_ui.h +++ b/gtk2_ardour/route_ui.h @@ -124,6 +124,7 @@ class RouteUI : public virtual AxisView void set_sends_gain_to_zero (); void set_sends_gain_to_unity (); void create_sends (ARDOUR::Placement); + void create_selected_sends (ARDOUR::Placement); void solo_changed(void*); void solo_changed_so_update_mute (); -- cgit v1.2.3