X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fexport_filename.h;h=164cc16c67f41b6b876abe0b98b9f69c74fda588;hb=21102b45d0d22f2761697b1b9fdfa92aafc25834;hp=2847291a13896ab615f74aef3238dd526a14ed9c;hpb=bb9cc45cd22af67ac275a5e73accbe14fee664d8;p=ardour.git diff --git a/libs/ardour/ardour/export_filename.h b/libs/ardour/ardour/export_filename.h index 2847291a13..164cc16c67 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,35 +63,37 @@ 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 */ bool include_label; bool include_session; + bool use_session_snapshot_name; bool include_revision; bool include_channel_config; + bool include_format_name; bool include_channel; bool include_timespan; bool include_time; @@ -106,27 +103,27 @@ 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; - struct tm * time_struct; // Due to static allocation no destructor or copy-ctor is needed because of this + std::string get_formatted_time (std::string const & format) const; + 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 (); };