summaryrefslogtreecommitdiff
path: root/libs/ardour/midi_track.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/midi_track.cc')
-rw-r--r--libs/ardour/midi_track.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/libs/ardour/midi_track.cc b/libs/ardour/midi_track.cc
index 595fccf360..452e3038bd 100644
--- a/libs/ardour/midi_track.cc
+++ b/libs/ardour/midi_track.cc
@@ -105,6 +105,10 @@ MidiTrack::set_diskstream (boost::shared_ptr<Diskstream> ds)
_diskstream->set_record_enabled (false);
//_diskstream->monitor_input (false);
+ _diskstream_data_recorded_connection.disconnect ();
+ boost::shared_ptr<MidiDiskstream> mds = boost::dynamic_pointer_cast<MidiDiskstream> (ds);
+ mds->DataRecorded.connect_same_thread (_diskstream_data_recorded_connection, boost::bind (&MidiTrack::diskstream_data_recorded, this, _1, _2));
+
DiskstreamChanged (); /* EMIT SIGNAL */
}
@@ -633,3 +637,10 @@ MidiTrack::midi_playlist ()
{
return midi_diskstream()->midi_playlist ();
}
+
+void
+MidiTrack::diskstream_data_recorded (boost::shared_ptr<MidiBuffer> buf, boost::weak_ptr<MidiSource> src)
+{
+ DataRecorded (buf, src); /* EMIT SIGNAL */
+}
+