if (mp) {
mp->self_parser().any.connect_same_thread (_parser_connection, boost::bind (&MidiTracer::tracer, this, _1, _2, _3));
+ mp->set_trace_on (true);
+ traced_port = mp;
}
} else {
MidiTracer::disconnect ()
{
_parser_connection.disconnect ();
+
+ if (traced_port) {
+ traced_port->set_trace_on (false);
+ traced_port.reset ();
+ }
}
void
class Parser;
}
+namespace ARDOUR {
+ class MidiPort;
+}
+
class MidiTracer : public ArdourWindow
{
public:
void disconnect ();
PBD::ScopedConnection _parser_connection;
PBD::ScopedConnection _manager_connection;
+
+ boost::shared_ptr<ARDOUR::MidiPort> traced_port;
};
#endif /* __ardour_gtk_midi_tracer_h__ */