Add debug flags to track down #8317

This commit is contained in:
Robin Gareus 2020-07-18 20:09:14 +02:00
parent 6d6db90b60
commit fb9f1eff12
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
4 changed files with 30 additions and 0 deletions

View File

@ -78,6 +78,8 @@ namespace PBD {
LIBARDOUR_API extern DebugBits Panning;
LIBARDOUR_API extern DebugBits Peaks;
LIBARDOUR_API extern DebugBits PluginManager;
LIBARDOUR_API extern DebugBits PortConnectAuto;
LIBARDOUR_API extern DebugBits PortConnectIO;
LIBARDOUR_API extern DebugBits Ports;
LIBARDOUR_API extern DebugBits ProcessThreads;
LIBARDOUR_API extern DebugBits Processors;

View File

@ -73,6 +73,8 @@ PBD::DebugBits PBD::DEBUG::OrderKeys = PBD::new_debug_bit ("orderkeys");
PBD::DebugBits PBD::DEBUG::Panning = PBD::new_debug_bit ("panning");
PBD::DebugBits PBD::DEBUG::Peaks = PBD::new_debug_bit ("peaks");
PBD::DebugBits PBD::DEBUG::PluginManager = PBD::new_debug_bit ("pluginmanager");
PBD::DebugBits PBD::DEBUG::PortConnectAuto = PBD::new_debug_bit ("PortConnectAuto");
PBD::DebugBits PBD::DEBUG::PortConnectIO = PBD::new_debug_bit ("PortConnectIO");
PBD::DebugBits PBD::DEBUG::Ports = PBD::new_debug_bit ("Ports");
PBD::DebugBits PBD::DEBUG::ProcessThreads = PBD::new_debug_bit ("processthreads");
PBD::DebugBits PBD::DEBUG::Processors = PBD::new_debug_bit ("processors");

View File

@ -168,6 +168,9 @@ IO::disconnect (boost::shared_ptr<Port> our_port, string other_port, void* src)
/* disconnect it from the source */
DEBUG_TRACE (DEBUG::PortConnectIO,
string_compose("IO::disconnect %1 from %2\n", our_port->name(), other_port));
if (our_port->disconnect (other_port)) {
error << string_compose(_("IO: cannot disconnect port %1 from %2"), our_port->name(), other_port) << endmsg;
return -1;
@ -199,6 +202,9 @@ IO::connect (boost::shared_ptr<Port> our_port, string other_port, void* src)
/* connect it to the source */
DEBUG_TRACE (DEBUG::PortConnectIO,
string_compose("IO::connect %1 to %2\n", our_port->name(), other_port));
if (our_port->connect (other_port)) {
return -1;
}

View File

@ -6862,6 +6862,12 @@ Session::auto_connect_route (boost::shared_ptr<Route> route, bool connect_inputs
const ChanCount& output_offset)
{
Glib::Threads::Mutex::Lock lx (_auto_connect_queue_lock);
DEBUG_TRACE (DEBUG::PortConnectAuto,
string_compose ("Session::auto_connect_route '%1' ci: %2 is=(%3) os=(%4) io=(%5) oo=(%6)\n",
route->name(), connect_inputs,
input_start, output_start, input_offset, output_offset));
_auto_connect_queue.push (AutoConnectRequest (route, connect_inputs,
input_start, output_start,
input_offset, output_offset));
@ -6917,6 +6923,10 @@ Session::auto_connect (const AutoConnectRequest& ar)
? ChanCount::max(ar.input_offset, ar.output_offset)
: ar.output_offset;
DEBUG_TRACE (DEBUG::PortConnectAuto,
string_compose ("Session::auto_connect '%1' iop: %2 is=(%3) os=(%4) Eio=(%5) Eoo=(%6)\n",
route->name(), in_out_physical, ar.input_start, ar.output_start, in_offset, out_offset));
for (DataType::iterator t = DataType::begin(); t != DataType::end(); ++t) {
vector<string> physinputs;
vector<string> physoutputs;
@ -6928,6 +6938,10 @@ Session::auto_connect (const AutoConnectRequest& ar)
get_physical_ports (physinputs, physoutputs, *t, MidiPortMusic);
DEBUG_TRACE (DEBUG::PortConnectAuto,
string_compose ("Physical MidiPortMusic %1 Ports count in: %2 out %3\n",
(*t).to_string(), physinputs.size(), physoutputs.size()));
if (!physinputs.empty() && ar.connect_inputs) {
uint32_t nphysical_in = physinputs.size();
@ -6939,12 +6953,17 @@ Session::auto_connect (const AutoConnectRequest& ar)
}
if (!port.empty() && route->input()->connect (route->input()->ports().port(*t, i), port, this)) {
DEBUG_TRACE (DEBUG::PortConnectAuto, "Failed to auto-connect input.");
break;
}
}
}
if (!physoutputs.empty()) {
DEBUG_TRACE (DEBUG::PortConnectAuto,
string_compose ("Connect %1 outputs # %2 .. %3\n",
(*t).to_string(), ar.output_start.get(*t), route->n_outputs().get(*t)));
uint32_t nphysical_out = physoutputs.size();
for (uint32_t i = ar.output_start.get(*t); i < route->n_outputs().get(*t); ++i) {
string port;
@ -6960,6 +6979,7 @@ Session::auto_connect (const AutoConnectRequest& ar)
}
if (!port.empty() && route->output()->connect (route->output()->ports().port(*t, i), port, this)) {
DEBUG_TRACE (DEBUG::PortConnectAuto, "Failed to auto-connect ouput.");
break;
}
}