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@3: All rights reserved. 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@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@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@3: default: return 0; c@3: } c@3: } c@3: