view src/PitchFilterbank.h @ 30:00df792783e3

Faster filter implementation (less copying)
author Chris Cannam
date Wed, 30 Sep 2015 13:45:08 +0100
parents cb86b8b7ed90
children 83e5bd7fb921
line wrap: on
line source
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */

#ifndef PITCH_FILTERBANK_H
#define PITCH_FILTERBANK_H

#include "Types.h"

class PitchFilterbank
{
public:
    PitchFilterbank(int sampleRate, double tuningFrequency);
    ~PitchFilterbank();

    void reset();
    
    RealBlock process(const RealSequence &);

    RealBlock getRemainingOutput();

    static void getPitchRange(int &minMidiPitch, int &maxMidiPitch);
    
private:
    class D;
    D *m_d;

    PitchFilterbank(const PitchFilterbank &); // not supplied
    PitchFilterbank &operator=(const PitchFilterbank &); // not supplied
};

#endif