00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef MARSYAS_MIDIFILESYNTHSOURCE_H
00020 #define MARSYAS_MIDIFILESYNTHSOURCE_H
00021
00022 #include "MarSystem.h"
00023
00024 namespace Marsyas
00025 {
00071 class MidiFileSynthSource: public MarSystem
00072 {
00073 private:
00074 std::string filename_;
00075 mrs_natural nChannels_;
00076 realvec activeNotes_;
00077 mrs_natural size_;
00078
00079 MarControlPtr ctrl_filename_;
00080 MarControlPtr ctrl_numActiveNotes_;
00081 MarControlPtr ctrl_nChannels_;
00082 MarControlPtr ctrl_start_;
00083 MarControlPtr ctrl_end_;
00084 MarControlPtr ctrl_pos_;
00085 MarControlPtr ctrl_hasData_;
00086 MarControlPtr ctrl_winSize_;
00087 MarControlPtr ctrl_sigNewTextWin_;
00088 MarControlPtr ctrl_newTextWin_;
00089 MarControlPtr ctrl_size_;
00090
00091 void addControls();
00092 void myUpdate(MarControlPtr sender);
00093
00094 public:
00095 MidiFileSynthSource(std::string name);
00096 MidiFileSynthSource(const MidiFileSynthSource& a);
00097
00098 ~MidiFileSynthSource();
00099 MarSystem* clone() const;
00100
00101 virtual void myProcess(realvec& in,realvec& out);
00102 };
00103
00104 }
00105
00106 #endif
00107
00108