summaryrefslogtreecommitdiff
path: root/libs/ardour/session_export.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/session_export.cc')
-rw-r--r--libs/ardour/session_export.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/libs/ardour/session_export.cc b/libs/ardour/session_export.cc
index dffe6582f2..7737e95279 100644
--- a/libs/ardour/session_export.cc
+++ b/libs/ardour/session_export.cc
@@ -62,8 +62,6 @@ Session::pre_export ()
{
get_export_status (); // Init export_status
- _butler->wait_until_finished ();
-
/* take everyone out of awrite to avoid disasters */
{
@@ -95,6 +93,7 @@ Session::pre_export ()
return 0;
}
+/** Called for each range that is being exported */
int
Session::start_audio_export (framepos_t position, bool /* realtime */)
{
@@ -102,6 +101,13 @@ Session::start_audio_export (framepos_t position, bool /* realtime */)
pre_export ();
}
+ /* We're about to call Track::seek, so the butler must have finished everything
+ up otherwise it could be doing do_refill in its thread while we are doing
+ it here.
+ */
+
+ _butler->wait_until_finished ();
+
/* get everyone to the right position */
{