comparison Chordino.h @ 35:cf8898a0174c matthiasm-plugin

* Split out NNLSChroma plugin into three plugins (chroma, chordino, tuning) with a common base class. There's still quite a lot of duplication between the getRemainingFeatures functions. Also add copyright / copying headers, etc.
author Chris Cannam
date Fri, 22 Oct 2010 11:30:21 +0100
parents NNLSChroma.h@93c836cfb8c5
children b6cddb109482
comparison
equal deleted inserted replaced
34:8edcf48f4031 35:cf8898a0174c
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
2
3 /*
4 NNLS-Chroma / Chordino
5
6 Audio feature extraction plugins for chromagram and chord
7 estimation.
8
9 Centre for Digital Music, Queen Mary University of London.
10 This file copyright 2008-2010 Matthias Mauch and QMUL.
11
12 This program is free software; you can redistribute it and/or
13 modify it under the terms of the GNU General Public License as
14 published by the Free Software Foundation; either version 2 of the
15 License, or (at your option) any later version. See the file
16 COPYING included with this distribution for more information.
17 */
18
19 #ifndef _CHORDINO_
20 #define _CHORDINO_
21
22 #include "NNLSBase.h"
23
24 using namespace std;
25
26
27 class Chordino : public NNLSBase
28 {
29 public:
30 Chordino(float inputSampleRate);
31 virtual ~Chordino();
32
33 string getIdentifier() const;
34 string getName() const;
35 string getDescription() const;
36
37 OutputList getOutputDescriptors() const;
38
39 FeatureSet process(const float *const *inputBuffers,
40 Vamp::RealTime timestamp);
41 FeatureSet getRemainingFeatures();
42
43 bool initialise(size_t channels, size_t stepSize, size_t blockSize);
44 void reset();
45
46 protected:
47 mutable int m_outputChords;
48 mutable int m_outputHarmonicChange;
49 };
50
51
52
53 #endif