diff options
author | Teruaki Kawashima <teru@rockbox.org> | 2010-01-13 12:55:52 +0000 |
---|---|---|
committer | Teruaki Kawashima <teru@rockbox.org> | 2010-01-13 12:55:52 +0000 |
commit | ead28e174ebb32d6a6aebf780b5884a529ef4598 (patch) | |
tree | 567cc8b7385471b24f10be95ee0afb84b74a8ef1 | |
parent | a1b97086c5a19e1035f32a6486b00aeb559ba0bb (diff) | |
download | rockbox-ead28e174ebb32d6a6aebf780b5884a529ef4598.tar.gz rockbox-ead28e174ebb32d6a6aebf780b5884a529ef4598.zip |
mpegplayer:
* use upper case for enum constants.
* rename MPEG_START_TIME_SCROLL_DOWN/SCROLL_UP to MPEG_START_TIME_LEFT2/RIGHT2 as they are equivalent to MPEG_START_TIME_LEFT/RIGHT.
* simplify some code. no functional changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24224 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/plugins/mpegplayer/mpeg_misc.h | 20 | ||||
-rw-r--r-- | apps/plugins/mpegplayer/mpeg_parser.c | 22 | ||||
-rw-r--r-- | apps/plugins/mpegplayer/mpeg_settings.c | 203 | ||||
-rw-r--r-- | apps/plugins/mpegplayer/mpegplayer.c | 31 |
4 files changed, 115 insertions, 161 deletions
diff --git a/apps/plugins/mpegplayer/mpeg_misc.h b/apps/plugins/mpegplayer/mpeg_misc.h index aeaba56d44..7bac7eb255 100644 --- a/apps/plugins/mpegplayer/mpeg_misc.h +++ b/apps/plugins/mpegplayer/mpeg_misc.h | |||
@@ -31,16 +31,16 @@ | |||
31 | /* Generic states for when things are too simple to care about naming them */ | 31 | /* Generic states for when things are too simple to care about naming them */ |
32 | enum state_enum | 32 | enum state_enum |
33 | { | 33 | { |
34 | state0 = 0, | 34 | STATE0 = 0, |
35 | state1, | 35 | STATE1, |
36 | state2, | 36 | STATE2, |
37 | state3, | 37 | STATE3, |
38 | state4, | 38 | STATE4, |
39 | state5, | 39 | STATE5, |
40 | state6, | 40 | STATE6, |
41 | state7, | 41 | STATE7, |
42 | state8, | 42 | STATE8, |
43 | state9, | 43 | STATE9, |
44 | }; | 44 | }; |
45 | 45 | ||
46 | /* Macros for comparing memory bytes to a series of constant bytes in an | 46 | /* Macros for comparing memory bytes to a series of constant bytes in an |
diff --git a/apps/plugins/mpegplayer/mpeg_parser.c b/apps/plugins/mpegplayer/mpeg_parser.c index 30793e0350..e14c51337f 100644 --- a/apps/plugins/mpegplayer/mpeg_parser.c +++ b/apps/plugins/mpegplayer/mpeg_parser.c | |||
@@ -354,7 +354,7 @@ static off_t mpeg_parser_seek_PTS(uint32_t time, unsigned id) | |||
354 | uint32_t time_right = str_parser.end_pts; | 354 | uint32_t time_right = str_parser.end_pts; |
355 | uint32_t pts = 0; | 355 | uint32_t pts = 0; |
356 | uint32_t prevpts = 0; | 356 | uint32_t prevpts = 0; |
357 | enum state_enum state = state0; | 357 | enum state_enum state = STATE0; |
358 | struct stream_scan sk; | 358 | struct stream_scan sk; |
359 | 359 | ||
360 | /* Initial estimate taken from average bitrate - later interpolations are | 360 | /* Initial estimate taken from average bitrate - later interpolations are |
@@ -372,7 +372,7 @@ static off_t mpeg_parser_seek_PTS(uint32_t time, unsigned id) | |||
372 | 372 | ||
373 | sk.dir = SSCAN_REVERSE; | 373 | sk.dir = SSCAN_REVERSE; |
374 | 374 | ||
375 | while (state < state9) | 375 | while (state < STATE9) |
376 | { | 376 | { |
377 | uint32_t currpts; | 377 | uint32_t currpts; |
378 | sk.pos = pos_new; | 378 | sk.pos = pos_new; |
@@ -422,7 +422,7 @@ static off_t mpeg_parser_seek_PTS(uint32_t time, unsigned id) | |||
422 | pos_new = pos_right; | 422 | pos_new = pos_right; |
423 | } | 423 | } |
424 | 424 | ||
425 | state = state2; /* Last scan was early */ | 425 | state = STATE2; /* Last scan was early */ |
426 | sk.dir = SSCAN_REVERSE; | 426 | sk.dir = SSCAN_REVERSE; |
427 | 427 | ||
428 | DEBUGF(">> tl:%u t:%u ct:%u tr:%u\n pl:%ld pn:%ld pr:%ld\n", | 428 | DEBUGF(">> tl:%u t:%u ct:%u tr:%u\n pl:%ld pn:%ld pr:%ld\n", |
@@ -450,7 +450,7 @@ static off_t mpeg_parser_seek_PTS(uint32_t time, unsigned id) | |||
450 | 450 | ||
451 | pos_new += pos_left - pos_adj; | 451 | pos_new += pos_left - pos_adj; |
452 | 452 | ||
453 | state = state3; /* Last scan was late */ | 453 | state = STATE3; /* Last scan was late */ |
454 | sk.dir = SSCAN_REVERSE; | 454 | sk.dir = SSCAN_REVERSE; |
455 | 455 | ||
456 | DEBUGF("<< tl:%u t:%u ct:%u tr:%u\n pl:%ld pn:%ld pr:%ld\n", | 456 | DEBUGF("<< tl:%u t:%u ct:%u tr:%u\n pl:%ld pn:%ld pr:%ld\n", |
@@ -465,7 +465,7 @@ static off_t mpeg_parser_seek_PTS(uint32_t time, unsigned id) | |||
465 | (unsigned)time_right, pos_left, pos_new, pos_right); | 465 | (unsigned)time_right, pos_left, pos_new, pos_right); |
466 | pts = currpts; | 466 | pts = currpts; |
467 | pos = sk.pos; | 467 | pos = sk.pos; |
468 | state = state9; | 468 | state = STATE9; |
469 | } | 469 | } |
470 | } | 470 | } |
471 | else | 471 | else |
@@ -474,17 +474,17 @@ static off_t mpeg_parser_seek_PTS(uint32_t time, unsigned id) | |||
474 | 474 | ||
475 | switch (state) | 475 | switch (state) |
476 | { | 476 | { |
477 | case state1: | 477 | case STATE1: |
478 | /* We already tried the bruteforce scan and failed again - no | 478 | /* We already tried the bruteforce scan and failed again - no |
479 | * more stamps could possibly exist in the interval */ | 479 | * more stamps could possibly exist in the interval */ |
480 | DEBUGF("!! no timestamp 2x\n"); | 480 | DEBUGF("!! no timestamp 2x\n"); |
481 | break; | 481 | break; |
482 | case state0: | 482 | case STATE0: |
483 | /* Hardly likely except at very beginning - just do L->R scan | 483 | /* Hardly likely except at very beginning - just do L->R scan |
484 | * to find something */ | 484 | * to find something */ |
485 | DEBUGF("!! no timestamp on first probe: %ld\n", sk.pos); | 485 | DEBUGF("!! no timestamp on first probe: %ld\n", sk.pos); |
486 | case state2: | 486 | case STATE2: |
487 | case state3: | 487 | case STATE3: |
488 | /* Could just be missing timestamps because the interval is | 488 | /* Could just be missing timestamps because the interval is |
489 | * narrowing down. A large block of data from another stream | 489 | * narrowing down. A large block of data from another stream |
490 | * may also be in the midst of our chosen points which could | 490 | * may also be in the midst of our chosen points which could |
@@ -495,7 +495,7 @@ static off_t mpeg_parser_seek_PTS(uint32_t time, unsigned id) | |||
495 | DEBUGF("?? tl:%u t:%u ct:%u tr:%u\n pl:%ld pn:%ld pr:%ld\n", | 495 | DEBUGF("?? tl:%u t:%u ct:%u tr:%u\n pl:%ld pn:%ld pr:%ld\n", |
496 | (unsigned)time_left, (unsigned)time, (unsigned)currpts, | 496 | (unsigned)time_left, (unsigned)time, (unsigned)currpts, |
497 | (unsigned)time_right, pos_left, pos_new, pos_right); | 497 | (unsigned)time_right, pos_left, pos_new, pos_right); |
498 | state = state1; | 498 | state = STATE1; |
499 | break; | 499 | break; |
500 | default: | 500 | default: |
501 | DEBUGF("?? Invalid state: %d\n", state); | 501 | DEBUGF("?? Invalid state: %d\n", state); |
@@ -506,7 +506,7 @@ static off_t mpeg_parser_seek_PTS(uint32_t time, unsigned id) | |||
506 | if (currpts == prevpts) | 506 | if (currpts == prevpts) |
507 | { | 507 | { |
508 | DEBUGF("!! currpts == prevpts (stop)\n"); | 508 | DEBUGF("!! currpts == prevpts (stop)\n"); |
509 | state = state9; | 509 | state = STATE9; |
510 | } | 510 | } |
511 | 511 | ||
512 | prevpts = currpts; | 512 | prevpts = currpts; |
diff --git a/apps/plugins/mpegplayer/mpeg_settings.c b/apps/plugins/mpegplayer/mpeg_settings.c index 1ad1503d3f..9bf0c37a8d 100644 --- a/apps/plugins/mpegplayer/mpeg_settings.c +++ b/apps/plugins/mpegplayer/mpeg_settings.c | |||
@@ -13,16 +13,16 @@ struct mpeg_settings settings; | |||
13 | #if (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ | 13 | #if (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ |
14 | (CONFIG_KEYPAD == IRIVER_H300_PAD) | 14 | (CONFIG_KEYPAD == IRIVER_H300_PAD) |
15 | #define MPEG_START_TIME_SELECT BUTTON_ON | 15 | #define MPEG_START_TIME_SELECT BUTTON_ON |
16 | #define MPEG_START_TIME_RIGHT BUTTON_RIGHT | ||
17 | #define MPEG_START_TIME_LEFT BUTTON_LEFT | 16 | #define MPEG_START_TIME_LEFT BUTTON_LEFT |
17 | #define MPEG_START_TIME_RIGHT BUTTON_RIGHT | ||
18 | #define MPEG_START_TIME_UP BUTTON_UP | 18 | #define MPEG_START_TIME_UP BUTTON_UP |
19 | #define MPEG_START_TIME_DOWN BUTTON_DOWN | 19 | #define MPEG_START_TIME_DOWN BUTTON_DOWN |
20 | #define MPEG_START_TIME_EXIT BUTTON_OFF | 20 | #define MPEG_START_TIME_EXIT BUTTON_OFF |
21 | 21 | ||
22 | #elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) | 22 | #elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) |
23 | #define MPEG_START_TIME_SELECT BUTTON_PLAY | 23 | #define MPEG_START_TIME_SELECT BUTTON_PLAY |
24 | #define MPEG_START_TIME_RIGHT BUTTON_RIGHT | ||
25 | #define MPEG_START_TIME_LEFT BUTTON_LEFT | 24 | #define MPEG_START_TIME_LEFT BUTTON_LEFT |
25 | #define MPEG_START_TIME_RIGHT BUTTON_RIGHT | ||
26 | #define MPEG_START_TIME_UP BUTTON_UP | 26 | #define MPEG_START_TIME_UP BUTTON_UP |
27 | #define MPEG_START_TIME_DOWN BUTTON_DOWN | 27 | #define MPEG_START_TIME_DOWN BUTTON_DOWN |
28 | #define MPEG_START_TIME_EXIT BUTTON_POWER | 28 | #define MPEG_START_TIME_EXIT BUTTON_POWER |
@@ -31,8 +31,8 @@ struct mpeg_settings settings; | |||
31 | (CONFIG_KEYPAD == IPOD_3G_PAD) || \ | 31 | (CONFIG_KEYPAD == IPOD_3G_PAD) || \ |
32 | (CONFIG_KEYPAD == IPOD_1G2G_PAD) | 32 | (CONFIG_KEYPAD == IPOD_1G2G_PAD) |
33 | #define MPEG_START_TIME_SELECT BUTTON_SELECT | 33 | #define MPEG_START_TIME_SELECT BUTTON_SELECT |
34 | #define MPEG_START_TIME_RIGHT BUTTON_RIGHT | ||
35 | #define MPEG_START_TIME_LEFT BUTTON_LEFT | 34 | #define MPEG_START_TIME_LEFT BUTTON_LEFT |
35 | #define MPEG_START_TIME_RIGHT BUTTON_RIGHT | ||
36 | #define MPEG_START_TIME_UP BUTTON_SCROLL_FWD | 36 | #define MPEG_START_TIME_UP BUTTON_SCROLL_FWD |
37 | #define MPEG_START_TIME_DOWN BUTTON_SCROLL_BACK | 37 | #define MPEG_START_TIME_DOWN BUTTON_SCROLL_BACK |
38 | #define MPEG_START_TIME_EXIT BUTTON_MENU | 38 | #define MPEG_START_TIME_EXIT BUTTON_MENU |
@@ -43,16 +43,16 @@ struct mpeg_settings settings; | |||
43 | #define MPEG_START_TIME_RIGHT BUTTON_RIGHT | 43 | #define MPEG_START_TIME_RIGHT BUTTON_RIGHT |
44 | #define MPEG_START_TIME_UP BUTTON_UP | 44 | #define MPEG_START_TIME_UP BUTTON_UP |
45 | #define MPEG_START_TIME_DOWN BUTTON_DOWN | 45 | #define MPEG_START_TIME_DOWN BUTTON_DOWN |
46 | #define MPEG_START_TIME_SCROLL_DOWN BUTTON_VOL_DOWN | 46 | #define MPEG_START_TIME_LEFT2 BUTTON_VOL_UP |
47 | #define MPEG_START_TIME_SCROLL_UP BUTTON_VOL_UP | 47 | #define MPEG_START_TIME_RIGHT2 BUTTON_VOL_DOWN |
48 | #define MPEG_START_TIME_EXIT BUTTON_POWER | 48 | #define MPEG_START_TIME_EXIT BUTTON_POWER |
49 | 49 | ||
50 | #define MPEG_START_TIME_RC_SELECT (BUTTON_RC_PLAY | BUTTON_REL) | 50 | #define MPEG_START_TIME_RC_SELECT (BUTTON_RC_PLAY | BUTTON_REL) |
51 | #define MPEG_START_TIME_RC_LEFT BUTTON_RC_REW | 51 | #define MPEG_START_TIME_RC_LEFT BUTTON_RC_REW |
52 | #define MPEG_START_TIME_RC_RIGHT BUTTON_RC_FF | 52 | #define MPEG_START_TIME_RC_RIGHT BUTTON_RC_FF |
53 | #define MPEG_START_TIME_RC_UP BUTTON_RC_VOL_UP | 53 | #define MPEG_START_TIME_RC_UP BUTTON_RC_VOL_UP |
54 | #define MPEG_START_TIME_RC_DOWN BUTTON_RC_VOL_DOWN | 54 | #define MPEG_START_TIME_RC_DOWN BUTTON_RC_VOL_DOWN |
55 | #define MPEG_START_TIME_RC_EXIT (BUTTON_RC_PLAY | BUTTON_REPEAT) | 55 | #define MPEG_START_TIME_RC_EXIT (BUTTON_RC_PLAY | BUTTON_REPEAT) |
56 | 56 | ||
57 | #elif CONFIG_KEYPAD == GIGABEAT_S_PAD | 57 | #elif CONFIG_KEYPAD == GIGABEAT_S_PAD |
58 | #define MPEG_START_TIME_SELECT BUTTON_SELECT | 58 | #define MPEG_START_TIME_SELECT BUTTON_SELECT |
@@ -60,16 +60,16 @@ struct mpeg_settings settings; | |||
60 | #define MPEG_START_TIME_RIGHT BUTTON_RIGHT | 60 | #define MPEG_START_TIME_RIGHT BUTTON_RIGHT |
61 | #define MPEG_START_TIME_UP BUTTON_UP | 61 | #define MPEG_START_TIME_UP BUTTON_UP |
62 | #define MPEG_START_TIME_DOWN BUTTON_DOWN | 62 | #define MPEG_START_TIME_DOWN BUTTON_DOWN |
63 | #define MPEG_START_TIME_SCROLL_DOWN BUTTON_VOL_DOWN | 63 | #define MPEG_START_TIME_LEFT2 BUTTON_VOL_UP |
64 | #define MPEG_START_TIME_SCROLL_UP BUTTON_VOL_UP | 64 | #define MPEG_START_TIME_RIGHT2 BUTTON_VOL_DOWN |
65 | #define MPEG_START_TIME_EXIT BUTTON_POWER | 65 | #define MPEG_START_TIME_EXIT BUTTON_POWER |
66 | 66 | ||
67 | #define MPEG_START_TIME_RC_SELECT (BUTTON_RC_PLAY | BUTTON_REL) | 67 | #define MPEG_START_TIME_RC_SELECT (BUTTON_RC_PLAY | BUTTON_REL) |
68 | #define MPEG_START_TIME_RC_LEFT BUTTON_RC_REW | 68 | #define MPEG_START_TIME_RC_LEFT BUTTON_RC_REW |
69 | #define MPEG_START_TIME_RC_RIGHT BUTTON_RC_FF | 69 | #define MPEG_START_TIME_RC_RIGHT BUTTON_RC_FF |
70 | #define MPEG_START_TIME_RC_UP BUTTON_RC_VOL_UP | 70 | #define MPEG_START_TIME_RC_UP BUTTON_RC_VOL_UP |
71 | #define MPEG_START_TIME_RC_DOWN BUTTON_RC_VOL_DOWN | 71 | #define MPEG_START_TIME_RC_DOWN BUTTON_RC_VOL_DOWN |
72 | #define MPEG_START_TIME_RC_EXIT (BUTTON_RC_PLAY | BUTTON_REPEAT) | 72 | #define MPEG_START_TIME_RC_EXIT (BUTTON_RC_PLAY | BUTTON_REPEAT) |
73 | 73 | ||
74 | #elif CONFIG_KEYPAD == IRIVER_H10_PAD | 74 | #elif CONFIG_KEYPAD == IRIVER_H10_PAD |
75 | #define MPEG_START_TIME_SELECT BUTTON_PLAY | 75 | #define MPEG_START_TIME_SELECT BUTTON_PLAY |
@@ -81,44 +81,44 @@ struct mpeg_settings settings; | |||
81 | 81 | ||
82 | #elif (CONFIG_KEYPAD == SANSA_E200_PAD) | 82 | #elif (CONFIG_KEYPAD == SANSA_E200_PAD) |
83 | #define MPEG_START_TIME_SELECT BUTTON_SELECT | 83 | #define MPEG_START_TIME_SELECT BUTTON_SELECT |
84 | #define MPEG_START_TIME_SCROLL_UP BUTTON_SCROLL_BACK | ||
85 | #define MPEG_START_TIME_SCROLL_DOWN BUTTON_SCROLL_FWD | ||
86 | #define MPEG_START_TIME_LEFT BUTTON_LEFT | 84 | #define MPEG_START_TIME_LEFT BUTTON_LEFT |
87 | #define MPEG_START_TIME_RIGHT BUTTON_RIGHT | 85 | #define MPEG_START_TIME_RIGHT BUTTON_RIGHT |
88 | #define MPEG_START_TIME_UP BUTTON_UP | 86 | #define MPEG_START_TIME_UP BUTTON_UP |
89 | #define MPEG_START_TIME_DOWN BUTTON_DOWN | 87 | #define MPEG_START_TIME_DOWN BUTTON_DOWN |
88 | #define MPEG_START_TIME_LEFT2 BUTTON_SCROLL_BACK | ||
89 | #define MPEG_START_TIME_RIGHT2 BUTTON_SCROLL_FWD | ||
90 | #define MPEG_START_TIME_EXIT BUTTON_POWER | 90 | #define MPEG_START_TIME_EXIT BUTTON_POWER |
91 | 91 | ||
92 | #elif (CONFIG_KEYPAD == SANSA_FUZE_PAD) | 92 | #elif (CONFIG_KEYPAD == SANSA_FUZE_PAD) |
93 | #define MPEG_START_TIME_SELECT BUTTON_SELECT | 93 | #define MPEG_START_TIME_SELECT BUTTON_SELECT |
94 | #define MPEG_START_TIME_SCROLL_UP BUTTON_SCROLL_BACK | ||
95 | #define MPEG_START_TIME_SCROLL_DOWN BUTTON_SCROLL_FWD | ||
96 | #define MPEG_START_TIME_LEFT BUTTON_LEFT | 94 | #define MPEG_START_TIME_LEFT BUTTON_LEFT |
97 | #define MPEG_START_TIME_RIGHT BUTTON_RIGHT | 95 | #define MPEG_START_TIME_RIGHT BUTTON_RIGHT |
98 | #define MPEG_START_TIME_UP BUTTON_UP | 96 | #define MPEG_START_TIME_UP BUTTON_UP |
99 | #define MPEG_START_TIME_DOWN BUTTON_DOWN | 97 | #define MPEG_START_TIME_DOWN BUTTON_DOWN |
98 | #define MPEG_START_TIME_LEFT2 BUTTON_SCROLL_BACK | ||
99 | #define MPEG_START_TIME_RIGHT2 BUTTON_SCROLL_FWD | ||
100 | #define MPEG_START_TIME_EXIT (BUTTON_HOME|BUTTON_REPEAT) | 100 | #define MPEG_START_TIME_EXIT (BUTTON_HOME|BUTTON_REPEAT) |
101 | 101 | ||
102 | #elif (CONFIG_KEYPAD == SANSA_C200_PAD) || \ | 102 | #elif (CONFIG_KEYPAD == SANSA_C200_PAD) || \ |
103 | (CONFIG_KEYPAD == SANSA_CLIP_PAD) || \ | 103 | (CONFIG_KEYPAD == SANSA_CLIP_PAD) || \ |
104 | (CONFIG_KEYPAD == SANSA_M200_PAD) | 104 | (CONFIG_KEYPAD == SANSA_M200_PAD) |
105 | #define MPEG_START_TIME_SELECT BUTTON_SELECT | 105 | #define MPEG_START_TIME_SELECT BUTTON_SELECT |
106 | #define MPEG_START_TIME_SCROLL_UP BUTTON_VOL_UP | ||
107 | #define MPEG_START_TIME_SCROLL_DOWN BUTTON_VOL_DOWN | ||
108 | #define MPEG_START_TIME_LEFT BUTTON_LEFT | 106 | #define MPEG_START_TIME_LEFT BUTTON_LEFT |
109 | #define MPEG_START_TIME_RIGHT BUTTON_RIGHT | 107 | #define MPEG_START_TIME_RIGHT BUTTON_RIGHT |
110 | #define MPEG_START_TIME_UP BUTTON_UP | 108 | #define MPEG_START_TIME_UP BUTTON_UP |
111 | #define MPEG_START_TIME_DOWN BUTTON_DOWN | 109 | #define MPEG_START_TIME_DOWN BUTTON_DOWN |
110 | #define MPEG_START_TIME_LEFT2 BUTTON_VOL_UP | ||
111 | #define MPEG_START_TIME_RIGHT2 BUTTON_VOL_DOWN | ||
112 | #define MPEG_START_TIME_EXIT BUTTON_POWER | 112 | #define MPEG_START_TIME_EXIT BUTTON_POWER |
113 | 113 | ||
114 | #elif CONFIG_KEYPAD == MROBE500_PAD | 114 | #elif CONFIG_KEYPAD == MROBE500_PAD |
115 | #define MPEG_START_TIME_SELECT BUTTON_RC_HEART | 115 | #define MPEG_START_TIME_SELECT BUTTON_RC_HEART |
116 | #define MPEG_START_TIME_SCROLL_UP BUTTON_RC_VOL_UP | ||
117 | #define MPEG_START_TIME_SCROLL_DOWN BUTTON_RC_VOL_DOWN | ||
118 | #define MPEG_START_TIME_LEFT BUTTON_LEFT | 116 | #define MPEG_START_TIME_LEFT BUTTON_LEFT |
119 | #define MPEG_START_TIME_RIGHT BUTTON_RIGHT | 117 | #define MPEG_START_TIME_RIGHT BUTTON_RIGHT |
120 | #define MPEG_START_TIME_UP BUTTON_RC_PLAY | 118 | #define MPEG_START_TIME_UP BUTTON_RC_PLAY |
121 | #define MPEG_START_TIME_DOWN BUTTON_RC_DOWN | 119 | #define MPEG_START_TIME_DOWN BUTTON_RC_DOWN |
120 | #define MPEG_START_TIME_LEFT2 BUTTON_RC_VOL_UP | ||
121 | #define MPEG_START_TIME_RIGHT2 BUTTON_RC_VOL_DOWN | ||
122 | #define MPEG_START_TIME_EXIT BUTTON_POWER | 122 | #define MPEG_START_TIME_EXIT BUTTON_POWER |
123 | 123 | ||
124 | #elif CONFIG_KEYPAD == MROBE100_PAD | 124 | #elif CONFIG_KEYPAD == MROBE100_PAD |
@@ -127,8 +127,8 @@ struct mpeg_settings settings; | |||
127 | #define MPEG_START_TIME_RIGHT BUTTON_RIGHT | 127 | #define MPEG_START_TIME_RIGHT BUTTON_RIGHT |
128 | #define MPEG_START_TIME_UP BUTTON_UP | 128 | #define MPEG_START_TIME_UP BUTTON_UP |
129 | #define MPEG_START_TIME_DOWN BUTTON_DOWN | 129 | #define MPEG_START_TIME_DOWN BUTTON_DOWN |
130 | #define MPEG_START_TIME_SCROLL_DOWN BUTTON_MENU | 130 | #define MPEG_START_TIME_LEFT2 BUTTON_PLAY |
131 | #define MPEG_START_TIME_SCROLL_UP BUTTON_PLAY | 131 | #define MPEG_START_TIME_RIGHT2 BUTTON_MENU |
132 | #define MPEG_START_TIME_EXIT BUTTON_POWER | 132 | #define MPEG_START_TIME_EXIT BUTTON_POWER |
133 | 133 | ||
134 | #elif CONFIG_KEYPAD == IAUDIO_M3_PAD | 134 | #elif CONFIG_KEYPAD == IAUDIO_M3_PAD |
@@ -152,12 +152,12 @@ struct mpeg_settings settings; | |||
152 | 152 | ||
153 | #elif CONFIG_KEYPAD == CREATIVEZVM_PAD | 153 | #elif CONFIG_KEYPAD == CREATIVEZVM_PAD |
154 | #define MPEG_START_TIME_SELECT BUTTON_SELECT | 154 | #define MPEG_START_TIME_SELECT BUTTON_SELECT |
155 | #define MPEG_START_TIME_SCROLL_UP BUTTON_PLAY | ||
156 | #define MPEG_START_TIME_SCROLL_DOWN BUTTON_MENU | ||
157 | #define MPEG_START_TIME_LEFT BUTTON_LEFT | 155 | #define MPEG_START_TIME_LEFT BUTTON_LEFT |
158 | #define MPEG_START_TIME_RIGHT BUTTON_RIGHT | 156 | #define MPEG_START_TIME_RIGHT BUTTON_RIGHT |
159 | #define MPEG_START_TIME_UP BUTTON_UP | 157 | #define MPEG_START_TIME_UP BUTTON_UP |
160 | #define MPEG_START_TIME_DOWN BUTTON_DOWN | 158 | #define MPEG_START_TIME_DOWN BUTTON_DOWN |
159 | #define MPEG_START_TIME_LEFT2 BUTTON_PLAY | ||
160 | #define MPEG_START_TIME_RIGHT2 BUTTON_MENU | ||
161 | #define MPEG_START_TIME_EXIT BUTTON_BACK | 161 | #define MPEG_START_TIME_EXIT BUTTON_BACK |
162 | 162 | ||
163 | #elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD | 163 | #elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD |
@@ -166,8 +166,8 @@ struct mpeg_settings settings; | |||
166 | #define MPEG_START_TIME_RIGHT BUTTON_RIGHT | 166 | #define MPEG_START_TIME_RIGHT BUTTON_RIGHT |
167 | #define MPEG_START_TIME_UP BUTTON_UP | 167 | #define MPEG_START_TIME_UP BUTTON_UP |
168 | #define MPEG_START_TIME_DOWN BUTTON_DOWN | 168 | #define MPEG_START_TIME_DOWN BUTTON_DOWN |
169 | #define MPEG_START_TIME_SCROLL_DOWN BUTTON_VOL_DOWN | 169 | #define MPEG_START_TIME_LEFT2 BUTTON_VOL_UP |
170 | #define MPEG_START_TIME_SCROLL_UP BUTTON_VOL_UP | 170 | #define MPEG_START_TIME_RIGHT2 BUTTON_VOL_DOWN |
171 | #define MPEG_START_TIME_EXIT BUTTON_POWER | 171 | #define MPEG_START_TIME_EXIT BUTTON_POWER |
172 | 172 | ||
173 | #elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD | 173 | #elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD |
@@ -176,8 +176,8 @@ struct mpeg_settings settings; | |||
176 | #define MPEG_START_TIME_RIGHT BUTTON_NEXT | 176 | #define MPEG_START_TIME_RIGHT BUTTON_NEXT |
177 | #define MPEG_START_TIME_UP BUTTON_UP | 177 | #define MPEG_START_TIME_UP BUTTON_UP |
178 | #define MPEG_START_TIME_DOWN BUTTON_DOWN | 178 | #define MPEG_START_TIME_DOWN BUTTON_DOWN |
179 | #define MPEG_START_TIME_SCROLL_DOWN BUTTON_VOL_DOWN | 179 | #define MPEG_START_TIME_LEFT2 BUTTON_VOL_UP |
180 | #define MPEG_START_TIME_SCROLL_UP BUTTON_VOL_UP | 180 | #define MPEG_START_TIME_RIGHT2 BUTTON_VOL_DOWN |
181 | #define MPEG_START_TIME_EXIT BUTTON_POWER | 181 | #define MPEG_START_TIME_EXIT BUTTON_POWER |
182 | 182 | ||
183 | #elif CONFIG_KEYPAD == ONDAVX747_PAD | 183 | #elif CONFIG_KEYPAD == ONDAVX747_PAD |
@@ -192,8 +192,8 @@ struct mpeg_settings settings; | |||
192 | #define MPEG_START_TIME_RIGHT BUTTON_RIGHT | 192 | #define MPEG_START_TIME_RIGHT BUTTON_RIGHT |
193 | #define MPEG_START_TIME_UP BUTTON_UP | 193 | #define MPEG_START_TIME_UP BUTTON_UP |
194 | #define MPEG_START_TIME_DOWN BUTTON_DOWN | 194 | #define MPEG_START_TIME_DOWN BUTTON_DOWN |
195 | #define MPEG_START_TIME_SCROLL_DOWN BUTTON_FFWD | 195 | #define MPEG_START_TIME_LEFT2 BUTTON_REW |
196 | #define MPEG_START_TIME_SCROLL_UP BUTTON_REW | 196 | #define MPEG_START_TIME_RIGHT2 BUTTON_FFWD |
197 | #define MPEG_START_TIME_EXIT BUTTON_REC | 197 | #define MPEG_START_TIME_EXIT BUTTON_REC |
198 | 198 | ||
199 | #else | 199 | #else |
@@ -204,12 +204,6 @@ struct mpeg_settings settings; | |||
204 | #ifndef MPEG_START_TIME_SELECT | 204 | #ifndef MPEG_START_TIME_SELECT |
205 | #define MPEG_START_TIME_SELECT BUTTON_CENTER | 205 | #define MPEG_START_TIME_SELECT BUTTON_CENTER |
206 | #endif | 206 | #endif |
207 | #ifndef MPEG_START_TIME_SCROLL_UP | ||
208 | #define MPEG_START_TIME_SCROLL_UP BUTTON_TOPRIGHT | ||
209 | #endif | ||
210 | #ifndef MPEG_START_TIME_SCROLL_DOWN | ||
211 | #define MPEG_START_TIME_SCROLL_DOWN BUTTON_TOPLEFT | ||
212 | #endif | ||
213 | #ifndef MPEG_START_TIME_LEFT | 207 | #ifndef MPEG_START_TIME_LEFT |
214 | #define MPEG_START_TIME_LEFT BUTTON_MIDLEFT | 208 | #define MPEG_START_TIME_LEFT BUTTON_MIDLEFT |
215 | #endif | 209 | #endif |
@@ -222,6 +216,12 @@ struct mpeg_settings settings; | |||
222 | #ifndef MPEG_START_TIME_DOWN | 216 | #ifndef MPEG_START_TIME_DOWN |
223 | #define MPEG_START_TIME_DOWN BUTTON_BOTTOMMIDDLE | 217 | #define MPEG_START_TIME_DOWN BUTTON_BOTTOMMIDDLE |
224 | #endif | 218 | #endif |
219 | #ifndef MPEG_START_TIME_LEFT2 | ||
220 | #define MPEG_START_TIME_LEFT2 BUTTON_TOPRIGHT | ||
221 | #endif | ||
222 | #ifndef MPEG_START_TIME_RIGHT2 | ||
223 | #define MPEG_START_TIME_RIGHT2 BUTTON_TOPLEFT | ||
224 | #endif | ||
225 | #ifndef MPEG_START_TIME_EXIT | 225 | #ifndef MPEG_START_TIME_EXIT |
226 | #define MPEG_START_TIME_EXIT BUTTON_TOPLEFT | 226 | #define MPEG_START_TIME_EXIT BUTTON_TOPLEFT |
227 | #endif | 227 | #endif |
@@ -236,7 +236,7 @@ static struct configdata config[] = | |||
236 | NULL}, | 236 | NULL}, |
237 | {TYPE_INT, 0, MPEG_RESUME_NUM_OPTIONS, | 237 | {TYPE_INT, 0, MPEG_RESUME_NUM_OPTIONS, |
238 | { .int_p = &settings.resume_options }, "Resume options", NULL}, | 238 | { .int_p = &settings.resume_options }, "Resume options", NULL}, |
239 | #if defined(TOSHIBA_GIGABEAT_F) || defined(SANSA_E200) || defined(SANSA_C200) || defined(SANSA_FUZE) || defined(SANSA_E200V2) | 239 | #if MPEG_OPTION_DITHERING_ENABLED |
240 | {TYPE_INT, 0, INT_MAX, { .int_p = &settings.displayoptions }, | 240 | {TYPE_INT, 0, INT_MAX, { .int_p = &settings.displayoptions }, |
241 | "Display options", NULL}, | 241 | "Display options", NULL}, |
242 | #endif | 242 | #endif |
@@ -624,7 +624,7 @@ static int get_start_time(uint32_t duration) | |||
624 | struct vo_rect rc_vid, rc_bound; | 624 | struct vo_rect rc_vid, rc_bound; |
625 | uint32_t aspect_vid, aspect_bound; | 625 | uint32_t aspect_vid, aspect_bound; |
626 | 626 | ||
627 | enum state_enum slider_state = state0; | 627 | enum state_enum slider_state = STATE0; |
628 | 628 | ||
629 | lcd_(clear_display)(); | 629 | lcd_(clear_display)(); |
630 | lcd_(update)(); | 630 | lcd_(update)(); |
@@ -699,7 +699,7 @@ static int get_start_time(uint32_t duration) | |||
699 | stream_gray_show(true); | 699 | stream_gray_show(true); |
700 | #endif | 700 | #endif |
701 | 701 | ||
702 | while (slider_state < state9) | 702 | while (slider_state < STATE9) |
703 | { | 703 | { |
704 | mpeg_menu_sysevent_clear(); | 704 | mpeg_menu_sysevent_clear(); |
705 | button = tmo == TIMEOUT_BLOCK ? | 705 | button = tmo == TIMEOUT_BLOCK ? |
@@ -720,7 +720,7 @@ static int get_start_time(uint32_t duration) | |||
720 | case MPEG_START_TIME_RC_DOWN | BUTTON_REPEAT: | 720 | case MPEG_START_TIME_RC_DOWN | BUTTON_REPEAT: |
721 | #endif | 721 | #endif |
722 | resume_time = increment_time(resume_time, -60*TS_SECOND, duration); | 722 | resume_time = increment_time(resume_time, -60*TS_SECOND, duration); |
723 | slider_state = state0; | 723 | slider_state = STATE0; |
724 | break; | 724 | break; |
725 | 725 | ||
726 | case MPEG_START_TIME_UP: | 726 | case MPEG_START_TIME_UP: |
@@ -730,7 +730,7 @@ static int get_start_time(uint32_t duration) | |||
730 | case MPEG_START_TIME_RC_UP | BUTTON_REPEAT: | 730 | case MPEG_START_TIME_RC_UP | BUTTON_REPEAT: |
731 | #endif | 731 | #endif |
732 | resume_time = increment_time(resume_time, 60*TS_SECOND, duration); | 732 | resume_time = increment_time(resume_time, 60*TS_SECOND, duration); |
733 | slider_state = state0; | 733 | slider_state = STATE0; |
734 | break; | 734 | break; |
735 | 735 | ||
736 | /* Fine (1 second) control */ | 736 | /* Fine (1 second) control */ |
@@ -740,12 +740,12 @@ static int get_start_time(uint32_t duration) | |||
740 | case MPEG_START_TIME_RC_LEFT: | 740 | case MPEG_START_TIME_RC_LEFT: |
741 | case MPEG_START_TIME_RC_LEFT | BUTTON_REPEAT: | 741 | case MPEG_START_TIME_RC_LEFT | BUTTON_REPEAT: |
742 | #endif | 742 | #endif |
743 | #ifdef MPEG_START_TIME_SCROLL_UP | 743 | #ifdef MPEG_START_TIME_LEFT2 |
744 | case MPEG_START_TIME_SCROLL_UP: | 744 | case MPEG_START_TIME_LEFT2: |
745 | case MPEG_START_TIME_SCROLL_UP | BUTTON_REPEAT: | 745 | case MPEG_START_TIME_LEFT2 | BUTTON_REPEAT: |
746 | #endif | 746 | #endif |
747 | resume_time = increment_time(resume_time, -TS_SECOND, duration); | 747 | resume_time = increment_time(resume_time, -TS_SECOND, duration); |
748 | slider_state = state0; | 748 | slider_state = STATE0; |
749 | break; | 749 | break; |
750 | 750 | ||
751 | case MPEG_START_TIME_RIGHT: | 751 | case MPEG_START_TIME_RIGHT: |
@@ -754,12 +754,12 @@ static int get_start_time(uint32_t duration) | |||
754 | case MPEG_START_TIME_RC_RIGHT: | 754 | case MPEG_START_TIME_RC_RIGHT: |
755 | case MPEG_START_TIME_RC_RIGHT | BUTTON_REPEAT: | 755 | case MPEG_START_TIME_RC_RIGHT | BUTTON_REPEAT: |
756 | #endif | 756 | #endif |
757 | #ifdef MPEG_START_TIME_SCROLL_DOWN | 757 | #ifdef MPEG_START_TIME_RIGHT2 |
758 | case MPEG_START_TIME_SCROLL_DOWN: | 758 | case MPEG_START_TIME_RIGHT2: |
759 | case MPEG_START_TIME_SCROLL_DOWN | BUTTON_REPEAT: | 759 | case MPEG_START_TIME_RIGHT2 | BUTTON_REPEAT: |
760 | #endif | 760 | #endif |
761 | resume_time = increment_time(resume_time, TS_SECOND, duration); | 761 | resume_time = increment_time(resume_time, TS_SECOND, duration); |
762 | slider_state = state0; | 762 | slider_state = STATE0; |
763 | break; | 763 | break; |
764 | 764 | ||
765 | case MPEG_START_TIME_SELECT: | 765 | case MPEG_START_TIME_SELECT: |
@@ -768,7 +768,7 @@ static int get_start_time(uint32_t duration) | |||
768 | #endif | 768 | #endif |
769 | settings.resume_time = resume_time; | 769 | settings.resume_time = resume_time; |
770 | button = MPEG_START_SEEK; | 770 | button = MPEG_START_SEEK; |
771 | slider_state = state9; | 771 | slider_state = STATE9; |
772 | break; | 772 | break; |
773 | 773 | ||
774 | case MPEG_START_TIME_EXIT: | 774 | case MPEG_START_TIME_EXIT: |
@@ -776,17 +776,17 @@ static int get_start_time(uint32_t duration) | |||
776 | case MPEG_START_TIME_RC_EXIT: | 776 | case MPEG_START_TIME_RC_EXIT: |
777 | #endif | 777 | #endif |
778 | button = MPEG_START_EXIT; | 778 | button = MPEG_START_EXIT; |
779 | slider_state = state9; | 779 | slider_state = STATE9; |
780 | break; | 780 | break; |
781 | 781 | ||
782 | case ACTION_STD_CANCEL: | 782 | case ACTION_STD_CANCEL: |
783 | button = MPEG_START_QUIT; | 783 | button = MPEG_START_QUIT; |
784 | slider_state = state9; | 784 | slider_state = STATE9; |
785 | break; | 785 | break; |
786 | 786 | ||
787 | #ifdef HAVE_LCD_ENABLE | 787 | #ifdef HAVE_LCD_ENABLE |
788 | case LCD_ENABLE_EVENT_0: | 788 | case LCD_ENABLE_EVENT_0: |
789 | if (slider_state == state2) | 789 | if (slider_state == STATE2) |
790 | display_thumb_image(&rc_vid); | 790 | display_thumb_image(&rc_vid); |
791 | continue; | 791 | continue; |
792 | #endif | 792 | #endif |
@@ -799,18 +799,18 @@ static int get_start_time(uint32_t duration) | |||
799 | 799 | ||
800 | switch (slider_state) | 800 | switch (slider_state) |
801 | { | 801 | { |
802 | case state0: | 802 | case STATE0: |
803 | trigger_cpu_boost(); | 803 | trigger_cpu_boost(); |
804 | stream_seek(resume_time, SEEK_SET); | 804 | stream_seek(resume_time, SEEK_SET); |
805 | show_loading(&rc_bound); | 805 | show_loading(&rc_bound); |
806 | draw_slider(duration, resume_time, NULL); | 806 | draw_slider(duration, resume_time, NULL); |
807 | slider_state = state1; | 807 | slider_state = STATE1; |
808 | tmo = THUMB_DELAY; | 808 | tmo = THUMB_DELAY; |
809 | break; | 809 | break; |
810 | case state1: | 810 | case STATE1: |
811 | display_thumb_image(&rc_vid); | 811 | display_thumb_image(&rc_vid); |
812 | slider_state = state2; | 812 | slider_state = STATE2; |
813 | case state2: | 813 | case STATE2: |
814 | cancel_cpu_boost(); | 814 | cancel_cpu_boost(); |
815 | tmo = TIMEOUT_BLOCK; | 815 | tmo = TIMEOUT_BLOCK; |
816 | default: | 816 | default: |
@@ -968,7 +968,6 @@ int mpeg_menu(void) | |||
968 | return result; | 968 | return result; |
969 | } | 969 | } |
970 | 970 | ||
971 | /** MPEG Menu **/ | ||
972 | static void display_options(void) | 971 | static void display_options(void) |
973 | { | 972 | { |
974 | int selected = 0; | 973 | int selected = 0; |
@@ -1121,13 +1120,9 @@ static void resume_options(void) | |||
1121 | 1120 | ||
1122 | static void clear_resume_count(void) | 1121 | static void clear_resume_count(void) |
1123 | { | 1122 | { |
1123 | settings.resume_count = 0; | ||
1124 | configfile_save(SETTINGS_FILENAME, config, ARRAYLEN(config), | 1124 | configfile_save(SETTINGS_FILENAME, config, ARRAYLEN(config), |
1125 | SETTINGS_VERSION); | 1125 | SETTINGS_VERSION); |
1126 | |||
1127 | settings.resume_count = 0; | ||
1128 | |||
1129 | /* add this place holder so the count is above resume entries */ | ||
1130 | configfile_update_entry(SETTINGS_FILENAME, "Resume count", 0); | ||
1131 | } | 1126 | } |
1132 | 1127 | ||
1133 | static void mpeg_settings(void) | 1128 | static void mpeg_settings(void) |
@@ -1188,7 +1183,7 @@ void init_settings(const char* filename) | |||
1188 | settings.limitfps = 1; /* Limit FPS */ | 1183 | settings.limitfps = 1; /* Limit FPS */ |
1189 | settings.skipframes = 1; /* Skip frames */ | 1184 | settings.skipframes = 1; /* Skip frames */ |
1190 | settings.resume_options = MPEG_RESUME_MENU_ALWAYS; /* Enable start menu */ | 1185 | settings.resume_options = MPEG_RESUME_MENU_ALWAYS; /* Enable start menu */ |
1191 | settings.resume_count = -1; | 1186 | settings.resume_count = 0; |
1192 | #ifdef HAVE_BACKLIGHT_BRIGHTNESS | 1187 | #ifdef HAVE_BACKLIGHT_BRIGHTNESS |
1193 | settings.backlight_brightness = -1; /* Use default setting */ | 1188 | settings.backlight_brightness = -1; /* Use default setting */ |
1194 | #endif | 1189 | #endif |
@@ -1201,55 +1196,39 @@ void init_settings(const char* filename) | |||
1201 | settings.equalizer = false; | 1196 | settings.equalizer = false; |
1202 | settings.dithering = false; | 1197 | settings.dithering = false; |
1203 | 1198 | ||
1204 | if (configfile_load(SETTINGS_FILENAME, config, | 1199 | if (configfile_load(SETTINGS_FILENAME, config, ARRAYLEN(config), |
1205 | sizeof(config)/sizeof(*config), | ||
1206 | SETTINGS_MIN_VERSION) < 0) | 1200 | SETTINGS_MIN_VERSION) < 0) |
1207 | { | 1201 | { |
1208 | /* Generate a new config file with default values */ | 1202 | /* Generate a new config file with default values */ |
1209 | configfile_save(SETTINGS_FILENAME, config, | 1203 | configfile_save(SETTINGS_FILENAME, config, ARRAYLEN(config), |
1210 | sizeof(config)/sizeof(*config), | ||
1211 | SETTINGS_VERSION); | 1204 | SETTINGS_VERSION); |
1212 | } | 1205 | } |
1213 | 1206 | ||
1214 | #if MPEG_OPTION_DITHERING_ENABLED | 1207 | rb->strlcpy(settings.resume_filename, filename, MAX_PATH); |
1215 | if ((settings.displayoptions = | ||
1216 | configfile_get_value(SETTINGS_FILENAME, "Display options")) < 0) | ||
1217 | { | ||
1218 | configfile_update_entry(SETTINGS_FILENAME, "Display options", | ||
1219 | (settings.displayoptions=0)); | ||
1220 | } | ||
1221 | rb->lcd_yuv_set_options(settings.displayoptions); | ||
1222 | #endif | ||
1223 | |||
1224 | if (settings.resume_count < 0) | ||
1225 | { | ||
1226 | settings.resume_count = 0; | ||
1227 | configfile_update_entry(SETTINGS_FILENAME, "Resume count", 0); | ||
1228 | } | ||
1229 | |||
1230 | rb->snprintf(settings.resume_filename, MAX_PATH, "%s", filename); | ||
1231 | 1208 | ||
1232 | /* get the resume time for the current mpeg if it exist */ | 1209 | /* get the resume time for the current mpeg if it exists */ |
1233 | if ((settings.resume_time = configfile_get_value | 1210 | if ((settings.resume_time = configfile_get_value |
1234 | (SETTINGS_FILENAME, filename)) < 0) | 1211 | (SETTINGS_FILENAME, filename)) < 0) |
1235 | { | 1212 | { |
1236 | settings.resume_time = 0; | 1213 | settings.resume_time = 0; |
1237 | } | 1214 | } |
1238 | 1215 | ||
1216 | #if MPEG_OPTION_DITHERING_ENABLED | ||
1217 | rb->lcd_yuv_set_options(settings.displayoptions); | ||
1218 | #endif | ||
1219 | |||
1239 | /* Set our audio options */ | 1220 | /* Set our audio options */ |
1240 | sync_audio_settings(false); | 1221 | sync_audio_settings(false); |
1241 | } | 1222 | } |
1242 | 1223 | ||
1243 | void save_settings(void) | 1224 | void save_settings(void) |
1244 | { | 1225 | { |
1245 | configfile_update_entry(SETTINGS_FILENAME, "Show FPS", | 1226 | unsigned i; |
1246 | settings.showfps); | 1227 | for (i = 0; i < ARRAYLEN(config); i++) |
1247 | configfile_update_entry(SETTINGS_FILENAME, "Limit FPS", | 1228 | { |
1248 | settings.limitfps); | 1229 | configfile_update_entry(SETTINGS_FILENAME, config[i].name, |
1249 | configfile_update_entry(SETTINGS_FILENAME, "Skip frames", | 1230 | *(config[i].int_p)); |
1250 | settings.skipframes); | 1231 | } |
1251 | configfile_update_entry(SETTINGS_FILENAME, "Resume options", | ||
1252 | settings.resume_options); | ||
1253 | 1232 | ||
1254 | /* If this was a new resume entry then update the total resume count */ | 1233 | /* If this was a new resume entry then update the total resume count */ |
1255 | if (configfile_update_entry(SETTINGS_FILENAME, settings.resume_filename, | 1234 | if (configfile_update_entry(SETTINGS_FILENAME, settings.resume_filename, |
@@ -1259,26 +1238,6 @@ void save_settings(void) | |||
1259 | ++settings.resume_count); | 1238 | ++settings.resume_count); |
1260 | } | 1239 | } |
1261 | 1240 | ||
1262 | #ifdef HAVE_BACKLIGHT_BRIGHTNESS | ||
1263 | configfile_update_entry(SETTINGS_FILENAME, "Backlight brightness", | ||
1264 | settings.backlight_brightness); | ||
1265 | #endif | ||
1266 | |||
1267 | #if MPEG_OPTION_DITHERING_ENABLED | ||
1268 | configfile_update_entry(SETTINGS_FILENAME, "Display options", | ||
1269 | settings.displayoptions); | ||
1270 | #endif | ||
1271 | configfile_update_entry(SETTINGS_FILENAME, "Tone controls", | ||
1272 | settings.tone_controls); | ||
1273 | configfile_update_entry(SETTINGS_FILENAME, "Channel modes", | ||
1274 | settings.channel_modes); | ||
1275 | configfile_update_entry(SETTINGS_FILENAME, "Crossfeed", | ||
1276 | settings.crossfeed); | ||
1277 | configfile_update_entry(SETTINGS_FILENAME, "Equalizer", | ||
1278 | settings.equalizer); | ||
1279 | configfile_update_entry(SETTINGS_FILENAME, "Dithering", | ||
1280 | settings.dithering); | ||
1281 | |||
1282 | /* Restore audio options */ | 1241 | /* Restore audio options */ |
1283 | sync_audio_settings(true); | 1242 | sync_audio_settings(true); |
1284 | } | 1243 | } |
diff --git a/apps/plugins/mpegplayer/mpegplayer.c b/apps/plugins/mpegplayer/mpegplayer.c index 7a2578506d..155c601762 100644 --- a/apps/plugins/mpegplayer/mpegplayer.c +++ b/apps/plugins/mpegplayer/mpegplayer.c | |||
@@ -151,6 +151,7 @@ PLUGIN_IRAM_DECLARE | |||
151 | #define MPEG_VOLUP2 BUTTON_VOL_UP | 151 | #define MPEG_VOLUP2 BUTTON_VOL_UP |
152 | #define MPEG_RW BUTTON_UP | 152 | #define MPEG_RW BUTTON_UP |
153 | #define MPEG_FF BUTTON_DOWN | 153 | #define MPEG_FF BUTTON_DOWN |
154 | |||
154 | #define MPEG_RC_MENU BUTTON_RC_DSP | 155 | #define MPEG_RC_MENU BUTTON_RC_DSP |
155 | #define MPEG_RC_STOP (BUTTON_RC_PLAY | BUTTON_REPEAT) | 156 | #define MPEG_RC_STOP (BUTTON_RC_PLAY | BUTTON_REPEAT) |
156 | #define MPEG_RC_PAUSE (BUTTON_RC_PLAY | BUTTON_REL) | 157 | #define MPEG_RC_PAUSE (BUTTON_RC_PLAY | BUTTON_REL) |
@@ -170,6 +171,7 @@ PLUGIN_IRAM_DECLARE | |||
170 | #define MPEG_VOLUP2 BUTTON_VOL_UP | 171 | #define MPEG_VOLUP2 BUTTON_VOL_UP |
171 | #define MPEG_RW BUTTON_UP | 172 | #define MPEG_RW BUTTON_UP |
172 | #define MPEG_FF BUTTON_DOWN | 173 | #define MPEG_FF BUTTON_DOWN |
174 | |||
173 | #define MPEG_RC_MENU BUTTON_RC_DSP | 175 | #define MPEG_RC_MENU BUTTON_RC_DSP |
174 | #define MPEG_RC_STOP (BUTTON_RC_PLAY | BUTTON_REPEAT) | 176 | #define MPEG_RC_STOP (BUTTON_RC_PLAY | BUTTON_REPEAT) |
175 | #define MPEG_RC_PAUSE (BUTTON_RC_PLAY | BUTTON_REL) | 177 | #define MPEG_RC_PAUSE (BUTTON_RC_PLAY | BUTTON_REL) |
@@ -337,7 +339,7 @@ CONFIG_KEYPAD == SANSA_M200_PAD | |||
337 | /* One thing we can do here for targets with remotes is having a display | 339 | /* One thing we can do here for targets with remotes is having a display |
338 | * always on the remote instead of always forcing a popup on the main display */ | 340 | * always on the remote instead of always forcing a popup on the main display */ |
339 | 341 | ||
340 | #define FF_REWIND_MAX_PERCENT 3 /* cap ff/rewind step size at max % of file */ | 342 | #define FF_REWIND_MAX_PERCENT 3 /* cap ff/rewind step size at max % of file */ |
341 | /* 3% of 30min file == 54s step size */ | 343 | /* 3% of 30min file == 54s step size */ |
342 | #define MIN_FF_REWIND_STEP (TS_SECOND/2) | 344 | #define MIN_FF_REWIND_STEP (TS_SECOND/2) |
343 | #define WVS_MIN_UPDATE_INTERVAL (HZ/2) | 345 | #define WVS_MIN_UPDATE_INTERVAL (HZ/2) |
@@ -467,18 +469,7 @@ static void draw_clear_area(int x, int y, int width, int height) | |||
467 | 469 | ||
468 | static void draw_clear_area_rect(const struct vo_rect *rc) | 470 | static void draw_clear_area_rect(const struct vo_rect *rc) |
469 | { | 471 | { |
470 | int x = rc->l; | 472 | draw_clear_area(rc->l, rc->t, rc->r - rc->l, rc->b - rc->t); |
471 | int y = rc->t; | ||
472 | int width = rc->r - rc->l; | ||
473 | int height = rc->b - rc->t; | ||
474 | #ifdef HAVE_LCD_COLOR | ||
475 | rb->screen_clear_area(rb->screens[SCREEN_MAIN], _X, _Y, _W, _H); | ||
476 | #else | ||
477 | int oldmode = grey_get_drawmode(); | ||
478 | grey_set_drawmode(DRMODE_SOLID | DRMODE_INVERSEVID); | ||
479 | grey_fillrect(_X, _Y, _W, _H); | ||
480 | grey_set_drawmode(oldmode); | ||
481 | #endif | ||
482 | } | 473 | } |
483 | 474 | ||
484 | static void draw_fillrect(int x, int y, int width, int height) | 475 | static void draw_fillrect(int x, int y, int width, int height) |
@@ -572,7 +563,7 @@ static void draw_oriented_mono_bitmap_part(const unsigned char *src, | |||
572 | src_end = src + width; | 563 | src_end = src + width; |
573 | 564 | ||
574 | dst = rb->lcd_framebuffer + (LCD_WIDTH - y) + x*LCD_WIDTH; | 565 | dst = rb->lcd_framebuffer + (LCD_WIDTH - y) + x*LCD_WIDTH; |
575 | do | 566 | do |
576 | { | 567 | { |
577 | const unsigned char *src_col = src++; | 568 | const unsigned char *src_col = src++; |
578 | unsigned data = *src_col >> src_y; | 569 | unsigned data = *src_col >> src_y; |
@@ -582,7 +573,7 @@ static void draw_oriented_mono_bitmap_part(const unsigned char *src, | |||
582 | dst_end = dst_col - height; | 573 | dst_end = dst_col - height; |
583 | dst += LCD_WIDTH; | 574 | dst += LCD_WIDTH; |
584 | 575 | ||
585 | do | 576 | do |
586 | { | 577 | { |
587 | dst_col--; | 578 | dst_col--; |
588 | 579 | ||
@@ -882,7 +873,7 @@ static void wvs_refresh_time(void) | |||
882 | hms_format(buf, sizeof (buf), &hms); | 873 | hms_format(buf, sizeof (buf), &hms); |
883 | 874 | ||
884 | draw_clear_area_rect(&wvs.time_rect); | 875 | draw_clear_area_rect(&wvs.time_rect); |
885 | draw_putsxy_oriented(wvs.time_rect.l, wvs.time_rect.t, buf); | 876 | draw_putsxy_oriented(wvs.time_rect.l, wvs.time_rect.t, buf); |
886 | 877 | ||
887 | vo_rect_union(&wvs.update_rect, &wvs.update_rect, | 878 | vo_rect_union(&wvs.update_rect, &wvs.update_rect, |
888 | &wvs.prog_rect); | 879 | &wvs.prog_rect); |
@@ -1588,6 +1579,10 @@ static void button_loop(void) | |||
1588 | 1579 | ||
1589 | /* The menu can change the font, so restore */ | 1580 | /* The menu can change the font, so restore */ |
1590 | rb->lcd_setfont(FONT_SYSFIXED); | 1581 | rb->lcd_setfont(FONT_SYSFIXED); |
1582 | #ifdef HAVE_LCD_COLOR | ||
1583 | rb->lcd_set_foreground(LCD_WHITE); | ||
1584 | rb->lcd_set_background(LCD_BLACK); | ||
1585 | #endif | ||
1591 | 1586 | ||
1592 | switch (result) | 1587 | switch (result) |
1593 | { | 1588 | { |
@@ -1739,7 +1734,7 @@ enum plugin_status plugin_start(const void* parameter) | |||
1739 | rb->lcd_clear_display(); | 1734 | rb->lcd_clear_display(); |
1740 | rb->lcd_update(); | 1735 | rb->lcd_update(); |
1741 | 1736 | ||
1742 | save_settings(); /* Save settings (if they have changed) */ | 1737 | save_settings(); |
1743 | status = PLUGIN_OK; | 1738 | status = PLUGIN_OK; |
1744 | 1739 | ||
1745 | mpeg_menu_sysevent_handle(); | 1740 | mpeg_menu_sysevent_handle(); |
@@ -1757,7 +1752,7 @@ enum plugin_status plugin_start(const void* parameter) | |||
1757 | rb->splashf(HZ*2, errstring, err); | 1752 | rb->splashf(HZ*2, errstring, err); |
1758 | } | 1753 | } |
1759 | } | 1754 | } |
1760 | 1755 | ||
1761 | #if defined(HAVE_LCD_MODES) && (HAVE_LCD_MODES & LCD_MODE_YUV) | 1756 | #if defined(HAVE_LCD_MODES) && (HAVE_LCD_MODES & LCD_MODE_YUV) |
1762 | rb->lcd_set_mode(LCD_MODE_RGB565); | 1757 | rb->lcd_set_mode(LCD_MODE_RGB565); |
1763 | #endif | 1758 | #endif |