summaryrefslogtreecommitdiff
path: root/libs/ardour/export_handler.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2018-07-25 18:19:19 +0200
committerRobin Gareus <robin@gareus.org>2018-07-25 18:19:19 +0200
commit506863bf57940e277a3a129b5d4fcd0299a13015 (patch)
tree5ca62f39e71609628abf1201fdea570eb532efcd /libs/ardour/export_handler.cc
parent16ef78ade0faf1cbdbdb2dc6c4430fb4996c0323 (diff)
Add an API to reset export-handler configs.
config_map.erase() is only called in ExportHandler::finish_timespan(). When an export fails (throw) or is aborted, the export-handler's config remains as is and the next export will run it again. The export-handler is global, per session and ExportHandler::add_export_config() only ever inserts or ignores insert. This is in preparation to fix: 1) export to invalid path -> fail, error is thrown 2) correct path -> new config is inserted in the map 3) try to export again, first runs the not-completed export from (1) -> constant errors.
Diffstat (limited to 'libs/ardour/export_handler.cc')
-rw-r--r--libs/ardour/export_handler.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/libs/ardour/export_handler.cc b/libs/ardour/export_handler.cc
index df74bda065..3cad72c8d9 100644
--- a/libs/ardour/export_handler.cc
+++ b/libs/ardour/export_handler.cc
@@ -465,6 +465,13 @@ ExportHandler::finish_timespan ()
start_timespan ();
}
+void
+ExportHandler::reset ()
+{
+ config_map.clear ();
+ graph_builder->reset ();
+}
+
/*** CD Marker stuff ***/
struct LocationSortByStart {