forked from len0rd/rockbox
add support for the gigabeat remote control in mpegplayer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16175 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
9ef02a5fec
commit
11298701dd
2 changed files with 71 additions and 0 deletions
|
@ -47,6 +47,13 @@ struct mpeg_settings settings;
|
|||
#define MPEG_START_TIME_SCROLL_UP BUTTON_VOL_UP
|
||||
#define MPEG_START_TIME_EXIT BUTTON_POWER
|
||||
|
||||
#define MPEG_START_TIME_RC_SELECT (BUTTON_RC_PLAY | BUTTON_REL)
|
||||
#define MPEG_START_TIME_RC_LEFT BUTTON_RC_REW
|
||||
#define MPEG_START_TIME_RC_RIGHT BUTTON_RC_FF
|
||||
#define MPEG_START_TIME_RC_UP BUTTON_RC_VOL_UP
|
||||
#define MPEG_START_TIME_RC_DOWN BUTTON_RC_VOL_DOWN
|
||||
#define MPEG_START_TIME_RC_EXIT (BUTTON_RC_PLAY | BUTTON_REPEAT)
|
||||
|
||||
#elif CONFIG_KEYPAD == IRIVER_H10_PAD
|
||||
#define MPEG_START_TIME_SELECT BUTTON_PLAY
|
||||
#define MPEG_START_TIME_LEFT BUTTON_LEFT
|
||||
|
@ -439,12 +446,20 @@ static int get_start_time(uint32_t duration)
|
|||
/* Coarse (1 minute) control */
|
||||
case MPEG_START_TIME_DOWN:
|
||||
case MPEG_START_TIME_DOWN | BUTTON_REPEAT:
|
||||
#if MPEG_START_TIME_RC_DOWN
|
||||
case MPEG_START_TIME_RC_DOWN:
|
||||
case MPEG_START_TIME_RC_DOWN | BUTTON_REPEAT:
|
||||
#endif
|
||||
resume_time = increment_time(resume_time, -60*TS_SECOND, duration);
|
||||
slider_state = state0;
|
||||
break;
|
||||
|
||||
case MPEG_START_TIME_UP:
|
||||
case MPEG_START_TIME_UP | BUTTON_REPEAT:
|
||||
#if MPEG_START_TIME_RC_UP
|
||||
case MPEG_START_TIME_RC_UP:
|
||||
case MPEG_START_TIME_RC_UP | BUTTON_REPEAT:
|
||||
#endif
|
||||
resume_time = increment_time(resume_time, 60*TS_SECOND, duration);
|
||||
slider_state = state0;
|
||||
break;
|
||||
|
@ -452,6 +467,10 @@ static int get_start_time(uint32_t duration)
|
|||
/* Fine (1 second) control */
|
||||
case MPEG_START_TIME_LEFT:
|
||||
case MPEG_START_TIME_LEFT | BUTTON_REPEAT:
|
||||
#if MPEG_START_TIME_RC_LEFT
|
||||
case MPEG_START_TIME_RC_LEFT:
|
||||
case MPEG_START_TIME_RC_LEFT | BUTTON_REPEAT:
|
||||
#endif
|
||||
#ifdef MPEG_START_TIME_SCROLL_UP
|
||||
case MPEG_START_TIME_SCROLL_UP:
|
||||
case MPEG_START_TIME_SCROLL_UP | BUTTON_REPEAT:
|
||||
|
@ -462,6 +481,10 @@ static int get_start_time(uint32_t duration)
|
|||
|
||||
case MPEG_START_TIME_RIGHT:
|
||||
case MPEG_START_TIME_RIGHT | BUTTON_REPEAT:
|
||||
#if MPEG_START_TIME_RC_RIGHT
|
||||
case MPEG_START_TIME_RC_RIGHT:
|
||||
case MPEG_START_TIME_RC_RIGHT | BUTTON_REPEAT:
|
||||
#endif
|
||||
#ifdef MPEG_START_TIME_SCROLL_DOWN
|
||||
case MPEG_START_TIME_SCROLL_DOWN:
|
||||
case MPEG_START_TIME_SCROLL_DOWN | BUTTON_REPEAT:
|
||||
|
@ -471,12 +494,18 @@ static int get_start_time(uint32_t duration)
|
|||
break;
|
||||
|
||||
case MPEG_START_TIME_SELECT:
|
||||
#if MPEG_START_TIME_RC_SELECT
|
||||
case MPEG_START_TIME_RC_SELECT:
|
||||
#endif
|
||||
settings.resume_time = resume_time;
|
||||
button = MPEG_START_SEEK;
|
||||
slider_state = state9;
|
||||
break;
|
||||
|
||||
case MPEG_START_TIME_EXIT:
|
||||
#if MPEG_START_TIME_RC_EXIT
|
||||
case MPEG_START_TIME_RC_EXIT:
|
||||
#endif
|
||||
button = MPEG_START_EXIT;
|
||||
slider_state = state9;
|
||||
break;
|
||||
|
|
|
@ -149,6 +149,13 @@ PLUGIN_IRAM_DECLARE
|
|||
#define MPEG_VOLUP2 BUTTON_VOL_UP
|
||||
#define MPEG_RW BUTTON_UP
|
||||
#define MPEG_FF BUTTON_DOWN
|
||||
#define MPEG_RC_MENU BUTTON_RC_DSP
|
||||
#define MPEG_RC_STOP (BUTTON_RC_PLAY | BUTTON_REPEAT)
|
||||
#define MPEG_RC_PAUSE (BUTTON_RC_PLAY | BUTTON_REL)
|
||||
#define MPEG_RC_VOLDOWN BUTTON_RC_VOL_DOWN
|
||||
#define MPEG_RC_VOLUP BUTTON_RC_VOL_UP
|
||||
#define MPEG_RC_RW BUTTON_RC_REW
|
||||
#define MPEG_RC_FF BUTTON_RC_FF
|
||||
|
||||
#elif CONFIG_KEYPAD == IRIVER_H10_PAD
|
||||
#define MPEG_MENU BUTTON_LEFT
|
||||
|
@ -999,9 +1006,15 @@ static uint32_t wvs_ff_rw(int btn, unsigned refresh)
|
|||
switch (btn)
|
||||
{
|
||||
case MPEG_FF:
|
||||
#ifdef MPEG_RC_FF
|
||||
case MPEG_RC_FF:
|
||||
#endif
|
||||
wvs_set_status(WVS_STATUS_FF);
|
||||
break;
|
||||
case MPEG_RW:
|
||||
#ifdef MPEG_RC_RW
|
||||
case MPEG_RC_RW:
|
||||
#endif
|
||||
wvs_set_status(WVS_STATUS_RW);
|
||||
break;
|
||||
default:
|
||||
|
@ -1023,10 +1036,18 @@ static uint32_t wvs_ff_rw(int btn, unsigned refresh)
|
|||
|
||||
case MPEG_FF | BUTTON_REPEAT:
|
||||
case MPEG_RW | BUTTON_REPEAT:
|
||||
#ifdef MPEG_RC_FF
|
||||
case MPEG_RC_FF | BUTTON_REPEAT:
|
||||
case MPEG_RC_RW | BUTTON_REPEAT:
|
||||
#endif
|
||||
break;
|
||||
|
||||
case MPEG_FF | BUTTON_REL:
|
||||
case MPEG_RW | BUTTON_REL:
|
||||
#ifdef MPEG_RC_FF
|
||||
case MPEG_RC_FF | BUTTON_REL:
|
||||
case MPEG_RC_RW | BUTTON_REL:
|
||||
#endif
|
||||
if (wvs.status == WVS_STATUS_FF)
|
||||
time += ff_rw_count;
|
||||
else if (wvs.status == WVS_STATUS_RW)
|
||||
|
@ -1274,6 +1295,10 @@ static void button_loop(void)
|
|||
#ifdef MPEG_VOLUP2
|
||||
case MPEG_VOLUP2:
|
||||
case MPEG_VOLUP2|BUTTON_REPEAT:
|
||||
#endif
|
||||
#ifdef MPEG_RC_VOLUP
|
||||
case MPEG_RC_VOLUP:
|
||||
case MPEG_RC_VOLUP|BUTTON_REPEAT:
|
||||
#endif
|
||||
{
|
||||
wvs_set_volume(+1);
|
||||
|
@ -1285,6 +1310,10 @@ static void button_loop(void)
|
|||
#ifdef MPEG_VOLDOWN2
|
||||
case MPEG_VOLDOWN2:
|
||||
case MPEG_VOLDOWN2|BUTTON_REPEAT:
|
||||
#endif
|
||||
#ifdef MPEG_RC_VOLDOWN
|
||||
case MPEG_RC_VOLDOWN:
|
||||
case MPEG_RC_VOLDOWN|BUTTON_REPEAT:
|
||||
#endif
|
||||
{
|
||||
wvs_set_volume(-1);
|
||||
|
@ -1292,6 +1321,9 @@ static void button_loop(void)
|
|||
} /* MPEG_VOLDOWN*: */
|
||||
|
||||
case MPEG_MENU:
|
||||
#ifdef MPEG_RC_MENU
|
||||
case MPEG_RC_MENU:
|
||||
#endif
|
||||
{
|
||||
int state = wvs_halt(); /* save previous state */
|
||||
int result;
|
||||
|
@ -1330,6 +1362,9 @@ static void button_loop(void)
|
|||
} /* MPEG_MENU: */
|
||||
|
||||
case MPEG_STOP:
|
||||
#ifdef MPEG_RC_STOP
|
||||
case MPEG_RC_STOP:
|
||||
#endif
|
||||
case ACTION_STD_CANCEL:
|
||||
{
|
||||
wvs_stop();
|
||||
|
@ -1339,6 +1374,9 @@ static void button_loop(void)
|
|||
case MPEG_PAUSE:
|
||||
#ifdef MPEG_PAUSE2
|
||||
case MPEG_PAUSE2:
|
||||
#endif
|
||||
#ifdef MPEG_RC_PAUSE
|
||||
case MPEG_RC_PAUSE:
|
||||
#endif
|
||||
{
|
||||
int status = wvs_status();
|
||||
|
@ -1359,6 +1397,10 @@ static void button_loop(void)
|
|||
|
||||
case MPEG_RW:
|
||||
case MPEG_FF:
|
||||
#ifdef MPEG_RC_RW
|
||||
case MPEG_RC_RW:
|
||||
case MPEG_RC_FF:
|
||||
#endif
|
||||
{
|
||||
wvs_seek(button);
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue