From b2d4c731e82c5267bc41d91de9104bef04316380 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 10 Feb 2015 19:48:28 -0500 Subject: [PATCH] properly activating MIDI parsing for traced ports --- gtk2_ardour/midi_tracer.cc | 7 +++++++ gtk2_ardour/midi_tracer.h | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/gtk2_ardour/midi_tracer.cc b/gtk2_ardour/midi_tracer.cc index cbf500ff99..aeb6c987e3 100644 --- a/gtk2_ardour/midi_tracer.cc +++ b/gtk2_ardour/midi_tracer.cc @@ -179,6 +179,8 @@ MidiTracer::port_changed () 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 { @@ -190,6 +192,11 @@ void MidiTracer::disconnect () { _parser_connection.disconnect (); + + if (traced_port) { + traced_port->set_trace_on (false); + traced_port.reset (); + } } void diff --git a/gtk2_ardour/midi_tracer.h b/gtk2_ardour/midi_tracer.h index 14234d6528..8a7d8762d9 100644 --- a/gtk2_ardour/midi_tracer.h +++ b/gtk2_ardour/midi_tracer.h @@ -39,6 +39,10 @@ namespace MIDI { class Parser; } +namespace ARDOUR { + class MidiPort; +} + class MidiTracer : public ArdourWindow { public: @@ -87,6 +91,8 @@ class MidiTracer : public ArdourWindow void disconnect (); PBD::ScopedConnection _parser_connection; PBD::ScopedConnection _manager_connection; + + boost::shared_ptr traced_port; }; #endif /* __ardour_gtk_midi_tracer_h__ */