55 lines
1.8 KiB
C
55 lines
1.8 KiB
C
/*
|
|
* display.h
|
|
*/
|
|
|
|
|
|
/* MIDI status byte definitions
|
|
*/
|
|
#define NOTEON 0x90
|
|
#define NOTEOFF 0x80
|
|
#define KEYAFTERTOUCH 0xa0
|
|
#define CONTROLCHANGE 0xb0
|
|
#define PROGRAMCHANGE 0xc0
|
|
#define CHANAFTERTOUCH 0xd0
|
|
#define PITCHBEND 0xe0
|
|
#define SYSTEMMESSAGE 0xf0
|
|
#define BEGINSYSEX 0xf0
|
|
#define MTCQUARTERFRAME 0xf1
|
|
#define SONGPOSPTR 0xf2
|
|
#define SONGSELECT 0xf3
|
|
|
|
/* Format strings used by GetDisplayText()
|
|
*/
|
|
#define FORMAT3 " %08lX %02X %02X %02X %2d %-21s "
|
|
#define FORMAT2 " %08lX %02X %02X -- %2d %-21s "
|
|
#define FORMAT3X " %08lX %02X %02X %02X -- %-21s "
|
|
#define FORMAT2X " %08lX %02X %02X -- -- %-21s "
|
|
#define FORMAT1X " %08lX %02X -- -- -- %-21s "
|
|
|
|
|
|
/* Data structure to manage a display buffer.
|
|
*/
|
|
typedef struct displayBuffer_tag
|
|
{
|
|
HANDLE hSelf; /* handle to this structure */
|
|
HANDLE hBuffer; /* buffer handle */
|
|
WORD wError; /* error flags */
|
|
DWORD dwSize; /* buffer size (in EVENTS) */
|
|
DWORD dwCount; /* byte count (in EVENTS) */
|
|
LPEVENT lpStart; /* ptr to start of buffer */
|
|
LPEVENT lpEnd; /* ptr to end of buffer (last byte + 1) */
|
|
LPEVENT lpHead; /* ptr to head (next location to fill) */
|
|
LPEVENT lpTail; /* ptr to tail (next location to empty) */
|
|
} DISPLAYBUFFER;
|
|
typedef DISPLAYBUFFER FAR *LPDISPLAYBUFFER;
|
|
|
|
|
|
/* Function prototypes
|
|
*/
|
|
int GetDisplayText(NPSTR npText, LPEVENT lpEvent);
|
|
void AddDisplayEvent(LPDISPLAYBUFFER lpBuf, LPEVENT lpEvent);
|
|
void GetDisplayEvent(LPDISPLAYBUFFER lpBuf, LPEVENT lpEvent, DWORD wNum);
|
|
LPDISPLAYBUFFER AllocDisplayBuffer(DWORD dwSize);
|
|
void FreeDisplayBuffer(LPDISPLAYBUFFER lpBuf);
|
|
void ResetDisplayBuffer(LPDISPLAYBUFFER lpBuf);
|