CLAM-Development  1.4.0
MIDIWriter.hxx
Go to the documentation of this file.
1 #ifndef __MIDIWRITER__
2 #define __MIDIWRITER__
3 
4 #include <stdio.h>
5 
6 #define MThd 0x4d546864
7 #define MTrk 0x4d54726b
8 
9 namespace MIDI
10 {
11  class Song;
12 
13  class Writer
14  {
15  public:
16  Writer(const char* filename);
17  ~Writer();
18 
19  void Write(Song& s);
20 
21  private:
22  FILE* mFile;
23  long mBytesWritten;
24  int mTracks;
25  int mFormat;
26  int mDivision;
27 
28  void WriteHeader();
29  void WriteVarLen(register unsigned long value);
30  void Write32Bit(unsigned long data);
31  void Write16Bit(int data);
32  void WriteCh(char c);
33  };
34 }
35 
36 #endif
37