mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-09 16:24:57 +01:00
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
This commit is contained in:
parent
281d6c1bbd
commit
23c79d8503
9 changed files with 47 additions and 11 deletions
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -825,7 +825,10 @@ ProcessorBox::choose_aux (boost::weak_ptr<Route> wr)
|
|||
return;
|
||||
}
|
||||
|
||||
_route->listen_via (target, PreFader, true, true);
|
||||
boost::shared_ptr<RouteList> rlist (new RouteList);
|
||||
rlist->push_back (_route);
|
||||
|
||||
_session.add_internal_sends (target, PreFader, rlist);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
|
|
@ -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<RouteList> 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<RouteTimeAxisView*>(*i)) != 0) {
|
||||
if ((rui = dynamic_cast<RouteUI*>(rtv)) != 0) {
|
||||
if (boost::dynamic_pointer_cast<AudioTrack>(rui->route())) {
|
||||
rlist->push_back (rui->route());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_session.add_internal_sends (_route, p, rlist);
|
||||
}
|
||||
|
||||
void
|
||||
RouteUI::set_sends_gain_from_track ()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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 ();
|
||||
|
|
|
|||
|
|
@ -41,7 +41,8 @@ namespace ARDOUR {
|
|||
SnapBBT = 0x8,
|
||||
Configuration = 0x10,
|
||||
Latency = 0x20,
|
||||
Processors = 0x40
|
||||
Processors = 0x40,
|
||||
Graph = 0x80
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -362,6 +362,8 @@ Delivery::state (bool full_state)
|
|||
node.add_property("type", "delivery");
|
||||
}
|
||||
|
||||
std::cerr << "delivery " << _name << " storing role " << _role << " as " << enum_2_string (_role) << std::endl;
|
||||
|
||||
node.add_property("role", enum_2_string(_role));
|
||||
node.add_child_nocopy (_panner->state (full_state));
|
||||
|
||||
|
|
|
|||
|
|
@ -109,7 +109,6 @@ InternalSend::run (BufferSet& bufs, sframes_t start_frame, sframes_t end_frame,
|
|||
Amp::apply_simple_gain (mixbufs, nframes, tgain);
|
||||
}
|
||||
|
||||
|
||||
// Can't automate gain for sends or returns yet because we need different buffers
|
||||
// so that we don't overwrite the main automation data for the route amp
|
||||
// _amp->setup_gain_automation (start_frame, end_frame, nframes);
|
||||
|
|
@ -153,7 +152,7 @@ InternalSend::state (bool full)
|
|||
{
|
||||
XMLNode& node (Send::state (full));
|
||||
|
||||
/* this replaces any existing property */
|
||||
/* this replaces any existing "type" property */
|
||||
|
||||
node.add_property ("type", "intsend");
|
||||
|
||||
|
|
|
|||
|
|
@ -2399,11 +2399,10 @@ Route::set_comment (string cmt, void *src)
|
|||
bool
|
||||
Route::feeds (boost::shared_ptr<Route> other, bool* only_send)
|
||||
{
|
||||
// cerr << _name << endl;
|
||||
DEBUG_TRACE (DEBUG::Graph, string_compose ("Feeds? %1\n", _name));
|
||||
|
||||
if (_output->connected_to (other->input())) {
|
||||
// cerr << "\tdirect FEEDS " << other->name() << endl;
|
||||
|
||||
DEBUG_TRACE (DEBUG::Graph, string_compose ("\tdirect FEEDS %2\n", other->name()));
|
||||
if (only_send) {
|
||||
*only_send = false;
|
||||
}
|
||||
|
|
@ -2418,18 +2417,21 @@ Route::feeds (boost::shared_ptr<Route> other, bool* only_send)
|
|||
|
||||
if ((iop = boost::dynamic_pointer_cast<IOProcessor>(*r)) != 0) {
|
||||
if (iop->feeds (other)) {
|
||||
// cerr << "\tIOP " << iop->name() << " feeds " << other->name() << endl;
|
||||
DEBUG_TRACE (DEBUG::Graph, string_compose ("\tIOP %1 does feed %2\n", iop->name(), other->name()));
|
||||
if (only_send) {
|
||||
*only_send = true;
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
// cerr << "\tIOP " << iop->name() << " does NOT feeds " << other->name() << endl;
|
||||
DEBUG_TRACE (DEBUG::Graph, string_compose ("\tIOP %1 does NOT feed %2\n", iop->name(), other->name()));
|
||||
}
|
||||
} else {
|
||||
DEBUG_TRACE (DEBUG::Graph, string_compose ("\tPROC %1 is not an IOP\n", (*r)->name()));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// cerr << "\tdoes NOT FEED " << other->name() << endl;
|
||||
DEBUG_TRACE (DEBUG::Graph, string_compose ("\tdoes NOT feed %1\n", other->name()));
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2258,7 +2258,6 @@ Session::globally_add_internal_sends (boost::shared_ptr<Route> dest, Placement p
|
|||
add_internal_sends (dest, p, t);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
Session::add_internal_sends (boost::shared_ptr<Route> dest, Placement p, boost::shared_ptr<RouteList> senders)
|
||||
{
|
||||
|
|
@ -2278,6 +2277,8 @@ Session::add_internal_sends (boost::shared_ptr<Route> dest, Placement p, boost::
|
|||
|
||||
(*i)->listen_via (dest, p, true, true);
|
||||
}
|
||||
|
||||
graph_reordered ();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue