![]() |
Mixxx
|
00001 #ifndef ANALYSER_H 00002 #define ANALYSER_H 00003 00004 #include "defs.h" 00005 00006 /* 00007 * An Analyser is an object which wants to process an entire song to 00008 * calculate some kind of metadata about it. This could be bpm, the 00009 * summary, key or something else crazy. This is to help consolidate the 00010 * many different threads currently processing the whole track in Mixxx on load. 00011 * -- Adam 00012 */ 00013 00014 #include "trackinfoobject.h" 00015 00016 class Analyser { 00017 00018 public: 00019 virtual void initialise(TrackPointer tio, int sampleRate, int totalSamples) { 00020 Q_UNUSED(tio); Q_UNUSED(sampleRate); Q_UNUSED(totalSamples); // silence warnings 00021 } 00022 virtual void process(const CSAMPLE* pIn, const int iLen) = 0; 00023 virtual void finalise(TrackPointer tio) { Q_UNUSED(tio); } 00024 virtual ~Analyser() {} 00025 }; 00026 00027 #endif