replace fixed-point linear interpolation with double-based version, thereby removing...
[ardour.git] / libs / ardour / smf_source.cc
index 1c08e95360f82034ac6e7d4ae32a07bd7b50cade..40848dc9edfe5c21a13de406551eddec08fa88f4 100644 (file)
@@ -95,7 +95,7 @@ SMFSource::~SMFSource ()
 
 /** All stamps in audio frames */
 nframes_t
-SMFSource::read_unlocked (MidiRingBuffer<nframes_t>& destination, sframes_t position,
+SMFSource::read_unlocked (MidiRingBuffer<nframes_t>& destination, sframes_t source_start,
                sframes_t start, nframes_t duration,
                sframes_t stamp_offset, sframes_t negative_stamp_offset) const
 {
@@ -112,12 +112,12 @@ SMFSource::read_unlocked (MidiRingBuffer<nframes_t>& destination, sframes_t posi
 
        size_t scratch_size = 0; // keep track of scratch to minimize reallocs
        
-       BeatsFramesConverter converter(_session, position);
+       BeatsFramesConverter converter(_session, source_start);
 
        const uint64_t start_ticks = (uint64_t)(converter.from(start) * ppqn());
 
        if (_last_read_end == 0 || start != _last_read_end) {
-               cerr << "SMFSource::read_unlocked seeking to " << start << endl;
+               //cerr << "SMFSource::read_unlocked seeking to " << start << endl;
                Evoral::SMF::seek_to_start();
                while (time < start_ticks) {
                        ret = read_event(&ev_delta_t, &ev_size, &ev_buffer);
@@ -186,11 +186,7 @@ SMFSource::write_unlocked (MidiRingBuffer<nframes_t>& source, sframes_t position
 
        while (true) {
                bool ret = source.peek_time(&time);
-               g_debug ("time: %u, last_write_end: %lu, duration: %u", time, _last_write_end, duration);
                if (!ret || time > _last_write_end + duration) {
-                       if (!ret) g_debug ("peek failed");
-                       if (time > _last_write_end + duration) g_debug ("time: %u > last_write_end: %lu + duration: %u", time, _last_write_end, duration);
                        break;
                }
 
@@ -378,10 +374,10 @@ SMFSource::load_model (bool lock, bool force_reload)
 
        if (! _model) {
                _model = boost::shared_ptr<MidiModel>(new MidiModel(this));
-               cerr << _name << " loaded new model " << _model.get() << endl;
+               //cerr << _name << " loaded new model " << _model.get() << endl;
        } else {
-               cerr << _name << " reloading model " << _model.get()
-                       << " (" << _model->n_notes() << " notes)" <<endl;
+               /*cerr << _name << " reloading model " << _model.get()
+                       << " (" << _model->n_notes() << " notes)" << endl;*/
                _model->clear();
        }