-/** @param need_butler to be set to true by this method if it needs the butler,
- * otherwise it must be left alone.
- */
-int
-Session::silent_process_routes (pframes_t nframes, bool& need_butler)
-{
- boost::shared_ptr<RouteList> r = routes.reader ();
-
- const framepos_t start_frame = _transport_frame;
- const framepos_t end_frame = _transport_frame + lrintf(nframes * _transport_speed);
-
- VCAList v = _vca_manager->vcas ();
- for (VCAList::const_iterator i = v.begin(); i != v.end(); ++i) {
- (*i)->automation_run (start_frame, nframes);
- }
-
- if (_process_graph) {
- _process_graph->silent_process_routes (nframes, start_frame, end_frame, need_butler);
- } else {
- for (RouteList::iterator i = r->begin(); i != r->end(); ++i) {
-
- int ret;
-
- if ((*i)->is_auditioner()) {
- continue;
- }
-
- bool b = false;
-
- if ((ret = (*i)->silent_roll (nframes, start_frame, end_frame, b)) < 0) {
- stop_transport ();
- return -1;
- }
-
- if (b) {
- need_butler = true;
- }
- }
- }
-
- return 0;
-}
-