annotate libmain.cpp @ 89:f4a2f5aa743c

* Add bar-and-beat-tracker plugin
author Chris Cannam <c.cannam@qmul.ac.uk>
date Tue, 10 Feb 2009 16:38:02 +0000
parents 5d7ce1d87301
children 3602e755b696
rev   line source
c@3 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
c@3 2
c@3 3 /*
c@3 4 QM Vamp Plugin Set
c@3 5
c@3 6 Centre for Digital Music, Queen Mary, University of London.
c@3 7 All rights reserved.
c@3 8 */
c@3 9
c@3 10 #include <vamp/vamp.h>
c@3 11 #include <vamp-sdk/PluginAdapter.h>
c@3 12
c@27 13 #include "plugins/BeatTrack.h"
c@27 14 #include "plugins/OnsetDetect.h"
c@3 15 #include "plugins/ChromagramPlugin.h"
c@9 16 #include "plugins/ConstantQSpectrogram.h"
c@3 17 #include "plugins/TonalChangeDetect.h"
c@21 18 #include "plugins/KeyDetect.h"
c@45 19 #include "plugins/MFCCPlugin.h"
c@37 20 #include "plugins/SegmenterPlugin.h"
c@41 21 #include "plugins/SimilarityPlugin.h"
c@89 22 #include "plugins/BarBeatTrack.h"
c@3 23
c@27 24 static Vamp::PluginAdapter<BeatTracker> beatTrackerAdapter;
c@27 25 static Vamp::PluginAdapter<OnsetDetector> onsetDetectorAdapter;
c@3 26 static Vamp::PluginAdapter<ChromagramPlugin> chromagramPluginAdapter;
c@9 27 static Vamp::PluginAdapter<ConstantQSpectrogram> constantQAdapter;
c@3 28 static Vamp::PluginAdapter<TonalChangeDetect> tonalChangeDetectorAdapter;
c@21 29 static Vamp::PluginAdapter<KeyDetector> keyDetectorAdapter;
c@45 30 static Vamp::PluginAdapter<MFCCPlugin> mfccPluginAdapter;
c@37 31 static Vamp::PluginAdapter<SegmenterPlugin> segmenterPluginAdapter;
c@41 32 static Vamp::PluginAdapter<SimilarityPlugin> similarityPluginAdapter;
c@89 33 static Vamp::PluginAdapter<BarBeatTracker> barBeatTrackPluginAdapter;
c@3 34
c@23 35 const VampPluginDescriptor *vampGetPluginDescriptor(unsigned int vampApiVersion,
c@23 36 unsigned int index)
c@3 37 {
c@23 38 if (vampApiVersion < 1) return 0;
c@23 39
c@3 40 switch (index) {
c@27 41 case 0: return beatTrackerAdapter.getDescriptor();
c@27 42 case 1: return onsetDetectorAdapter.getDescriptor();
c@27 43 case 2: return chromagramPluginAdapter.getDescriptor();
c@27 44 case 3: return constantQAdapter.getDescriptor();
c@27 45 case 4: return tonalChangeDetectorAdapter.getDescriptor();
c@27 46 case 5: return keyDetectorAdapter.getDescriptor();
c@37 47 case 6: return segmenterPluginAdapter.getDescriptor();
c@41 48 case 7: return similarityPluginAdapter.getDescriptor();
c@45 49 case 8: return mfccPluginAdapter.getDescriptor();
c@89 50 case 9: return barBeatTrackPluginAdapter.getDescriptor();
c@3 51 default: return 0;
c@3 52 }
c@3 53 }
c@3 54