cannam@0: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ cannam@0: cannam@0: #ifndef _AUDIO_CALLBACK_RECORD_TARGET_H_ cannam@0: #define _AUDIO_CALLBACK_RECORD_TARGET_H_ cannam@0: cannam@0: #include cannam@0: cannam@0: class AudioCallbackRecordTarget cannam@0: { cannam@0: public: cannam@0: virtual ~AudioCallbackRecordTarget() { } cannam@0: cannam@0: virtual size_t getPreferredSampleRate() const { return 0; } cannam@0: virtual size_t getChannelCount() const = 0; cannam@0: cannam@0: virtual void setSourceBlockSize(size_t) = 0; cannam@0: virtual void setSourceSampleRate(size_t) = 0; cannam@0: virtual void setSourceRecordLatency(size_t) = 0; cannam@0: cannam@0: virtual void putSamples(size_t nframes, float **samples) = 0; cannam@0: cannam@0: virtual void setInputLevels(float peakLeft, float peakRight) = 0; cannam@0: cannam@0: virtual void audioProcessingOverload() { } cannam@0: }; cannam@0: cannam@0: #endif cannam@0: