summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2006-09-03 11:33:03 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2006-09-03 11:33:03 +0000
commit85134105b9b1beddf657dd8a096101efdcc8d9e2 (patch)
tree35550c299c0596fd0ec933ddcc2c967c2fd094b9 /apps
parentbfe1cd17c6ee7722ae0faee72c630463d13c2bcd (diff)
downloadrockbox-85134105b9b1beddf657dd8a096101efdcc8d9e2.tar.gz
rockbox-85134105b9b1beddf657dd8a096101efdcc8d9e2.zip
make the pitch screen use the remote screen also, and fix non-lcd iriver remote for the screen (again)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10865 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/keymaps/keymap-h1x0_h3x0.c36
-rw-r--r--apps/screens.c101
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
484const struct button_mapping button_context_quickscreen_h100remote[] = { 484const 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
530const struct button_mapping button_context_pitchscreen_h100remote[] = { 530const 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
359void pitch_screen_draw(int pitch) 359void 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
408bool pitch_screen(void) 419bool 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: