Marsyas
0.6.0-alpha
|
00001 00002 /* 00003 ** Copyright (C) 1998-2006 George Tzanetakis <gtzan@cs.uvic.ca> 00004 ** 00005 ** This program is free software; you can redistribute it and/or modify 00006 ** it under the terms of the GNU General Public License as published by 00007 ** the Free Software Foundation; either version 2 of the License, or 00008 ** (at your option) any later version. 00009 ** 00010 ** This program is distributed in the hope that it will be useful, 00011 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 ** GNU General Public License for more details. 00014 ** 00015 ** You should have received a copy of the GNU General Public License 00016 ** along with this program; if not, write to the Free Software 00017 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00018 */ 00019 00020 #ifndef MARSYAS_SHIFTOUTPUT_H 00021 #define MARSYAS_SHIFTOUTPUT_H 00022 00023 #include <marsyas/system/MarSystem.h> 00024 00025 namespace Marsyas 00026 { 00041 class ShiftOutput: public MarSystem 00042 { 00043 private: 00044 mrs_natural interp_; 00045 00046 MarControlPtr ctrl_Interpolation_; 00047 00048 void addControls(); 00049 void myUpdate(MarControlPtr sender); 00050 00051 public: 00052 ShiftOutput(std::string name); 00053 ShiftOutput(const ShiftOutput& a); 00054 ~ShiftOutput(); 00055 MarSystem* clone() const; 00056 00057 void myProcess(realvec& in, realvec& out); 00058 00059 }; 00060 00061 }//namespace Marsyas 00062 00063 #endif 00064 00065 00066