Initial
This commit is contained in:
66
midiwrt/MIDIDATA.HPP
Normal file
66
midiwrt/MIDIDATA.HPP
Normal file
@@ -0,0 +1,66 @@
|
||||
#ifndef _MIDIDATA_HPP_
|
||||
#define _MIDIDATA_HPP_
|
||||
#include <stdio.h>
|
||||
#include <common/windows.hpp>
|
||||
#include <common/string.hpp>
|
||||
#include <midiwrt/midihdr.hpp>
|
||||
#include <midiwrt/miditrck.hpp>
|
||||
|
||||
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
|
||||
Reference in New Issue
Block a user