fix failure to find route templates
[ardour.git] / libs / ardour / smf_source.cc
index 8f997060cabf43c32732513b27ae121156d3207b..52377ee9154c74a5af959af2499ef4443b7201f4 100644 (file)
@@ -234,7 +234,7 @@ SMFSource::write_unlocked (MidiRingBuffer<framepos_t>& source, framepos_t positi
 
        Evoral::MIDIEvent<framepos_t> ev;
 
-       cerr << "SMFSource::write unlocked, begins writing from src buffer with _last_write_end = " << _last_write_end << " dur = " << duration << endl;
+       // cerr << "SMFSource::write unlocked, begins writing from src buffer with _last_write_end = " << _last_write_end << " dur = " << duration << endl;
 
        while (true) {
                bool ret;
@@ -369,9 +369,9 @@ SMFSource::append_event_unlocked_frames (const Evoral::Event<framepos_t>& ev, fr
 
        _length_beats = max(_length_beats, ev_time_beats);
 
-       const framepos_t delta_time_frames = ev.time() - _last_ev_time_frames;
-       const double     delta_time_beats  = converter.from(delta_time_frames);
-       const uint32_t   delta_time_ticks  = (uint32_t)(lrint(delta_time_beats * (double)ppqn()));
+       const Evoral::MusicalTime last_time_beats  = converter.from (_last_ev_time_frames);
+       const Evoral::MusicalTime delta_time_beats = ev_time_beats - last_time_beats;
+       const uint32_t            delta_time_ticks = (uint32_t)(lrint(delta_time_beats * (double)ppqn()));
 
        Evoral::SMF::append_event_delta(delta_time_ticks, ev.size(), ev.buffer(), event_id);
        _last_ev_time_frames = ev.time();