X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fexport_profile_manager.h;h=b0285f8ecce11733b6a2d4582ee61bce19468ab0;hb=faefc3ba9a42417b133235e0a9efeaba467aad5f;hp=31e93a5b8974530a718c06f78d9552f08be7e251;hpb=7e7d053f53585bc9a38a646fbdd16db363bf78e9;p=ardour.git diff --git a/libs/ardour/ardour/export_profile_manager.h b/libs/ardour/ardour/export_profile_manager.h index 31e93a5b89..b0285f8ecc 100644 --- a/libs/ardour/ardour/export_profile_manager.h +++ b/libs/ardour/ardour/export_profile_manager.h @@ -35,6 +35,7 @@ #include "ardour/filesystem_paths.h" #include "ardour/location.h" +#include "ardour/libardour_visibility.h" #include "ardour/types.h" #include "ardour/export_handler.h" @@ -46,16 +47,26 @@ class Location; class Session; /// Manages (de)serialization of export profiles and related classes -class ExportProfileManager +class LIBARDOUR_API ExportProfileManager { public: - ExportProfileManager (Session & s, std::string xml_node_name); + enum ExportType { + RegularExport, + RangeExport, + SelectionExport, + RegionExport, + StemExport + }; + + ExportProfileManager (Session & s, ExportType type); ~ExportProfileManager (); void load_profile (); void prepare_for_export (); + ExportType type () const { return _type; } + typedef std::list PresetList; PresetList const & get_presets () { return preset_list; } @@ -70,7 +81,8 @@ class ExportProfileManager typedef std::pair FilePair; typedef std::map FileMap; - std::string const xml_node_name; + ExportType _type; + std::string xml_node_name; HandlerPtr handler; Session & session; @@ -93,7 +105,7 @@ class ExportProfileManager std::vector find_file (std::string const & pattern); std::string export_config_dir; - PBD::SearchPath search_path; + PBD::Searchpath search_path; /* Timespans */ public: @@ -113,16 +125,13 @@ class ExportProfileManager TimespanListPtr timespans; TimeFormat time_format; - boost::shared_ptr session_range; boost::shared_ptr selection_range; boost::shared_ptr ranges; - TimespanState (boost::shared_ptr session_range, - boost::shared_ptr selection_range, + TimespanState (boost::shared_ptr selection_range, boost::shared_ptr ranges) : timespans (new TimespanList ()) , time_format (Timecode) - , session_range (session_range) , selection_range (selection_range) , ranges (ranges) {} @@ -148,7 +157,6 @@ class ExportProfileManager void update_ranges (); - boost::shared_ptr session_range; boost::shared_ptr selection_range; boost::shared_ptr ranges;