diff options
author | Jean-Louis Biasini <jlbiasini@gmail.com> | 2012-02-06 13:29:53 +0100 |
---|---|---|
committer | Thomas Martitz <kugel@rockbox.org> | 2012-02-08 18:32:53 +0100 |
commit | a869d4a9aca90e9bae1bdc08a59324ea1d999cec (patch) | |
tree | a87adf1b142b316ef2e4c2fdaf88ba6704a8c037 | |
parent | 51912c840cdefc00dbfe445b32b467dfffa7c14b (diff) | |
download | rockbox-a869d4a9aca90e9bae1bdc08a59324ea1d999cec.tar.gz rockbox-a869d4a9aca90e9bae1bdc08a59324ea1d999cec.zip |
LAMP plugin PLA integration (main code + manual)
1) this patch replace all keymaps with PLA ones. It also clean some optionnal
compiling that are not needed anymore througt PLA
2) the patch also made required change to the manual in order to match code's
change.
Change-Id: I54ec953f79a419a6bb2f78877ca8b82f572fb510
Reviewed-on: http://gerrit.rockbox.org/86
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Tested-by: Thomas Martitz <kugel@rockbox.org>
-rw-r--r-- | apps/plugins/lamp.c | 168 | ||||
-rw-r--r-- | manual/plugins/lamp.tex | 31 |
2 files changed, 37 insertions, 162 deletions
diff --git a/apps/plugins/lamp.c b/apps/plugins/lamp.c index 583e2753fa..b825bb61ce 100644 --- a/apps/plugins/lamp.c +++ b/apps/plugins/lamp.c | |||
@@ -24,6 +24,10 @@ | |||
24 | 24 | ||
25 | #include "plugin.h" | 25 | #include "plugin.h" |
26 | #include "lib/helper.h" | 26 | #include "lib/helper.h" |
27 | #include "lib/pluginlib_actions.h" | ||
28 | |||
29 | /* this set the context to use with PLA */ | ||
30 | static const struct button_mapping *plugin_contexts[] = { pla_main_ctx }; | ||
27 | 31 | ||
28 | /* variable button definitions. | 32 | /* variable button definitions. |
29 | - only targets with a colour display | 33 | - only targets with a colour display |
@@ -33,140 +37,31 @@ | |||
33 | LAMP_UP / LAMP_DOWN: change the brightness | 37 | LAMP_UP / LAMP_DOWN: change the brightness |
34 | */ | 38 | */ |
35 | #if defined(HAVE_LCD_COLOR) || defined(HAVE_BACKLIGHT_BRIGHTNESS) | 39 | #if defined(HAVE_LCD_COLOR) || defined(HAVE_BACKLIGHT_BRIGHTNESS) |
36 | #if (CONFIG_KEYPAD == IRIVER_H300_PAD) | ||
37 | # define LAMP_LEFT BUTTON_LEFT | ||
38 | # define LAMP_RIGHT BUTTON_RIGHT | ||
39 | # define LAMP_UP BUTTON_UP | ||
40 | # define LAMP_DOWN BUTTON_DOWN | ||
41 | |||
42 | #elif (CONFIG_KEYPAD == IPOD_4G_PAD) | ||
43 | # define LAMP_LEFT BUTTON_LEFT | ||
44 | # define LAMP_RIGHT BUTTON_RIGHT | ||
45 | # define LAMP_UP BUTTON_SCROLL_FWD | ||
46 | # define LAMP_DOWN BUTTON_SCROLL_BACK | ||
47 | |||
48 | #elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) | ||
49 | # define LAMP_LEFT BUTTON_LEFT | ||
50 | # define LAMP_RIGHT BUTTON_RIGHT | ||
51 | # define LAMP_UP BUTTON_UP | ||
52 | # define LAMP_DOWN BUTTON_DOWN | ||
53 | |||
54 | #elif (CONFIG_KEYPAD == GIGABEAT_PAD) | ||
55 | # define LAMP_LEFT BUTTON_LEFT | ||
56 | # define LAMP_RIGHT BUTTON_RIGHT | ||
57 | # define LAMP_UP BUTTON_UP | ||
58 | # define LAMP_DOWN BUTTON_DOWN | ||
59 | |||
60 | #elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \ | ||
61 | (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD) | ||
62 | # define LAMP_LEFT BUTTON_LEFT | ||
63 | # define LAMP_RIGHT BUTTON_RIGHT | ||
64 | # define LAMP_UP BUTTON_UP | ||
65 | # define LAMP_DOWN BUTTON_DOWN | ||
66 | |||
67 | #elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ | ||
68 | (CONFIG_KEYPAD == SANSA_FUZE_PAD) || \ | ||
69 | (CONFIG_KEYPAD == SANSA_CONNECT_PAD) | ||
70 | # define LAMP_LEFT BUTTON_LEFT | ||
71 | # define LAMP_RIGHT BUTTON_RIGHT | ||
72 | # define LAMP_UP BUTTON_SCROLL_FWD | ||
73 | # define LAMP_DOWN BUTTON_SCROLL_BACK | ||
74 | |||
75 | #elif (CONFIG_KEYPAD == SANSA_C200_PAD) | ||
76 | # define LAMP_LEFT BUTTON_LEFT | ||
77 | # define LAMP_RIGHT BUTTON_RIGHT | ||
78 | # define LAMP_UP BUTTON_UP | ||
79 | # define LAMP_DOWN BUTTON_DOWN | ||
80 | |||
81 | #elif (CONFIG_KEYPAD == IRIVER_H10_PAD) | ||
82 | # define LAMP_LEFT BUTTON_LEFT | ||
83 | # define LAMP_RIGHT BUTTON_RIGHT | ||
84 | # define LAMP_NEXT BUTTON_SCROLL_UP | ||
85 | # define LAMP_PREV BUTTON_SCROLL_DOWN | ||
86 | |||
87 | #elif CONFIG_KEYPAD == MROBE500_PAD | ||
88 | # define LAMP_LEFT BUTTON_LEFT | ||
89 | # define LAMP_RIGHT BUTTON_RIGHT | ||
90 | |||
91 | #elif CONFIG_KEYPAD == COWON_D2_PAD | ||
92 | |||
93 | #elif CONFIG_KEYPAD == IAUDIO67_PAD | ||
94 | # define LAMP_LEFT BUTTON_LEFT | ||
95 | # define LAMP_RIGHT BUTTON_RIGHT | ||
96 | |||
97 | #elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD | ||
98 | # define LAMP_LEFT BUTTON_LEFT | ||
99 | # define LAMP_RIGHT BUTTON_RIGHT | ||
100 | # define LAMP_UP BUTTON_UP | ||
101 | # define LAMP_DOWN BUTTON_DOWN | ||
102 | |||
103 | #elif CONFIG_KEYPAD == PHILIPS_HDD6330_PAD | ||
104 | # define LAMP_LEFT BUTTON_LEFT | ||
105 | # define LAMP_RIGHT BUTTON_RIGHT | ||
106 | # define LAMP_UP BUTTON_UP | ||
107 | # define LAMP_DOWN BUTTON_DOWN | ||
108 | |||
109 | #elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD | ||
110 | # define LAMP_LEFT BUTTON_PREV | ||
111 | # define LAMP_RIGHT BUTTON_NEXT | ||
112 | # define LAMP_UP BUTTON_UP | ||
113 | # define LAMP_DOWN BUTTON_DOWN | ||
114 | |||
115 | #elif CONFIG_KEYPAD == ONDAVX747_PAD | ||
116 | # define LAMP_LEFT BUTTON_VOL_DOWN | ||
117 | # define LAMP_RIGHT BUTTON_VOL_UP | ||
118 | 40 | ||
119 | #elif CONFIG_KEYPAD == ONDAVX777_PAD | 41 | /* we use PLA */ |
120 | 42 | #ifdef HAVE_SCROLLWHEEL | |
121 | #elif CONFIG_KEYPAD == SAMSUNG_YH_PAD | 43 | # define LAMP_LEFT PLA_LEFT |
122 | # define LAMP_LEFT BUTTON_LEFT | 44 | # define LAMP_RIGHT PLA_RIGHT |
123 | # define LAMP_RIGHT BUTTON_RIGHT | 45 | # define LAMP_UP PLA_SCROLL_FWD |
124 | 46 | # define LAMP_DOWN PLA_SCROLL_BACK | |
125 | #elif CONFIG_KEYPAD == PBELL_VIBE500_PAD | 47 | # define LAMP_UP_REPEAT PLA_SCROLL_FWD_REPEAT |
126 | # define LAMP_LEFT BUTTON_PREV | 48 | # define LAMP_DOWN_REPEAT PLA_SCROLL_BACK_REPEAT |
127 | # define LAMP_RIGHT BUTTON_NEXT | 49 | #else |
128 | # define LAMP_UP BUTTON_UP | 50 | # define LAMP_LEFT PLA_LEFT |
129 | # define LAMP_DOWN BUTTON_DOWN | 51 | # define LAMP_RIGHT PLA_RIGHT |
130 | 52 | # define LAMP_UP PLA_UP | |
131 | #elif CONFIG_KEYPAD == MPIO_HD200_PAD | 53 | # define LAMP_DOWN PLA_DOWN |
132 | # define LAMP_UP BUTTON_REW | 54 | # define LAMP_UP_REPEAT PLA_UP_REPEAT |
133 | # define LAMP_DOWN BUTTON_FF | 55 | # define LAMP_DOWN_REPEAT PLA_DOWN_REPEAT |
134 | 56 | #endif/* HAVE_SCROLLWHEEL */ | |
135 | #elif CONFIG_KEYPAD == MPIO_HD300_PAD | ||
136 | # define LAMP_UP BUTTON_UP | ||
137 | # define LAMP_DOWN BUTTON_DOWN | ||
138 | |||
139 | #elif CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD | ||
140 | # define LAMP_LEFT BUTTON_LEFT | ||
141 | # define LAMP_RIGHT BUTTON_RIGHT | ||
142 | # define LAMP_UP BUTTON_UP | ||
143 | # define LAMP_DOWN BUTTON_DOWN | ||
144 | |||
145 | #elif CONFIG_KEYPAD == SANSA_CLIP_PAD | ||
146 | # define LAMP_LEFT BUTTON_LEFT | ||
147 | # define LAMP_RIGHT BUTTON_RIGHT | ||
148 | # define LAMP_UP BUTTON_UP | ||
149 | # define LAMP_DOWN BUTTON_DOWN | ||
150 | 57 | ||
151 | #else | 58 | #else |
152 | # error Missing key definitions for this keypad | 59 | # error Missing key definitions for this keypad |
153 | #endif | ||
154 | #endif /* HAVE_LCD_COLOR || HAVE_BACKLIGHT_BRIGHTNESS */ | 60 | #endif /* HAVE_LCD_COLOR || HAVE_BACKLIGHT_BRIGHTNESS */ |
155 | 61 | ||
156 | #ifdef HAVE_TOUCHSCREEN | 62 | #define LAMP_EXIT PLA_EXIT |
157 | # ifndef LAMP_LEFT | 63 | #define LAMP_EXIT2 PLA_CANCEL |
158 | # define LAMP_LEFT BUTTON_MIDLEFT | 64 | |
159 | # endif | ||
160 | # ifndef LAMP_RIGHT | ||
161 | # define LAMP_RIGHT BUTTON_MIDRIGHT | ||
162 | # endif | ||
163 | # ifndef LAMP_UP | ||
164 | # define LAMP_UP BUTTON_TOPMIDDLE | ||
165 | # endif | ||
166 | # ifndef LAMP_DOWN | ||
167 | # define LAMP_DOWN BUTTON_BOTTOMMIDDLE | ||
168 | # endif | ||
169 | #endif | ||
170 | 65 | ||
171 | #ifdef HAVE_LCD_COLOR | 66 | #ifdef HAVE_LCD_COLOR |
172 | /* RGB color sets */ | 67 | /* RGB color sets */ |
@@ -235,8 +130,10 @@ enum plugin_status plugin_start(const void* parameter) | |||
235 | update = false; | 130 | update = false; |
236 | } | 131 | } |
237 | #endif /* HAVE_LCD_COLOR */ | 132 | #endif /* HAVE_LCD_COLOR */ |
133 | button = pluginlib_getaction(HZ*30, plugin_contexts, | ||
134 | ARRAYLEN(plugin_contexts)); | ||
238 | 135 | ||
239 | switch((button = rb->button_get_w_tmo(HZ*30))) | 136 | switch(button) |
240 | { | 137 | { |
241 | #ifdef HAVE_LCD_COLOR | 138 | #ifdef HAVE_LCD_COLOR |
242 | case LAMP_RIGHT: | 139 | case LAMP_RIGHT: |
@@ -258,31 +155,30 @@ enum plugin_status plugin_start(const void* parameter) | |||
258 | 155 | ||
259 | #ifdef HAVE_BACKLIGHT_BRIGHTNESS | 156 | #ifdef HAVE_BACKLIGHT_BRIGHTNESS |
260 | case LAMP_UP: | 157 | case LAMP_UP: |
261 | case (LAMP_UP|BUTTON_REPEAT): | 158 | case (LAMP_UP_REPEAT): |
262 | if (current_brightness < MAX_BRIGHTNESS_SETTING) | 159 | if (current_brightness < MAX_BRIGHTNESS_SETTING) |
263 | backlight_brightness_set(++current_brightness); | 160 | backlight_brightness_set(++current_brightness); |
264 | break; | 161 | break; |
265 | 162 | ||
266 | case LAMP_DOWN: | 163 | case LAMP_DOWN: |
267 | case (LAMP_DOWN|BUTTON_REPEAT): | 164 | case (LAMP_DOWN_REPEAT): |
268 | if (current_brightness > MIN_BRIGHTNESS_SETTING) | 165 | if (current_brightness > MIN_BRIGHTNESS_SETTING) |
269 | backlight_brightness_set(--current_brightness); | 166 | backlight_brightness_set(--current_brightness); |
270 | break; | 167 | break; |
271 | #endif /* HAVE_BACKLIGHT_BRIGHTNESS */ | 168 | #endif /* HAVE_BACKLIGHT_BRIGHTNESS */ |
169 | case LAMP_EXIT: | ||
170 | case LAMP_EXIT2: | ||
171 | quit = true; | ||
172 | break; | ||
272 | case BUTTON_NONE: | 173 | case BUTTON_NONE: |
273 | /* time out */ | 174 | /* time out */ |
274 | break; | 175 | break; |
275 | |||
276 | default: | 176 | default: |
277 | if(rb->default_event_handler(button) == SYS_USB_CONNECTED) | 177 | if(rb->default_event_handler(button) == SYS_USB_CONNECTED) |
278 | { | 178 | { |
279 | status = PLUGIN_USB_CONNECTED; | 179 | status = PLUGIN_USB_CONNECTED; |
280 | quit = true; | 180 | quit = true; |
281 | } | 181 | } |
282 | if(!(button & (BUTTON_REL|BUTTON_REPEAT)) | ||
283 | && !IS_SYSEVENT(button)) | ||
284 | quit = true; | ||
285 | break; | ||
286 | } | 182 | } |
287 | rb->reset_poweroff_timer(); | 183 | rb->reset_poweroff_timer(); |
288 | } while (!quit); | 184 | } while (!quit); |
diff --git a/manual/plugins/lamp.tex b/manual/plugins/lamp.tex index ec803f54e0..73f48f12f8 100644 --- a/manual/plugins/lamp.tex +++ b/manual/plugins/lamp.tex | |||
@@ -4,43 +4,22 @@ Lamp is a simple plugin to use your player as a lamp (flashlight, torch). | |||
4 | You get an empty screen with maximum brightness. | 4 | You get an empty screen with maximum brightness. |
5 | \begin{btnmap} | 5 | \begin{btnmap} |
6 | \opt{lcd_color}{ | 6 | \opt{lcd_color}{ |
7 | \nopt{touchscreen}{\ButtonLeft{} / \ButtonRight}% | 7 | \PluginLeft{} / \PluginRight |
8 | \opt{touchscreen}{\TouchMidLeft{} / \TouchMidRight} | ||
9 | & | 8 | & |
10 | \opt{HAVEREMOTEKEYMAP}{ | 9 | \opt{HAVEREMOTEKEYMAP}{ |
11 | & } | 10 | & } |
12 | Toggle between colours | 11 | Toggle between colours |
13 | \\ | 12 | \\ |
14 | } | 13 | } |
15 | |||
16 | \opt{backlight_brightness}{ | 14 | \opt{backlight_brightness}{ |
17 | \nopt{IPOD_4G_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD,MPIO_HD200_PAD,MPIO_HD300_PAD,touchscreen} | 15 | \nopt{scrollwheel}{\PluginUp{} / \PluginDown} |
18 | {\ButtonDown{} / \ButtonUp}% | 16 | \opt{scrollwheel}{\PluginScrollFwd{} / \PluginScrollBack} |
19 | \opt{IPOD_4G_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD}{\ButtonScrollBack{} / \ButtonScrollFwd} | ||
20 | \opt{MPIO_HD200_PAD}{\ButtonRew / \ButtonFF} | ||
21 | \opt{MPIO_HD300_PAD}{\ButtonScrollDown / \ButtonScrollUp} | ||
22 | \opt{touchscreen}{\TouchBottomMiddle{} / \TouchTopMiddle} | ||
23 | & | 17 | & |
24 | \opt{HAVEREMOTEKEYMAP}{ | 18 | \opt{HAVEREMOTEKEYMAP}{ |
25 | & } | 19 | & } |
26 | Change the brightness | 20 | Change the brightness |
27 | \\ | 21 | \\ |
28 | } | 22 | } |
29 | 23 | \PluginCancel{} or \PluginExit | |
30 | \opt{lcd_color,backlight_brightness}{ | 24 | & Exit to menu\\ |
31 | Any other key | ||
32 | & | ||
33 | \opt{HAVEREMOTEKEYMAP}{ | ||
34 | & } | ||
35 | Quit | ||
36 | \\ | ||
37 | } | ||
38 | \nopt{lcd_color,backlight_brightness}{ | ||
39 | Any key | ||
40 | & | ||
41 | \opt{HAVEREMOTEKEYMAP}{ | ||
42 | & } | ||
43 | Quit | ||
44 | \\ | ||
45 | } | ||
46 | \end{btnmap} | 25 | \end{btnmap} |