use zeroed scratch buffers for "silent" plugin runs
[ardour.git] / libs / ardour / ardour / export_status.h
index 9fd3c84eccdaa77b799a04f84218b78cc77e4583..31027269f8ca376e9ccb9a886469f35ae7488b3a 100644 (file)
 #ifndef __ardour_export_status_h__
 #define __ardour_export_status_h__
 
-#include <list>
-#include <boost/signals2.hpp>
-
 #include <stdint.h>
 
-namespace ARDOUR
-{
+#include "ardour/types.h"
 
-enum ExportStage {
-       export_None,
-       export_ReadTimespan,
-       export_PostProcess,
-       export_Write
-};
+#include "pbd/signals.h"
 
-struct ExportStatus {
+namespace ARDOUR
+{
 
+class ExportStatus {
+  public:
        ExportStatus ();
        void init ();
 
@@ -46,28 +40,32 @@ struct ExportStatus {
        volatile bool           stop;
        volatile bool           running;
 
-       boost::signals2::signal<void()>      Aborting;
        void abort (bool error_occurred = false);
        bool aborted () const { return _aborted; }
        bool errors () const { return _errors; }
 
-       boost::signals2::signal<void()>      Finished;
+       PBD::Signal0<void>      Finished;
        void finish ();
        bool finished () const { return _finished; }
 
+        void cleanup ();
+
        /* Progress info */
 
-       volatile ExportStage    stage;
-       volatile float          progress;
+       volatile bool           normalizing;
 
        volatile uint32_t       total_timespans;
        volatile uint32_t       timespan;
+       std::string             timespan_name;
+
+       volatile framecnt_t     total_frames;
+       volatile framecnt_t     processed_frames;
 
-       volatile uint32_t       total_channel_configs;
-       volatile uint32_t       channel_config;
+       volatile framecnt_t     total_frames_current_timespan;
+       volatile framecnt_t     processed_frames_current_timespan;
 
-       volatile uint32_t       total_formats;
-       volatile uint32_t       format;
+       volatile uint32_t       total_normalize_cycles;
+       volatile uint32_t       current_normalize_cycle;
 
   private:
        volatile bool          _aborted;