Initial
This commit is contained in:
46
midiwrt/MUSFILE.HPP
Normal file
46
midiwrt/MUSFILE.HPP
Normal file
@@ -0,0 +1,46 @@
|
||||
#ifndef _MUSFILE_HPP_
|
||||
#define _MUSFILE_HPP_
|
||||
#include <stdio.h>
|
||||
#include <common/string.hpp>
|
||||
#include <common/block.hpp>
|
||||
#include <common/pvector.hpp>
|
||||
#include <common/fileio.hpp>
|
||||
#include <midiwrt/mushdr.hpp>
|
||||
#include <midiwrt/purecntl.hpp>
|
||||
#include <midiwrt/purenote.hpp>
|
||||
#include <midiwrt/puredly.hpp>
|
||||
#include <midiwrt/pureevnt.hpp>
|
||||
|
||||
class MUSFile : public MUSHeader
|
||||
{
|
||||
public:
|
||||
MUSFile(String musPathFileName);
|
||||
~MUSFile();
|
||||
WORD readMUSFile(void);
|
||||
WORD isOkay(void)const;
|
||||
protected:
|
||||
virtual WORD handleScoreStart(void);
|
||||
virtual WORD handleReleaseNote(PureEvent &pureEvent,PureDelay &pureDelay,PureNote &releaseNote,BYTE trackNumber);
|
||||
virtual WORD handlePlayNote(PureEvent &pureEvent,PureDelay &pureDelay,PureNote &playNote,BYTE trackNumber);
|
||||
virtual WORD handlePitchBend(PureEvent &pureEvent,PureDelay &pureDelay,BYTE pitchBenderValue,BYTE trackNumber);
|
||||
virtual WORD handleReset(PureEvent &pureEvent,PureDelay &pureDelay,BYTE tempoValue,BYTE trackNumber);
|
||||
virtual WORD handleController(PureEvent &pureEvent,PureDelay &pureDelay,PureController &pureController,BYTE trackNumber);
|
||||
virtual WORD handleScoreEnd(PureDelay &pureDelay);
|
||||
private:
|
||||
enum{MaxTracks=15,MaxChannel=16};
|
||||
WORD FAR *mlpMUSInstruments;
|
||||
HGLOBAL mhGlobalMUSInstruments;
|
||||
WORD mIsOkay;
|
||||
PureVector<PureNote> mChannelNotes;
|
||||
PureController mPureController;
|
||||
BYTE mPitchBenderValue;
|
||||
BYTE mTempoValue;
|
||||
FileIO mMusFile;
|
||||
};
|
||||
|
||||
inline
|
||||
WORD MUSFile::isOkay(void)const
|
||||
{
|
||||
return mIsOkay;
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user