diff options
author | Marcoen Hirschberg <marcoen@gmail.com> | 2008-01-27 00:18:29 +0000 |
---|---|---|
committer | Marcoen Hirschberg <marcoen@gmail.com> | 2008-01-27 00:18:29 +0000 |
commit | 11298701ddee948cfb171c0976b02fb0efc677da (patch) | |
tree | e871860809cb10e4c82bea37dbab817d409e1bc8 /apps/plugins/mpegplayer | |
parent | 9ef02a5fec2fe6cfc2765e3cb0b197be09726cd8 (diff) | |
download | rockbox-11298701ddee948cfb171c0976b02fb0efc677da.tar.gz rockbox-11298701ddee948cfb171c0976b02fb0efc677da.zip |
add support for the gigabeat remote control in mpegplayer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16175 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/mpegplayer')
-rw-r--r-- | apps/plugins/mpegplayer/mpeg_settings.c | 29 | ||||
-rw-r--r-- | apps/plugins/mpegplayer/mpegplayer.c | 42 |
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; |