summaryrefslogtreecommitdiff
path: root/libs/ardour/rb_effect.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2019-02-26 03:07:49 +0100
committerRobin Gareus <robin@gareus.org>2019-02-26 03:07:49 +0100
commitb8a6f7b05213b3c5546b9930968783720bfe3b78 (patch)
tree766883184968924a86bf6bb8aebf6b061279eb80 /libs/ardour/rb_effect.cc
parentc36dfbedb7e6adb321c0c599b9d2def0bc32dde1 (diff)
TimeFx-Filter: do not create a region when operation is canceled
Diffstat (limited to 'libs/ardour/rb_effect.cc')
-rw-r--r--libs/ardour/rb_effect.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/libs/ardour/rb_effect.cc b/libs/ardour/rb_effect.cc
index 70053a3225..f4f7649146 100644
--- a/libs/ardour/rb_effect.cc
+++ b/libs/ardour/rb_effect.cc
@@ -340,7 +340,9 @@ RBEffect::run (boost::shared_ptr<Region> r, Progress* progress)
new_name += suffix;
- ret = finish (region, nsrcs, new_name);
+ if (!tsr.cancel) {
+ ret = finish (region, nsrcs, new_name);
+ }
/* now reset ancestral data for each new region */
@@ -360,7 +362,7 @@ RBEffect::run (boost::shared_ptr<Region> r, Progress* progress)
/* stretch region gain envelope */
/* XXX: assuming we've only processed one input region into one result here */
- if (tsr.time_fraction != 1) {
+ if (ret == 0 && tsr.time_fraction != 1) {
result = boost::dynamic_pointer_cast<AudioRegion> (results.front());
assert (result);
result->envelope()->x_scale (tsr.time_fraction);