diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2020-04-29 15:35:28 -0600 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2020-04-29 15:36:07 -0600 |
commit | 6eb48e40a033042ca0394dadc0401433cd988d6b (patch) | |
tree | 95ea33f4902b99ad95159471b966d973f8abac39 /libs/ardour | |
parent | 52b906651180ef371233156d39da4fa70c0d2a1b (diff) |
do not set declick_amp's gain for declick out during export of MIDI-only tracks
When export is done, nothing a MIDI-only track will reduce the gain ("goto midi" inside
DiskReader::run() and the "declick-in-progress" state will be permanent
Diffstat (limited to 'libs/ardour')
-rw-r--r-- | libs/ardour/disk_reader.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/libs/ardour/disk_reader.cc b/libs/ardour/disk_reader.cc index 11872662c0..0aa29a40e6 100644 --- a/libs/ardour/disk_reader.cc +++ b/libs/ardour/disk_reader.cc @@ -266,6 +266,7 @@ DiskReader::run (BufferSet& bufs, samplepos_t start_sample, samplepos_t end_samp ChannelList::iterator chan; sampleoffset_t disk_samples_to_consume; MonitorState ms = _track->monitoring_state (); + const bool midi_only = (c->empty() || _playlists[DataType::AUDIO]); if (_active) { if (!_pending_active) { @@ -286,8 +287,10 @@ DiskReader::run (BufferSet& bufs, samplepos_t start_sample, samplepos_t end_samp if (!_session.cfg ()->get_use_transport_fades () || (_session.exporting () && !_session.realtime_export ())) { /* no transport fades or exporting - no declick out logic */ - _declick_amp.set_gain (target_gain); - declick_out = false; + if (!midi_only) { + _declick_amp.set_gain (target_gain); + declick_out = false; + } } else { /* using transport fades and not exporting - declick login in effect */ @@ -317,7 +320,7 @@ DiskReader::run (BufferSet& bufs, samplepos_t start_sample, samplepos_t end_samp disk_samples_to_consume = nframes; } - if (c->empty () || !_playlists[DataType::AUDIO]) { + if (midi_only) { /* do nothing with audio */ goto midi; } |