#include "ardour/filesystem_paths.h"
#include "ardour/location.h"
+#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#include "ardour/export_handler.h"
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 ();
private:
typedef boost::shared_ptr<ExportHandler> HandlerPtr;
- typedef std::pair<PBD::UUID, PBD::sys::path> FilePair;
- typedef std::map<PBD::UUID, PBD::sys::path> FileMap;
+ typedef std::pair<PBD::UUID, std::string> FilePair;
+ typedef std::map<PBD::UUID, std::string> 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);
ExportPresetPtr current_preset;
FileMap preset_file_map;
- std::vector<PBD::sys::path> find_file (std::string const & pattern);
+ std::vector<std::string> 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:
TimespanListPtr timespans;
TimeFormat time_format;
- boost::shared_ptr<Location> session_range;
boost::shared_ptr<Location> selection_range;
boost::shared_ptr<LocationList> ranges;
- TimespanState (boost::shared_ptr<Location> session_range,
- boost::shared_ptr<Location> selection_range,
+ TimespanState (boost::shared_ptr<Location> selection_range,
boost::shared_ptr<LocationList> ranges)
: timespans (new TimespanList ())
, time_format (Timecode)
- , session_range (session_range)
, selection_range (selection_range)
, ranges (ranges)
{}
void update_ranges ();
- boost::shared_ptr<Location> session_range;
boost::shared_ptr<Location> selection_range;
boost::shared_ptr<LocationList> ranges;
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);
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<FormatList> format_list;
FileMap format_file_map;