summaryrefslogtreecommitdiff
path: root/libs/ardour/strip_silence.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-09-20 01:28:15 +0200
committerRobin Gareus <robin@gareus.org>2015-09-20 01:28:15 +0200
commit861d6f81a3f455d6d2cce6b698507404db73d9bf (patch)
tree26e1ab6bf581a250fc4ee40a5cc28b8108afdc60 /libs/ardour/strip_silence.cc
parent21c1d0f8323b27cb664165cb22f1828a8aad5c23 (diff)
add silence-stripping fade constraints
Ensure that non-silent regions are at least as long as the selected fade-duration.
Diffstat (limited to 'libs/ardour/strip_silence.cc')
-rw-r--r--libs/ardour/strip_silence.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/libs/ardour/strip_silence.cc b/libs/ardour/strip_silence.cc
index ff79371b96..b0109d5989 100644
--- a/libs/ardour/strip_silence.cc
+++ b/libs/ardour/strip_silence.cc
@@ -123,9 +123,15 @@ StripSilence::run (boost::shared_ptr<Region> r, Progress* progress)
framecnt_t const f = std::min (_fade_length, (i->second - i->first));
- copy->set_fade_in_active (true);
- copy->set_fade_in (FadeLinear, f);
- copy->set_fade_out (FadeLinear, f);
+ if (f > 0) {
+ copy->set_fade_in_active (true);
+ copy->set_fade_out_active (true);
+ copy->set_fade_in (FadeLinear, f);
+ copy->set_fade_out (FadeLinear, f);
+ } else {
+ copy->set_fade_in_active (false);
+ copy->set_fade_out_active (false);
+ }
results.push_back (copy);
if (progress && (n <= N)) {