00001
00019 #ifndef MARSYAS_PeakEnhancer_H
00020 #define MARSYAS_PeakEnhancer_H
00021
00022 #define DEFAULT_ITNUM 1
00023
00024 #include "MarSystem.h"
00025 #include "HalfWaveRectifier.h"
00026 #include "Filter.h"
00027
00028 namespace Marsyas
00029 {
00038 class PeakEnhancer: public MarSystem
00039 {
00040
00041 private:
00042
00043 void addControls();
00044
00045 MarControlPtr ctrl_itnum_;
00046
00047 MarSystem* rect_;
00048 MarSystem* lowpass_;
00049
00050
00051 void myUpdate(MarControlPtr sender);
00052
00053 public:
00054 PeakEnhancer(std::string name);
00055 PeakEnhancer(const PeakEnhancer& a);
00056 ~PeakEnhancer();
00057 MarSystem* clone() const;
00058
00059
00060 void myProcess(realvec& in, realvec& out);
00061
00062
00063 };
00064 }
00065
00066 #endif
00067
00068