CLAM-Development  1.4.0
MIDIFileReader.hxx
Go to the documentation of this file.
1 #ifndef __MIDIFILEREADER__
2 #define __MIDIFILEREADER__
3 
4 #include "OutPort.hxx"
5 #include "MIDITypes.hxx"
6 #include "MIDIFileIOConfig.hxx"
7 #include "Processing.hxx"
8 
9 namespace CLAM
10 {
11  class MIDIFileReader : public Processing
12  {
13  public:
15  MIDIFileReader(const MIDIFileIOConfig& cfg);
17 
18  bool Do();
19  bool Do(MIDISong& out);
20 
21  const char * GetClassName() const {return "MIDIFileReader";}
22 
23  inline const ProcessingConfig &GetConfig() const { return mConfig;}
24  bool ConcreteConfigure(const ProcessingConfig& c);
25 
26  private:
27  MIDIFileIOConfig mConfig;
28  OutPort<MIDISong> mOutput;
29 
30  std::string GetEventName(TMIDIByte b);
31  };
32 }
33 
34 #endif
35