uint8_t text_select[GUI_TITLE_SELECT_N] = GUI_TITLE_SELECT;
uint8_t text_save[GUI_TITLE_SAVE_N] = GUI_TITLE_SAVE;
+const uint8_t TEXT_KEYBOARD[12][GUI_KEYBOARD_N] = GUI_KEYBOARD;
+const uint8_t *text_keyboard;
+
/* event handling */
inline void add_gui_event(const uint16_t event)
if (gui_choice != 1)
lcd_select_button(gui_choice, 0);
gui_choice = 1;
+ make_text_keyboard();
lcd_select_button(1, 1);
lcd_update_title(GUI_TITLE_OPTION_TRANSPOSE);
+ lcd_update_button(-1, text_keyboard, 0);
}
else if (event & BUTTON_C)
{
{
set_transp(0);
make_text_transpose();
+ make_text_keyboard();
+ lcd_update_button(-1, text_keyboard, 0);
lcd_update_button(1, text_transpose, gui_choice == 1);
reject_gui_events();
}
set_transp(transp - 1);
}
make_text_transpose();
+ make_text_keyboard();
+ lcd_update_button(-1, text_keyboard, 0);
lcd_update_button(1, text_transpose, 1);
break;
case 2:
text_transpose[x]='\0';
}
+inline void make_text_keyboard (void)
+{
+ int8_t i;
+
+ i = transp;
+ while (i < 0)
+ i += 12;
+ while (i >= 12)
+ i -= 12;
+
+ text_keyboard = TEXT_KEYBOARD[i];
+}
+
inline void make_text_midi_in (void)
{
uint8_t x = GUI_BUTTONTEXT_MIDI_IN_INSERT;
#define GUI_TITLE_SAVE_INSERT 16
+#define GUI_KEYBOARD_BASE "\x80\x81\x83\x84\x90\x92\x94\x90\x91\x93\x94"
+
+#define GUI_KEYBOARD_0 " \x80\x82\x84" GUI_KEYBOARD_BASE "CDEFGAH"
+#define GUI_KEYBOARD_1 "\x88\x8A\x8C\x98\x9A\x9D\x9F\x80\x82\x84" GUI_KEYBOARD_BASE " F C"
+#define GUI_KEYBOARD_2 " \x95\x96 \x85\x86\x80\x82\x84" GUI_KEYBOARD_BASE "DE GAH "
+#define GUI_KEYBOARD_3 "\x8B\x8C \x9B\x9D\x9F \x80\x82\x84" GUI_KEYBOARD_BASE " FG CD"
+#define GUI_KEYBOARD_4 "\x95\x97\x99 \x85\x87\x89\x80\x82\x84" GUI_KEYBOARD_BASE "E AH "
+#define GUI_KEYBOARD_5 " \x9E\x9F \x80\x82\x84" GUI_KEYBOARD_BASE "FGA CDE"
+#define GUI_KEYBOARD_6 "\x98\x9A\x9C\x85\x87\x8A\x8C\x80\x82\x84" GUI_KEYBOARD_BASE " H "
+#define GUI_KEYBOARD_7 " \x95\x96\x80\x82\x84" GUI_KEYBOARD_BASE "GAHCDE "
+#define GUI_KEYBOARD_8 "\x9B\x9D\x9F\x88\x8A\x8C \x80\x82\x84" GUI_KEYBOARD_BASE " C FG"
+#define GUI_KEYBOARD_9 " \x85\x86 \x95\x97\x99\x80\x82\x84" GUI_KEYBOARD_BASE "AH DE "
+#define GUI_KEYBOARD_10 "\x9E\x9F \x8B\x8C \x80\x82\x84" GUI_KEYBOARD_BASE " CD FGA"
+#define GUI_KEYBOARD_11 "\x85\x87\x89\x95\x97\x9A\x9C\x80\x82\x84" GUI_KEYBOARD_BASE "H E "
+
+#define GUI_KEYBOARD { \
+ GUI_KEYBOARD_0, \
+ GUI_KEYBOARD_1, \
+ GUI_KEYBOARD_2, \
+ GUI_KEYBOARD_3, \
+ GUI_KEYBOARD_4, \
+ GUI_KEYBOARD_5, \
+ GUI_KEYBOARD_6, \
+ GUI_KEYBOARD_7, \
+ GUI_KEYBOARD_8, \
+ GUI_KEYBOARD_9, \
+ GUI_KEYBOARD_10, \
+ GUI_KEYBOARD_11 \
+}
+
+#define GUI_KEYBOARD_N 29
+
#define GET_JOG() ((JOG_A ? JOG_L : 0) ^ (JOG_B ? JOG_H : 0))
inline void make_text_tuning (void);
inline void make_text_transpose (void);
+inline void make_text_keyboard (void);
inline void make_text_midi_in (void);
inline void make_text_midi_out (void);
inline void make_text_select (void);