summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-02-09 13:15:54 +0100
committerRobin Gareus <robin@gareus.org>2016-02-09 13:15:54 +0100
commitc00a07e811406bfd7698f232637ecec07439fb6b (patch)
treefb18c64489fa561f313229fa65b20bf036b90dea /libs/ardour
parenta1d2c1307782a1fe7dfae57e36ab480e9efbb189 (diff)
detailed export state, prepare resolution for #6512
(Post-processing step should announce itself during an export)
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/ardour/export_status.h8
-rw-r--r--libs/ardour/export_handler.cc7
-rw-r--r--libs/ardour/export_status.cc2
3 files changed, 12 insertions, 5 deletions
diff --git a/libs/ardour/ardour/export_status.h b/libs/ardour/ardour/export_status.h
index 6a5be177e4..6c6396dc5f 100644
--- a/libs/ardour/ardour/export_status.h
+++ b/libs/ardour/ardour/export_status.h
@@ -53,7 +53,13 @@ class LIBARDOUR_API ExportStatus {
/* Progress info */
- volatile bool normalizing;
+ volatile enum Progress {
+ Exporting,
+ Normalizing,
+ Tagging,
+ Uploading,
+ Command }
+ active_job;
volatile uint32_t total_timespans;
volatile uint32_t timespan;
diff --git a/libs/ardour/export_handler.cc b/libs/ardour/export_handler.cc
index f53f270918..71f79b793c 100644
--- a/libs/ardour/export_handler.cc
+++ b/libs/ardour/export_handler.cc
@@ -272,9 +272,9 @@ ExportHandler::process_normalize ()
{
if (graph_builder->process_normalize ()) {
finish_timespan ();
- export_status->normalizing = false;
+ export_status->active_job = ExportStatus::Exporting;
} else {
- export_status->normalizing = true;
+ export_status->active_job = ExportStatus::Normalizing;
}
export_status->current_normalize_cycle++;
@@ -316,6 +316,7 @@ ExportHandler::finish_timespan ()
* TODO: check Umlauts and encoding in filename.
* TagLib eventually calls CreateFileA(),
*/
+ export_status->active_job = ExportStatus::Tagging;
graph_builder->reset ();
AudiofileTagger::tag_file(filename, *SessionMetadata::Metadata());
}
@@ -330,7 +331,7 @@ ExportHandler::finish_timespan ()
...
};
#endif
-
+ export_status->active_job = ExportStatus::Command;
PBD::ScopedConnection command_connection;
std::map<char, std::string> subs;
subs.insert (std::pair<char, std::string> ('f', filename));
diff --git a/libs/ardour/export_status.cc b/libs/ardour/export_status.cc
index 0f7938bb7f..66f02c59c3 100644
--- a/libs/ardour/export_status.cc
+++ b/libs/ardour/export_status.cc
@@ -39,7 +39,7 @@ ExportStatus::init ()
_finished = false;
_errors = false;
- normalizing = false;
+ active_job = Exporting;
total_timespans = 0;
timespan = 0;