diff options
Diffstat (limited to 'apps/plugins/fireworks.c')
-rw-r--r-- | apps/plugins/fireworks.c | 131 |
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 */ | |
27 | static 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; |