|
|
1.1 root 1: /*
2: * display.h
3: */
4:
5:
6: /* MIDI status byte definitions
7: */
8: #define NOTEON 0x90
9: #define NOTEOFF 0x80
10: #define KEYAFTERTOUCH 0xa0
11: #define CONTROLCHANGE 0xb0
12: #define PROGRAMCHANGE 0xc0
13: #define CHANAFTERTOUCH 0xd0
14: #define PITCHBEND 0xe0
15: #define SYSTEMMESSAGE 0xf0
16: #define BEGINSYSEX 0xf0
17: #define MTCQUARTERFRAME 0xf1
18: #define SONGPOSPTR 0xf2
19: #define SONGSELECT 0xf3
20:
21: /* Format strings used by GetDisplayText()
22: */
23: #define FORMAT3 " %08lX %02X %02X %02X %2d %-21s "
24: #define FORMAT2 " %08lX %02X %02X -- %2d %-21s "
25: #define FORMAT3X " %08lX %02X %02X %02X -- %-21s "
26: #define FORMAT2X " %08lX %02X %02X -- -- %-21s "
27: #define FORMAT1X " %08lX %02X -- -- -- %-21s "
28:
29:
30: /* Data structure to manage a display buffer.
31: */
32: typedef struct displayBuffer_tag
33: {
34: HANDLE hSelf; /* handle to this structure */
35: HANDLE hBuffer; /* buffer handle */
36: WORD wError; /* error flags */
37: DWORD dwSize; /* buffer size (in EVENTS) */
38: DWORD dwCount; /* byte count (in EVENTS) */
39: LPEVENT lpStart; /* ptr to start of buffer */
40: LPEVENT lpEnd; /* ptr to end of buffer (last byte + 1) */
41: LPEVENT lpHead; /* ptr to head (next location to fill) */
42: LPEVENT lpTail; /* ptr to tail (next location to empty) */
43: } DISPLAYBUFFER;
44: typedef DISPLAYBUFFER FAR *LPDISPLAYBUFFER;
45:
46:
47: /* Function prototypes
48: */
49: int GetDisplayText(NPSTR npText, LPEVENT lpEvent);
50: void AddDisplayEvent(LPDISPLAYBUFFER lpBuf, LPEVENT lpEvent);
51: void GetDisplayEvent(LPDISPLAYBUFFER lpBuf, LPEVENT lpEvent, DWORD wNum);
52: LPDISPLAYBUFFER AllocDisplayBuffer(DWORD dwSize);
53: void FreeDisplayBuffer(LPDISPLAYBUFFER lpBuf);
54: void ResetDisplayBuffer(LPDISPLAYBUFFER lpBuf);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.