summaryrefslogtreecommitdiff
path: root/libs/ardour/route.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-05-25 21:18:25 +0200
committerRobin Gareus <robin@gareus.org>2014-05-25 21:20:07 +0200
commit8f52bf7d9f4da47dd39eb227a667aa7de1a312b7 (patch)
tree0ae0be05c9f4e7f27793b225db07a2ea9c724a22 /libs/ardour/route.cc
parentad9c07482871df6f35c3f1b804ed94b1e7351886 (diff)
ignore sends when bouncing w/processing - only break on inserts.
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r--libs/ardour/route.cc12
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)) {