cannam@0
|
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
|
cannam@0
|
2
|
cannam@0
|
3 /*
|
cannam@0
|
4 Vamp feature extraction plugins using Paul Brossier's Aubio library.
|
cannam@0
|
5
|
cannam@0
|
6 Centre for Digital Music, Queen Mary, University of London.
|
cannam@0
|
7 This file copyright 2006 Chris Cannam.
|
cannam@0
|
8
|
cannam@0
|
9 This program is free software; you can redistribute it and/or
|
cannam@0
|
10 modify it under the terms of the GNU General Public License as
|
cannam@0
|
11 published by the Free Software Foundation; either version 2 of the
|
cannam@0
|
12 License, or (at your option) any later version. See the file
|
cannam@0
|
13 COPYING included with this distribution for more information.
|
cannam@0
|
14
|
cannam@0
|
15 */
|
cannam@0
|
16
|
cannam@0
|
17 #include <vamp/vamp.h>
|
cannam@0
|
18 #include <vamp-sdk/PluginAdapter.h>
|
cannam@0
|
19
|
cannam@0
|
20 #include "plugins/Onset.h"
|
cannam@0
|
21 #include "plugins/Pitch.h"
|
cannam@0
|
22 #include "plugins/Notes.h"
|
cannam@7
|
23 #include "plugins/Tempo.h"
|
cannam@17
|
24 #include "plugins/Silence.h"
|
piem@73
|
25 #include "plugins/Mfcc.h"
|
cannam@0
|
26
|
cannam@0
|
27 static Vamp::PluginAdapter<Onset> onsetAdapter;
|
cannam@0
|
28 static Vamp::PluginAdapter<Pitch> pitchAdapter;
|
cannam@31
|
29 static Vamp::PluginAdapter<Notes> notesAdapter;
|
cannam@7
|
30 static Vamp::PluginAdapter<Tempo> tempoAdapter;
|
cannam@31
|
31 static Vamp::PluginAdapter<Silence> silenceAdapter;
|
piem@73
|
32 static Vamp::PluginAdapter<Mfcc> mfccAdapter;
|
cannam@0
|
33
|
cannam@14
|
34 const VampPluginDescriptor *vampGetPluginDescriptor(unsigned int vampApiVersion,
|
cannam@14
|
35 unsigned int index)
|
cannam@0
|
36 {
|
cannam@31
|
37 if (vampApiVersion < 2) return 0;
|
cannam@14
|
38
|
cannam@0
|
39 switch (index) {
|
cannam@0
|
40 case 0: return onsetAdapter.getDescriptor();
|
cannam@0
|
41 case 1: return pitchAdapter.getDescriptor();
|
cannam@31
|
42 case 2: return notesAdapter.getDescriptor();
|
cannam@7
|
43 case 3: return tempoAdapter.getDescriptor();
|
cannam@31
|
44 case 4: return silenceAdapter.getDescriptor();
|
piem@73
|
45 case 5: return mfccAdapter.getDescriptor();
|
cannam@0
|
46 default: return 0;
|
cannam@0
|
47 }
|
cannam@0
|
48 }
|
cannam@0
|
49
|