summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/export_handler.cc2
-rw-r--r--libs/ardour/session_export.cc5
2 files changed, 5 insertions, 2 deletions
diff --git a/libs/ardour/export_handler.cc b/libs/ardour/export_handler.cc
index 9454f52e24..4e365bd431 100644
--- a/libs/ardour/export_handler.cc
+++ b/libs/ardour/export_handler.cc
@@ -314,8 +314,8 @@ ExportHandler::process_timespan (samplecnt_t samples)
export_status->current_postprocessing_cycle = 0;
} else {
finish_timespan ();
- return 0;
}
+ return 1; /* trigger realtime_stop() */
}
return 0;
diff --git a/libs/ardour/session_export.cc b/libs/ardour/session_export.cc
index d66be3ada3..79e0b5a51b 100644
--- a/libs/ardour/session_export.cc
+++ b/libs/ardour/session_export.cc
@@ -239,7 +239,10 @@ Session::process_export (pframes_t nframes)
try {
/* handle export - XXX what about error handling? */
- ProcessExport (nframes);
+ if (ProcessExport (nframes).value_or (0) > 0) {
+ /* last cycle completed */
+ flush_all_inserts ();
+ }
} catch (std::exception & e) {
error << string_compose (_("Export ended unexpectedly: %1"), e.what()) << endmsg;