new rc config param, try-link-for-embed, controls whether we try hard linking for...
[ardour.git] / libs / ardour / ardour / export_status.h
index 3ca5905a222698f3c2b7906a3fd16c830cbd1d99..3322ca639c45bd024c2f22b8b16529b1ce88249a 100644 (file)
@@ -36,36 +36,44 @@ enum ExportStage {
        export_Write
 };
 
-struct ExportStatus {
+struct ExportStatus : public sigc::trackable {
 
        ExportStatus ();
        void init ();
-       
+
        /* Status info */
-       
+
        volatile bool           stop;
        volatile bool           running;
-       
+
        sigc::signal<void>      Aborting;
-       void abort () { _aborted = true; Aborting(); }
+       void abort (bool error_occurred = false);
        bool aborted () const { return _aborted; }
-       
+       bool errors () const { return _errors; }
+
+       sigc::signal<void>      Finished;
+       void finish ();
+       bool finished () const { return _finished; }
+
        /* Progress info */
-       
+
        volatile ExportStage    stage;
        volatile float          progress;
-       
+
        volatile uint32_t       total_timespans;
        volatile uint32_t       timespan;
-       
+
        volatile uint32_t       total_channel_configs;
        volatile uint32_t       channel_config;
-       
+
        volatile uint32_t       total_formats;
        volatile uint32_t       format;
-       
+
   private:
        volatile bool          _aborted;
+       volatile bool          _errors;
+       volatile bool          _finished;
+
 };
 
 } // namespace ARDOUR