32 lines
1012 B
C++
32 lines
1012 B
C++
#include <midiseq/purehdr.hpp>
|
|
|
|
WORD PureHeader::readHeader(FileIO &midiFile)
|
|
{
|
|
if(!midiFile.read(mHeader,sizeof(mHeader)))return FALSE;
|
|
if(!midiFile.read(mLengthData))return FALSE;
|
|
if(!midiFile.read(mSMFType))return FALSE;
|
|
if(!midiFile.read(mTracks))return FALSE;
|
|
if(!midiFile.read(mMethod))return FALSE;
|
|
return TRUE;
|
|
}
|
|
|
|
String PureHeader::toString()const
|
|
{
|
|
String strWork;
|
|
String strHeader;
|
|
strHeader+=mHeader;
|
|
strHeader+="\nLength:";
|
|
strHeader+=String().fromInt(mLengthData);
|
|
strHeader+="\nType:";
|
|
if(SingleMultiChannel==MIDIFormat(mSMFType))strHeader+="SingleMultiChannel";
|
|
else if(SimultaneousTracks==MIDIFormat(mSMFType))strHeader+="SimultaneousTracks";
|
|
else if(SequentialTracks==MIDIFormat(mSMFType))strHeader+="Sequential";
|
|
else strHeader+="Unknown";
|
|
strHeader+="\nTracks:";
|
|
strHeader+=String().fromInt(mTracks);
|
|
strHeader+="\nMethod:";
|
|
::sprintf(strWork," Hi:0x%04lx Lo:0x%04lx",(mMethod>>8)&0xFF,mMethod&0xFF);
|
|
strHeader+=String().fromInt(mMethod)+strWork;
|
|
return strHeader;
|
|
}
|