X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fexport_status.h;h=56b15eada19ebdf59af49e60433220a68f4ffdec;hb=722defe41a6119cfe6e9f5a66fdcb2408c12a455;hp=f207268155a48e608524b88af7489c3942892a41;hpb=e6ea8872766fd1246c56302c3cea69de9ea97fe6;p=ardour.git diff --git a/libs/ardour/ardour/export_status.h b/libs/ardour/ardour/export_status.h index f207268155..56b15eada1 100644 --- a/libs/ardour/ardour/export_status.h +++ b/libs/ardour/ardour/export_status.h @@ -24,48 +24,54 @@ #include #include -#include +#include "ardour/types.h" + +#include "pbd/signals.h" namespace ARDOUR { -enum ExportStage { - export_None, - export_ReadTimespan, - export_PostProcess, - export_Write -}; - struct ExportStatus { ExportStatus (); void init (); - + /* Status info */ - + volatile bool stop; volatile bool running; - - sigc::signal Aborting; - void abort () { _aborted = true; Aborting(); } + + PBD::Signal0 Aborting; + void abort (bool error_occurred = false); bool aborted () const { return _aborted; } - + bool errors () const { return _errors; } + + PBD::Signal0 Finished; + void finish (); + bool finished () const { return _finished; } + /* Progress info */ - - volatile ExportStage stage; - volatile float progress; - + + volatile bool normalizing; + 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; - + std::string timespan_name; + + volatile framecnt_t total_frames; + volatile framecnt_t processed_frames; + + volatile framecnt_t total_frames_current_timespan; + volatile framecnt_t processed_frames_current_timespan; + + volatile uint32_t total_normalize_cycles; + volatile uint32_t current_normalize_cycle; + private: volatile bool _aborted; + volatile bool _errors; + volatile bool _finished; + }; } // namespace ARDOUR