X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=inline;f=libs%2Fardour%2Fardour%2Fexport_profile_manager.h;h=2757795ff3598d7c890bcc6be91c052659884de2;hb=aabcbf7bad012739e02301faeed156fed29a4638;hp=f73085e5ba69ba269f407531f4657448e03f1000;hpb=dba601eeab9054ca4fac811c6c5e414d59fdc460;p=ardour.git diff --git a/libs/ardour/ardour/export_profile_manager.h b/libs/ardour/ardour/export_profile_manager.h index f73085e5ba..2757795ff3 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,11 +47,19 @@ 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 (); @@ -67,16 +76,17 @@ class ExportProfileManager private: typedef boost::shared_ptr HandlerPtr; - typedef std::pair FilePair; - typedef std::map FileMap; + 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; std::string preset_filename (std::string const & preset_name); void load_presets (); - void load_preset_from_disk (PBD::sys::path const & path); + void load_preset_from_disk (std::string const & path); bool set_state (XMLNode const & root); bool set_global_state (XMLNode const & root); @@ -90,10 +100,10 @@ class ExportProfileManager ExportPresetPtr current_preset; FileMap preset_file_map; - std::vector find_file (std::string const & pattern); + std::vector find_file (std::string const & pattern); - PBD::sys::path export_config_dir; - PBD::SearchPath search_path; + std::string export_config_dir; + PBD::Searchpath search_path; /* Timespans */ public: @@ -113,16 +123,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 +155,6 @@ class ExportProfileManager void update_ranges (); - boost::shared_ptr session_range; boost::shared_ptr selection_range; boost::shared_ptr ranges; @@ -195,7 +201,7 @@ class ExportProfileManager FormatStatePtr duplicate_format_state (FormatStatePtr state); void remove_format_state (FormatStatePtr state); - PBD::sys::path save_format_to_disk (ExportFormatSpecPtr format); + std::string save_format_to_disk (ExportFormatSpecPtr format); void remove_format_profile (ExportFormatSpecPtr format); ExportFormatSpecPtr get_new_format (ExportFormatSpecPtr original); @@ -212,7 +218,7 @@ class ExportProfileManager void load_formats (); ExportFormatSpecPtr load_format (XMLNode & node); - void load_format_from_disk (PBD::sys::path const & path); + void load_format_from_disk (std::string const & path); boost::shared_ptr format_list; FileMap format_file_map;