summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Louis Biasini <jlbiasini@gmail.com>2012-02-25 23:43:18 +0100
committerThomas Martitz <kugel@rockbox.org>2012-03-03 16:37:47 +0100
commit693af46f6de65012828a621ab07573096857ab64 (patch)
tree3b3ffd25059e0772ee1e53ddc6205469d99b6d3f
parentd05db0a90c7bce7e6830e77a16c63a90e9e572c4 (diff)
downloadrockbox-693af46f6de65012828a621ab07573096857ab64.tar.gz
rockbox-693af46f6de65012828a621ab07573096857ab64.zip
Plugin mosaique PLA integration (code + manual)
This commit change: 1) replace all keymaps with PLA ones. 2) add an alternative exit button (PLA_EXIT or PLA_CANCEL) 3) do the required change to the manual in order to match code's changes. 4) add a missing key in the manual and show them in a table Change-Id: Ie983c7673c9dec1a9daeb34f5edaaa3c8be7dd5e Reviewed-on: http://gerrit.rockbox.org/129 Reviewed-by: Thomas Martitz <kugel@rockbox.org> Tested-by: Thomas Martitz <kugel@rockbox.org>
-rw-r--r--apps/plugins/mosaique.c181
-rw-r--r--manual/plugins/mosaic.tex22
2 files changed, 21 insertions, 182 deletions
diff --git a/apps/plugins/mosaique.c b/apps/plugins/mosaique.c
index 87e664e102..68938a1f13 100644
--- a/apps/plugins/mosaique.c
+++ b/apps/plugins/mosaique.c
@@ -21,7 +21,7 @@
21#include "plugin.h" 21#include "plugin.h"
22#include "lib/playergfx.h" 22#include "lib/playergfx.h"
23#include "lib/mylcd.h" 23#include "lib/mylcd.h"
24 24#include "lib/pluginlib_actions.h"
25 25
26 26
27#ifdef HAVE_LCD_BITMAP 27#ifdef HAVE_LCD_BITMAP
@@ -41,174 +41,13 @@
41#define GFX_HEIGHT 6 41#define GFX_HEIGHT 6
42#endif 42#endif
43 43
44/* variable button definitions */ 44/* this set the context to use with PLA */
45#if CONFIG_KEYPAD == RECORDER_PAD 45static const struct button_mapping *plugin_contexts[] = { pla_main_ctx };
46#define MOSAIQUE_QUIT BUTTON_OFF
47#define MOSAIQUE_SPEED BUTTON_F1
48#define MOSAIQUE_RESTART BUTTON_PLAY
49
50#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD
51#define MOSAIQUE_QUIT BUTTON_OFF
52#define MOSAIQUE_SPEED BUTTON_F1
53#define MOSAIQUE_RESTART BUTTON_SELECT
54
55#elif CONFIG_KEYPAD == PLAYER_PAD
56#define MOSAIQUE_QUIT BUTTON_STOP
57#define MOSAIQUE_SPEED BUTTON_MENU
58#define MOSAIQUE_RESTART BUTTON_PLAY
59
60#elif CONFIG_KEYPAD == ONDIO_PAD
61#define MOSAIQUE_QUIT BUTTON_OFF
62#define MOSAIQUE_SPEED BUTTON_MENU
63#define MOSAIQUE_RESTART BUTTON_RIGHT
64
65#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
66 (CONFIG_KEYPAD == IRIVER_H300_PAD)
67#define MOSAIQUE_QUIT BUTTON_OFF
68#define MOSAIQUE_SPEED BUTTON_MODE
69#define MOSAIQUE_RESTART BUTTON_ON
70
71#define MOSAIQUE_RC_QUIT BUTTON_RC_STOP
72
73#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
74 (CONFIG_KEYPAD == IPOD_3G_PAD) || \
75 (CONFIG_KEYPAD == IPOD_1G2G_PAD)
76#define MOSAIQUE_QUIT BUTTON_MENU
77#define MOSAIQUE_SPEED BUTTON_SELECT
78#define MOSAIQUE_RESTART BUTTON_PLAY
79
80#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
81#define MOSAIQUE_QUIT BUTTON_PLAY
82#define MOSAIQUE_SPEED BUTTON_MODE
83#define MOSAIQUE_RESTART BUTTON_SELECT
84
85#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD
86#define MOSAIQUE_QUIT BUTTON_POWER
87#define MOSAIQUE_SPEED BUTTON_SELECT
88#define MOSAIQUE_RESTART BUTTON_PLAY
89
90#elif CONFIG_KEYPAD == GIGABEAT_PAD
91#define MOSAIQUE_QUIT BUTTON_POWER
92#define MOSAIQUE_SPEED BUTTON_A
93#define MOSAIQUE_RESTART BUTTON_SELECT
94
95#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
96 (CONFIG_KEYPAD == SANSA_C200_PAD) || \
97 (CONFIG_KEYPAD == SANSA_CLIP_PAD) || \
98 (CONFIG_KEYPAD == SANSA_M200_PAD)
99#define MOSAIQUE_QUIT BUTTON_POWER
100#define MOSAIQUE_SPEED BUTTON_DOWN
101#define MOSAIQUE_RESTART BUTTON_SELECT
102
103#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
104#define MOSAIQUE_QUIT (BUTTON_HOME|BUTTON_REPEAT)
105#define MOSAIQUE_SPEED BUTTON_DOWN
106#define MOSAIQUE_RESTART BUTTON_SELECT
107
108#elif CONFIG_KEYPAD == IRIVER_H10_PAD
109#define MOSAIQUE_QUIT BUTTON_POWER
110#define MOSAIQUE_SPEED BUTTON_FF
111#define MOSAIQUE_RESTART BUTTON_PLAY
112
113#elif CONFIG_KEYPAD == MROBE500_PAD
114#define MOSAIQUE_QUIT BUTTON_POWER
115
116#elif CONFIG_KEYPAD == GIGABEAT_S_PAD || \
117 CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
118#define MOSAIQUE_QUIT BUTTON_BACK
119#define MOSAIQUE_SPEED BUTTON_SELECT
120#define MOSAIQUE_RESTART BUTTON_MENU
121
122#elif CONFIG_KEYPAD == MROBE100_PAD
123#define MOSAIQUE_QUIT BUTTON_POWER
124#define MOSAIQUE_SPEED BUTTON_DISPLAY
125#define MOSAIQUE_RESTART BUTTON_SELECT
126
127#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
128#define MOSAIQUE_QUIT BUTTON_RC_REC
129#define MOSAIQUE_SPEED BUTTON_RC_MENU
130#define MOSAIQUE_RESTART BUTTON_RC_PLAY
131
132#elif CONFIG_KEYPAD == COWON_D2_PAD
133#define MOSAIQUE_QUIT BUTTON_POWER
134#define MOSAIQUE_SPEED BUTTON_MINUS
135#define MOSAIQUE_RESTART BUTTON_MENU
136
137#elif CONFIG_KEYPAD == IAUDIO67_PAD
138#define MOSAIQUE_QUIT BUTTON_POWER
139#define MOSAIQUE_SPEED BUTTON_PLAY
140#define MOSAIQUE_RESTART BUTTON_MENU
141 46
142#elif CONFIG_KEYPAD == CREATIVEZVM_PAD 47#define MOSAIQUE_QUIT PLA_EXIT
143#define MOSAIQUE_QUIT BUTTON_BACK 48#define MOSAIQUE_QUIT2 PLA_CANCEL
144#define MOSAIQUE_SPEED BUTTON_SELECT 49#define MOSAIQUE_SPEED PLA_UP
145#define MOSAIQUE_RESTART BUTTON_PLAY 50#define MOSAIQUE_RESTART PLA_SELECT
146
147#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
148#define MOSAIQUE_QUIT BUTTON_POWER
149#define MOSAIQUE_SPEED BUTTON_VIEW
150#define MOSAIQUE_RESTART BUTTON_MENU
151
152#elif CONFIG_KEYPAD == PHILIPS_HDD6330_PAD
153#define MOSAIQUE_QUIT BUTTON_POWER
154#define MOSAIQUE_SPEED BUTTON_RIGHT
155#define MOSAIQUE_RESTART BUTTON_MENU
156
157#elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD
158#define MOSAIQUE_QUIT BUTTON_POWER
159#define MOSAIQUE_SPEED BUTTON_RIGHT
160#define MOSAIQUE_RESTART BUTTON_MENU
161
162#elif CONFIG_KEYPAD == ONDAVX747_PAD
163#define MOSAIQUE_QUIT BUTTON_POWER
164#elif CONFIG_KEYPAD == ONDAVX777_PAD
165#define MOSAIQUE_QUIT BUTTON_POWER
166
167#elif CONFIG_KEYPAD == SAMSUNG_YH_PAD
168#define MOSAIQUE_QUIT BUTTON_PLAY
169#define MOSAIQUE_SPEED BUTTON_UP
170#define MOSAIQUE_RESTART BUTTON_DOWN
171
172#elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
173#define MOSAIQUE_QUIT BUTTON_REC
174#define MOSAIQUE_SPEED BUTTON_PLAY
175#define MOSAIQUE_RESTART BUTTON_MENU
176
177#elif CONFIG_KEYPAD == MPIO_HD200_PAD
178#define MOSAIQUE_QUIT (BUTTON_REC | BUTTON_PLAY)
179#define MOSAIQUE_SPEED BUTTON_FUNC
180#define MOSAIQUE_RESTART BUTTON_PLAY
181
182#elif CONFIG_KEYPAD == MPIO_HD300_PAD
183#define MOSAIQUE_QUIT (BUTTON_REC | BUTTON_REPEAT)
184#define MOSAIQUE_SPEED BUTTON_ENTER
185#define MOSAIQUE_RESTART BUTTON_PLAY
186
187#elif CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD
188#define MOSAIQUE_QUIT BUTTON_POWER
189#define MOSAIQUE_SPEED BUTTON_PLAYPAUSE
190#define MOSAIQUE_RESTART BUTTON_BACK
191
192#elif CONFIG_KEYPAD == SANSA_CONNECT_PAD
193#define MOSAIQUE_QUIT BUTTON_POWER
194#define MOSAIQUE_SPEED BUTTON_SELECT
195#define MOSAIQUE_RESTART BUTTON_DOWN
196
197#else
198#error No keymap defined!
199#endif
200
201#ifdef HAVE_TOUCHSCREEN
202#ifndef MOSAIQUE_QUIT
203#define MOSAIQUE_QUIT BUTTON_TOPLEFT
204#endif
205#ifndef MOSAIQUE_SPEED
206#define MOSAIQUE_SPEED BUTTON_MIDRIGHT
207#endif
208#ifndef MOSAIQUE_RESTART
209#define MOSAIQUE_RESTART BUTTON_CENTER
210#endif
211#endif
212 51
213enum plugin_status plugin_start(const void* parameter) 52enum plugin_status plugin_start(const void* parameter)
214{ 53{
@@ -266,13 +105,17 @@ enum plugin_status plugin_start(const void* parameter)
266 105
267 rb->sleep(HZ/timer); 106 rb->sleep(HZ/timer);
268 107
269 button = rb->button_get(false); 108 /*We get button from PLA this way */
109 button = pluginlib_getaction(TIMEOUT_NOBLOCK, plugin_contexts,
110 ARRAYLEN(plugin_contexts));
111
270 switch (button) 112 switch (button)
271 { 113 {
272#ifdef MOSAIQUE_RC_QUIT 114#ifdef MOSAIQUE_RC_QUIT
273 case MOSAIQUE_RC_QUIT: 115 case MOSAIQUE_RC_QUIT:
274#endif 116#endif
275 case MOSAIQUE_QUIT: 117 case MOSAIQUE_QUIT:
118 case MOSAIQUE_QUIT2:
276 mylcd_set_drawmode(DRMODE_SOLID); 119 mylcd_set_drawmode(DRMODE_SOLID);
277#ifdef HAVE_LCD_CHARCELLS 120#ifdef HAVE_LCD_CHARCELLS
278 pgfx_release(); 121 pgfx_release();
diff --git a/manual/plugins/mosaic.tex b/manual/plugins/mosaic.tex
index b14e496783..d5fdfefe64 100644
--- a/manual/plugins/mosaic.tex
+++ b/manual/plugins/mosaic.tex
@@ -1,19 +1,15 @@
1% $Id$ % 1% $Id$ %
2% 2%
3% NOTE:
4% This plugin is called "mosaique" but the tex file (and screenshot)
5% is still named "mosaic". This should probably get changed sometime.
6% 3%
7\subsection{Mosaique} 4\subsection{Mosaique}
8\screenshot{plugins/images/ss-mosaic}{Mosaique}{img:mosaique} 5\screenshot{plugins/images/ss-mosaic}{Mosaique}{img:mosaique}
9This simple graphics demo draws a mosaic picture on the screen of the \dap. 6This simple graphics demo draws a mosaic picture on the screen of the \dap.
10Press 7
11\opt{PLAYER_PAD}{\ButtonStop}% 8\begin{btnmap}
12\opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff}% 9 \PluginUp
13\opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu}% 10 & Change the gap between the drawing lines.\\
14\opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,GIGABEAT_PAD% 11 \PluginSelect
15 ,MROBE100_PAD,COWON_D2_PAD}{\ButtonPower}% 12 & Restart the drawing process.\\
16\opt{SANSA_FUZE_PAD}{Long \ButtonHome}% 13 \PluginCancel{} or \PluginExit
17\opt{PBELL_VIBE500_PAD}{\ButtonRec}% 14 & Exits Mosaique demo\\
18\opt{GIGABEAT_S_PAD}{\ButtonBack} % 15\end{btnmap}
19to quit.