add an plugin API to query generic-gui grid-layout
[ardour.git] / libs / ardour / ardour / export_formats.h
index 3ef207097b29776e6eb800309ae84cd856ae6336..4c9c2057256da84ff586088e2d8564205bc259c9 100644 (file)
@@ -25,7 +25,7 @@
 #include <boost/weak_ptr.hpp>
 
 #include "pbd/failed_constructor.h"
-#include "pbd/scoped_connections.h"
+#include "pbd/signals.h"
 
 #include "ardour/export_format_base.h"
 #include "ardour/export_format_compatibility.h"
 namespace ARDOUR
 {
 
-class ExportFormatIncompatible : public failed_constructor {
+class LIBARDOUR_API ExportFormatIncompatible : public failed_constructor {
   public:
        virtual const char *what() const throw() { return "Export format constructor failed: Format incompatible with system"; }
 };
 
 /// Base class for formats
-class ExportFormat : public ExportFormatBase, public ExportFormatBase::SelectableCompatible {
+class LIBARDOUR_API ExportFormat : public ExportFormatBase, public ExportFormatBase::SelectableCompatible {
 
   public:
        ExportFormat () {};
@@ -54,13 +54,13 @@ class ExportFormat : public ExportFormatBase, public ExportFormatBase::Selectabl
        bool has_sample_format ();
        bool sample_format_is_compatible (SampleFormat format) const;
 
-       /* If the format has a specific sample format, this function should be overriden
+       /* If the format has a specific sample format, this function should be overridden
         * if the format has a selectable sample format, do not override this!
         */
 
        virtual SampleFormat get_explicit_sample_format () const { return SF_None; }
 
-       /* If the above is not overriden, this one should be */
+       /* If the above is not overridden, this one should be */
 
        virtual ExportFormat::SampleFormat default_sample_format () const { return SF_None; }
 
@@ -86,13 +86,16 @@ class ExportFormat : public ExportFormatBase, public ExportFormatBase::Selectabl
 };
 
 /// Class to be inherited by export formats that have a selectable sample format
-class HasSampleFormat : public PBD::ScopedConnectionList {
+class LIBARDOUR_API HasSampleFormat : public PBD::ScopedConnectionList {
   public:
 
        class SampleFormatState : public ExportFormatBase::SelectableCompatible {
          public:
-               SampleFormatState (ExportFormatBase::SampleFormat format, Glib::ustring name) :
-                 format (format) { set_name (name); }
+               SampleFormatState (ExportFormatBase::SampleFormat format, std::string name)
+                       : format (format)
+               {
+                       set_name (name);
+               }
 
                ExportFormatBase::SampleFormat  format;
        };
@@ -128,11 +131,11 @@ class HasSampleFormat : public PBD::ScopedConnectionList {
 
        /* Proxies for signals from sample formats and dither types */
 
-       boost::signals2::signal<void(bool, WeakSampleFormatPtr)> SampleFormatSelectChanged;
-       boost::signals2::signal<void(bool, WeakSampleFormatPtr)> SampleFormatCompatibleChanged;
+       PBD::Signal2<void,bool, WeakSampleFormatPtr> SampleFormatSelectChanged;
+       PBD::Signal2<void,bool, WeakSampleFormatPtr> SampleFormatCompatibleChanged;
 
-       boost::signals2::signal<void(bool, WeakDitherTypePtr)> DitherTypeSelectChanged;
-       boost::signals2::signal<void(bool, WeakDitherTypePtr)> DitherTypeCompatibleChanged;
+       PBD::Signal2<void,bool, WeakDitherTypePtr> DitherTypeSelectChanged;
+       PBD::Signal2<void,bool, WeakDitherTypePtr> DitherTypeCompatibleChanged;
 
        static std::string get_sample_format_name (ExportFormatBase::SampleFormat format);
 
@@ -145,7 +148,7 @@ class HasSampleFormat : public PBD::ScopedConnectionList {
   private:
        /* Connected to signals */
 
-       void add_dither_type (ExportFormatBase::DitherType type, Glib::ustring name);
+       void add_dither_type (ExportFormatBase::DitherType type, std::string name);
        void update_sample_format_selection (bool);
        void update_dither_type_selection (bool);
 
@@ -153,10 +156,10 @@ class HasSampleFormat : public PBD::ScopedConnectionList {
        ExportFormatBase::SampleFormatSet & _sample_formats;
 };
 
-class ExportFormatLinear : public ExportFormat, public HasSampleFormat {
+class LIBARDOUR_API ExportFormatLinear : public ExportFormat, public HasSampleFormat {
   public:
 
-       ExportFormatLinear (Glib::ustring name, FormatId format_id);
+       ExportFormatLinear (std::string name, FormatId format_id);
        ~ExportFormatLinear () {};
 
        bool set_compatibility_state (ExportFormatCompatibility const & compatibility);
@@ -171,7 +174,7 @@ class ExportFormatLinear : public ExportFormat, public HasSampleFormat {
        SampleFormat _default_sample_format;
 };
 
-class ExportFormatOggVorbis : public ExportFormat {
+class LIBARDOUR_API ExportFormatOggVorbis : public ExportFormat {
   public:
        ExportFormatOggVorbis ();
        ~ExportFormatOggVorbis () {};
@@ -182,7 +185,7 @@ class ExportFormatOggVorbis : public ExportFormat {
        virtual bool supports_tagging () const { return true; }
 };
 
-class ExportFormatFLAC : public ExportFormat, public HasSampleFormat {
+class LIBARDOUR_API ExportFormatFLAC : public ExportFormat, public HasSampleFormat {
   public:
        ExportFormatFLAC ();
        ~ExportFormatFLAC () {};
@@ -195,7 +198,7 @@ class ExportFormatFLAC : public ExportFormat, public HasSampleFormat {
        virtual bool supports_tagging () const { return true; }
 };
 
-class ExportFormatBWF : public ExportFormat, public HasSampleFormat {
+class LIBARDOUR_API ExportFormatBWF : public ExportFormat, public HasSampleFormat {
   public:
        ExportFormatBWF ();
        ~ExportFormatBWF () {};