#ifndef _MIDIDATA_HPP_ #define _MIDIDATA_HPP_ #include #include #include #include #include class MidiData { public: MidiData(String midiPathFileName); ~MidiData(); operator MemFile&(void); WORD writeHeader(MidiHeader &midiHeader); WORD readHeader(MidiHeader &midiHeader); WORD flush(void); WORD isOkay(void)const; private: MemFile mMidiFile; }; inline MidiData::MidiData(String midiPathFileName) : mMidiFile(midiPathFileName,100000L,MemFile::BigEndian) { } inline MidiData::~MidiData() { } inline WORD MidiData::writeHeader(MidiHeader &midiHeader) { if(!mMidiFile.isOkay())return FALSE; return midiHeader.writeHeader(mMidiFile); } inline WORD MidiData::readHeader(MidiHeader &midiHeader) { if(!mMidiFile.isOkay())return FALSE; return midiHeader.readHeader(mMidiFile); } inline WORD MidiData::flush(void) { if(!isOkay())return FALSE; return mMidiFile.flushBuffer(); } inline MidiData::operator MemFile&(void) { return mMidiFile; } inline WORD MidiData::isOkay(void)const { return mMidiFile.isOkay(); } #endif