From 8f52bf7d9f4da47dd39eb227a667aa7de1a312b7 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sun, 25 May 2014 21:18:25 +0200 Subject: [PATCH] ignore sends when bouncing w/processing - only break on inserts. --- libs/ardour/route.cc | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 95c28ece8c..24cb5aabff 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -552,8 +552,7 @@ Route::bounce_process (BufferSet& buffers, framepos_t start, framecnt_t nframes, } /* if we're not exporting, stop processing if we come across a routing processor. */ - - if (!for_export && (*i)->does_routing()) { + if (!for_export && boost::dynamic_pointer_cast(*i)) { break; } @@ -562,10 +561,9 @@ Route::bounce_process (BufferSet& buffers, framepos_t start, framecnt_t nframes, */ if (!(*i)->does_routing() && !boost::dynamic_pointer_cast(*i)) { (*i)->run (buffers, start, start+nframes, nframes, true); + buffers.set_count ((*i)->output_streams()); } - buffers.set_count ((*i)->output_streams()); - if ((*i) == endpoint) { break; } @@ -581,11 +579,10 @@ Route::bounce_get_latency (boost::shared_ptr endpoint, bool include_e } for (ProcessorList::const_iterator i = _processors.begin(); i != _processors.end(); ++i) { - if (!include_endpoint && (*i) == endpoint) { break; } - if (!for_export && (*i)->does_routing()) { + if (!for_export && boost::dynamic_pointer_cast(*i)) { break; } if (!(*i)->does_routing() && !boost::dynamic_pointer_cast(*i)) { @@ -606,11 +603,10 @@ Route::bounce_get_output_streams (ChanCount &cc, boost::shared_ptr en } for (ProcessorList::const_iterator i = _processors.begin(); i != _processors.end(); ++i) { - if (!include_endpoint && (*i) == endpoint) { break; } - if (!for_export && (*i)->does_routing()) { + if (!for_export && boost::dynamic_pointer_cast(*i)) { break; } if (!(*i)->does_routing() && !boost::dynamic_pointer_cast(*i)) {