📄 mfmidi.h
字号:
#define NOTEOFF 0x80#define NOTEON 0x90#define PRESSURE 0xa0#define CONTROLLER 0xb0#define PITCHBEND 0xe0#define PROGRAM 0xc0#define CHANPRESSURE 0xd0/* These are the strings used in keynote to identify Standard MIDI File *//* meta text messages. */#define METATEXT "Text Event"#define METACOPYRIGHT "Copyright Notice"#define METASEQUENCE "Sequence/Track Name"#define METAINSTRUMENT "Instrument Name"#define METALYRIC "Lyric"#define METAMARKER "Marker"#define METACUE "Cue Point"#define METAUNRECOGNIZED "Unrecognized"class Midifile_reader {public: void midifile(); int Mf_nomerge; /* 1 => continue'ed system exclusives are */ /* not collapsed. */ long Mf_currtime; /* current time in delta-time units */ int Mf_skipinit; /* 1 if initial garbage should be skipped */ Midifile_reader();protected: virtual void *Mf_malloc(size_t size) = 0; /* malloc() */ virtual void Mf_free(void *obj, size_t size) = 0; /* free() */ /* Methods to be called while processing the MIDI file. */ virtual void Mf_starttrack() = 0; virtual void Mf_endtrack() = 0; virtual int Mf_getc() = 0; virtual void Mf_eot() = 0; virtual void Mf_error(char *) = 0; virtual void Mf_header(int,int,int) = 0; virtual void Mf_on(int,int,int) = 0; virtual void Mf_off(int,int,int) = 0; virtual void Mf_pressure(int,int,int) = 0; virtual void Mf_controller(int,int,int) = 0; virtual void Mf_pitchbend(int,int,int) = 0; virtual void Mf_program(int,int) = 0; virtual void Mf_chanpressure(int,int) = 0; virtual void Mf_sysex(int,char*) = 0; virtual void Mf_arbitrary(int,char*) = 0; virtual void Mf_metamisc(int,int,char*) = 0; virtual void Mf_seqnum(int) = 0; virtual void Mf_smpte(int,int,int,int,int) = 0; virtual void Mf_timesig(int,int,int,int) = 0; virtual void Mf_tempo(int) = 0; virtual void Mf_keysig(int,int) = 0; virtual void Mf_sqspecific(int,char*) = 0; virtual void Mf_text(int,int,char*) = 0;private: long Mf_toberead; long readvarinum(); long read32bit(); int read16bit(); void msgenlarge(); char *msg(); int readheader(); void readtrack(); void sysex(); void msginit(); int egetc(); int msgleng(); int readmt(char*,int); long to32bit(int,int,int,int); int to16bit(int,int); void mferror(char *); void badbyte(int); void metaevent(int); void msgadd(int); void chanmessage(int,int,int); int midifile_error; char *Msgbuff; long Msgsize; long Msgindex;};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -