summaryrefslogtreecommitdiff
path: root/libs/ardour/internal_return.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-06-23 00:48:47 +0200
committerRobin Gareus <robin@gareus.org>2014-06-23 00:48:47 +0200
commitf6aaa1660bbce1782b8292d106c8adfb1ecbdc16 (patch)
treefed19ed4b309e256d5d9980b81f0d5725b32cbf2 /libs/ardour/internal_return.cc
parent14c6dfab075b20c19396516ea9f6f663cb2d1def (diff)
en/disable internal send+returns with tracks en/disable.
Diffstat (limited to 'libs/ardour/internal_return.cc')
-rw-r--r--libs/ardour/internal_return.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/libs/ardour/internal_return.cc b/libs/ardour/internal_return.cc
index fc5963603b..1eae5d3171 100644
--- a/libs/ardour/internal_return.cc
+++ b/libs/ardour/internal_return.cc
@@ -20,6 +20,7 @@
#include "ardour/internal_return.h"
#include "ardour/internal_send.h"
+#include "ardour/route.h"
using namespace std;
using namespace ARDOUR;
@@ -41,7 +42,7 @@ InternalReturn::run (BufferSet& bufs, framepos_t /*start_frame*/, framepos_t /*e
if (lm.locked ()) {
for (list<InternalSend*>::iterator i = _sends.begin(); i != _sends.end(); ++i) {
- if ((*i)->active ()) {
+ if ((*i)->active () && (!(*i)->source_route() || (*i)->source_route()->active())) {
bufs.merge_from ((*i)->get_buffers(), nframes);
}
}