Merge remote-tracking branch 'remotes/origin/exportvis' into windows+cc
[ardour.git] / libs / ardour / ardour / coreaudiosource.h
index 33a493b040ba8ee185949385141d1319f475603e..f12a67ded7fae8ad8c05a8e1e38cf16a38add86a 100644 (file)
@@ -28,32 +28,35 @@ using namespace std;
 
 namespace ARDOUR {
 
-class CoreAudioSource : public AudioFileSource {
+class LIBARDOUR_API CoreAudioSource : public AudioFileSource {
   public:
        CoreAudioSource (ARDOUR::Session&, const XMLNode&);
        CoreAudioSource (ARDOUR::Session&, const string& path, int chn, Flag);
        ~CoreAudioSource ();
 
-        void set_path (const std::string& p);
+       void set_path (const std::string& p);
 
        float sample_rate() const;
-       int update_header (sframes_t when, struct tm&, time_t);
+       int update_header (framepos_t when, struct tm&, time_t);
 
        int flush_header () {return 0;};
        void set_header_timeline_position () {};
+       bool clamped_at_unity () const { return false; }
+
+       void flush () {}
 
        static int get_soundfile_info (string path, SoundFileInfo& _info, string& error_msg);
 
   protected:
-       nframes_t read_unlocked (Sample *dst, sframes_t start, nframes_t cnt) const;
-       nframes_t write_unlocked (Sample *dst, nframes_t cnt) { return 0; }
+       framecnt_t read_unlocked (Sample *dst, framepos_t start, framecnt_t cnt) const;
+       framecnt_t write_unlocked (Sample *, framecnt_t) { return 0; }
 
   private:
        mutable CAAudioFile af;
        uint16_t n_channels;
 
        void init_cafile ();
-       int safe_read (Sample*, nframes_t start, nframes_t cnt, AudioBufferList&) const;
+       int safe_read (Sample*, framepos_t start, framecnt_t cnt, AudioBufferList&) const;
 };
 
 }; /* namespace ARDOUR */