1
0
Fork 0
forked from len0rd/rockbox

Plugin Starfield PLA integration (code + manual)

This commit changes:
1) replace all keymaps with PLA ones.
2) do the required changes to the manual in order to match
code's changes.
3) add an alternative exit button (PLA_EXIT or PLA_CANCEL)

Change-Id: I0cea909dd2ff44b8c5a2daba11c192965c4a02c7
Reviewed-on: http://gerrit.rockbox.org/131
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Tested-by: Thomas Martitz <kugel@rockbox.org>
This commit is contained in:
Jean-Louis Biasini 2012-02-26 01:08:46 +01:00 committed by Thomas Martitz
parent 10c566ed94
commit a92696d40d
2 changed files with 29 additions and 258 deletions

View file

@ -20,231 +20,28 @@
#include "plugin.h"
#include "lib/helper.h"
#include "lib/pluginlib_exit.h"
#include "lib/pluginlib_actions.h"
/******************************* Globals ***********************************/
/* this set the context to use with PLA */
static const struct button_mapping *plugin_contexts[] = { pla_main_ctx };
/* Key assignement */
#if (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD) || \
(CONFIG_KEYPAD == IPOD_1G2G_PAD)
#define STARFIELD_QUIT BUTTON_MENU
#define STARFIELD_INCREASE_ZMOVE BUTTON_SCROLL_FWD
#define STARFIELD_DECREASE_ZMOVE BUTTON_SCROLL_BACK
#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
#define STARFIELD_TOGGLE_COLOR BUTTON_PLAY
#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD)
#define STARFIELD_QUIT BUTTON_POWER
#define STARFIELD_INCREASE_ZMOVE BUTTON_UP
#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN
#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
#define STARFIELD_TOGGLE_COLOR BUTTON_PLAY
#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
#define STARFIELD_QUIT BUTTON_POWER
#define STARFIELD_INCREASE_ZMOVE BUTTON_SCROLL_UP
#define STARFIELD_DECREASE_ZMOVE BUTTON_SCROLL_DOWN
#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
#define STARFIELD_TOGGLE_COLOR BUTTON_PLAY
#elif (CONFIG_KEYPAD == GIGABEAT_PAD)
#define STARFIELD_QUIT BUTTON_POWER
#define STARFIELD_INCREASE_ZMOVE BUTTON_UP
#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN
#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
#define STARFIELD_TOGGLE_COLOR BUTTON_SELECT
#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
(CONFIG_KEYPAD == SANSA_C200_PAD) || \
(CONFIG_KEYPAD == SANSA_CLIP_PAD) || \
(CONFIG_KEYPAD == SANSA_M200_PAD) || \
(CONFIG_KEYPAD == SANSA_CONNECT_PAD)
#define STARFIELD_QUIT BUTTON_POWER
#define STARFIELD_INCREASE_ZMOVE BUTTON_UP
#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN
#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
#define STARFIELD_TOGGLE_COLOR BUTTON_SELECT
#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
#define STARFIELD_QUIT (BUTTON_HOME|BUTTON_REPEAT)
#define STARFIELD_INCREASE_ZMOVE BUTTON_UP
#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN
#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
#define STARFIELD_TOGGLE_COLOR BUTTON_SELECT
#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \
(CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
#define STARFIELD_QUIT BUTTON_BACK
#define STARFIELD_INCREASE_ZMOVE BUTTON_UP
#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN
#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
#define STARFIELD_TOGGLE_COLOR BUTTON_SELECT
#elif (CONFIG_KEYPAD == MROBE100_PAD)
#define STARFIELD_QUIT BUTTON_POWER
#define STARFIELD_INCREASE_ZMOVE BUTTON_UP
#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN
#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
#define STARFIELD_TOGGLE_COLOR BUTTON_SELECT
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define STARFIELD_QUIT BUTTON_RC_REC
#define STARFIELD_INCREASE_ZMOVE BUTTON_RC_VOL_UP
#define STARFIELD_DECREASE_ZMOVE BUTTON_RC_VOL_DOWN
#define STARFIELD_INCREASE_NB_STARS BUTTON_RC_FF
#define STARFIELD_DECREASE_NB_STARS BUTTON_RC_REW
#define STARFIELD_TOGGLE_COLOR BUTTON_RC_MODE
#elif CONFIG_KEYPAD == IAUDIO67_PAD
#define STARFIELD_QUIT BUTTON_POWER
#define STARFIELD_INCREASE_ZMOVE BUTTON_STOP
#define STARFIELD_DECREASE_ZMOVE BUTTON_PLAY
#define STARFIELD_INCREASE_NB_STARS BUTTON_LEFT
#define STARFIELD_DECREASE_NB_STARS BUTTON_RIGHT
#define STARFIELD_TOGGLE_COLOR BUTTON_MENU
#elif (CONFIG_KEYPAD == COWON_D2_PAD)
#define STARFIELD_QUIT BUTTON_POWER
#elif CONFIG_KEYPAD == CREATIVEZVM_PAD
#define STARFIELD_QUIT BUTTON_BACK
#define STARFIELD_INCREASE_ZMOVE BUTTON_UP
#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN
#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
#define STARFIELD_TOGGLE_COLOR BUTTON_SELECT
#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
#define STARFIELD_QUIT BUTTON_POWER
#define STARFIELD_INCREASE_ZMOVE BUTTON_UP
#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN
#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
#define STARFIELD_TOGGLE_COLOR BUTTON_SELECT
#elif CONFIG_KEYPAD == PHILIPS_HDD6330_PAD
#define STARFIELD_QUIT BUTTON_POWER
#define STARFIELD_INCREASE_ZMOVE BUTTON_UP
#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN
#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
#define STARFIELD_TOGGLE_COLOR BUTTON_PLAY
#elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD
#define STARFIELD_QUIT BUTTON_POWER
#define STARFIELD_INCREASE_ZMOVE BUTTON_UP
#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN
#define STARFIELD_INCREASE_NB_STARS BUTTON_NEXT
#define STARFIELD_DECREASE_NB_STARS BUTTON_PREV
#define STARFIELD_TOGGLE_COLOR BUTTON_PLAY
#elif (CONFIG_KEYPAD == ONDAVX747_PAD) || (CONFIG_KEYPAD == ONDAVX777_PAD) || (CONFIG_KEYPAD == MROBE500_PAD)
#define STARFIELD_QUIT BUTTON_POWER
#elif CONFIG_KEYPAD == SAMSUNG_YH_PAD
#define STARFIELD_QUIT BUTTON_FFWD
#define STARFIELD_INCREASE_ZMOVE BUTTON_UP
#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN
#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
#define STARFIELD_TOGGLE_COLOR BUTTON_PLAY
#elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
#define STARFIELD_QUIT BUTTON_REC
#define STARFIELD_INCREASE_ZMOVE BUTTON_UP
#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN
#define STARFIELD_INCREASE_NB_STARS BUTTON_NEXT
#define STARFIELD_DECREASE_NB_STARS BUTTON_PREV
#define STARFIELD_TOGGLE_COLOR BUTTON_PLAY
#elif CONFIG_KEYPAD == MPIO_HD200_PAD
#define STARFIELD_QUIT (BUTTON_REC|BUTTON_PLAY)
#define STARFIELD_INCREASE_ZMOVE BUTTON_VOL_UP
#define STARFIELD_DECREASE_ZMOVE BUTTON_VOL_DOWN
#define STARFIELD_INCREASE_NB_STARS BUTTON_FF
#define STARFIELD_DECREASE_NB_STARS BUTTON_REW
#define STARFIELD_TOGGLE_COLOR BUTTON_PLAY
#elif CONFIG_KEYPAD == MPIO_HD300_PAD
#define STARFIELD_QUIT (BUTTON_MENU|BUTTON_REPEAT)
#define STARFIELD_INCREASE_ZMOVE BUTTON_UP
#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN
#define STARFIELD_INCREASE_NB_STARS BUTTON_FF
#define STARFIELD_DECREASE_NB_STARS BUTTON_REW
#define STARFIELD_TOGGLE_COLOR BUTTON_PLAY
#elif CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD
#define STARFIELD_QUIT BUTTON_POWER
#define STARFIELD_INCREASE_ZMOVE BUTTON_UP
#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN
#define STARFIELD_INCREASE_NB_STARS BUTTON_LEFT
#define STARFIELD_DECREASE_NB_STARS BUTTON_RIGHT
#define STARFIELD_TOGGLE_COLOR BUTTON_PLAYPAUSE
#endif
#ifdef HAVE_TOUCHSCREEN
#ifndef STARFIELD_QUIT
#define STARFIELD_QUIT BUTTON_TOPLEFT
#endif
#ifndef STARFIELD_INCREASE_ZMOVE
#define STARFIELD_INCREASE_ZMOVE BUTTON_TOPMIDDLE
#endif
#ifndef STARFIELD_DECREASE_ZMOVE
#define STARFIELD_DECREASE_ZMOVE BUTTON_BOTTOMMIDDLE
#endif
#ifndef STARFIELD_INCREASE_NB_STARS
#define STARFIELD_INCREASE_NB_STARS BUTTON_MIDRIGHT
#endif
#ifndef STARFIELD_DECREASE_NB_STARS
#define STARFIELD_DECREASE_NB_STARS BUTTON_MIDLEFT
#endif
#ifndef STARFIELD_TOGGLE_COLOR
#define STARFIELD_TOGGLE_COLOR BUTTON_CENTER
#endif
#endif
#ifndef STARFIELD_QUIT
#define STARFIELD_QUIT BUTTON_OFF
#endif
#ifndef STARFIELD_INCREASE_ZMOVE
#define STARFIELD_INCREASE_ZMOVE BUTTON_UP
#endif
#ifndef STARFIELD_DECREASE_ZMOVE
#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN
#endif
#ifndef STARFIELD_INCREASE_NB_STARS
#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
#endif
#ifndef STARFIELD_DECREASE_NB_STARS
#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
#endif
#ifndef STARFIELD_TOGGLE_COLOR
#ifdef BUTTON_SELECT
#define STARFIELD_TOGGLE_COLOR BUTTON_SELECT
#else
#define STARFIELD_TOGGLE_COLOR BUTTON_PLAY
#endif
#endif
#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define STARFIELD_RC_QUIT BUTTON_RC_STOP
#endif
#define STARFIELD_QUIT PLA_EXIT
#define STARFIELD_QUIT2 PLA_CANCEL
#define STARFIELD_INCREASE_ZMOVE PLA_UP
#define STARFIELD_INCREASE_ZMOVE_REPEAT PLA_UP_REPEAT
#define STARFIELD_DECREASE_ZMOVE PLA_DOWN
#define STARFIELD_DECREASE_ZMOVE_REPEAT PLA_DOWN_REPEAT
#define STARFIELD_INCREASE_NB_STARS PLA_RIGHT
#define STARFIELD_INCREASE_NB_STARS_REPEAT PLA_RIGHT_REPEAT
#define STARFIELD_DECREASE_NB_STARS PLA_LEFT
#define STARFIELD_DECREASE_NB_STARS_REPEAT PLA_LEFT_REPEAT
#define STARFIELD_TOGGLE_COLOR PLA_SELECT
#define LCD_CENTER_X (LCD_WIDTH/2)
#define LCD_CENTER_Y (LCD_HEIGHT/2)
#define Z_MAX_DIST 100
#define MAX_STARS (LCD_WIDTH*LCD_HEIGHT*20)/100
#define INIT_STARS 200
#define STARFIELD_INCREASE_STEP 50
@ -483,28 +280,31 @@ static int plugin_main(void)
}
rb->lcd_update();
button = rb->button_get(false);
/*We get button from PLA this way */
button = pluginlib_getaction(TIMEOUT_NOBLOCK, plugin_contexts,
ARRAYLEN(plugin_contexts));
switch(button)
{
case (STARFIELD_INCREASE_ZMOVE):
case (STARFIELD_INCREASE_ZMOVE | BUTTON_REPEAT):
case (STARFIELD_INCREASE_ZMOVE_REPEAT):
++(starfield.z_move);
pulse=false;
t_disp=MSG_DISP_TIME;
break;
case (STARFIELD_DECREASE_ZMOVE):
case (STARFIELD_DECREASE_ZMOVE | BUTTON_REPEAT):
case (STARFIELD_DECREASE_ZMOVE_REPEAT):
--(starfield.z_move);
pulse=false;
t_disp=MSG_DISP_TIME;
break;
case(STARFIELD_INCREASE_NB_STARS):
case(STARFIELD_INCREASE_NB_STARS | BUTTON_REPEAT):
case(STARFIELD_INCREASE_NB_STARS_REPEAT):
starfield_add_stars(&starfield, STARFIELD_INCREASE_STEP);
t_disp=MSG_DISP_TIME;
break;
case(STARFIELD_DECREASE_NB_STARS):
case(STARFIELD_DECREASE_NB_STARS | BUTTON_REPEAT):
case(STARFIELD_DECREASE_NB_STARS_REPEAT):
starfield_del_stars(&starfield, STARFIELD_INCREASE_STEP);
t_disp=MSG_DISP_TIME;
break;
@ -512,11 +312,9 @@ static int plugin_main(void)
case(STARFIELD_TOGGLE_COLOR):
starfield.color=!starfield.color;
break;
#endif
#ifdef STARFIELD_RC_QUIT
case STARFIELD_RC_QUIT:
#endif
case(STARFIELD_QUIT):
case(STARFIELD_QUIT2):
return PLUGIN_OK;
break;
default: