Chris@5: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ Chris@5: Chris@42: /* Chris@42: Tipic Chris@42: Chris@42: Centre for Digital Music, Queen Mary, University of London. Chris@42: Chris@42: This program is free software; you can redistribute it and/or Chris@42: modify it under the terms of the GNU General Public License as Chris@42: published by the Free Software Foundation; either version 2 of the Chris@42: License, or (at your option) any later version. See the file Chris@42: COPYING included with this distribution for more information. Chris@42: */ Chris@42: Chris@5: #ifndef PITCH_FILTERBANK_H Chris@5: #define PITCH_FILTERBANK_H Chris@5: Chris@19: #include "Types.h" Chris@5: Chris@5: class PitchFilterbank Chris@5: { Chris@5: public: Chris@27: PitchFilterbank(int sampleRate, double tuningFrequency); Chris@5: ~PitchFilterbank(); Chris@5: Chris@9: void reset(); Chris@9: Chris@5: RealBlock process(const RealSequence &); Chris@5: Chris@5: RealBlock getRemainingOutput(); Chris@5: Chris@27: static void getPitchRange(int &minMidiPitch, int &maxMidiPitch); Chris@32: Chris@32: static double getOutputSampleRate(); Chris@27: Chris@5: private: Chris@5: class D; Chris@5: D *m_d; Chris@10: Chris@10: PitchFilterbank(const PitchFilterbank &); // not supplied Chris@10: PitchFilterbank &operator=(const PitchFilterbank &); // not supplied Chris@5: }; Chris@5: Chris@5: #endif