summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-02-10 19:48:28 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2015-02-10 19:48:47 -0500
commitb2d4c731e82c5267bc41d91de9104bef04316380 (patch)
tree7e6954c15706ab0bd308787de987d5ab545c264e /gtk2_ardour
parenteddcd7128f955e70e636b857a45da3e6258a0a8d (diff)
properly activating MIDI parsing for traced ports
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/midi_tracer.cc7
-rw-r--r--gtk2_ardour/midi_tracer.h6
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__ */