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 "MarSystem.h" 00024 00025 namespace Marsyas 00026 { 00043 class ShiftOutput: public MarSystem 00044 { 00045 private: 00046 mrs_natural interp_; 00047 00048 MarControlPtr ctrl_Interpolation_; 00049 00050 void addControls(); 00051 void myUpdate(MarControlPtr sender); 00052 00053 public: 00054 ShiftOutput(std::string name); 00055 ShiftOutput(const ShiftOutput& a); 00056 ~ShiftOutput(); 00057 MarSystem* clone() const; 00058 00059 void myProcess(realvec& in, realvec& out); 00060 00061 }; 00062 00063 }//namespace Marsyas 00064 00065 #endif 00066 00067 00068
1.5.6