/*
kbd_display.h
-------------
*/

#ifndef kbd_display_h
#define kbd_display_h

#define NUM_OCTAVES 6  // keyboard window, number of octaves, starting at a 'C'
#define BOTTOM_KEY  C2 // bottom key of both keyboard window and ascii keyboard map
#define TOP_KEY     D8 // top key of ascii keyboard map


// KeyEntry msg values
#define LBUTTONDOWN 1
#define RBUTTONDOWN 2
#define LBUTTONUP   3
#define MOUSEMOVE   4

int KeyEntry(int msg, int x, int y, int buttons);
int highlight_key(int key, int action, int chan);
void key_highlight_timer(void);
void plot_frame(int *b);
int init_kbd_display(void);
void key_scan(int start);
void init_img(void);
void clear_kbd_display(void);
void highlight_midi_key(int pitch, int state, int channel);
int cmd_keyboard(char *msg, int len);

#endif
