- // TODO: Run a list of slaves here
- // - multiple TC slaves (how_many_dsp_threads() in parallel)
- // (note this can be multiple slaves of each type. e.g.
- // 3 LTC slaves on different ports, 2 MTC..)
- // - GUI can display all slaves, user picks one.
- // - active "slave" is a session property.
- // - here we ask the session about the active slave
- // and get playback speed (for this cycle) here.
- // - Internal Transport is-a Slave too (!)
- Port::set_speed_ratio (_session->engine_speed ()); // HACK
+ const double engine_speed = tmm.pre_process_transport_masters (nframes, sample_time_at_cycle_start());
+ Port::set_speed_ratio (engine_speed);
+ DEBUG_TRACE (DEBUG::Slave, string_compose ("transport master (current=%1) gives speed %2 (ports using %3)\n", tmm.current() ? tmm.current()->name() : string("[]"), engine_speed, Port::speed_ratio()));