Mercurial > hg > vamp-live-host
view audioio/BufferingAudioCallbackRecordTarget.h @ 17:3cbd40805795 tip
Remove obsolete stuff from README
author | Chris Cannam |
---|---|
date | Tue, 03 Dec 2013 16:33:08 +0000 |
parents | dbbd2b473eee |
children |
line wrap: on
line source
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ #ifndef _BUFFERING_AUDIO_CALLBACK_RECORD_TARGET_H_ #define _BUFFERING_AUDIO_CALLBACK_RECORD_TARGET_H_ #include "AudioCallbackRecordTarget.h" #include "RingBuffer.h" #define MAX_DISTINCT_STEP_SIZES 16 class BufferingAudioCallbackRecordTarget : public AudioCallbackRecordTarget { public: BufferingAudioCallbackRecordTarget(); virtual ~BufferingAudioCallbackRecordTarget(); virtual size_t getPreferredSampleRate() const { return 0; } virtual size_t getChannelCount() const { return 2; } virtual void setSourceBlockSize(size_t bs) { m_sourceBlockSize = bs; } virtual void setSourceSampleRate(size_t sr) { m_sourceSampleRate = sr; } virtual void setSourceRecordLatency(size_t rl) { m_sourceRecordLatency = rl; } size_t getSourceBlockSize() const { return m_sourceBlockSize; } size_t getSourceSampleRate() const { return m_sourceSampleRate; } size_t getSourceRecordLatency() const { return m_sourceRecordLatency; } virtual void putSamples(size_t nframes, float **samples); virtual size_t samplesReady(int reader = 0) const; virtual size_t getSamples(size_t channel, size_t nframes, float *samples, int reader = 0); virtual size_t peekSamples(size_t channel, size_t nframes, float *samples, int reader = 0); virtual size_t skipSamples(size_t channel, size_t nframes, int reader = 0); virtual size_t skipAllSamples(size_t channel, int reader = 0); virtual void setInputLevels(float, float) { } virtual void audioProcessingOverload() { } protected: std::vector<RingBuffer<float, MAX_DISTINCT_STEP_SIZES> *> m_buffers; size_t m_sourceBlockSize; size_t m_sourceSampleRate; size_t m_sourceRecordLatency; }; #endif