summaryrefslogtreecommitdiff
path: root/apps/plugins/fireworks.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/fireworks.c')
-rw-r--r--apps/plugins/fireworks.c131
1 files changed, 13 insertions, 118 deletions
diff --git a/apps/plugins/fireworks.c b/apps/plugins/fireworks.c
index 52b11b7..c49c4fd 100644
--- a/apps/plugins/fireworks.c
+++ b/apps/plugins/fireworks.c
@@ -21,8 +21,10 @@
#include "plugin.h"
#include "lib/helper.h"
#include "lib/playback_control.h"
+#include "lib/pluginlib_actions.h"
-
+/* this set the context to use with PLA */
+static const struct button_mapping *plugin_contexts[] = { pla_main_ctx };
/***
* FIREWORKS.C by ZAKK ROBERTS
@@ -31,121 +33,11 @@
* Currently disabled for Archos Recorder - runs too slow.
***/
-/* All sorts of keymappings.. */
-#if (CONFIG_KEYPAD == IRIVER_H300_PAD) || (CONFIG_KEYPAD == IRIVER_H100_PAD)
-#define BTN_MENU BUTTON_OFF
-#define BTN_FIRE BUTTON_SELECT
-
-#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) || \
- (CONFIG_KEYPAD == IPOD_1G2G_PAD)
-#define BTN_MENU BUTTON_MENU
-#define BTN_FIRE BUTTON_SELECT
-
-#elif (CONFIG_KEYPAD == RECORDER_PAD)
-#define BTN_MENU BUTTON_OFF
-#define BTN_FIRE BUTTON_PLAY
-
-#elif (CONFIG_KEYPAD == ARCHOS_AV300_PAD)
-#define BTN_MENU BUTTON_OFF
-#define BTN_FIRE BUTTON_SELECT
-
-#elif (CONFIG_KEYPAD == ONDIO_PAD)
-#define BTN_MENU BUTTON_MENU
-#define BTN_FIRE BUTTON_UP
-
-#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD)
-#define BTN_MENU BUTTON_POWER
-#define BTN_FIRE BUTTON_SELECT
-
-#elif (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD)
-#define BTN_MENU BUTTON_MODE
-#define BTN_FIRE BUTTON_SELECT
-
-#elif (CONFIG_KEYPAD == GIGABEAT_PAD) || \
- (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \
- (CONFIG_KEYPAD == MROBE100_PAD) || \
- (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
-#define BTN_MENU BUTTON_MENU
-#define BTN_FIRE BUTTON_SELECT
-
-#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
- (CONFIG_KEYPAD == SANSA_C200_PAD) || \
- (CONFIG_KEYPAD == SANSA_CONNECT_PAD)
-#define BTN_MENU BUTTON_POWER
-#define BTN_FIRE BUTTON_SELECT
-
-#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
-#define BTN_MENU (BUTTON_HOME|BUTTON_REPEAT)
-#define BTN_FIRE BUTTON_SELECT
-
-#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
-#define BTN_MENU BUTTON_POWER
-#define BTN_FIRE BUTTON_PLAY
-
-#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
-#define BTN_MENU BUTTON_RC_REC
-#define BTN_FIRE BUTTON_RC_PLAY
-
-#elif (CONFIG_KEYPAD == COWON_D2_PAD)
-#define BTN_MENU (BUTTON_MENU|BUTTON_REL)
-
-#elif CONFIG_KEYPAD == IAUDIO67_PAD
-#define BTN_MENU BUTTON_MENU
-#define BTN_FIRE BUTTON_PLAY
-
-#elif CONFIG_KEYPAD == CREATIVEZVM_PAD
-#define BTN_MENU BUTTON_MENU
-#define BTN_FIRE BUTTON_SELECT
-
-#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
-#define BTN_MENU BUTTON_MENU
-#define BTN_FIRE BUTTON_SELECT
-
-#elif CONFIG_KEYPAD == PHILIPS_HDD6330_PAD
-#define BTN_MENU BUTTON_MENU
-#define BTN_FIRE BUTTON_PLAY
-
-#elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD
-#define BTN_MENU BUTTON_MENU
-#define BTN_FIRE BUTTON_PLAY
-
-#elif (CONFIG_KEYPAD == ONDAVX747_PAD)
-#define BTN_MENU (BUTTON_MENU|BUTTON_REL)
-
-#elif (CONFIG_KEYPAD == SAMSUNG_YH_PAD)
-#define BTN_MENU BUTTON_LEFT
-#define BTN_FIRE BUTTON_PLAY
-
-#elif (CONFIG_KEYPAD == PBELL_VIBE500_PAD)
-#define BTN_MENU BUTTON_MENU
-#define BTN_FIRE BUTTON_OK
-
-#elif (CONFIG_KEYPAD == MPIO_HD200_PAD)
-#define BTN_MENU BUTTON_REC
-#define BTN_FIRE BUTTON_PLAY
-
-#elif (CONFIG_KEYPAD == MPIO_HD300_PAD)
-#define BTN_MENU BUTTON_MENU
-#define BTN_FIRE BUTTON_PLAY
-
-#elif (CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD)
-#define BTN_MENU BUTTON_SELECT
-#define BTN_FIRE BUTTON_PLAYPAUSE
-
-#elif defined(HAVE_TOUCHSCREEN)
- /* This is a touchscreen target */
-#else
-#error No keymap defined!
-#endif
-
-#ifdef HAVE_TOUCHSCREEN
-#ifndef BTN_MENU
-#define BTN_MENU (BUTTON_TOPLEFT|BUTTON_REL)
-#endif
-#ifndef BTN_FIRE
-#define BTN_FIRE BUTTON_CENTER
-#endif
-#endif
+/* We use PLA */
+#define BTN_MENU PLA_EXIT
+#define BTN_MENU2 PLA_CANCEL
+#define BTN_FIRE PLA_SELECT
+#define BTN_FIRE_REPEAT PLA_SELECT_REPEAT
/* The lowdown on source terminology:
* a ROCKET is launched from the LCD bottom.
@@ -609,15 +501,18 @@ enum plugin_status plugin_start(const void* parameter)
rb->lcd_update();
- button = rb->button_get_w_tmo(HZ/fps_values[frames_per_second]);
+ button = pluginlib_getaction(HZ/fps_values[frames_per_second], plugin_contexts,
+ ARRAYLEN(plugin_contexts));
+
switch(button)
{
case BTN_MENU: /* back to config menu */
+ case BTN_MENU2:
fireworks_menu();
break;
case BTN_FIRE: /* fire off rockets manually */
- case BTN_FIRE|BUTTON_REPEAT:
+ case BTN_FIRE_REPEAT:
init_rocket(thisrocket);
if(++thisrocket == MAX_ROCKETS)
thisrocket=0;