SrcFileSource (Session&, boost::shared_ptr<AudioFileSource>, SrcQuality srcq = SrcQuality(SrcQuick));
~SrcFileSource ();
- int update_header (framepos_t /*when*/, struct tm&, time_t) { return 0; }
+ int update_header (samplepos_t /*when*/, struct tm&, time_t) { return 0; }
int flush_header () { return 0; }
void flush () { }
void set_header_timeline_position () {};
- void set_length (framecnt_t /*len*/) {};
+ void set_length (samplecnt_t /*len*/) {};
- float sample_rate () const { return _session.nominal_frame_rate(); }
+ float sample_rate () const { return _session.nominal_sample_rate(); }
- framepos_t natural_position() const { return _source->natural_position() * _ratio;}
- framecnt_t readable_length() const { return _source->readable_length() * _ratio; }
- framecnt_t length (framepos_t pos) const { return _source->length(pos) * _ratio; }
+ samplepos_t natural_position() const { return _source->natural_position() * _ratio;}
+ samplecnt_t readable_length() const { return _source->readable_length() * _ratio; }
+ samplecnt_t length (samplepos_t pos) const { return _source->length(pos) * _ratio; }
bool destructive() const { return false; }
bool can_be_analysed() const { return false; }
bool clamped_at_unity() const { return false; }
protected:
- framecnt_t read_unlocked (Sample *dst, framepos_t start, framecnt_t cnt) const;
- framecnt_t write_unlocked (Sample */*dst*/, framecnt_t /*cnt*/) { return 0; }
+ void close ();
+ samplecnt_t read_unlocked (Sample *dst, samplepos_t start, samplecnt_t cnt) const;
+ samplecnt_t write_unlocked (Sample */*dst*/, samplecnt_t /*cnt*/) { return 0; }
- int read_peaks_with_fpp (PeakData *peaks, framecnt_t npeaks, framepos_t /*start*/, framecnt_t /*cnt*/,
- double /*samples_per_unit*/, framecnt_t /*fpp*/) const {
+ int read_peaks_with_fpp (PeakData *peaks, samplecnt_t npeaks, samplepos_t /*start*/, samplecnt_t /*cnt*/,
+ double /*samples_per_unit*/, samplecnt_t /*fpp*/) const {
memset (peaks, 0, sizeof (PeakData) * npeaks);
return 0;
}
private:
- static const uint32_t blocksize;
+ static const uint32_t max_blocksize;
boost::shared_ptr<AudioFileSource> _source;
mutable SRC_STATE* _src_state;
mutable SRC_DATA _src_data;
mutable Sample* _src_buffer;
- mutable framepos_t _source_position;
- mutable framepos_t _target_position;
+ mutable samplepos_t _source_position;
+ mutable samplepos_t _target_position;
mutable double _fract_position;
double _ratio;
- framecnt_t src_buffer_size;
+ samplecnt_t src_buffer_size;
};
} // namespace ARDOUR