Automation of LV2 plugin properties.
[ardour.git] / libs / ardour / ardour / export_format_specification.h
index 7afb0bc73492f4f37fd48d19026abf6c4df7bd1d..2a62d792f00f44db0039b4468e45867c08e17a56 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 */
@@ -93,6 +94,10 @@ class ExportFormatSpecification : public ExportFormatBase {
        void set_normalize_target (float value) { _normalize_target = value; }
 
        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_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; }
@@ -101,7 +106,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; }
@@ -120,6 +125,10 @@ class ExportFormatSpecification : public ExportFormatBase {
        bool trim_end () const { return _trim_end; }
        bool normalize () const { return _normalize; }
        float normalize_target () const { return _normalize_target; }
+       bool with_toc() const { return _with_toc; }
+       bool with_cue() const { return _with_cue; }
+       bool soundcloud_upload() const { return _soundcloud_upload; }
+       std::string command() const { return _command; }
 
        bool tag () const { return _tag && supports_tagging; }
 
@@ -167,6 +176,10 @@ class ExportFormatSpecification : public ExportFormatBase {
 
        bool            _normalize;
        float           _normalize_target;
+       bool            _with_toc;
+       bool            _with_cue;
+       bool            _soundcloud_upload;
+       std::string     _command;
 
        /* serialization helpers */