summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Louis Biasini <jlbiasini@gmail.com>2012-02-21 15:04:21 +0100
committerThomas Martitz <kugel@rockbox.org>2012-02-24 13:20:24 +0100
commita60bc256ab78482812d6900d08c59d4948e019a2 (patch)
tree2ede3b768525d437c646f9029b286c87367e995c
parent7c215b1be86a1ceb0063b976c3521d908f35c9fe (diff)
downloadrockbox-a60bc256ab78482812d6900d08c59d4948e019a2.tar.gz
rockbox-a60bc256ab78482812d6900d08c59d4948e019a2.zip
fireworks's plugin PLA integration
1) this patch replace all keymaps with PLA ones. It also clean some optionnal compiling that are not needed anymore througt PLA 2) it also add an alternative exit button (PLA_EXIT or PLA_CANCEL) Note: no patch for manual here as there isn't a manual for fireworks yet Change-Id: I460096a018ce8d3890425f8b6b98194c4e3f9d76 Reviewed-on: http://gerrit.rockbox.org/114 Reviewed-by: Thomas Martitz <kugel@rockbox.org> Tested-by: Thomas Martitz <kugel@rockbox.org>
-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 52b11b7079..c49c4fd6bb 100644
--- a/apps/plugins/fireworks.c
+++ b/apps/plugins/fireworks.c
@@ -21,8 +21,10 @@
21#include "plugin.h" 21#include "plugin.h"
22#include "lib/helper.h" 22#include "lib/helper.h"
23#include "lib/playback_control.h" 23#include "lib/playback_control.h"
24#include "lib/pluginlib_actions.h"
24 25
25 26/* this set the context to use with PLA */
27static const struct button_mapping *plugin_contexts[] = { pla_main_ctx };
26 28
27/*** 29/***
28 * FIREWORKS.C by ZAKK ROBERTS 30 * FIREWORKS.C by ZAKK ROBERTS
@@ -31,121 +33,11 @@
31 * Currently disabled for Archos Recorder - runs too slow. 33 * Currently disabled for Archos Recorder - runs too slow.
32 ***/ 34 ***/
33 35
34/* All sorts of keymappings.. */ 36/* We use PLA */
35#if (CONFIG_KEYPAD == IRIVER_H300_PAD) || (CONFIG_KEYPAD == IRIVER_H100_PAD) 37#define BTN_MENU PLA_EXIT
36#define BTN_MENU BUTTON_OFF 38#define BTN_MENU2 PLA_CANCEL
37#define BTN_FIRE BUTTON_SELECT 39#define BTN_FIRE PLA_SELECT
38 40#define BTN_FIRE_REPEAT PLA_SELECT_REPEAT
39#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) || \
40 (CONFIG_KEYPAD == IPOD_1G2G_PAD)
41#define BTN_MENU BUTTON_MENU
42#define BTN_FIRE BUTTON_SELECT
43
44#elif (CONFIG_KEYPAD == RECORDER_PAD)
45#define BTN_MENU BUTTON_OFF
46#define BTN_FIRE BUTTON_PLAY
47
48#elif (CONFIG_KEYPAD == ARCHOS_AV300_PAD)
49#define BTN_MENU BUTTON_OFF
50#define BTN_FIRE BUTTON_SELECT
51
52#elif (CONFIG_KEYPAD == ONDIO_PAD)
53#define BTN_MENU BUTTON_MENU
54#define BTN_FIRE BUTTON_UP
55
56#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD)
57#define BTN_MENU BUTTON_POWER
58#define BTN_FIRE BUTTON_SELECT
59
60#elif (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD)
61#define BTN_MENU BUTTON_MODE
62#define BTN_FIRE BUTTON_SELECT
63
64#elif (CONFIG_KEYPAD == GIGABEAT_PAD) || \
65 (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \
66 (CONFIG_KEYPAD == MROBE100_PAD) || \
67 (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
68#define BTN_MENU BUTTON_MENU
69#define BTN_FIRE BUTTON_SELECT
70
71#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
72 (CONFIG_KEYPAD == SANSA_C200_PAD) || \
73 (CONFIG_KEYPAD == SANSA_CONNECT_PAD)
74#define BTN_MENU BUTTON_POWER
75#define BTN_FIRE BUTTON_SELECT
76
77#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
78#define BTN_MENU (BUTTON_HOME|BUTTON_REPEAT)
79#define BTN_FIRE BUTTON_SELECT
80
81#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
82#define BTN_MENU BUTTON_POWER
83#define BTN_FIRE BUTTON_PLAY
84
85#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
86#define BTN_MENU BUTTON_RC_REC
87#define BTN_FIRE BUTTON_RC_PLAY
88
89#elif (CONFIG_KEYPAD == COWON_D2_PAD)
90#define BTN_MENU (BUTTON_MENU|BUTTON_REL)
91
92#elif CONFIG_KEYPAD == IAUDIO67_PAD
93#define BTN_MENU BUTTON_MENU
94#define BTN_FIRE BUTTON_PLAY
95
96#elif CONFIG_KEYPAD == CREATIVEZVM_PAD
97#define BTN_MENU BUTTON_MENU
98#define BTN_FIRE BUTTON_SELECT
99
100#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
101#define BTN_MENU BUTTON_MENU
102#define BTN_FIRE BUTTON_SELECT
103
104#elif CONFIG_KEYPAD == PHILIPS_HDD6330_PAD
105#define BTN_MENU BUTTON_MENU
106#define BTN_FIRE BUTTON_PLAY
107
108#elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD
109#define BTN_MENU BUTTON_MENU
110#define BTN_FIRE BUTTON_PLAY
111
112#elif (CONFIG_KEYPAD == ONDAVX747_PAD)
113#define BTN_MENU (BUTTON_MENU|BUTTON_REL)
114
115#elif (CONFIG_KEYPAD == SAMSUNG_YH_PAD)
116#define BTN_MENU BUTTON_LEFT
117#define BTN_FIRE BUTTON_PLAY
118
119#elif (CONFIG_KEYPAD == PBELL_VIBE500_PAD)
120#define BTN_MENU BUTTON_MENU
121#define BTN_FIRE BUTTON_OK
122
123#elif (CONFIG_KEYPAD == MPIO_HD200_PAD)
124#define BTN_MENU BUTTON_REC
125#define BTN_FIRE BUTTON_PLAY
126
127#elif (CONFIG_KEYPAD == MPIO_HD300_PAD)
128#define BTN_MENU BUTTON_MENU
129#define BTN_FIRE BUTTON_PLAY
130
131#elif (CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD)
132#define BTN_MENU BUTTON_SELECT
133#define BTN_FIRE BUTTON_PLAYPAUSE
134
135#elif defined(HAVE_TOUCHSCREEN)
136 /* This is a touchscreen target */
137#else
138#error No keymap defined!
139#endif
140
141#ifdef HAVE_TOUCHSCREEN
142#ifndef BTN_MENU
143#define BTN_MENU (BUTTON_TOPLEFT|BUTTON_REL)
144#endif
145#ifndef BTN_FIRE
146#define BTN_FIRE BUTTON_CENTER
147#endif
148#endif
149 41
150/* The lowdown on source terminology: 42/* The lowdown on source terminology:
151 * a ROCKET is launched from the LCD bottom. 43 * a ROCKET is launched from the LCD bottom.
@@ -609,15 +501,18 @@ enum plugin_status plugin_start(const void* parameter)
609 501
610 rb->lcd_update(); 502 rb->lcd_update();
611 503
612 button = rb->button_get_w_tmo(HZ/fps_values[frames_per_second]); 504 button = pluginlib_getaction(HZ/fps_values[frames_per_second], plugin_contexts,
505 ARRAYLEN(plugin_contexts));
506
613 switch(button) 507 switch(button)
614 { 508 {
615 case BTN_MENU: /* back to config menu */ 509 case BTN_MENU: /* back to config menu */
510 case BTN_MENU2:
616 fireworks_menu(); 511 fireworks_menu();
617 break; 512 break;
618 513
619 case BTN_FIRE: /* fire off rockets manually */ 514 case BTN_FIRE: /* fire off rockets manually */
620 case BTN_FIRE|BUTTON_REPEAT: 515 case BTN_FIRE_REPEAT:
621 init_rocket(thisrocket); 516 init_rocket(thisrocket);
622 if(++thisrocket == MAX_ROCKETS) 517 if(++thisrocket == MAX_ROCKETS)
623 thisrocket=0; 518 thisrocket=0;