diff options
author | Robin Gareus <robin@gareus.org> | 2014-05-25 21:18:25 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-05-25 21:20:07 +0200 |
commit | 8f52bf7d9f4da47dd39eb227a667aa7de1a312b7 (patch) | |
tree | 0ae0be05c9f4e7f27793b225db07a2ea9c724a22 /libs/ardour/route.cc | |
parent | ad9c07482871df6f35c3f1b804ed94b1e7351886 (diff) |
ignore sends when bouncing w/processing - only break on inserts.
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r-- | libs/ardour/route.cc | 12 |
1 files 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<PortInsert>(*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<PeakMeter>(*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<Processor> 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<PortInsert>(*i)) { break; } if (!(*i)->does_routing() && !boost::dynamic_pointer_cast<PeakMeter>(*i)) { @@ -606,11 +603,10 @@ Route::bounce_get_output_streams (ChanCount &cc, boost::shared_ptr<Processor> 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<PortInsert>(*i)) { break; } if (!(*i)->does_routing() && !boost::dynamic_pointer_cast<PeakMeter>(*i)) { |