diff --git a/libs/ardour/disk_reader.cc b/libs/ardour/disk_reader.cc index 77e7a9d034..b950f00a3d 100644 --- a/libs/ardour/disk_reader.cc +++ b/libs/ardour/disk_reader.cc @@ -186,6 +186,11 @@ DiskReader::set_state (const XMLNode& node, int version) void DiskReader::realtime_handle_transport_stopped () { + + if (_session.exporting () && !_session.realtime_export ()) { + printf ("DR POST EXPORT DiskReader::realtime_handle_transport_stopped\n"); + _declick_amp.set_gain (0); + } /* can't do the resolve here because we don't have a place to put the * note resolving data. Defer to * MidiTrack::realtime_handle_transport_stopped() which will call diff --git a/libs/ardour/session_export.cc b/libs/ardour/session_export.cc index 3c6cf012b5..2763c60bac 100644 --- a/libs/ardour/session_export.cc +++ b/libs/ardour/session_export.cc @@ -273,6 +273,9 @@ Session::process_export (pframes_t nframes) if (ProcessExport (nframes).value_or (0) > 0) { /* last cycle completed */ assert (_export_rolling); + if (!_realtime_export) { + _transport_fsm->hard_stop (); + } stop_audio_export (); }