c@3: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ c@3: c@3: /* c@3: QM Vamp Plugin Set c@3: c@3: Centre for Digital Music, Queen Mary, University of London. c@135: c@135: This program is free software; you can redistribute it and/or c@135: modify it under the terms of the GNU General Public License as c@135: published by the Free Software Foundation; either version 2 of the c@135: License, or (at your option) any later version. See the file c@135: COPYING included with this distribution for more information. c@3: */ c@3: c@3: #include c@3: #include c@3: c@27: #include "plugins/BeatTrack.h" c@27: #include "plugins/OnsetDetect.h" c@3: #include "plugins/ChromagramPlugin.h" c@9: #include "plugins/ConstantQSpectrogram.h" c@3: #include "plugins/TonalChangeDetect.h" c@21: #include "plugins/KeyDetect.h" c@45: #include "plugins/MFCCPlugin.h" c@37: #include "plugins/SegmenterPlugin.h" c@41: #include "plugins/SimilarityPlugin.h" c@89: #include "plugins/BarBeatTrack.h" c@92: #include "plugins/AdaptiveSpectrogram.h" c@97: #include "plugins/DWT.h" c@120: #include "plugins/Transcription.h" c@3: c@27: static Vamp::PluginAdapter beatTrackerAdapter; c@27: static Vamp::PluginAdapter onsetDetectorAdapter; c@3: static Vamp::PluginAdapter chromagramPluginAdapter; c@9: static Vamp::PluginAdapter constantQAdapter; c@3: static Vamp::PluginAdapter tonalChangeDetectorAdapter; c@21: static Vamp::PluginAdapter keyDetectorAdapter; c@45: static Vamp::PluginAdapter mfccPluginAdapter; c@37: static Vamp::PluginAdapter segmenterPluginAdapter; c@41: static Vamp::PluginAdapter similarityPluginAdapter; c@89: static Vamp::PluginAdapter barBeatTrackPluginAdapter; c@92: static Vamp::PluginAdapter adaptiveSpectrogramAdapter; c@97: static Vamp::PluginAdapter dwtAdapter; c@120: static Vamp::PluginAdapter transcriptionAdapter; c@3: c@23: const VampPluginDescriptor *vampGetPluginDescriptor(unsigned int vampApiVersion, c@23: unsigned int index) c@3: { c@23: if (vampApiVersion < 1) return 0; c@23: c@3: switch (index) { c@27: case 0: return beatTrackerAdapter.getDescriptor(); c@27: case 1: return onsetDetectorAdapter.getDescriptor(); c@27: case 2: return chromagramPluginAdapter.getDescriptor(); c@27: case 3: return constantQAdapter.getDescriptor(); c@27: case 4: return tonalChangeDetectorAdapter.getDescriptor(); c@27: case 5: return keyDetectorAdapter.getDescriptor(); c@37: case 6: return segmenterPluginAdapter.getDescriptor(); c@41: case 7: return similarityPluginAdapter.getDescriptor(); c@45: case 8: return mfccPluginAdapter.getDescriptor(); c@89: case 9: return barBeatTrackPluginAdapter.getDescriptor(); c@97: case 10: return dwtAdapter.getDescriptor(); c@99: case 11: return adaptiveSpectrogramAdapter.getDescriptor(); c@120: case 12: return transcriptionAdapter.getDescriptor(); c@3: default: return 0; c@3: } c@3: } c@3: