diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2015-02-10 19:48:28 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2015-02-10 19:48:47 -0500 |
commit | b2d4c731e82c5267bc41d91de9104bef04316380 (patch) | |
tree | 7e6954c15706ab0bd308787de987d5ab545c264e /gtk2_ardour | |
parent | eddcd7128f955e70e636b857a45da3e6258a0a8d (diff) |
properly activating MIDI parsing for traced ports
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/midi_tracer.cc | 7 | ||||
-rw-r--r-- | gtk2_ardour/midi_tracer.h | 6 |
2 files changed, 13 insertions, 0 deletions
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<ARDOUR::MidiPort> traced_port; }; #endif /* __ardour_gtk_midi_tracer_h__ */ |