fix pitch_detector: recording will stop itself if the callback returns <0
[kugel-rb.git] / uisimulator / sdl / uisdl.h
blobdac84ffb74c6df4fbc327afeaf087169b47f5dfb
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
10 * Copyright (C) 2006 Dan Everton
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
20 ****************************************************************************/
22 #ifndef __UISDL_H__
23 #define __UISDL_H__
25 #include <stdbool.h>
26 #include "SDL.h"
27 #include "config.h"
29 /* colour definitions are R, G, B */
31 #if defined(ARCHOS_RECORDER)
32 #define UI_TITLE "Jukebox Recorder"
33 #define UI_WIDTH 270 /* width of GUI window */
34 #define UI_HEIGHT 406 /* height of GUI window */
35 #define UI_LCD_POSX 80 /* x position of lcd */
36 #define UI_LCD_POSY 104 /* y position of lcd */
38 #elif defined(ARCHOS_PLAYER)
39 #define UI_TITLE "Jukebox Player"
40 #define UI_WIDTH 284 /* width of GUI window */
41 #define UI_HEIGHT 420 /* height of GUI window */
42 #define UI_LCD_POSX 75 /* x position of lcd */
43 #define UI_LCD_POSY 116 /* y position of lcd */
45 #elif defined(ARCHOS_FMRECORDER) || defined(ARCHOS_RECORDERV2)
46 #define UI_TITLE "Jukebox FM Recorder"
47 #define UI_WIDTH 285 /* width of GUI window */
48 #define UI_HEIGHT 414 /* height of GUI window */
49 #define UI_LCD_POSX 87 /* x position of lcd */
50 #define UI_LCD_POSY 77 /* y position of lcd */
52 #elif defined(ARCHOS_ONDIOSP) || defined(ARCHOS_ONDIOFM)
53 #define UI_TITLE "Ondio"
54 #define UI_WIDTH 155 /* width of GUI window */
55 #define UI_HEIGHT 334 /* height of GUI window */
56 #define UI_LCD_POSX 21 /* x position of lcd */
57 #define UI_LCD_POSY 82 /* y position of lcd */
59 #elif defined(IRIVER_H120) || defined(IRIVER_H100)
60 #define UI_TITLE "iriver H1x0"
61 #define UI_WIDTH 379 /* width of GUI window */
62 #define UI_HEIGHT 508 /* height of GUI window */
63 #define UI_LCD_POSX 109 /* x position of lcd */
64 #define UI_LCD_POSY 23 /* y position of lcd */
65 #define UI_REMOTE_POSX 50 /* x position of remote lcd */
66 #define UI_REMOTE_POSY 403 /* y position of remote lcd */
68 #elif defined(IRIVER_H300)
69 #define UI_TITLE "iriver H300"
70 #define UI_WIDTH 288 /* width of GUI window */
71 #define UI_HEIGHT 581 /* height of GUI window */
72 #define UI_LCD_POSX 26 /* x position of lcd */
73 #define UI_LCD_POSY 36 /* y position of lcd */
74 #define UI_REMOTE_POSX 12 /* x position of remote lcd */
75 #define UI_REMOTE_POSY 478 /* y position of remote lcd */
77 #elif defined(IPOD_1G2G)
78 #define UI_TITLE "iPod 1G/2G"
79 #define UI_WIDTH 224 /* width of GUI window */
80 #define UI_HEIGHT 382 /* height of GUI window */
81 #define UI_LCD_POSX 32 /* x position of lcd */
82 #define UI_LCD_POSY 12 /* y position of lcd */
84 #elif defined(IPOD_3G)
85 #define UI_TITLE "iPod 3G"
86 #define UI_WIDTH 218 /* width of GUI window */
87 #define UI_HEIGHT 389 /* height of GUI window */
88 #define UI_LCD_POSX 29 /* x position of lcd */
89 #define UI_LCD_POSY 16 /* y position of lcd */
91 #elif defined(IPOD_4G)
92 #define UI_TITLE "iPod 4G"
93 #define UI_WIDTH 196 /* width of GUI window */
94 #define UI_HEIGHT 370 /* height of GUI window */
95 #define UI_LCD_POSX 19 /* x position of lcd */
96 #define UI_LCD_POSY 14 /* y position of lcd */
98 #elif defined(IPOD_MINI) || defined(IPOD_MINI2G)
99 #define UI_TITLE "iPod mini"
100 #define UI_WIDTH 191 /* width of GUI window */
101 #define UI_HEIGHT 365 /* height of GUI window */
102 #define UI_LCD_POSX 24 /* x position of lcd */
103 #define UI_LCD_POSY 17 /* y position of lcd */
105 #elif defined(IPOD_COLOR)
106 #define UI_TITLE "iPod Color"
107 #define UI_WIDTH 261 /* width of GUI window */
108 #define UI_HEIGHT 493 /* height of GUI window */
109 #define UI_LCD_POSX 21 /* x position of lcd */
110 #define UI_LCD_POSY 16 /* y position of lcd */
112 #elif defined(IPOD_NANO)
113 #define UI_TITLE "iPod Nano"
114 #define UI_WIDTH 199 /* width of GUI window */
115 #define UI_HEIGHT 421 /* height of GUI window */
116 #define UI_LCD_POSX 13 /* x position of lcd */
117 #define UI_LCD_POSY 14 /* y position of lcd */
119 #elif defined(IPOD_NANO2G)
120 #define UI_TITLE "iPod Nano 2G"
121 #define UI_WIDTH 235 /* width of GUI window */
122 #define UI_HEIGHT 537 /* height of GUI window */
123 #define UI_LCD_POSX 29 /* x position of lcd */
124 #define UI_LCD_POSY 33 /* y position of lcd */
126 #elif defined(IPOD_VIDEO)
127 #define UI_TITLE "iPod Video"
128 #define UI_WIDTH 350 /* width of GUI window */
129 #define UI_HEIGHT 591 /* height of GUI window */
130 #define UI_LCD_POSX 14 /* x position of lcd */
131 #define UI_LCD_POSY 12 /* y position of lcd */
133 #elif defined(IAUDIO_X5)
134 #define UI_TITLE "iAudio X5"
135 #define UI_WIDTH 300 /* width of GUI window */
136 #define UI_HEIGHT 558 /* height of GUI window */
137 #define UI_LCD_POSX 55 /* x position of lcd */
138 #define UI_LCD_POSY 61 /* y position of lcd */
139 #define UI_REMOTE_POSX 12 /* x position of remote lcd */
140 #define UI_REMOTE_POSY 462 /* y position of remote lcd */
142 #elif defined(IAUDIO_M5)
143 #define UI_TITLE "iAudio M5"
144 #define UI_WIDTH 374 /* width of GUI window */
145 #define UI_HEIGHT 650 /* height of GUI window */
146 #define UI_LCD_POSX 82 /* x position of lcd */
147 #define UI_LCD_POSY 74 /* y position of lcd */
148 #define UI_REMOTE_POSX 59 /* x position of remote lcd */
149 #define UI_REMOTE_POSY 509 /* y position of remote lcd */
151 #elif defined(IAUDIO_M3)
152 #define UI_TITLE "iAudio M3"
153 #define UI_WIDTH 397 /* width of GUI window */
154 #define UI_HEIGHT 501 /* height of GUI window */
155 #define UI_LCD_POSX 92 /* x position of lcd */
156 #define UI_LCD_POSY 348 /* y position of lcd */
158 #elif defined(GIGABEAT_F)
159 #define UI_TITLE "Toshiba Gigabeat"
160 #define UI_WIDTH 401 /* width of GUI window */
161 #define UI_HEIGHT 655 /* height of GUI window */
162 #define UI_LCD_POSX 48 /* x position of lcd */
163 #define UI_LCD_POSY 60 /* y position of lcd */
165 #elif defined(GIGABEAT_S)
166 #define UI_TITLE "Toshiba Gigabeat"
167 #define UI_WIDTH 450 /* width of GUI window */
168 #define UI_HEIGHT 688 /* height of GUI window */
169 #define UI_LCD_POSX 96 /* x position of lcd */
170 #define UI_LCD_POSY 90 /* y position of lcd */
172 #elif defined(MROBE_500)
173 #if LCD_WIDTH==320
174 #define UI_TITLE "Olympus M:Robe 500"
175 #define UI_WIDTH 450 /* width of GUI window */
176 #define UI_HEIGHT 350 /* height of GUI window */
177 #define UI_LCD_POSX 65 /* x position of lcd */
178 #define UI_LCD_POSY 30 /* y position of lcd */
179 #define UI_REMOTE_POSX 36 /* x position of remote lcd */
180 #define UI_REMOTE_POSY 318 /* y position of remote lcd */
181 #else
182 #define UI_TITLE "Olympus M:Robe 500"
183 #define UI_WIDTH 895 /* width of GUI window */
184 #define UI_HEIGHT 646 /* height of GUI window */
185 #define UI_LCD_POSX 129 /* x position of lcd */
186 #define UI_LCD_POSY 60 /* y position of lcd */
187 #define UI_REMOTE_POSX 37 /* x position of remote lcd */
188 #define UI_REMOTE_POSY 615 /* y position of remote lcd */
189 #endif
191 #elif defined(IRIVER_H10)
192 #define UI_TITLE "iriver H10 20Gb"
193 #define UI_WIDTH 392 /* width of GUI window */
194 #define UI_HEIGHT 391 /* height of GUI window */
195 #define UI_LCD_POSX 111 /* x position of lcd */
196 #define UI_LCD_POSY 30 /* y position of lcd */
198 #elif defined(IRIVER_H10_5GB)
199 #define UI_TITLE "iriver H10 5/6Gb"
200 #define UI_WIDTH 353 /* width of GUI window */
201 #define UI_HEIGHT 460 /* height of GUI window */
202 #define UI_LCD_POSX 112 /* x position of lcd */
203 #define UI_LCD_POSY 45 /* y position of lcd */
205 #elif defined(SANSA_E200) || defined(SANSA_E200V2)
206 #ifdef SANSA_E200
207 #define UI_TITLE "Sansa e200"
208 #else
209 #define UI_TITLE "Sansa e200v2"
210 #endif
211 #define UI_WIDTH 260 /* width of GUI window */
212 #define UI_HEIGHT 502 /* height of GUI window */
213 #define UI_LCD_POSX 42 /* x position of lcd */
214 #define UI_LCD_POSY 37 /* y position of lcd */
216 #elif defined(SANSA_C200) || defined(SANSA_C200V2)
217 #ifdef SANSA_C200
218 #define UI_TITLE "Sansa c200"
219 #else
220 #define UI_TITLE "Sansa c200v2"
221 #endif
222 #define UI_WIDTH 350 /* width of GUI window */
223 #define UI_HEIGHT 152 /* height of GUI window */
224 #define UI_LCD_POSX 42 /* x position of lcd */
225 #define UI_LCD_POSY 35 /* y position of lcd */
227 #elif defined(IRIVER_IFP7XX)
228 #define UI_TITLE "iriver iFP7xx"
229 #define UI_WIDTH 425 /* width of GUI window */
230 #define UI_HEIGHT 183 /* height of GUI window */
231 #define UI_LCD_POSX 115 /* x position of lcd */
232 #define UI_LCD_POSY 54 /* y position of lcd */
234 #elif defined(ARCHOS_AV300)
235 #define UI_TITLE "Archos AV300"
236 /* We are temporarily using a 2bpp LCD driver and dummy bitmap */
237 #define UI_WIDTH 420 /* width of GUI window */
238 #define UI_HEIGHT 340 /* height of GUI window */
239 #define UI_LCD_POSX 50 /* x position of lcd */
240 #define UI_LCD_POSY 50 /* y position of lcd */
242 #elif defined(MROBE_100)
243 #define UI_TITLE "Olympus M:Robe 100"
244 #define UI_WIDTH 247 /* width of GUI window */
245 #define UI_HEIGHT 462 /* height of GUI window */
246 #define UI_LCD_POSX 43 /* x position of lcd */
247 #define UI_LCD_POSY 25 /* y position of lcd */
248 #define UI_REMOTE_POSX 34 /* x position of remote lcd */
249 #define UI_REMOTE_POSY 432 /* y position of remote lcd */
251 #elif defined(COWON_D2)
252 #define UI_TITLE "Cowon D2"
253 #define UI_WIDTH 472 /* width of GUI window */
254 #define UI_HEIGHT 368 /* height of GUI window */
255 #define UI_LCD_POSX 58 /* x position of lcd */
256 #define UI_LCD_POSY 67 /* y position of lcd */
258 #elif defined(IAUDIO_7)
259 #define UI_TITLE "iAudio7"
260 #define UI_WIDTH 494 /* width of GUI window */
261 #define UI_HEIGHT 214 /* height of GUI window */
262 #define UI_LCD_POSX 131 /* x position of lcd */
263 #define UI_LCD_POSY 38 /* y position of lcd */
265 #elif defined(CREATIVE_ZVM) || defined(CREATIVE_ZVM60GB)
266 #ifdef CREATIVE_ZVM
267 #define UI_TITLE "Creative Zen Vision:M 30GB"
268 #else
269 #define UI_TITLE "Creative Zen Vision:M 60GB"
270 #endif
271 #define UI_WIDTH 383 /* width of GUI window */
272 #define UI_HEIGHT 643 /* height of GUI window */
273 #define UI_LCD_POSX 31 /* x position of lcd */
274 #define UI_LCD_POSY 62 /* y position of lcd */
276 #elif defined(CREATIVE_ZV)
277 #define UI_TITLE "Creative Zen Vision"
278 #define UI_WIDTH 1054 /* width of GUI window */
279 #define UI_HEIGHT 643 /* height of GUI window */
280 #define UI_LCD_POSX 129 /* x position of lcd */
281 #define UI_LCD_POSY 85 /* y position of lcd */
283 #elif defined(MEIZU_M6SL)
284 #define UI_TITLE "Meizu M6"
285 #define UI_WIDTH 512 /* width of GUI window */
286 #define UI_HEIGHT 322 /* height of GUI window */
287 #define UI_LCD_POSX 39 /* x position of lcd */
288 #define UI_LCD_POSY 38 /* y position of lcd */
290 #elif defined(SANSA_FUZE) || defined(SANSA_FUZEV2)
291 #ifdef SANSA_FUZE
292 #define UI_TITLE "Sansa Fuze"
293 #else
294 #define UI_TITLE "Sansa Fuzev2"
295 #endif
296 #define UI_WIDTH 279 /* width of GUI window */
297 #define UI_HEIGHT 449 /* height of GUI window */
298 #define UI_LCD_POSX 30 /* x position of lcd */
299 #define UI_LCD_POSY 31 /* y position of lcd */
301 #elif defined(SANSA_CLIP) || defined(SANSA_CLIPV2)
302 #if defined(SANSA_CLIP)
303 #define CLIP_VERSION ""
304 #elif defined(SANSA_CLIPV2)
305 #define CLIP_VERSION "v2"
306 #endif
307 #define UI_TITLE "Sansa Clip"CLIP_VERSION
308 #define UI_WIDTH 205 /* width of GUI window */
309 #define UI_HEIGHT 325 /* height of GUI window */
310 #define UI_LCD_POSX 38 /* x position of lcd */
311 #define UI_LCD_POSY 38 /* y position of lcd */
313 #elif defined(SANSA_CLIPPLUS)
314 #define UI_TITLE "Sansa Clip+"
315 #define UI_WIDTH 205 /* width of GUI window */
316 #define UI_HEIGHT 325 /* height of GUI window */
317 #define UI_LCD_POSX 42 /* x position of lcd */
318 #define UI_LCD_POSY 42 /* y position of lcd */
322 #elif defined(PHILIPS_SA9200)
323 #define UI_TITLE "Philips GoGear SA9200"
324 #define UI_WIDTH 233 /* width of GUI window */
325 #define UI_HEIGHT 435 /* height of GUI window */
326 #define UI_LCD_POSX 50 /* x position of lcd */
327 #define UI_LCD_POSY 50 /* y position of lcd */
329 #elif defined(PHILIPS_HDD1630)
330 #define UI_TITLE "Philips GoGear HDD1630"
331 #define UI_WIDTH 407 /* width of GUI window */
332 #define UI_HEIGHT 391 /* height of GUI window */
333 #define UI_LCD_POSX 143 /* x position of lcd */
334 #define UI_LCD_POSY 27 /* y position of lcd */
336 #elif defined(SANSA_M200V4)
337 #define UI_TITLE "sansa m200v4"
338 #define UI_WIDTH 350 /* width of GUI window */
339 #define UI_HEIGHT 168 /* height of GUI window */
340 #define UI_LCD_POSX 42 /* x position of lcd */
341 #define UI_LCD_POSY 55 /* y position of lcd */
343 #elif defined(ONDA_VX747) || defined(ONDA_VX747P)
344 #ifdef ONDA_VX747
345 #define UI_TITLE "Onda VX747"
346 #else
347 #define UI_TITLE "Onda VX747+"
348 #endif
349 #define UI_WIDTH 340 /* width of GUI window */
350 #define UI_HEIGHT 601 /* height of GUI window */
351 #define UI_LCD_POSX 45 /* x position of lcd */
352 #define UI_LCD_POSY 90 /* y position of lcd */
354 #elif defined(ONDA_VX777)
355 #define UI_TITLE "Onda VX777"
356 #define UI_WIDTH 306 /* width of GUI window */
357 #define UI_HEIGHT 558 /* height of GUI window */
358 #define UI_LCD_POSX 32 /* x position of lcd */
359 #define UI_LCD_POSY 81 /* y position of lcd */
361 #elif defined(SAMSUNG_YH820)
362 #define UI_TITLE "Samsung YH-820"
363 #define UI_WIDTH 368 /* width of GUI window */
364 #define UI_HEIGHT 428 /* height of GUI window */
365 #define UI_LCD_POSX 120 /* x position of lcd */
366 #define UI_LCD_POSY 75 /* y position of lcd */
368 #elif defined(SAMSUNG_YH920) || defined(SAMSUNG_YH925)
369 #ifdef SAMSUNG_YH920
370 #define UI_TITLE "Samsung YH-920"
371 #else
372 #define UI_TITLE "Samsung YH-925"
373 #endif
374 #define UI_WIDTH 408 /* width of GUI window */
375 #define UI_HEIGHT 454 /* height of GUI window */
376 #define UI_LCD_POSX 124 /* x position of lcd */
377 #define UI_LCD_POSY 42 /* y position of lcd */
379 #elif defined(MINI2440)
380 #define UI_TITLE "Mini2440"
381 #define UI_WIDTH 441 /* width of GUI window */
382 #define UI_HEIGHT 436 /* height of GUI window */
383 #define UI_LCD_POSX 148 /* x position of lcd */
384 #define UI_LCD_POSY 50 /* y position of lcd */
386 #elif defined(PBELL_VIBE500)
387 #define UI_TITLE "Packard Bell Vibe 500"
388 #define UI_WIDTH 287 /* width of GUI window */
389 #define UI_HEIGHT 488 /* height of GUI window */
390 #define UI_LCD_POSX 64 /* x position of lcd */
391 #define UI_LCD_POSY 61 /* y position of lcd */
393 #elif defined(MPIO_HD200)
394 #define UI_TITLE "MPIO HD200"
395 #define UI_WIDTH 430 /* width of GUI window */
396 #define UI_HEIGHT 479 /* height of GUI window */
397 #define UI_LCD_POSX 101
398 #define UI_LCD_POSY 195
400 #else
401 #error no UI defines
402 #endif
403 extern SDL_Surface *gui_surface;
404 extern bool background; /* True if the background image is enabled */
405 extern int display_zoom;
407 #endif /* #ifndef __UISDL_H__ */