X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fexport_filename.h;h=7eacc11b908dad8fc56342ea060cbbea933a2865;hb=b880a381523b2cfdb7ebd17c27fff1adf90fa028;hp=c5f0e3b5caf5cbdc56e4ad75aaf1dd480b4a184a;hpb=a743d20dce499f3b6f1418967e200beaa670b375;p=ardour.git diff --git a/libs/ardour/ardour/export_filename.h b/libs/ardour/ardour/export_filename.h index c5f0e3b5ca..7eacc11b90 100644 --- a/libs/ardour/ardour/export_filename.h +++ b/libs/ardour/ardour/export_filename.h @@ -22,24 +22,19 @@ #define __ardour_export_filename_h__ #include -#include + +#include + +#include + #include "pbd/statefuldestructible.h" namespace ARDOUR { class Session; -class ExportTimespan; -class ExportChannelConfiguration; -class ExportFormatSpecification; - -class ExportFilename { - private: - - typedef boost::shared_ptr TimespanPtr; - typedef boost::shared_ptr ChannelConfigPtr; - typedef boost::shared_ptr FormatPtr; +class LIBARDOUR_API ExportFilename { public: enum DateFormat { @@ -68,28 +63,28 @@ class ExportFilename { /* data access */ - Glib::ustring get_path (FormatPtr format) const; - Glib::ustring get_folder () const { return folder; } + std::string get_path (ExportFormatSpecPtr format) const; + std::string get_folder () const { return folder; } TimeFormat get_time_format () const { return time_format; } DateFormat get_date_format () const { return date_format; } - Glib::ustring get_time_format_str (TimeFormat format) const; - Glib::ustring get_date_format_str (DateFormat format) const; + std::string get_time_format_str (TimeFormat format) const; + std::string get_date_format_str (DateFormat format) const; - Glib::ustring get_label () const { return label; } + std::string get_label () const { return label; } uint32_t get_revision () const { return revision; } /* data modification */ void set_time_format (TimeFormat format); void set_date_format (DateFormat format); - void set_label (Glib::ustring value); + void set_label (std::string value); void set_revision (uint32_t value) { revision = value; } void set_channel (uint32_t value) { channel = value; } - bool set_folder (Glib::ustring path); + bool set_folder (std::string path); - void set_timespan (TimespanPtr ts) { timespan = ts; } - void set_channel_config (ChannelConfigPtr cc) { channel_config = cc; } + void set_timespan (ExportTimespanPtr ts) { timespan = ts; } + void set_channel_config (ExportChannelConfigPtr cc) { channel_config = cc; } /* public members */ @@ -97,6 +92,7 @@ class ExportFilename { bool include_session; bool include_revision; bool include_channel_config; + bool include_format_name; bool include_channel; bool include_timespan; bool include_time; @@ -106,28 +102,28 @@ class ExportFilename { Session & session; - Glib::ustring label; + std::string label; uint32_t revision; uint32_t channel; - Glib::ustring folder; + std::string folder; DateFormat date_format; TimeFormat time_format; - Glib::ustring get_formatted_time (Glib::ustring const & format) const; + std::string get_formatted_time (std::string const & format) const; // Due to the static allocation used in strftime(), no destructor or copy-ctor is needed for this struct tm * time_struct; - TimespanPtr timespan; - ChannelConfigPtr channel_config; + ExportTimespanPtr timespan; + ExportChannelConfigPtr channel_config; /* Serialization helpers */ - typedef std::pair FieldPair; + typedef std::pair FieldPair; - void add_field (XMLNode * node, Glib::ustring const & name, bool enabled, Glib::ustring const & value = ""); - FieldPair get_field (XMLNode const & node, Glib::ustring const & name); + void add_field (XMLNode * node, std::string const & name, bool enabled, std::string const & value = ""); + FieldPair get_field (XMLNode const & node, std::string const & name); FieldPair analyse_folder (); };