if (!_exporting && _slave) {
if (!follow_slave (nframes)) {
- cerr << "P-w-E: FS fail\n";
return;
}
}
if (_transport_speed == 0) {
- cerr << "P-w-E: ts = 0\n";
no_roll (nframes);
return;
}
samplepos_t stop_limit = compute_stop_limit ();
if (maybe_stop (stop_limit)) {
- cerr << "P-w-E: mebbe stop\n";
no_roll (nframes);
return;
}
click (_transport_sample, this_nframes);
if (process_routes (this_nframes, session_needs_butler)) {
- cerr << "P-w-E: PR fail\n";
fail_roll (nframes);
return;
}
increment_transport_position (samples_moved);
}
- cerr << "P-w-E: ts now = " << _transport_sample << endl;
-
maybe_stop (stop_limit);
check_declick_out ();
}
/* if an event left our state changing, do the right thing */
if (nframes && non_realtime_work_pending()) {
- cerr << "P-w-E: nrtwp no roll\n";
no_roll (nframes);
break;
}
} /* implicit release of route lock */
- cerr << "P-w-E: final ts = " << _transport_sample << endl;
-
if (session_needs_butler) {
DEBUG_TRACE (DEBUG::Butler, "p-with-events: session needs butler, call it\n");
_butler->summon ();