summaryrefslogtreecommitdiff
path: root/libs/ardour/audioengine.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-10-30 17:27:13 +0100
committerRobin Gareus <robin@gareus.org>2017-10-30 17:27:13 +0100
commitb54db1cab79e25c39eccb4667bc7c44efb4ccb02 (patch)
tree8664de71fb64b23dcf0bac1014f09655ea744f5c /libs/ardour/audioengine.cc
parentd6e96a688dda3a9fa8fbb4c3a60526475aabb7bc (diff)
Fix fade-out at quit.
Diffstat (limited to 'libs/ardour/audioengine.cc')
-rw-r--r--libs/ardour/audioengine.cc9
1 files changed, 4 insertions, 5 deletions
diff --git a/libs/ardour/audioengine.cc b/libs/ardour/audioengine.cc
index 1c0fcbf138..23e525dd61 100644
--- a/libs/ardour/audioengine.cc
+++ b/libs/ardour/audioengine.cc
@@ -349,8 +349,7 @@ AudioEngine::process_callback (pframes_t nframes)
if (_session == 0) {
if (!_freewheeling) {
- PortManager::cycle_start (nframes);
- PortManager::cycle_end (nframes);
+ PortManager::silence_outputs (nframes);
}
_processed_samples = next_processed_samples;
@@ -440,7 +439,7 @@ AudioEngine::process_callback (pframes_t nframes)
if (session_remove_pending && session_removal_countdown) {
- PortManager::fade_out (session_removal_gain, session_removal_gain_step, nframes);
+ PortManager::cycle_end_fade_out (session_removal_gain, session_removal_gain_step, nframes, _session);
if (session_removal_countdown > nframes) {
session_removal_countdown -= nframes;
@@ -449,10 +448,10 @@ AudioEngine::process_callback (pframes_t nframes)
}
session_removal_gain -= (nframes * session_removal_gain_step);
+ } else {
+ PortManager::cycle_end (nframes, _session);
}
- PortManager::cycle_end (nframes, _session);
-
_processed_samples = next_processed_samples;
PT_TIMING_CHECK (2);