Initial
This commit is contained in:
72
midiwrt/MUSHDR.HPP
Normal file
72
midiwrt/MUSHDR.HPP
Normal file
@@ -0,0 +1,72 @@
|
||||
#ifndef _MUSHEADER_HPP_
|
||||
#define _MUSHEADER_HPP_
|
||||
#include <string.h>
|
||||
#include <common/windows.hpp>
|
||||
#include <common/fileio.hpp>
|
||||
#include <common/string.hpp>
|
||||
|
||||
class MUSHeader
|
||||
{
|
||||
public:
|
||||
MUSHeader(void);
|
||||
~MUSHeader();
|
||||
WORD readHeader(FileIO &musFileIO);
|
||||
String headerID(void)const;
|
||||
WORD scoreLength(void)const;
|
||||
WORD scoreStart(void)const;
|
||||
WORD channels(void)const;
|
||||
WORD instruments(void)const;
|
||||
private:
|
||||
enum {MaxIDLength=4};
|
||||
char mID[MaxIDLength];
|
||||
WORD mScoreLength;
|
||||
WORD mScoreStart;
|
||||
WORD mChannels;
|
||||
WORD mDummyOne;
|
||||
WORD mInstruments;
|
||||
WORD mDummyTwo;
|
||||
};
|
||||
|
||||
inline
|
||||
MUSHeader::MUSHeader(void)
|
||||
{
|
||||
::memset(this,0,sizeof(*this));
|
||||
}
|
||||
|
||||
inline
|
||||
MUSHeader::~MUSHeader()
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
WORD MUSHeader::readHeader(FileIO &musFileIO)
|
||||
{
|
||||
if(!musFileIO.read((char*)this,sizeof(*this)))return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
inline
|
||||
WORD MUSHeader::scoreLength(void)const
|
||||
{
|
||||
return mScoreLength;
|
||||
}
|
||||
|
||||
inline
|
||||
WORD MUSHeader::scoreStart(void)const
|
||||
{
|
||||
return mScoreStart;
|
||||
}
|
||||
|
||||
inline
|
||||
WORD MUSHeader::channels(void)const
|
||||
{
|
||||
return mChannels;
|
||||
}
|
||||
|
||||
inline
|
||||
WORD MUSHeader::instruments(void)const
|
||||
{
|
||||
return mInstruments;
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user