From ba0458cf1f6c69366e89631d8fff916ad183d768 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Fri, 8 Oct 2010 14:54:16 +0000 Subject: Update recorded MIDI regions as notes arrive. Fixes one cause of infinite note-lengths during record. Fix various problems with multiple captures of MIDI during one pass. git-svn-id: svn://localhost/ardour2/branches/3.0@7887 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/midi_track.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'libs/ardour/midi_track.cc') 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 ds) _diskstream->set_record_enabled (false); //_diskstream->monitor_input (false); + _diskstream_data_recorded_connection.disconnect (); + boost::shared_ptr mds = boost::dynamic_pointer_cast (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 buf, boost::weak_ptr src) +{ + DataRecorded (buf, src); /* EMIT SIGNAL */ +} + -- cgit v1.2.3