diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/keymaps/keymap-h1x0_h3x0.c | 36 | ||||
-rw-r--r-- | apps/screens.c | 101 |
2 files changed, 76 insertions, 61 deletions
diff --git a/apps/keymaps/keymap-h1x0_h3x0.c b/apps/keymaps/keymap-h1x0_h3x0.c index 1bacbf4bca..93477de903 100644 --- a/apps/keymaps/keymap-h1x0_h3x0.c +++ b/apps/keymaps/keymap-h1x0_h3x0.c | |||
@@ -481,7 +481,7 @@ const struct button_mapping button_context_bmark_h300lcdremote[] = { | |||
481 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS|CONTEXT_REMOTE), | 481 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS|CONTEXT_REMOTE), |
482 | }; | 482 | }; |
483 | 483 | ||
484 | const struct button_mapping button_context_quickscreen_h100remote[] = { | 484 | const struct button_mapping button_context_quickscreen_nonlcdremote[] = { |
485 | { ACTION_QS_DOWNINV, BUTTON_RC_SOURCE, BUTTON_NONE }, | 485 | { ACTION_QS_DOWNINV, BUTTON_RC_SOURCE, BUTTON_NONE }, |
486 | { ACTION_QS_DOWNINV, BUTTON_RC_SOURCE|BUTTON_REPEAT, BUTTON_NONE }, | 486 | { ACTION_QS_DOWNINV, BUTTON_RC_SOURCE|BUTTON_REPEAT, BUTTON_NONE }, |
487 | { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP, BUTTON_NONE }, | 487 | { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP, BUTTON_NONE }, |
@@ -494,7 +494,7 @@ const struct button_mapping button_context_quickscreen_h100remote[] = { | |||
494 | { ACTION_QS_LEFT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE }, | 494 | { ACTION_QS_LEFT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE }, |
495 | { ACTION_QS_RIGHT, BUTTON_RC_FF, BUTTON_NONE }, | 495 | { ACTION_QS_RIGHT, BUTTON_RC_FF, BUTTON_NONE }, |
496 | { ACTION_QS_RIGHT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE }, | 496 | { ACTION_QS_RIGHT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE }, |
497 | { ACTION_STD_CANCEL, BUTTON_RC_MODE, BUTTON_NONE }, | 497 | { ACTION_STD_CANCEL, BUTTON_RC_ON, BUTTON_NONE }, |
498 | 498 | ||
499 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | 499 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) |
500 | }; /* button_context_quickscreen */ | 500 | }; /* button_context_quickscreen */ |
@@ -508,7 +508,7 @@ const struct button_mapping button_context_quickscreen_h100lcdremote[] = { | |||
508 | { ACTION_QS_LEFT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE }, | 508 | { ACTION_QS_LEFT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE }, |
509 | { ACTION_QS_RIGHT, BUTTON_RC_BITRATE, BUTTON_NONE }, | 509 | { ACTION_QS_RIGHT, BUTTON_RC_BITRATE, BUTTON_NONE }, |
510 | { ACTION_QS_RIGHT, BUTTON_RC_BITRATE|BUTTON_REPEAT, BUTTON_NONE }, | 510 | { ACTION_QS_RIGHT, BUTTON_RC_BITRATE|BUTTON_REPEAT, BUTTON_NONE }, |
511 | { ACTION_STD_CANCEL, BUTTON_RC_MODE, BUTTON_NONE }, | 511 | { ACTION_STD_CANCEL, BUTTON_RC_ON, BUTTON_NONE }, |
512 | 512 | ||
513 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | 513 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) |
514 | }; /* button_context_quickscreen */ | 514 | }; /* button_context_quickscreen */ |
@@ -527,17 +527,17 @@ const struct button_mapping button_context_quickscreen_h300lcdremote[] = { | |||
527 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | 527 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) |
528 | }; /* button_context_quickscreen */ | 528 | }; /* button_context_quickscreen */ |
529 | 529 | ||
530 | const struct button_mapping button_context_pitchscreen_h100remote[] = { | 530 | const struct button_mapping button_context_pitchscreen_nonlcdremote[] = { |
531 | { ACTION_PS_INC_SMALL, BUTTON_RC_REW, BUTTON_NONE }, | 531 | { ACTION_PS_INC_SMALL, BUTTON_RC_VOL_UP, BUTTON_NONE }, |
532 | { ACTION_PS_INC_BIG, BUTTON_RC_REW|BUTTON_REPEAT,BUTTON_NONE }, | 532 | { ACTION_PS_INC_BIG, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, |
533 | { ACTION_PS_DEC_SMALL, BUTTON_RC_FF, BUTTON_NONE }, | 533 | { ACTION_PS_DEC_SMALL, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, |
534 | { ACTION_PS_DEC_BIG, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE }, | 534 | { ACTION_PS_DEC_BIG, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
535 | { ACTION_PS_NUDGE_LEFT, BUTTON_RC_SOURCE, BUTTON_NONE }, | 535 | { ACTION_PS_NUDGE_LEFT, BUTTON_RC_REW, BUTTON_NONE }, |
536 | { ACTION_PS_NUDGE_LEFTOFF, BUTTON_RC_SOURCE|BUTTON_REL,BUTTON_NONE }, | 536 | { ACTION_PS_NUDGE_LEFTOFF, BUTTON_RC_REW|BUTTON_REL, BUTTON_NONE }, |
537 | { ACTION_PS_NUDGE_RIGHT, BUTTON_RC_BITRATE, BUTTON_NONE }, | 537 | { ACTION_PS_NUDGE_RIGHT, BUTTON_RC_FF, BUTTON_NONE }, |
538 | { ACTION_PS_NUDGE_RIGHTOFF, BUTTON_RC_BITRATE|BUTTON_REL, BUTTON_NONE }, | 538 | { ACTION_PS_NUDGE_RIGHTOFF, BUTTON_RC_FF|BUTTON_REL, BUTTON_NONE }, |
539 | { ACTION_PS_RESET, BUTTON_RC_ON, BUTTON_NONE }, | 539 | { ACTION_PS_RESET, BUTTON_RC_ON|BUTTON_REL, BUTTON_RC_ON }, |
540 | { ACTION_PS_EXIT, BUTTON_RC_STOP, BUTTON_NONE }, | 540 | { ACTION_PS_EXIT, BUTTON_RC_ON|BUTTON_REPEAT, BUTTON_NONE }, |
541 | 541 | ||
542 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | 542 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) |
543 | }; /* button_context_pitchcreen */ | 543 | }; /* button_context_pitchcreen */ |
@@ -667,9 +667,9 @@ static const struct button_mapping | |||
667 | *remote_btn_ctxt_yesno = button_context_yesno_h100remote, | 667 | *remote_btn_ctxt_yesno = button_context_yesno_h100remote, |
668 | *remote_btn_ctxt_bmark = button_context_bmark_h100remote, | 668 | *remote_btn_ctxt_bmark = button_context_bmark_h100remote, |
669 | *remote_btn_ctxt_quickscreen | 669 | *remote_btn_ctxt_quickscreen |
670 | = button_context_quickscreen_h100remote, | 670 | = button_context_quickscreen_nonlcdremote, |
671 | *remote_btn_ctxt_pitchscreen | 671 | *remote_btn_ctxt_pitchscreen |
672 | = button_context_pitchscreen_h100remote, | 672 | = button_context_pitchscreen_nonlcdremote, |
673 | *remote_btn_ctxt_recscreen | 673 | *remote_btn_ctxt_recscreen |
674 | = button_context_recscreen_h100remote, | 674 | = button_context_recscreen_h100remote, |
675 | *remote_btn_ctxt_keyboard | 675 | *remote_btn_ctxt_keyboard |
@@ -762,9 +762,9 @@ static void remap_remote(void) | |||
762 | remote_btn_ctxt_yesno = button_context_yesno_h300lcdremote, | 762 | remote_btn_ctxt_yesno = button_context_yesno_h300lcdremote, |
763 | remote_btn_ctxt_bmark = button_context_bmark_h300lcdremote, | 763 | remote_btn_ctxt_bmark = button_context_bmark_h300lcdremote, |
764 | remote_btn_ctxt_quickscreen | 764 | remote_btn_ctxt_quickscreen |
765 | = button_context_quickscreen_h300lcdremote, | 765 | = button_context_quickscreen_nonlcdremote, |
766 | remote_btn_ctxt_pitchscreen | 766 | remote_btn_ctxt_pitchscreen |
767 | = button_context_pitchscreen_h300lcdremote, | 767 | = button_context_pitchscreen_nonlcdremote, |
768 | remote_btn_ctxt_recscreen | 768 | remote_btn_ctxt_recscreen |
769 | = button_context_recscreen_h300lcdremote, | 769 | = button_context_recscreen_h300lcdremote, |
770 | remote_btn_ctxt_keyboard | 770 | remote_btn_ctxt_keyboard |
diff --git a/apps/screens.c b/apps/screens.c index 86a377ecc5..067c544ea2 100644 --- a/apps/screens.c +++ b/apps/screens.c | |||
@@ -356,53 +356,64 @@ int charging_screen(void) | |||
356 | 0 if no key was pressed | 356 | 0 if no key was pressed |
357 | 1 if USB was connected */ | 357 | 1 if USB was connected */ |
358 | 358 | ||
359 | void pitch_screen_draw(int pitch) | 359 | void pitch_screen_draw(struct screen *display, int pitch) |
360 | { | 360 | { |
361 | unsigned char* ptr; | 361 | unsigned char* ptr; |
362 | unsigned char buf[32]; | 362 | unsigned char buf[32]; |
363 | int w, h; | 363 | int w, h; |
364 | 364 | ||
365 | lcd_clear_display(); | 365 | display->clear_display(); |
366 | |||
367 | if (display->nb_lines < 4) /* very small screen, just show the pitch value */ | ||
368 | { | ||
369 | w = snprintf((char *)buf, sizeof(buf), "%s: %d.%d%%",str(LANG_SYSFONT_PITCH), | ||
370 | pitch / 10, pitch % 10 ); | ||
371 | display->putsxy((display->width-(w*display->char_width))/2, | ||
372 | display->nb_lines/2,buf); | ||
373 | } | ||
374 | else /* bigger screen, show everything... */ | ||
375 | { | ||
366 | 376 | ||
367 | /* UP: Pitch Up */ | 377 | /* UP: Pitch Up */ |
368 | ptr = str(LANG_SYSFONT_PITCH_UP); | 378 | ptr = str(LANG_SYSFONT_PITCH_UP); |
369 | lcd_getstringsize(ptr,&w,&h); | 379 | display->getstringsize(ptr,&w,&h); |
370 | lcd_putsxy((LCD_WIDTH-w)/2, 0, ptr); | 380 | display->putsxy((display->width-w)/2, 0, ptr); |
371 | lcd_mono_bitmap(bitmap_icons_7x8[Icon_UpArrow], | 381 | display->mono_bitmap(bitmap_icons_7x8[Icon_UpArrow], |
372 | LCD_WIDTH/2 - 3, h, 7, 8); | 382 | display->width/2 - 3, h, 7, 8); |
373 | 383 | ||
374 | /* DOWN: Pitch Down */ | 384 | /* DOWN: Pitch Down */ |
375 | ptr = str(LANG_SYSFONT_PITCH_DOWN); | 385 | ptr = str(LANG_SYSFONT_PITCH_DOWN); |
376 | lcd_getstringsize(ptr,&w,&h); | 386 | display->getstringsize(ptr,&w,&h); |
377 | lcd_putsxy((LCD_WIDTH-w)/2, LCD_HEIGHT - h, ptr); | 387 | display->putsxy((display->width-w)/2, display->height - h, ptr); |
378 | lcd_mono_bitmap(bitmap_icons_7x8[Icon_DownArrow], | 388 | display->mono_bitmap(bitmap_icons_7x8[Icon_DownArrow], |
379 | LCD_WIDTH/2 - 3, LCD_HEIGHT - h*2, 7, 8); | 389 | display->width/2 - 3, display->height - h*2, 7, 8); |
380 | 390 | ||
381 | /* RIGHT: +2% */ | 391 | /* RIGHT: +2% */ |
382 | ptr = "+2%"; | 392 | ptr = "+2%"; |
383 | lcd_getstringsize(ptr,&w,&h); | 393 | display->getstringsize(ptr,&w,&h); |
384 | lcd_putsxy(LCD_WIDTH-w, (LCD_HEIGHT-h)/2, ptr); | 394 | display->putsxy(display->width-w, (display->height-h)/2, ptr); |
385 | lcd_mono_bitmap(bitmap_icons_7x8[Icon_FastForward], | 395 | display->mono_bitmap(bitmap_icons_7x8[Icon_FastForward], |
386 | LCD_WIDTH-w-8, (LCD_HEIGHT-h)/2, 7, 8); | 396 | display->width-w-8, (display->height-h)/2, 7, 8); |
387 | 397 | ||
388 | /* LEFT: -2% */ | 398 | /* LEFT: -2% */ |
389 | ptr = "-2%"; | 399 | ptr = "-2%"; |
390 | lcd_getstringsize(ptr,&w,&h); | 400 | display->getstringsize(ptr,&w,&h); |
391 | lcd_putsxy(0, (LCD_HEIGHT-h)/2, ptr); | 401 | display->putsxy(0, (display->height-h)/2, ptr); |
392 | lcd_mono_bitmap(bitmap_icons_7x8[Icon_FastBackward], | 402 | display->mono_bitmap(bitmap_icons_7x8[Icon_FastBackward], |
393 | w+1, (LCD_HEIGHT-h)/2, 7, 8); | 403 | w+1, (display->height-h)/2, 7, 8); |
394 | 404 | ||
395 | /* "Pitch" */ | 405 | /* "Pitch" */ |
396 | snprintf((char *)buf, sizeof(buf), str(LANG_SYSFONT_PITCH)); | 406 | snprintf((char *)buf, sizeof(buf), str(LANG_SYSFONT_PITCH)); |
397 | lcd_getstringsize(buf,&w,&h); | 407 | display->getstringsize(buf,&w,&h); |
398 | lcd_putsxy((LCD_WIDTH-w)/2, (LCD_HEIGHT/2)-h, buf); | 408 | display->putsxy((display->width-w)/2, (display->height/2)-h, buf); |
399 | /* "XX.X%" */ | 409 | /* "XX.X%" */ |
400 | snprintf((char *)buf, sizeof(buf), "%d.%d%%", | 410 | snprintf((char *)buf, sizeof(buf), "%d.%d%%", |
401 | pitch / 10, pitch % 10 ); | 411 | pitch / 10, pitch % 10 ); |
402 | lcd_getstringsize(buf,&w,&h); | 412 | display->getstringsize(buf,&w,&h); |
403 | lcd_putsxy((LCD_WIDTH-w)/2, LCD_HEIGHT/2, buf); | 413 | display->putsxy((display->width-w)/2, display->height/2, buf); |
414 | } | ||
404 | 415 | ||
405 | lcd_update(); | 416 | display->update(); |
406 | } | 417 | } |
407 | 418 | ||
408 | bool pitch_screen(void) | 419 | bool pitch_screen(void) |
@@ -410,6 +421,7 @@ bool pitch_screen(void) | |||
410 | int button; | 421 | int button; |
411 | int pitch = sound_get_pitch(); | 422 | int pitch = sound_get_pitch(); |
412 | bool exit = false; | 423 | bool exit = false; |
424 | int i; | ||
413 | 425 | ||
414 | lcd_setfont(FONT_SYSFIXED); | 426 | lcd_setfont(FONT_SYSFIXED); |
415 | #if CONFIG_CODEC == SWCODEC | 427 | #if CONFIG_CODEC == SWCODEC |
@@ -419,7 +431,8 @@ bool pitch_screen(void) | |||
419 | action_signalscreenchange(); | 431 | action_signalscreenchange(); |
420 | while (!exit) | 432 | while (!exit) |
421 | { | 433 | { |
422 | pitch_screen_draw(pitch); | 434 | FOR_NB_SCREENS(i) |
435 | pitch_screen_draw(&screens[i],pitch); | ||
423 | 436 | ||
424 | button = get_action(CONTEXT_PITCHSCREEN,TIMEOUT_BLOCK); | 437 | button = get_action(CONTEXT_PITCHSCREEN,TIMEOUT_BLOCK); |
425 | switch (button) { | 438 | switch (button) { |
@@ -456,7 +469,8 @@ bool pitch_screen(void) | |||
456 | { | 469 | { |
457 | pitch += 20; | 470 | pitch += 20; |
458 | sound_set_pitch(pitch); | 471 | sound_set_pitch(pitch); |
459 | pitch_screen_draw(pitch); | 472 | FOR_NB_SCREENS(i) |
473 | pitch_screen_draw(&screens[i],pitch); | ||
460 | } | 474 | } |
461 | break; | 475 | break; |
462 | case ACTION_PS_NUDGE_RIGHTOFF: | 476 | case ACTION_PS_NUDGE_RIGHTOFF: |
@@ -469,7 +483,8 @@ bool pitch_screen(void) | |||
469 | { | 483 | { |
470 | pitch -= 20; | 484 | pitch -= 20; |
471 | sound_set_pitch(pitch); | 485 | sound_set_pitch(pitch); |
472 | pitch_screen_draw(pitch); | 486 | FOR_NB_SCREENS(i) |
487 | pitch_screen_draw(&screens[i],pitch); | ||
473 | } | 488 | } |
474 | break; | 489 | break; |
475 | case ACTION_PS_NUDGE_LEFTOFF: | 490 | case ACTION_PS_NUDGE_LEFTOFF: |