#define __ardour_export_format_base_h__
#include <set>
-#include <algorithm>
-#include <boost/shared_ptr.hpp>
#include <string>
+#include <boost/shared_ptr.hpp>
+
#include <sndfile.h>
#include <samplerate.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:
F_None = 0,
F_WAV = SF_FORMAT_WAV,
F_W64 = SF_FORMAT_W64,
+ F_CAF = SF_FORMAT_CAF,
F_AIFF = SF_FORMAT_AIFF,
F_AU = SF_FORMAT_AU,
F_IRCAM = SF_FORMAT_IRCAM,
enum SampleRate {
SR_None = 0,
+ SR_Session = 1,
+ SR_8 = 8000,
SR_22_05 = 220500,
SR_44_1 = 44100,
SR_48 = 48000,
virtual ~ExportFormatBase ();
boost::shared_ptr<ExportFormatBase> get_intersection (ExportFormatBase const & other) const;
- boost::shared_ptr<ExportFormatBase> get_difference (ExportFormatBase const & other) const;
boost::shared_ptr<ExportFormatBase> get_union (ExportFormatBase const & other) const;
bool endiannesses_empty () const { return endiannesses.empty (); }
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:
friend class HasSampleFormat;
enum SetOperation {
SetUnion,
- SetDifference,
SetIntersection
};