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: