X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fresampled_source.h;h=2bf002befe0879f9d4f818917e00aaa5ba5c4f8c;hb=88c82aeb56c62d9d0c0acff51e360492ad9b8d23;hp=a36ad4331f5c9344dc5c9bd4ceafdc261cf9e2c9;hpb=cc7d4db5fe9132c38b919ab073b91d442abad9b6;p=ardour.git diff --git a/libs/ardour/ardour/resampled_source.h b/libs/ardour/ardour/resampled_source.h index a36ad4331f..2bf002befe 100644 --- a/libs/ardour/ardour/resampled_source.h +++ b/libs/ardour/ardour/resampled_source.h @@ -22,25 +22,26 @@ #include +#include "ardour/libardour_visibility.h" #include "ardour/types.h" #include "ardour/importable_source.h" namespace ARDOUR { -class ResampledImportableSource : public ImportableSource +class LIBARDOUR_API ResampledImportableSource : public ImportableSource { public: - ResampledImportableSource (boost::shared_ptr, framecnt_t rate, SrcQuality); + ResampledImportableSource (boost::shared_ptr, samplecnt_t rate, SrcQuality); ~ResampledImportableSource (); - framecnt_t read (Sample* buffer, framecnt_t nframes); - float ratio() const { return src_data.src_ratio; } + samplecnt_t read (Sample* buffer, samplecnt_t nframes); + float ratio() const { return _src_data.src_ratio; } uint32_t channels() const { return source->channels(); } - framecnt_t length() const { return source->length(); } - framecnt_t samplerate() const { return source->samplerate(); } - void seek (framepos_t); - framepos_t natural_position() const; + samplecnt_t length() const { return source->length(); } + samplecnt_t samplerate() const { return source->samplerate(); } + void seek (samplepos_t); + samplepos_t natural_position() const; bool clamped_at_unity () const { /* resampling may generate inter-sample peaks with magnitude > 1 */ @@ -51,10 +52,11 @@ class ResampledImportableSource : public ImportableSource private: boost::shared_ptr source; - float* input; - int _src_type; - SRC_STATE* src_state; - SRC_DATA src_data; + float* _input; + int _src_type; + SRC_STATE* _src_state; + SRC_DATA _src_data; + bool _end_of_input; }; }