diff options
author | Robin Gareus <robin@gareus.org> | 2015-09-20 01:28:15 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2015-09-20 01:28:15 +0200 |
commit | 861d6f81a3f455d6d2cce6b698507404db73d9bf (patch) | |
tree | 26e1ab6bf581a250fc4ee40a5cc28b8108afdc60 /libs/ardour/strip_silence.cc | |
parent | 21c1d0f8323b27cb664165cb22f1828a8aad5c23 (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.cc | 12 |
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)) { |