MIDIFileWriter.hxx

Go to the documentation of this file.
00001 #ifndef __MIDIFILEWRITER__
00002 #define __MIDIFILEWRITER__
00003 
00004 #include <list>
00005 #include "InPort.hxx"
00006 #include "MIDIMelody.hxx"
00007 #include "MIDITypes.hxx"
00008 #include "MIDIFileIOConfig.hxx"
00009 #include "Processing.hxx"
00010 
00011 namespace CLAM
00012 {
00013         class MIDIFileWriter : public Processing
00014         {
00015         public:
00016                 MIDIFileWriter();
00017                 MIDIFileWriter(const MIDIFileIOConfig& cfg);
00018                 ~MIDIFileWriter();
00019 
00020                 bool Do();
00021                 bool Do(const MIDISong& in);
00022 
00023                 const char * GetClassName() const {return "MIDIFileWriter";}
00024 
00025                 inline const ProcessingConfig &GetConfig() const { return mConfig;}
00026                 bool ConcreteConfigure(const ProcessingConfig& c);
00027            
00028         private:
00029                 MIDIFileIOConfig mConfig;
00030                 InPort<MIDISong> mInput;
00031                 std::list<MIDIEvent> mEventList;
00032           
00033                 void BuildEventList(const MIDITrack& trk);
00034         };
00035 }
00036 
00037 #endif
00038 
Generated by  doxygen 1.6.3