e005a8a3581fd2726941deadbd975d15226df3df
[vamp-aubio-plugins.git] / plugins / Types.h
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */
2
3 /*
4     Vamp feature extraction plugins using Paul Brossier's Aubio library.
5
6     Centre for Digital Music, Queen Mary, University of London.
7     This file copyright 2012 Queen Mary, University of London.
8     
9     This file is part of vamp-aubio-plugins.
10
11     vamp-aubio is free software: you can redistribute it and/or modify
12     it under the terms of the GNU General Public License as published by
13     the Free Software Foundation, either version 3 of the License, or
14     (at your option) any later version.
15
16     vamp-aubio is distributed in the hope that it will be useful,
17     but WITHOUT ANY WARRANTY; without even the implied warranty of
18     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19     GNU General Public License for more details.
20
21     You should have received a copy of the GNU General Public License
22     along with aubio.  If not, see <http://www.gnu.org/licenses/>.
23
24 */
25
26 #ifndef _ONSET_TYPE_H_
27 #define _ONSET_TYPE_H_
28
29 // Note: the enum values in this header are ordered to match the Vamp
30 // plugin parameter values in earlier versions of this plugin set, to
31 // avoid breaking stored parameter settings that use the parameter's
32 // numerical value. Any additional values must be added after all
33 // existing ones.
34
35 enum OnsetType {
36     OnsetEnergy,
37     OnsetSpecDiff,
38     OnsetHFC,
39     OnsetComplex,
40     OnsetPhase,
41     OnsetKL,
42     OnsetMKL,
43     OnsetSpecFlux // new in 0.4!
44 };
45
46 extern const char *getAubioNameForOnsetType(OnsetType t);
47
48 enum SpecDescType {
49     SpecDescFlux,
50     SpecDescCentroid,
51     SpecDescSpread,
52     SpecDescSkeweness,
53     SpecDescKurtosis,
54     SpecDescSlope,
55     SpecDescDecrease,
56     SpecDescRolloff
57 };
58
59 extern const char *getAubioNameForSpecDescType(SpecDescType t);
60
61 enum PitchType {
62     PitchYin,
63     PitchMComb,
64     PitchSchmitt,
65     PitchFComb,
66     PitchYinFFT
67 };
68
69 extern const char *getAubioNameForPitchType(PitchType t);
70     
71
72 #endif
73
74