Tracks calls tracks "Tracks"; Ardour uses type-names
[ardour.git] / libs / ardour / ardour / export_format_specification.h
index 4bf3ed40133a8749ebf43594c2ef6164c193a634..ed6e259644e51e7755a861c7a9933d5e9676158d 100644 (file)
@@ -25,6 +25,7 @@
 
 #include "pbd/uuid.h"
 
+#include "ardour/libardour_visibility.h"
 #include "ardour/types.h"
 #include "ardour/export_format_base.h"
 
@@ -37,7 +38,7 @@ class ExportFormat;
 class ExportFormatCompatibility;
 class Session;
 
-class ExportFormatSpecification : public ExportFormatBase {
+class LIBARDOUR_API ExportFormatSpecification : public ExportFormatBase {
 
   private:
 
@@ -64,7 +65,7 @@ class ExportFormatSpecification : public ExportFormatBase {
        ExportFormatSpecification (Session & s, XMLNode const & state);
 
   public:
-       ExportFormatSpecification (ExportFormatSpecification const & other);
+       ExportFormatSpecification (ExportFormatSpecification const & other, bool modify_name = true);
        ~ExportFormatSpecification ();
 
        /* compatibility */
@@ -95,6 +96,9 @@ class ExportFormatSpecification : public ExportFormatBase {
        void set_tag (bool tag_it) { _tag = tag_it; }
        void set_with_cue (bool yn) { _with_cue = yn; }
        void set_with_toc (bool yn) { _with_toc = yn; }
+       void set_with_mp4chaps (bool yn) { _with_mp4chaps = yn; }
+       void set_soundcloud_upload (bool yn) { _soundcloud_upload = yn; }
+       void set_command (std::string command) { _command = command; }
 
        void set_silence_beginning (AnyTime const & value) { _silence_beginning = value; }
        void set_silence_end (AnyTime const & value) { _silence_end = value; }
@@ -103,7 +107,7 @@ class ExportFormatSpecification : public ExportFormatBase {
 
        PBD::UUID const & id () { return _id; }
        std::string const & name () const { return _name; }
-       std::string description ();
+       std::string description (bool include_name = true);
 
        bool has_broadcast_info () const { return _has_broadcast_info; }
        uint32_t channel_limit () const { return _channel_limit; }
@@ -124,6 +128,10 @@ class ExportFormatSpecification : public ExportFormatBase {
        float normalize_target () const { return _normalize_target; }
        bool with_toc() const { return _with_toc; }
        bool with_cue() const { return _with_cue; }
+       bool with_mp4chaps() const { return _with_mp4chaps; }
+
+       bool soundcloud_upload() const { return _soundcloud_upload; }
+       std::string command() const { return _command; }
 
        bool tag () const { return _tag && supports_tagging; }
 
@@ -173,6 +181,9 @@ class ExportFormatSpecification : public ExportFormatBase {
        float           _normalize_target;
        bool            _with_toc;
        bool            _with_cue;
+       bool            _with_mp4chaps;
+       bool            _soundcloud_upload;
+       std::string     _command;
 
        /* serialization helpers */