00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include "Subtract.h"
00020
00021 using namespace std;
00022 using namespace Marsyas;
00023
00024 Subtract::Subtract(mrs_string name):MarSystem("Subtract", name)
00025 {
00026 addControls();
00027 }
00028
00029 Subtract::Subtract(const Subtract& a) : MarSystem(a)
00030 {
00031
00032 }
00033
00034
00035 Subtract::~Subtract()
00036 {
00037 }
00038
00039 MarSystem*
00040 Subtract::clone() const
00041 {
00042 return new Subtract(*this);
00043 }
00044
00045 void
00046 Subtract::addControls()
00047 {
00048
00049 }
00050
00051 void
00052 Subtract::myUpdate(MarControlPtr sender)
00053 {
00054 MRSDIAG("Subtract.cpp - Subtract:myUpdate");
00055
00056 ctrl_onSamples_->setValue(ctrl_inSamples_, NOUPDATE);
00057 ctrl_onObservations_->setValue(1, NOUPDATE);
00058 ctrl_osrate_->setValue(ctrl_israte_, NOUPDATE);
00059 ctrl_onObsNames_->setValue(ctrl_inObsNames_, NOUPDATE);
00060 }
00061
00062 void
00063 Subtract::myProcess(realvec& in, realvec& out)
00064 {
00065 for (mrs_natural t = 0; t < inSamples_; t++)
00066 out(0,t) = in(0,t) - in(1,t);
00067 }