00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include "AccentFilterBank.h"
00020
00021 using std::ostringstream;
00022 using namespace Marsyas;
00023
00024 AccentFilterBank::AccentFilterBank(mrs_string name):MarSystem("AccentFilterBank", name)
00025 {
00026 addControls();
00027 }
00028
00029 AccentFilterBank::AccentFilterBank(const AccentFilterBank& a) : MarSystem(a)
00030 {
00031 ctrl_gain_EXAMPLE_ = getctrl("mrs_real/gain");
00032 }
00033
00034
00035 AccentFilterBank::~AccentFilterBank()
00036 {
00037 }
00038
00039 MarSystem*
00040 AccentFilterBank::clone() const
00041 {
00042 return new AccentFilterBank(*this);
00043 }
00044
00045 void
00046 AccentFilterBank::addControls()
00047 {
00048
00049 addctrl("mrs_bool/dummyEXAMPLE", false);
00050 setctrlState("mrs_bool/dummyEXAMPLE", true);
00051
00052 addctrl("mrs_real/gain", 1.0, ctrl_gain_EXAMPLE_);
00053
00054 }
00055
00056 void
00057 AccentFilterBank::myUpdate(MarControlPtr sender)
00058 {
00059 MRSDIAG("AccentFilterBank.cpp - AccentFilterBank:myUpdate");
00060
00061 MarSystem::myUpdate(sender);
00062 }
00063
00064 void
00065 AccentFilterBank::myProcess(realvec& in, realvec& out)
00066 {
00067 mrs_natural o,t;
00068 const mrs_real& gainValueEXAMPLE = ctrl_gain_EXAMPLE_->to<mrs_real>();
00069
00070 for (o=0; o < inObservations_; o++)
00071 for (t = 0; t < inSamples_; t++)
00072 out(o,t) = gainValueEXAMPLE * in(o,t);
00073 }