00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef MARSYAS_PEFEATSELECT_H
00020 #define MARSYAS_PEFEATSELECT_H
00021
00022 #include "MarSystem.h"
00023 #include <sstream>
00024
00025 namespace Marsyas
00026 {
00040 class PeakFeatureSelect: public MarSystem
00041 {
00042 private:
00043 mrs_natural selectedFeatures_;
00044 MarControlPtr ctrl_selectedFeatures_;
00045
00046 MarControlPtr ctrl_totalNumPeaks_;
00047
00048 MarControlPtr ctrl_frameMaxNumPeaks_;
00049 mrs_natural frameMaxNumPeaks_;
00050
00051 mrs_natural numFeats_;
00052
00053 void addControls();
00054 void myUpdate(MarControlPtr sender);
00055
00056 public:
00057
00058 enum features {
00059 pkFrequency = 1,
00060 pkAmplitude = 2,
00061 pkFrame = 4,
00062 pkSetFrequencies = 8,
00063 pkSetAmplitudes = 16,
00064 pkSetFrames = 32,
00065 barkPkFreq = 64,
00066 dBPkAmp = 128,
00067 pkPan = 256,
00068 pkDeltaFrequency = 512,
00069 pkDeltaAmplitude = 1024
00070 };
00071
00072 PeakFeatureSelect(std::string name);
00073 PeakFeatureSelect(const PeakFeatureSelect& a);
00074 ~PeakFeatureSelect();
00075 MarSystem* clone() const;
00076
00077 void myProcess(realvec& in, realvec& out);
00078 };
00079
00080 }
00081
00082 #endif
00083
00084
00085