1
2#ifndef _MIDI_TEXT_H
3#define _MIDI_TEXT_H
4
5#include <BeBuild.h>
6#include <Midi.h>
7#include <stdio.h>
8
9class BMidiText : public BMidi
10{
11public:
12
13	BMidiText();
14	virtual ~BMidiText();
15
16	virtual void NoteOff(
17		uchar channel, uchar note, uchar velocity, uint32 time = B_NOW);
18
19	virtual void NoteOn(
20		uchar channel, uchar note, uchar velocity, uint32 time = B_NOW);
21
22	virtual void KeyPressure(
23		uchar channel, uchar note, uchar pressure, uint32 time = B_NOW);
24
25	virtual void ControlChange(
26		uchar channel, uchar controlNumber, uchar controlValue,
27		uint32 time = B_NOW);
28
29	virtual void ProgramChange(
30		uchar channel, uchar programNumber, uint32 time = B_NOW);
31
32	virtual void ChannelPressure(
33		uchar channel, uchar pressure, uint32 time = B_NOW);
34
35	virtual void PitchBend(
36		uchar channel, uchar lsb, uchar msb, uint32 time = B_NOW);
37
38	virtual void SystemExclusive(
39		void* data, size_t length, uint32 time = B_NOW);
40
41	virtual void SystemCommon(
42		uchar status, uchar data1, uchar data2, uint32 time = B_NOW);
43
44	virtual void SystemRealTime(uchar status, uint32 time = B_NOW);
45
46	void ResetTimer(bool start = false);
47
48private:
49
50	virtual void _ReservedMidiText1();
51	virtual void _ReservedMidiText2();
52	virtual void _ReservedMidiText3();
53
54	virtual void Run();
55
56	void _WaitAndPrint(uint32 time);
57
58	uint32 fStartTime;
59	uint32 _reserved[4];
60};
61
62#endif // _MIDI_TEXT_H
63
64