diff options
Diffstat (limited to 'apps/plugins/plasma.c')
-rw-r--r-- | apps/plugins/plasma.c | 173 |
1 files changed, 26 insertions, 147 deletions
diff --git a/apps/plugins/plasma.c b/apps/plugins/plasma.c index adf7ab532a..637d948f3d 100644 --- a/apps/plugins/plasma.c +++ b/apps/plugins/plasma.c | |||
@@ -26,6 +26,7 @@ | |||
26 | 26 | ||
27 | #include "plugin.h" | 27 | #include "plugin.h" |
28 | #include "lib/helper.h" | 28 | #include "lib/helper.h" |
29 | #include "lib/pluginlib_actions.h" | ||
29 | 30 | ||
30 | #ifdef HAVE_LCD_BITMAP | 31 | #ifdef HAVE_LCD_BITMAP |
31 | 32 | ||
@@ -57,143 +58,12 @@ static int plasma_frequency; | |||
57 | static bool boosted = false; | 58 | static bool boosted = false; |
58 | #endif | 59 | #endif |
59 | 60 | ||
60 | /* Key assignement, all bitmapped models */ | 61 | static const struct button_mapping* plugin_contexts[]= { |
61 | #if (CONFIG_KEYPAD == RECORDER_PAD) || (CONFIG_KEYPAD == ONDIO_PAD) | 62 | pla_main_ctx, |
62 | #define PLASMA_QUIT BUTTON_OFF | 63 | #if defined(HAVE_REMOTE_LCD) |
63 | #define PLASMA_INCREASE_FREQUENCY BUTTON_UP | 64 | pla_remote_ctx, |
64 | #define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN | ||
65 | |||
66 | #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD) | ||
67 | #define PLASMA_QUIT BUTTON_OFF | ||
68 | #define PLASMA_INCREASE_FREQUENCY BUTTON_UP | ||
69 | #define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN | ||
70 | #define PLASMA_REGEN_COLORS BUTTON_SELECT | ||
71 | #define PLASMA_RC_QUIT BUTTON_RC_STOP | ||
72 | |||
73 | #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) || \ | ||
74 | (CONFIG_KEYPAD == IPOD_1G2G_PAD) | ||
75 | #define PLASMA_QUIT BUTTON_MENU | ||
76 | #define PLASMA_INCREASE_FREQUENCY BUTTON_SCROLL_FWD | ||
77 | #define PLASMA_DECREASE_FREQUENCY BUTTON_SCROLL_BACK | ||
78 | #define PLASMA_REGEN_COLORS BUTTON_SELECT | ||
79 | |||
80 | #elif (CONFIG_KEYPAD == GIGABEAT_PAD) | ||
81 | #define PLASMA_QUIT BUTTON_POWER | ||
82 | #define PLASMA_INCREASE_FREQUENCY BUTTON_UP | ||
83 | #define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN | ||
84 | #define PLASMA_REGEN_COLORS BUTTON_SELECT | ||
85 | |||
86 | #elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ | ||
87 | (CONFIG_KEYPAD == SANSA_C200_PAD) || \ | ||
88 | (CONFIG_KEYPAD == SANSA_CLIP_PAD) || \ | ||
89 | (CONFIG_KEYPAD == SANSA_M200_PAD) | ||
90 | #define PLASMA_QUIT BUTTON_POWER | ||
91 | #define PLASMA_INCREASE_FREQUENCY BUTTON_UP | ||
92 | #define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN | ||
93 | #define PLASMA_REGEN_COLORS BUTTON_SELECT | ||
94 | |||
95 | #elif (CONFIG_KEYPAD == SANSA_FUZE_PAD) | ||
96 | #define PLASMA_QUIT (BUTTON_HOME|BUTTON_REPEAT) | ||
97 | #define PLASMA_INCREASE_FREQUENCY BUTTON_UP | ||
98 | #define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN | ||
99 | #define PLASMA_REGEN_COLORS BUTTON_SELECT | ||
100 | |||
101 | #elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) | ||
102 | #define PLASMA_QUIT BUTTON_POWER | ||
103 | #define PLASMA_INCREASE_FREQUENCY BUTTON_UP | ||
104 | #define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN | ||
105 | #define PLASMA_REGEN_COLORS BUTTON_PLAY | ||
106 | |||
107 | #elif (CONFIG_KEYPAD == IRIVER_H10_PAD) | ||
108 | #define PLASMA_QUIT BUTTON_POWER | ||
109 | #define PLASMA_INCREASE_FREQUENCY BUTTON_SCROLL_UP | ||
110 | #define PLASMA_DECREASE_FREQUENCY BUTTON_SCROLL_DOWN | ||
111 | #define PLASMA_REGEN_COLORS BUTTON_PLAY | ||
112 | |||
113 | #elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) | ||
114 | #define PLASMA_QUIT BUTTON_BACK | ||
115 | #define PLASMA_INCREASE_FREQUENCY BUTTON_UP | ||
116 | #define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN | ||
117 | #define PLASMA_REGEN_COLORS BUTTON_SELECT | ||
118 | |||
119 | #elif (CONFIG_KEYPAD == MROBE100_PAD) | ||
120 | #define PLASMA_QUIT BUTTON_POWER | ||
121 | #define PLASMA_INCREASE_FREQUENCY BUTTON_UP | ||
122 | #define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN | ||
123 | |||
124 | #elif (CONFIG_KEYPAD == IAUDIO_M3_PAD) | ||
125 | #define PLASMA_QUIT BUTTON_RC_REC | ||
126 | #define PLASMA_INCREASE_FREQUENCY BUTTON_RC_VOL_UP | ||
127 | #define PLASMA_DECREASE_FREQUENCY BUTTON_RC_VOL_DOWN | ||
128 | #define PLASMA_RC_QUIT BUTTON_REC | ||
129 | |||
130 | #elif (CONFIG_KEYPAD == COWON_D2_PAD) | ||
131 | #define PLASMA_QUIT BUTTON_POWER | ||
132 | |||
133 | #elif (CONFIG_KEYPAD == IAUDIO67_PAD) | ||
134 | #define PLASMA_QUIT BUTTON_POWER | ||
135 | #define PLASMA_INCREASE_FREQUENCY BUTTON_RIGHT | ||
136 | #define PLASMA_DECREASE_FREQUENCY BUTTON_LEFT | ||
137 | #define PLASMA_REGEN_COLORS BUTTON_PLAY | ||
138 | #define PLASMA_RC_QUIT BUTTON_STOP | ||
139 | |||
140 | #elif CONFIG_KEYPAD == CREATIVEZVM_PAD | ||
141 | #define PLASMA_QUIT BUTTON_BACK | ||
142 | #define PLASMA_INCREASE_FREQUENCY BUTTON_UP | ||
143 | #define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN | ||
144 | #define PLASMA_REGEN_COLORS BUTTON_SELECT | ||
145 | |||
146 | #elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD | ||
147 | #define PLASMA_QUIT BUTTON_POWER | ||
148 | #define PLASMA_INCREASE_FREQUENCY BUTTON_UP | ||
149 | #define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN | ||
150 | #define PLASMA_REGEN_COLORS BUTTON_SELECT | ||
151 | |||
152 | #elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD | ||
153 | #define PLASMA_QUIT BUTTON_POWER | ||
154 | #define PLASMA_INCREASE_FREQUENCY BUTTON_UP | ||
155 | #define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN | ||
156 | #define PLASMA_REGEN_COLORS BUTTON_PLAY | ||
157 | |||
158 | #elif (CONFIG_KEYPAD == ONDAVX747_PAD) || (CONFIG_KEYPAD == ONDAVX777_PAD) | ||
159 | #define PLASMA_QUIT BUTTON_POWER | ||
160 | |||
161 | #elif CONFIG_KEYPAD == SAMSUNG_YH_PAD | ||
162 | #define PLASMA_QUIT BUTTON_PLAY | ||
163 | #define PLASMA_INCREASE_FREQUENCY BUTTON_UP | ||
164 | #define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN | ||
165 | #define PLASMA_REGEN_COLORS BUTTON_LEFT | ||
166 | |||
167 | #elif CONFIG_KEYPAD == PBELL_VIBE500_PAD | ||
168 | #define PLASMA_QUIT BUTTON_REC | ||
169 | #define PLASMA_INCREASE_FREQUENCY BUTTON_UP | ||
170 | #define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN | ||
171 | #define PLASMA_REGEN_COLORS BUTTON_PLAY | ||
172 | |||
173 | #elif CONFIG_KEYPAD == MPIO_HD200_PAD | ||
174 | #define PLASMA_QUIT (BUTTON_REC|BUTTON_PLAY) | ||
175 | #define PLASMA_INCREASE_FREQUENCY BUTTON_VOL_DOWN | ||
176 | #define PLASMA_DECREASE_FREQUENCY BUTTON_VOL_UP | ||
177 | #define PLASMA_REGEN_COLORS BUTTON_PLAY | ||
178 | |||
179 | #endif | ||
180 | |||
181 | #ifdef HAVE_TOUCHSCREEN | ||
182 | #ifndef PLASMA_QUIT | ||
183 | #define PLASMA_QUIT BUTTON_TOPLEFT | ||
184 | #endif | ||
185 | #ifndef PLASMA_INCREASE_FREQUENCY | ||
186 | #define PLASMA_INCREASE_FREQUENCY BUTTON_MIDRIGHT | ||
187 | #endif | ||
188 | #ifndef PLASMA_DECREASE_FREQUENCY | ||
189 | #define PLASMA_DECREASE_FREQUENCY BUTTON_MIDLEFT | ||
190 | #endif | 65 | #endif |
191 | #ifdef HAVE_LCD_COLOR | 66 | }; |
192 | #ifndef PLASMA_REGEN_COLORS | ||
193 | #define PLASMA_REGEN_COLORS BUTTON_CENTER | ||
194 | #endif | ||
195 | #endif /* HAVE_LCD_COLOR */ | ||
196 | #endif /* HAVE_TOUCHSCREEN */ | ||
197 | 67 | ||
198 | #define WAV_AMP 90 | 68 | #define WAV_AMP 90 |
199 | 69 | ||
@@ -284,7 +154,7 @@ void cleanup(void *parameter) | |||
284 | int main(void) | 154 | int main(void) |
285 | { | 155 | { |
286 | plasma_frequency = 1; | 156 | plasma_frequency = 1; |
287 | int button, delay, x, y; | 157 | int action, delay, x, y; |
288 | unsigned char p1,p2,p3,p4,t1,t2,t3,t4, z,z0; | 158 | unsigned char p1,p2,p3,p4,t1,t2,t3,t4, z,z0; |
289 | long last_tick = *rb->current_tick; | 159 | long last_tick = *rb->current_tick; |
290 | #ifdef HAVE_ADJUSTABLE_CPU_FREQ | 160 | #ifdef HAVE_ADJUSTABLE_CPU_FREQ |
@@ -383,25 +253,34 @@ int main(void) | |||
383 | rb->cpu_boost(boosted = false); | 253 | rb->cpu_boost(boosted = false); |
384 | } | 254 | } |
385 | #endif | 255 | #endif |
386 | button = rb->button_get_w_tmo(MAX(0, delay)); | 256 | action = pluginlib_getaction(0, plugin_contexts, |
257 | ARRAYLEN(plugin_contexts)); | ||
387 | last_tick = *rb->current_tick; | 258 | last_tick = *rb->current_tick; |
388 | 259 | ||
389 | switch(button) | 260 | switch(action) |
390 | { | 261 | { |
391 | #ifdef PLASMA_RC_QUIT | 262 | case PLA_EXIT: |
392 | case PLASMA_RC_QUIT: | 263 | case PLA_CANCEL: |
393 | #endif | ||
394 | case(PLASMA_QUIT): | ||
395 | cleanup(NULL); | 264 | cleanup(NULL); |
396 | return PLUGIN_OK; | 265 | return PLUGIN_OK; |
397 | break; | 266 | break; |
398 | 267 | ||
399 | case (PLASMA_INCREASE_FREQUENCY): | 268 | #ifdef HAVE_SCROLLWHEEL |
269 | case PLA_SCROLL_FWD: | ||
270 | case PLA_SCROLL_FWD_REPEAT: | ||
271 | #endif | ||
272 | case PLA_UP: | ||
273 | case PLA_UP_REPEAT: | ||
400 | ++plasma_frequency; | 274 | ++plasma_frequency; |
401 | wave_table_generate(); | 275 | wave_table_generate(); |
402 | break; | 276 | break; |
403 | 277 | ||
404 | case (PLASMA_DECREASE_FREQUENCY): | 278 | #ifdef HAVE_SCROLLWHEEL |
279 | case PLA_SCROLL_BACK: | ||
280 | case PLA_SCROLL_BACK_REPEAT: | ||
281 | #endif | ||
282 | case PLA_DOWN: | ||
283 | case PLA_DOWN_REPEAT: | ||
405 | if(plasma_frequency>1) | 284 | if(plasma_frequency>1) |
406 | { | 285 | { |
407 | --plasma_frequency; | 286 | --plasma_frequency; |
@@ -409,7 +288,7 @@ int main(void) | |||
409 | } | 288 | } |
410 | break; | 289 | break; |
411 | #ifdef HAVE_LCD_COLOR | 290 | #ifdef HAVE_LCD_COLOR |
412 | case (PLASMA_REGEN_COLORS): | 291 | case PLA_SELECT: |
413 | redfactor=rb->rand()%4; | 292 | redfactor=rb->rand()%4; |
414 | greenfactor=rb->rand()%4; | 293 | greenfactor=rb->rand()%4; |
415 | bluefactor=rb->rand()%4; | 294 | bluefactor=rb->rand()%4; |
@@ -420,7 +299,7 @@ int main(void) | |||
420 | #endif | 299 | #endif |
421 | 300 | ||
422 | default: | 301 | default: |
423 | if (rb->default_event_handler_ex(button, cleanup, NULL) | 302 | if (rb->default_event_handler_ex(action, cleanup, NULL) |
424 | == SYS_USB_CONNECTED) | 303 | == SYS_USB_CONNECTED) |
425 | return PLUGIN_USB_CONNECTED; | 304 | return PLUGIN_USB_CONNECTED; |
426 | break; | 305 | break; |