comparison cq/CQInverse.h @ 127:8996465e39fc

Expose some more processing parameters, use a single parameter class
author Chris Cannam <c.cannam@qmul.ac.uk>
date Fri, 16 May 2014 10:12:03 +0100
parents 6deec2a51d13
children ff8ae033615f
comparison
equal deleted inserted replaced
126:b87290781071 127:8996465e39fc
39 class FFTReal; 39 class FFTReal;
40 40
41 class CQInverse : public CQBase 41 class CQInverse : public CQBase
42 { 42 {
43 public: 43 public:
44 CQInverse(double sampleRate, 44 CQInverse(CQParameters params);
45 double minFreq, double maxFreq,
46 int binsPerOctave);
47 virtual ~CQInverse(); 45 virtual ~CQInverse();
48 46
49 virtual double getSampleRate() const { return m_sampleRate; } 47 virtual double getSampleRate() const { return m_sampleRate; }
50 virtual int getBinsPerOctave() const { return m_binsPerOctave; } 48 virtual int getBinsPerOctave() const { return m_binsPerOctave; }
51 virtual int getOctaves() const { return m_octaves; } 49 virtual int getOctaves() const { return m_octaves; }
62 60
63 RealSequence process(const ComplexBlock &); 61 RealSequence process(const ComplexBlock &);
64 RealSequence getRemainingOutput(); 62 RealSequence getRemainingOutput();
65 63
66 private: 64 private:
67 double m_sampleRate; 65 const CQParameters m_inparams;
68 double m_maxFrequency; 66 const double m_sampleRate;
69 double m_minFrequency; 67 const double m_maxFrequency;
70 int m_binsPerOctave; 68 const double m_minFrequency;
69 const int m_binsPerOctave;
70
71 int m_octaves; 71 int m_octaves;
72
73 CQKernel *m_kernel; 72 CQKernel *m_kernel;
74 CQKernel::Properties m_p; 73 CQKernel::Properties m_p;
75 74
76 std::vector<Resampler *> m_upsamplers; 75 std::vector<Resampler *> m_upsamplers;
77 std::vector<RealSequence> m_buffers; 76 std::vector<RealSequence> m_buffers;