X-Git-Url: https://git.aubio.org/?p=vamp-aubio-plugins.git;a=blobdiff_plain;f=libmain.cpp;h=4da65018065dbbc4f672e9072785cf1453528e0b;hp=a349b9dcbbd87f0d8c9120b8050b800c6467581b;hb=8147414afbaa81c103ea00937444eb930cc56d38;hpb=31f885c4303143a98949cf2a851a25d534308a90 diff --git a/libmain.cpp b/libmain.cpp index a349b9d..4da6501 100644 --- a/libmain.cpp +++ b/libmain.cpp @@ -6,11 +6,20 @@ Centre for Digital Music, Queen Mary, University of London. This file copyright 2006 Chris Cannam. - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. See the file - COPYING included with this distribution for more information. + This file is part of vamp-aubio-plugins. + + vamp-aubio is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + vamp-aubio is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with aubio. If not, see . */ @@ -20,17 +29,35 @@ #include "plugins/Onset.h" #include "plugins/Pitch.h" #include "plugins/Notes.h" +#include "plugins/Tempo.h" +#include "plugins/Silence.h" +#include "plugins/Mfcc.h" +#include "plugins/MelEnergy.h" +#include "plugins/SpecDesc.h" static Vamp::PluginAdapter onsetAdapter; static Vamp::PluginAdapter pitchAdapter; static Vamp::PluginAdapter notesAdapter; +static Vamp::PluginAdapter tempoAdapter; +static Vamp::PluginAdapter silenceAdapter; +static Vamp::PluginAdapter mfccAdapter; +static Vamp::PluginAdapter melenergyAdapter; +static Vamp::PluginAdapter specdescAdapter; -const VampPluginDescriptor *vampGetPluginDescriptor(unsigned int index) +const VampPluginDescriptor *vampGetPluginDescriptor(unsigned int vampApiVersion, + unsigned int index) { + if (vampApiVersion < 2) return 0; + switch (index) { case 0: return onsetAdapter.getDescriptor(); case 1: return pitchAdapter.getDescriptor(); case 2: return notesAdapter.getDescriptor(); + case 3: return tempoAdapter.getDescriptor(); + case 4: return silenceAdapter.getDescriptor(); + case 5: return mfccAdapter.getDescriptor(); + case 6: return melenergyAdapter.getDescriptor(); + case 7: return specdescAdapter.getDescriptor(); default: return 0; } }