integrate Session::remove_routes() from Tracks and replace Session::remove_route...
[ardour.git] / libs / ardour / ardour / importable_source.h
index 7df346a782ddde412cfa1d7f42e0fbfd3880d065..9463f0b28b772b009d6ecc7b0c5ae9318dcfee11 100644 (file)
 #define __ardour_importable_source_h__
 
 #include "pbd/failed_constructor.h"
+#include "ardour/libardour_visibility.h"
 #include "ardour/types.h"
 
 namespace ARDOUR {
 
-class ImportableSource {
+class LIBARDOUR_API ImportableSource {
 public:
        ImportableSource () {}
        virtual ~ImportableSource() {}
 
-       virtual nframes_t read (Sample* buffer, nframes_t nframes) = 0;
-       virtual float ratio() const { return 1.0f; }
-       virtual uint32_t channels() const = 0;
-       virtual nframes_t length() const = 0;
-       virtual nframes_t samplerate() const = 0;
-       virtual void      seek (nframes_t pos) = 0;
-       virtual nframes64_t natural_position() const = 0;
+       virtual framecnt_t read (Sample* buffer, framecnt_t nframes) = 0;
+       virtual float      ratio() const { return 1.0f; }
+       virtual uint32_t   channels() const = 0;
+       virtual framecnt_t length() const = 0;
+       virtual framecnt_t samplerate() const = 0;
+       virtual void       seek (framepos_t pos) = 0;
+       virtual framepos_t natural_position() const = 0;
 
        virtual bool clamped_at_unity () const = 0;
 };