Session::no_roll (pframes_t nframes)
{
PT_TIMING_CHECK (4);
-
+
framepos_t end_frame = _transport_frame + nframes; // FIXME: varispeed + no_roll ??
int ret = 0;
- int declick = get_transport_declick_required();
+ int declick = (config.get_use_transport_fades() ? get_transport_declick_required() : false);
boost::shared_ptr<RouteList> r = routes.reader ();
if (_click_io) {
int
Session::process_routes (pframes_t nframes, bool& need_butler)
{
- int declick = get_transport_declick_required();
+ int declick = (config.get_use_transport_fades() ? get_transport_declick_required() : false);
boost::shared_ptr<RouteList> r = routes.reader ();
const framepos_t start_frame = _transport_frame;
const framepos_t end_frame = _transport_frame + floor (nframes * _transport_speed);
-
+
if (_process_graph) {
DEBUG_TRACE(DEBUG::ProcessThreads,"calling graph/process-routes\n");
if (_process_graph->process_routes (nframes, start_frame, end_frame, declick, need_butler) < 0) {
Session::process_with_events (pframes_t nframes)
{
PT_TIMING_CHECK (3);
-
+
SessionEvent* ev;
pframes_t this_nframes;
framepos_t end_frame;
return max_framepos;
}
-
+
bool const punching_in = (config.get_punch_in () && _locations->auto_punch_location());
bool const punching_out = (config.get_punch_out () && _locations->auto_punch_location());
*/
void
-Session::emit_route_signals () const
+Session::emit_route_signals ()
{
+ // TODO use RAII to allow using these signals in other places
+ BatchUpdateStart(); /* EMIT SIGNAL */
boost::shared_ptr<RouteList> r = routes.reader ();
for (RouteList::const_iterator ci = r->begin(); ci != r->end(); ++ci) {
(*ci)->emit_pending_signals ();
}
+ BatchUpdateEnd(); /* EMIT SIGNAL */
}
void