ignore sends when bouncing w/processing - only break on inserts.

This commit is contained in:
Robin Gareus 2014-05-25 21:18:25 +02:00
parent ad9c074828
commit 8f52bf7d9f

View file

@ -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 we're not exporting, stop processing if we come across a routing processor. */
if (!for_export && boost::dynamic_pointer_cast<PortInsert>(*i)) {
if (!for_export && (*i)->does_routing()) {
break; 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)) { if (!(*i)->does_routing() && !boost::dynamic_pointer_cast<PeakMeter>(*i)) {
(*i)->run (buffers, start, start+nframes, nframes, true); (*i)->run (buffers, start, start+nframes, nframes, true);
buffers.set_count ((*i)->output_streams());
} }
buffers.set_count ((*i)->output_streams());
if ((*i) == endpoint) { if ((*i) == endpoint) {
break; 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) { for (ProcessorList::const_iterator i = _processors.begin(); i != _processors.end(); ++i) {
if (!include_endpoint && (*i) == endpoint) { if (!include_endpoint && (*i) == endpoint) {
break; break;
} }
if (!for_export && (*i)->does_routing()) { if (!for_export && boost::dynamic_pointer_cast<PortInsert>(*i)) {
break; break;
} }
if (!(*i)->does_routing() && !boost::dynamic_pointer_cast<PeakMeter>(*i)) { 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) { for (ProcessorList::const_iterator i = _processors.begin(); i != _processors.end(); ++i) {
if (!include_endpoint && (*i) == endpoint) { if (!include_endpoint && (*i) == endpoint) {
break; break;
} }
if (!for_export && (*i)->does_routing()) { if (!for_export && boost::dynamic_pointer_cast<PortInsert>(*i)) {
break; break;
} }
if (!(*i)->does_routing() && !boost::dynamic_pointer_cast<PeakMeter>(*i)) { if (!(*i)->does_routing() && !boost::dynamic_pointer_cast<PeakMeter>(*i)) {