Respond to MMC even when synced to JACK. Fixes #3700.
[ardour.git] / libs / ardour / ardour / export_filename.h
index e44c50f394f4119697967a679b511e2b15915097..d046b9a501d9de82da7c3f10165deab972184a9d 100644 (file)
 #ifndef __ardour_export_filename_h__
 #define __ardour_export_filename_h__
 
-#include <glibmm/ustring.h>
-#include <pbd/statefuldestructible.h>
-
-#include <ardour/session.h>
-
-using Glib::ustring;
+#include <boost/shared_ptr.hpp>
+#include <string>
+#include "pbd/statefuldestructible.h"
 
 namespace ARDOUR
 {
@@ -52,7 +49,7 @@ class ExportFilename {
                D_BE,        // big endian (no deliminator)
                D_BEShortY   // big endian short year representation
        };
-       
+
        enum TimeFormat {
                T_None,
                T_NoDelim,
@@ -63,39 +60,39 @@ class ExportFilename {
        friend class ExportElementFactory;
        ExportFilename (Session & session);
 
-  public:      
+  public:
        /* Serialization */
-       
+
        XMLNode & get_state ();
        int set_state (const XMLNode &);
-       
+
        /* data access */
-       
-       ustring get_path (FormatPtr format) const;
-       ustring get_folder () const { return folder; }
-       
+
+       std::string get_path (FormatPtr 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; }
-       ustring get_time_format_str (TimeFormat format) const;
-       ustring get_date_format_str (DateFormat format) const;
-       
-       ustring get_label () const { return label; }
+       std::string get_time_format_str (TimeFormat format) const;
+       std::string get_date_format_str (DateFormat format) const;
+
+       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 (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 (ustring path);
-       
+       bool set_folder (std::string path);
+
        void set_timespan (TimespanPtr ts) { timespan = ts; }
        void set_channel_config (ChannelConfigPtr cc) { channel_config = cc; }
-       
+
        /* public members */
-       
+
        bool include_label;
        bool include_session;
        bool include_revision;
@@ -104,34 +101,34 @@ class ExportFilename {
        bool include_timespan;
        bool include_time;
        bool include_date;
-       
+
   private:
 
        Session & session;
 
-       ustring   label;
+       std::string   label;
        uint32_t  revision;
        uint32_t  channel;
-       
-       ustring   folder;
-       
+
+       std::string   folder;
+
        DateFormat date_format;
        TimeFormat time_format;
-       
-       ustring get_formatted_time (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;
+       // 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;
-       
+
        /* Serialization helpers */
-       
-       typedef std::pair<bool, ustring> FieldPair;
-       
-       void add_field (XMLNode * node, ustring const & name, bool enabled, ustring const & value = "");
-       FieldPair get_field (XMLNode const & node, ustring const & name);
+
+       typedef std::pair<bool, std::string> FieldPair;
+
+       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 ();
-       
 };