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: cannam@0: This program is free software; you can redistribute it and/or cannam@0: modify it under the terms of the GNU General Public License as cannam@0: published by the Free Software Foundation; either version 2 of the cannam@0: License, or (at your option) any later version. See the file cannam@0: COPYING included with this distribution for more information. 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: