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 9 class BMidiText : public BMidi 10 { 11 public: 12 BMidiText(); 13 virtual ~BMidiText(); 14 15 virtual void NoteOff( 16 uchar channel, uchar note, uchar velocity, uint32 time = B_NOW); 17 18 virtual void NoteOn( 19 uchar channel, uchar note, uchar velocity, uint32 time = B_NOW); 20 21 virtual void KeyPressure( 22 uchar channel, uchar note, uchar pressure, uint32 time = B_NOW); 23 24 virtual void ControlChange( 25 uchar channel, uchar controlNumber, uchar controlValue, 26 uint32 time = B_NOW); 27 28 virtual void ProgramChange( 29 uchar channel, uchar programNumber, uint32 time = B_NOW); 30 31 virtual void ChannelPressure( 32 uchar channel, uchar pressure, uint32 time = B_NOW); 33 34 virtual void PitchBend( 35 uchar channel, uchar lsb, uchar msb, uint32 time = B_NOW); 36 37 virtual void SystemExclusive( 38 void* data, size_t dataLength, uint32 time = B_NOW); 39 40 virtual void SystemCommon( 41 uchar status, uchar data1, uchar data2, uint32 time = B_NOW); 42 43 virtual void SystemRealTime(uchar status, uint32 time = B_NOW); 44 45 virtual void TempoChange(int32 beatsPerMinute, uint32 time = B_NOW); 46 47 virtual void AllNotesOff(bool justChannel = true, uint32 time = B_NOW); 48 49 void ResetTimer(bool start = false); 50 51 private: 52 53 virtual void _ReservedMidiText1(); 54 55 virtual void Run(); 56 57 void WaitAndPrint(uint32 time); 58 59 int32 startTime; 60 uint32 _reserved[4]; 61 }; 62 63 #endif // _MIDI_TEXT_H 64 65