Remove unused variables.
[ardour.git] / libs / ardour / midi_source.cc
index 404ac3a73d3cdbda4f8df5388654b53bae18c02c..1093cb2c4b69bc3280743c79bb5bb37780917726 100644 (file)
@@ -55,8 +55,6 @@ PBD::Signal1<void,MidiSource*> MidiSource::MidiSourceCreated;
 
 MidiSource::MidiSource (Session& s, string name, Source::Flag flags)
        : Source(s, DataType::MIDI, name, flags)
-       , _read_data_count(0)
-       , _write_data_count(0)
        , _writing(false)
        , _model_iter_valid(false)
        , _length_beats(0.0)
@@ -67,17 +65,12 @@ MidiSource::MidiSource (Session& s, string name, Source::Flag flags)
 
 MidiSource::MidiSource (Session& s, const XMLNode& node)
        : Source(s, node)
-       , _read_data_count(0)
-       , _write_data_count(0)
        , _writing(false)
        , _model_iter_valid(false)
        , _length_beats(0.0)
        , _last_read_end(0)
        , _last_write_end(0)
 {
-       _read_data_count = 0;
-       _write_data_count = 0;
-
        if (set_state (node, Stateful::loading_state_version)) {
                throw failed_constructor();
        }
@@ -267,7 +260,13 @@ MidiSource::midi_write (MidiRingBuffer<framepos_t>& source, framepos_t source_st
        Glib::Mutex::Lock lm (_lock);
        cerr << "MidiSource calling write unlocked\n";
        const framecnt_t ret = write_unlocked (source, source_start, duration);
-       _last_write_end += duration;
+
+       if (duration == max_framecnt) {
+               _last_read_end = 0;
+       } else {
+               _last_write_end += duration;
+       }
+
        cerr << name() << " last write end now @ " << _last_write_end << endl;
        return ret;
 }
@@ -311,15 +310,21 @@ MidiSource::mark_streaming_write_started ()
 }
 
 void
-MidiSource::mark_streaming_write_completed ()
+MidiSource::mark_midi_streaming_write_completed (Evoral::Sequence<Evoral::MusicalTime>::StuckNoteOption option, Evoral::MusicalTime end)
 {
        if (_model) {
-               _model->end_write (false);
+               _model->end_write (option, end);
        }
 
        _writing = false;
 }
 
+void
+MidiSource::mark_streaming_write_completed ()
+{
+       mark_midi_streaming_write_completed (Evoral::Sequence<Evoral::MusicalTime>::DeleteStuckNotes);
+}
+
 boost::shared_ptr<MidiSource>
 MidiSource::clone (Evoral::MusicalTime begin, Evoral::MusicalTime end)
 {
@@ -386,7 +391,7 @@ MidiSource::session_saved()
                   try to update it.
                */
 
-               boost::shared_ptr<MidiModel> mm = _model ;
+               boost::shared_ptr<MidiModel> mm = _model;
                _model.reset ();
 
                /* flush model contents to disk