diff options
author | Robin Gareus <robin@gareus.org> | 2017-10-30 17:27:13 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-10-30 17:27:13 +0100 |
commit | b54db1cab79e25c39eccb4667bc7c44efb4ccb02 (patch) | |
tree | 8664de71fb64b23dcf0bac1014f09655ea744f5c /libs/ardour/audioengine.cc | |
parent | d6e96a688dda3a9fa8fbb4c3a60526475aabb7bc (diff) |
Fix fade-out at quit.
Diffstat (limited to 'libs/ardour/audioengine.cc')
-rw-r--r-- | libs/ardour/audioengine.cc | 9 |
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); |