X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fcoreaudiosource.h;h=f12a67ded7fae8ad8c05a8e1e38cf16a38add86a;hb=b855e5f3220027502a3c88f189d511fe2a5a3c2b;hp=33a493b040ba8ee185949385141d1319f475603e;hpb=c8e3f32533cc6f4481222781d93e7bf7c32ffe5f;p=ardour.git diff --git a/libs/ardour/ardour/coreaudiosource.h b/libs/ardour/ardour/coreaudiosource.h index 33a493b040..f12a67ded7 100644 --- a/libs/ardour/ardour/coreaudiosource.h +++ b/libs/ardour/ardour/coreaudiosource.h @@ -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 */