summaryrefslogtreecommitdiff
path: root/apps/plugins/mpegplayer
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/mpegplayer')
-rw-r--r--apps/plugins/mpegplayer/mpeg_settings.c29
-rw-r--r--apps/plugins/mpegplayer/mpegplayer.c42
2 files changed, 71 insertions, 0 deletions
diff --git a/apps/plugins/mpegplayer/mpeg_settings.c b/apps/plugins/mpegplayer/mpeg_settings.c
index 2cc8fbc718..308aee62f3 100644
--- a/apps/plugins/mpegplayer/mpeg_settings.c
+++ b/apps/plugins/mpegplayer/mpeg_settings.c
@@ -47,6 +47,13 @@ struct mpeg_settings settings;
47#define MPEG_START_TIME_SCROLL_UP BUTTON_VOL_UP 47#define MPEG_START_TIME_SCROLL_UP BUTTON_VOL_UP
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)
51#define MPEG_START_TIME_RC_LEFT BUTTON_RC_REW
52#define MPEG_START_TIME_RC_RIGHT BUTTON_RC_FF
53#define MPEG_START_TIME_RC_UP BUTTON_RC_VOL_UP
54#define MPEG_START_TIME_RC_DOWN BUTTON_RC_VOL_DOWN
55#define MPEG_START_TIME_RC_EXIT (BUTTON_RC_PLAY | BUTTON_REPEAT)
56
50#elif CONFIG_KEYPAD == IRIVER_H10_PAD 57#elif CONFIG_KEYPAD == IRIVER_H10_PAD
51#define MPEG_START_TIME_SELECT BUTTON_PLAY 58#define MPEG_START_TIME_SELECT BUTTON_PLAY
52#define MPEG_START_TIME_LEFT BUTTON_LEFT 59#define MPEG_START_TIME_LEFT BUTTON_LEFT
@@ -439,12 +446,20 @@ static int get_start_time(uint32_t duration)
439 /* Coarse (1 minute) control */ 446 /* Coarse (1 minute) control */
440 case MPEG_START_TIME_DOWN: 447 case MPEG_START_TIME_DOWN:
441 case MPEG_START_TIME_DOWN | BUTTON_REPEAT: 448 case MPEG_START_TIME_DOWN | BUTTON_REPEAT:
449#if MPEG_START_TIME_RC_DOWN
450 case MPEG_START_TIME_RC_DOWN:
451 case MPEG_START_TIME_RC_DOWN | BUTTON_REPEAT:
452#endif
442 resume_time = increment_time(resume_time, -60*TS_SECOND, duration); 453 resume_time = increment_time(resume_time, -60*TS_SECOND, duration);
443 slider_state = state0; 454 slider_state = state0;
444 break; 455 break;
445 456
446 case MPEG_START_TIME_UP: 457 case MPEG_START_TIME_UP:
447 case MPEG_START_TIME_UP | BUTTON_REPEAT: 458 case MPEG_START_TIME_UP | BUTTON_REPEAT:
459#if MPEG_START_TIME_RC_UP
460 case MPEG_START_TIME_RC_UP:
461 case MPEG_START_TIME_RC_UP | BUTTON_REPEAT:
462#endif
448 resume_time = increment_time(resume_time, 60*TS_SECOND, duration); 463 resume_time = increment_time(resume_time, 60*TS_SECOND, duration);
449 slider_state = state0; 464 slider_state = state0;
450 break; 465 break;
@@ -452,6 +467,10 @@ static int get_start_time(uint32_t duration)
452 /* Fine (1 second) control */ 467 /* Fine (1 second) control */
453 case MPEG_START_TIME_LEFT: 468 case MPEG_START_TIME_LEFT:
454 case MPEG_START_TIME_LEFT | BUTTON_REPEAT: 469 case MPEG_START_TIME_LEFT | BUTTON_REPEAT:
470#if MPEG_START_TIME_RC_LEFT
471 case MPEG_START_TIME_RC_LEFT:
472 case MPEG_START_TIME_RC_LEFT | BUTTON_REPEAT:
473#endif
455#ifdef MPEG_START_TIME_SCROLL_UP 474#ifdef MPEG_START_TIME_SCROLL_UP
456 case MPEG_START_TIME_SCROLL_UP: 475 case MPEG_START_TIME_SCROLL_UP:
457 case MPEG_START_TIME_SCROLL_UP | BUTTON_REPEAT: 476 case MPEG_START_TIME_SCROLL_UP | BUTTON_REPEAT:
@@ -462,6 +481,10 @@ static int get_start_time(uint32_t duration)
462 481
463 case MPEG_START_TIME_RIGHT: 482 case MPEG_START_TIME_RIGHT:
464 case MPEG_START_TIME_RIGHT | BUTTON_REPEAT: 483 case MPEG_START_TIME_RIGHT | BUTTON_REPEAT:
484#if MPEG_START_TIME_RC_RIGHT
485 case MPEG_START_TIME_RC_RIGHT:
486 case MPEG_START_TIME_RC_RIGHT | BUTTON_REPEAT:
487#endif
465#ifdef MPEG_START_TIME_SCROLL_DOWN 488#ifdef MPEG_START_TIME_SCROLL_DOWN
466 case MPEG_START_TIME_SCROLL_DOWN: 489 case MPEG_START_TIME_SCROLL_DOWN:
467 case MPEG_START_TIME_SCROLL_DOWN | BUTTON_REPEAT: 490 case MPEG_START_TIME_SCROLL_DOWN | BUTTON_REPEAT:
@@ -471,12 +494,18 @@ static int get_start_time(uint32_t duration)
471 break; 494 break;
472 495
473 case MPEG_START_TIME_SELECT: 496 case MPEG_START_TIME_SELECT:
497#if MPEG_START_TIME_RC_SELECT
498 case MPEG_START_TIME_RC_SELECT:
499#endif
474 settings.resume_time = resume_time; 500 settings.resume_time = resume_time;
475 button = MPEG_START_SEEK; 501 button = MPEG_START_SEEK;
476 slider_state = state9; 502 slider_state = state9;
477 break; 503 break;
478 504
479 case MPEG_START_TIME_EXIT: 505 case MPEG_START_TIME_EXIT:
506#if MPEG_START_TIME_RC_EXIT
507 case MPEG_START_TIME_RC_EXIT:
508#endif
480 button = MPEG_START_EXIT; 509 button = MPEG_START_EXIT;
481 slider_state = state9; 510 slider_state = state9;
482 break; 511 break;
diff --git a/apps/plugins/mpegplayer/mpegplayer.c b/apps/plugins/mpegplayer/mpegplayer.c
index 7c82ac5243..ba5fd26742 100644
--- a/apps/plugins/mpegplayer/mpegplayer.c
+++ b/apps/plugins/mpegplayer/mpegplayer.c
@@ -149,6 +149,13 @@ PLUGIN_IRAM_DECLARE
149#define MPEG_VOLUP2 BUTTON_VOL_UP 149#define MPEG_VOLUP2 BUTTON_VOL_UP
150#define MPEG_RW BUTTON_UP 150#define MPEG_RW BUTTON_UP
151#define MPEG_FF BUTTON_DOWN 151#define MPEG_FF BUTTON_DOWN
152#define MPEG_RC_MENU BUTTON_RC_DSP
153#define MPEG_RC_STOP (BUTTON_RC_PLAY | BUTTON_REPEAT)
154#define MPEG_RC_PAUSE (BUTTON_RC_PLAY | BUTTON_REL)
155#define MPEG_RC_VOLDOWN BUTTON_RC_VOL_DOWN
156#define MPEG_RC_VOLUP BUTTON_RC_VOL_UP
157#define MPEG_RC_RW BUTTON_RC_REW
158#define MPEG_RC_FF BUTTON_RC_FF
152 159
153#elif CONFIG_KEYPAD == IRIVER_H10_PAD 160#elif CONFIG_KEYPAD == IRIVER_H10_PAD
154#define MPEG_MENU BUTTON_LEFT 161#define MPEG_MENU BUTTON_LEFT
@@ -999,9 +1006,15 @@ static uint32_t wvs_ff_rw(int btn, unsigned refresh)
999 switch (btn) 1006 switch (btn)
1000 { 1007 {
1001 case MPEG_FF: 1008 case MPEG_FF:
1009#ifdef MPEG_RC_FF
1010 case MPEG_RC_FF:
1011#endif
1002 wvs_set_status(WVS_STATUS_FF); 1012 wvs_set_status(WVS_STATUS_FF);
1003 break; 1013 break;
1004 case MPEG_RW: 1014 case MPEG_RW:
1015#ifdef MPEG_RC_RW
1016 case MPEG_RC_RW:
1017#endif
1005 wvs_set_status(WVS_STATUS_RW); 1018 wvs_set_status(WVS_STATUS_RW);
1006 break; 1019 break;
1007 default: 1020 default:
@@ -1023,10 +1036,18 @@ static uint32_t wvs_ff_rw(int btn, unsigned refresh)
1023 1036
1024 case MPEG_FF | BUTTON_REPEAT: 1037 case MPEG_FF | BUTTON_REPEAT:
1025 case MPEG_RW | BUTTON_REPEAT: 1038 case MPEG_RW | BUTTON_REPEAT:
1039#ifdef MPEG_RC_FF
1040 case MPEG_RC_FF | BUTTON_REPEAT:
1041 case MPEG_RC_RW | BUTTON_REPEAT:
1042#endif
1026 break; 1043 break;
1027 1044
1028 case MPEG_FF | BUTTON_REL: 1045 case MPEG_FF | BUTTON_REL:
1029 case MPEG_RW | BUTTON_REL: 1046 case MPEG_RW | BUTTON_REL:
1047#ifdef MPEG_RC_FF
1048 case MPEG_RC_FF | BUTTON_REL:
1049 case MPEG_RC_RW | BUTTON_REL:
1050#endif
1030 if (wvs.status == WVS_STATUS_FF) 1051 if (wvs.status == WVS_STATUS_FF)
1031 time += ff_rw_count; 1052 time += ff_rw_count;
1032 else if (wvs.status == WVS_STATUS_RW) 1053 else if (wvs.status == WVS_STATUS_RW)
@@ -1275,6 +1296,10 @@ static void button_loop(void)
1275 case MPEG_VOLUP2: 1296 case MPEG_VOLUP2:
1276 case MPEG_VOLUP2|BUTTON_REPEAT: 1297 case MPEG_VOLUP2|BUTTON_REPEAT:
1277#endif 1298#endif
1299#ifdef MPEG_RC_VOLUP
1300 case MPEG_RC_VOLUP:
1301 case MPEG_RC_VOLUP|BUTTON_REPEAT:
1302#endif
1278 { 1303 {
1279 wvs_set_volume(+1); 1304 wvs_set_volume(+1);
1280 break; 1305 break;
@@ -1286,12 +1311,19 @@ static void button_loop(void)
1286 case MPEG_VOLDOWN2: 1311 case MPEG_VOLDOWN2:
1287 case MPEG_VOLDOWN2|BUTTON_REPEAT: 1312 case MPEG_VOLDOWN2|BUTTON_REPEAT:
1288#endif 1313#endif
1314#ifdef MPEG_RC_VOLDOWN
1315 case MPEG_RC_VOLDOWN:
1316 case MPEG_RC_VOLDOWN|BUTTON_REPEAT:
1317#endif
1289 { 1318 {
1290 wvs_set_volume(-1); 1319 wvs_set_volume(-1);
1291 break; 1320 break;
1292 } /* MPEG_VOLDOWN*: */ 1321 } /* MPEG_VOLDOWN*: */
1293 1322
1294 case MPEG_MENU: 1323 case MPEG_MENU:
1324#ifdef MPEG_RC_MENU
1325 case MPEG_RC_MENU:
1326#endif
1295 { 1327 {
1296 int state = wvs_halt(); /* save previous state */ 1328 int state = wvs_halt(); /* save previous state */
1297 int result; 1329 int result;
@@ -1330,6 +1362,9 @@ static void button_loop(void)
1330 } /* MPEG_MENU: */ 1362 } /* MPEG_MENU: */
1331 1363
1332 case MPEG_STOP: 1364 case MPEG_STOP:
1365#ifdef MPEG_RC_STOP
1366 case MPEG_RC_STOP:
1367#endif
1333 case ACTION_STD_CANCEL: 1368 case ACTION_STD_CANCEL:
1334 { 1369 {
1335 wvs_stop(); 1370 wvs_stop();
@@ -1340,6 +1375,9 @@ static void button_loop(void)
1340#ifdef MPEG_PAUSE2 1375#ifdef MPEG_PAUSE2
1341 case MPEG_PAUSE2: 1376 case MPEG_PAUSE2:
1342#endif 1377#endif
1378#ifdef MPEG_RC_PAUSE
1379 case MPEG_RC_PAUSE:
1380#endif
1343 { 1381 {
1344 int status = wvs_status(); 1382 int status = wvs_status();
1345 1383
@@ -1359,6 +1397,10 @@ static void button_loop(void)
1359 1397
1360 case MPEG_RW: 1398 case MPEG_RW:
1361 case MPEG_FF: 1399 case MPEG_FF:
1400#ifdef MPEG_RC_RW
1401 case MPEG_RC_RW:
1402 case MPEG_RC_FF:
1403#endif
1362 { 1404 {
1363 wvs_seek(button); 1405 wvs_seek(button);
1364 break; 1406 break;