comparison audioio/AudioCallbackPlaySource.h @ 15:cc566264c935

* timestretcher improvements -- simplify API (it can calculate its own processing block sizes etc)
author Chris Cannam
date Wed, 13 Sep 2006 11:56:44 +0000
parents 085f34c73939
children 3715efc38f95
comparison
equal deleted inserted replaced
14:085f34c73939 15:cc566264c935
250 TimeStretcherData(size_t channels, float factor, size_t blockSize); 250 TimeStretcherData(size_t channels, float factor, size_t blockSize);
251 ~TimeStretcherData(); 251 ~TimeStretcherData();
252 252
253 float getFactor() const { return m_factor; } 253 float getFactor() const { return m_factor; }
254 PhaseVocoderTimeStretcher *getStretcher(size_t channel); 254 PhaseVocoderTimeStretcher *getStretcher(size_t channel);
255 float *getOutputBuffer(size_t channel); 255 // float *getOutputBuffer(size_t channel);
256 float *getInputBuffer(); 256 // float *getInputBuffer();
257 257
258 void run(size_t channel); 258 // void run(size_t channel);
259 259
260 protected: 260 protected:
261 TimeStretcherData(const TimeStretcherData &); // not provided 261 TimeStretcherData(const TimeStretcherData &); // not provided
262 TimeStretcherData &operator=(const TimeStretcherData &); // not provided 262 TimeStretcherData &operator=(const TimeStretcherData &); // not provided
263 263
264 typedef std::pair<PhaseVocoderTimeStretcher *, float *> StretcherBuffer; 264 std::map<size_t, PhaseVocoderTimeStretcher *> m_stretcher;
265 std::map<size_t, StretcherBuffer> m_stretcher;
266 float *m_stretchInputBuffer;
267 float m_factor; 265 float m_factor;
268 size_t m_blockSize; 266 size_t m_blockSize;
269 }; 267 };
270 268
271 size_t m_slowdownCounter; 269 size_t m_slowdownCounter;