Files
Work/midiseq/safe/PUREHDR.CPP
2024-08-07 09:16:27 -04:00

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;
}