X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fexport_format_base.h;h=46b44e2252d7cf6a486e0a962c3e697b56005968;hb=6930071cdbccf78f3871027991355a3fc524ba4b;hp=7bc012500402bc6a90685f9e4d9f893f071d1568;hpb=bb9cc45cd22af67ac275a5e73accbe14fee664d8;p=ardour.git diff --git a/libs/ardour/ardour/export_format_base.h b/libs/ardour/ardour/export_format_base.h index 7bc0125004..46b44e2252 100644 --- a/libs/ardour/ardour/export_format_base.h +++ b/libs/ardour/ardour/export_format_base.h @@ -22,20 +22,21 @@ #define __ardour_export_format_base_h__ #include -#include +#include + #include -#include #include #include -#include "ardour/gdither_types.h" -#include "ardour/ardour.h" + +#include "pbd/signals.h" +#include "ardour/types.h" + +#include "audiographer/general/sample_format_converter.h" namespace ARDOUR { -class HasSampleFormat; - class ExportFormatBase { public: @@ -76,10 +77,10 @@ class ExportFormatBase { }; enum DitherType { - D_None = GDitherNone, - D_Rect = GDitherRect, - D_Tri = GDitherTri, - D_Shaped = GDitherShaped + D_None = AudioGrapher::D_None, + D_Rect = AudioGrapher::D_Rect, + D_Tri = AudioGrapher::D_Tri, + D_Shaped = AudioGrapher::D_Shaped }; enum Quality { @@ -92,6 +93,7 @@ class ExportFormatBase { enum SampleRate { SR_None = 0, + SR_Session = 1, SR_22_05 = 220500, SR_44_1 = 44100, SR_48 = 48000, @@ -115,24 +117,24 @@ class ExportFormatBase { : _selected (false), _compatible (true) { } ~SelectableCompatible () {} - sigc::signal SelectChanged; - sigc::signal CompatibleChanged; + PBD::Signal1 SelectChanged; + PBD::Signal1 CompatibleChanged; bool selected () const { return _selected; } bool compatible () const { return _compatible; } - Glib::ustring name () const { return _name; } + std::string name () const { return _name; } void set_selected (bool value); void set_compatible (bool value); protected: - void set_name (Glib::ustring name) { _name = name; } + void set_name (std::string name) { _name = name; } private: bool _selected; bool _compatible; - Glib::ustring _name; + std::string _name; }; public: @@ -143,7 +145,6 @@ class ExportFormatBase { virtual ~ExportFormatBase (); boost::shared_ptr get_intersection (ExportFormatBase const & other) const; - boost::shared_ptr get_difference (ExportFormatBase const & other) const; boost::shared_ptr get_union (ExportFormatBase const & other) const; bool endiannesses_empty () const { return endiannesses.empty (); } @@ -158,8 +159,10 @@ class ExportFormatBase { bool has_format (FormatId format) const { return format_ids.find (format) != format_ids.end(); } bool has_quality (Quality quality) const { return qualities.find (quality) != qualities.end(); } - void set_extension (Glib::ustring const & extension) { _extension = extension; } - Glib::ustring const & extension () const { return _extension; } + void set_extension (std::string const & extension) { _extension = extension; } + std::string const & extension () const { return _extension; } + + static SampleRate nearest_sample_rate (framecnt_t sample_rate); protected: @@ -180,11 +183,10 @@ class ExportFormatBase { private: - Glib::ustring _extension; + std::string _extension; enum SetOperation { SetUnion, - SetDifference, SetIntersection };