for (i = rl_with_auditioner.begin(); !transport_work_requested() && should_run && i != rl_with_auditioner.end(); ++i) {
boost::shared_ptr<Track> tr = boost::dynamic_pointer_cast<Track> (*i);
+
if (!tr) {
continue;
}
- /* don't read inactive tracks */
-
boost::shared_ptr<IO> io = tr->input ();
if (io && !io->active()) {
+ /* don't read inactive tracks */
continue;
}
// cerr << "write behind for " << (*i)->name () << endl;
boost::shared_ptr<Track> tr = boost::dynamic_pointer_cast<Track> (*i);
+
if (!tr) {
continue;
}
cerr << "MidiSource calling write unlocked\n";
const framecnt_t ret = write_unlocked (source, source_start, duration);
_last_write_end += duration;
+ cerr << name() << " last write end now @ " << _last_write_end << endl;
return ret;
}
set_timeline_position (_session.transport_frame ());
_last_write_end = _session.transport_frame ();
+ cerr << name() << " last write set to " << _last_write_end << endl;
+
}
void
Evoral::MIDIEvent<framepos_t> ev;
- cerr << "SMFSource::write unlocked, begins writing from src buffer\n";
+ cerr << "SMFSource::write unlocked, begins writing from src buffer with _last_write_end = " << _last_write_end << " dur = " << duration << endl;
while (true) {
bool ret = source.peek ((uint8_t*)&time, sizeof (time));