cannam@0: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
cannam@0:
cannam@0: /*
cannam@0: Vamp feature extraction plugins using Paul Brossier's Aubio library.
cannam@0:
cannam@0: Centre for Digital Music, Queen Mary, University of London.
cannam@0: This file copyright 2006 Chris Cannam.
cannam@0:
piem@112: This file is part of vamp-aubio-plugins.
piem@112:
piem@112: vamp-aubio is free software: you can redistribute it and/or modify
piem@112: it under the terms of the GNU General Public License as published by
piem@112: the Free Software Foundation, either version 3 of the License, or
piem@112: (at your option) any later version.
piem@112:
piem@112: vamp-aubio is distributed in the hope that it will be useful,
piem@112: but WITHOUT ANY WARRANTY; without even the implied warranty of
piem@112: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
piem@112: GNU General Public License for more details.
piem@112:
piem@112: You should have received a copy of the GNU General Public License
piem@112: along with aubio. If not, see .
cannam@0:
cannam@0: */
cannam@0:
cannam@0: #include
cannam@0: #include
cannam@0:
cannam@0: #include "plugins/Onset.h"
cannam@0: #include "plugins/Pitch.h"
cannam@0: #include "plugins/Notes.h"
cannam@7: #include "plugins/Tempo.h"
cannam@17: #include "plugins/Silence.h"
piem@73: #include "plugins/Mfcc.h"
piem@85: #include "plugins/MelEnergy.h"
piem@90: #include "plugins/SpecDesc.h"
cannam@0:
cannam@0: static Vamp::PluginAdapter onsetAdapter;
cannam@0: static Vamp::PluginAdapter pitchAdapter;
cannam@31: static Vamp::PluginAdapter notesAdapter;
cannam@7: static Vamp::PluginAdapter tempoAdapter;
cannam@31: static Vamp::PluginAdapter silenceAdapter;
piem@73: static Vamp::PluginAdapter mfccAdapter;
piem@85: static Vamp::PluginAdapter melenergyAdapter;
piem@90: static Vamp::PluginAdapter specdescAdapter;
cannam@0:
cannam@14: const VampPluginDescriptor *vampGetPluginDescriptor(unsigned int vampApiVersion,
cannam@14: unsigned int index)
cannam@0: {
cannam@31: if (vampApiVersion < 2) return 0;
cannam@14:
cannam@0: switch (index) {
cannam@0: case 0: return onsetAdapter.getDescriptor();
cannam@0: case 1: return pitchAdapter.getDescriptor();
cannam@31: case 2: return notesAdapter.getDescriptor();
cannam@7: case 3: return tempoAdapter.getDescriptor();
cannam@31: case 4: return silenceAdapter.getDescriptor();
piem@73: case 5: return mfccAdapter.getDescriptor();
piem@85: case 6: return melenergyAdapter.getDescriptor();
piem@90: case 7: return specdescAdapter.getDescriptor();
cannam@0: default: return 0;
cannam@0: }
cannam@0: }
cannam@0: