X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fexport_handler.h;h=d4dd5627f71e453e060766ec3963213ff201b2b9;hb=7218bd91de3b69032e515617449702f368db59d2;hp=79a90ebb6f56ca8b760de3f643ee98a3d128eed9;hpb=7468fdb9ca9892cec9b298690bf0edf3655d6453;p=ardour.git diff --git a/libs/ardour/ardour/export_handler.h b/libs/ardour/ardour/export_handler.h index 79a90ebb6f..d4dd5627f7 100644 --- a/libs/ardour/ardour/export_handler.h +++ b/libs/ardour/ardour/export_handler.h @@ -22,13 +22,11 @@ #define __ardour_export_handler_h__ #include -#include #include #include #include -#include "ardour/ardour.h" #include "ardour/export_pointers.h" #include "ardour/session.h" #include "ardour/types.h" @@ -45,7 +43,7 @@ class ExportChannelConfiguration; class ExportFormatSpecification; class ExportFilename; class ExportGraphBuilder; - +class Location; class ExportElementFactory { @@ -83,22 +81,11 @@ class ExportHandler : public ExportElementFactory {} ExportChannelConfigPtr channel_config; - ExportFormatSpecPtr format; + ExportFormatSpecPtr format; ExportFilenamePtr filename; BroadcastInfoPtr broadcast_info; }; - private: - - /* Stuff for export configs - * The multimap maps timespans to file specifications - */ - - typedef std::pair ConfigPair; - typedef std::multimap ConfigMap; - - typedef boost::shared_ptr GraphBuilderPtr; - private: /* Session::get_export_handler() should be used to obtain an export handler * This ensures that it doesn't go out of scope before finalize_audio_export is called @@ -113,18 +100,25 @@ class ExportHandler : public ExportElementFactory bool add_export_config (ExportTimespanPtr timespan, ExportChannelConfigPtr channel_config, ExportFormatSpecPtr format, ExportFilenamePtr filename, BroadcastInfoPtr broadcast_info); - void do_export (bool rt = false); + void do_export (); + + std::string get_cd_marker_filename(std::string filename, CDMarkerFormat format); private: + void handle_duplicate_format_extensions(); int process (framecnt_t frames); Session & session; - GraphBuilderPtr graph_builder; + boost::shared_ptr graph_builder; ExportStatusPtr export_status; + + /* The timespan and corresponding file specifications that we are exporting; + there can be multiple FileSpecs for each ExportTimespan. + */ + typedef std::multimap ConfigMap; ConfigMap config_map; - bool realtime; bool normalizing; /* Timespan management */ @@ -183,6 +177,9 @@ class ExportHandler : public ExportElementFactory void write_index_info_toc (CDMarkerStatus & status); void frames_to_cd_frames_string (char* buf, framepos_t when); + std::string toc_escape_cdtext (const std::string&); + std::string toc_escape_filename (const std::string&); + std::string cue_escape_cdtext (const std::string& txt); int cue_tracknum; int cue_indexnum;