comparison DOCS/fr/skin.html @ 9332:a604236b0dd6

Rename documentation directories to two-letter language codes.
author diego
date Sat, 08 Feb 2003 00:00:00 +0000
parents DOCS/French/skin.html@f08b6945e839
children 36637ef379f1
comparison
equal deleted inserted replaced
9331:bbe91bd6e1c8 9332:a604236b0dd6
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3
4 <head>
5 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
6 <title>Création de skins - MPlayer - Le lecteur vidéo pour Linux</title>
7 <link rel="stylesheet" type="text/css" href="default.css">
8 <style type="text/css">
9 em.note {color: green;
10 font-style: normal;}
11 em.warn {color: red;
12 font-style: normal;}
13 </style>
14 </head>
15
16 <body>
17
18 <h1 align="center">Appendice D - Format de skins MPlayer</h1>
19
20 <p>L'objectif de ce document est de décrire le format de skins de MPlayer.
21 Les informations présentées ici peuvent s'avérer fausses, du fait que</p>
22
23 <ol type="a">
24 <li>Ce n'est pas moi qui ait écrit la GUI.</li>
25 <li>Cette GUI n'est pas terminée,</li>
26 <li>Je peux me tromper.</li>
27 </ol>
28
29 <p>Ne soyez donc pas surpris si quelque chose ne correspond pas à cette description.</p>
30
31 <p>Merci à <em>Zolt&aacute;n Ponekker</em> pour son aide.</p>
32
33 <p><em>Andr&aacute;s Mohari &lt;mayday@freemail.hu&gt;</em></P>
34
35 <h2><a name="overview">D.1 Aperçu</a></h2>
36
37 <p>Ce n'est pas en rapport direct avec le format des skins, mais vous devez savoir que
38 MPlayer n'a <b>pas</b> de skin par défaut, donc <b>une skin au moins doit
39 être installée pour pouvoir utiliser la GUI.</b></p>
40
41
42 <h3><a name="dirs">D.1.1 Répertoires</a></h3>
43
44 <p>MPlayer cherche des skins dans ces répertoires (dans cet ordre):</p>
45
46 <pre>
47 $(DATADIR)/Skin/
48 /usr/local/share/mplayer/Skin/
49 ~/.mplayer/Skin/
50 </pre>
51
52 <p>Notez que le premier répertoire peut varier suivant la façon dont MPlayer
53 a été configuré (c.f. les arguments <code>--prefix</code> et
54 <code>--datadir</code> du script <code>configure</code>).</p>
55
56 <p>Chaque skin est installée dans son propre répertoire sous l'un des répertoires
57 listés ci-dessus, par exemple:</p>
58
59 <pre>
60 $(PREFIX)/share/mplayer/Skin/default/
61 </pre>
62
63
64 <h3><a name="images">D.1.2 Format d'images</a></h3>
65
66 <p>Les images doivent être en truecolor (24 ou 32 bpp) et enregistrées
67 au format PNG.</p>
68
69 <p>Dans la fenêtre principale et la barre de lecture (c.f. ci-dessous) vous pouvez utiliser des images
70 dotées de régions "transparentes" : les régions remplies avec la
71 couleur #FF00FF (<font color="#FF00FF">magenta</font>) deviennent transparentes dans
72 MPlayer. De même, vous pouvez obtenir des formes particulières pour vos
73 fenêtres si votre serveur X possède l'extension XShape.</p>
74
75
76 <h3><a name="components">D.1.3 Composants d'une skin</a></h3>
77
78 <p>Les skins sont d'un format plutôt libre (contrairement aux formats fixes de
79 Winamp/XMMS, par exemple), donc il ne tient qu'a vous de créer quelque chose
80 de bien.</p>
81
82 <p>Actuellement, trois fenêtres doivent être décorées : la
83 <a href="#mainwin">fenêtre principale</a>, la
84 <a href="#subwindow">sous-fenêtre</a>, la <a href="#mainwin">barre de lecture</a>,
85 et le <a href="#skinmenu">menu</a> (activable par un clic droit).</p>
86
87 <ul>
88 <li><p>Vous controlez MPlayer par la <b>fenêtre principale</b> et/ou la barre de lecture.
89 L'arrière plan est une image. Divers objets doivent venir se placer dans cette fenêtre :
90 <em>boutons</em>, <em>podomètres</em> (ou des sliders si vous préférez)
91 et des <em>labels</em>. Pour chaque objet, vous devez spécifier sa taille et
92 sa position.</p>
93
94 <p>Un <b>bouton</b> comprend trois états (pressé, relâché,
95 désactivé), donc l'image doit se diviser en trois parties, verticalement.
96 c.f. l'objet <a href="#main.button">bouton</a> pour plus de détails.</p>
97
98 <p>Un <b>podomètre</b> (principalement utilisé pour la barre d'avancement
99 et le contrôle du volume/balance) peut posséder n'importe quel nombre
100 d'états en empilant ces images, verticalement.
101 C.f. <a href="#main.hpotmeter">hpotmeter</a> et
102 <a href="#main.potmeter">potmeter</a> pour plus de détails.</p>
103
104 <p>Les <b>labels</b> sont un peut particuliers : les caractères nécessaires
105 pour les dessiner sont récupérés depuis un fichier image,
106 décrit par un <a href="#fonts">fichier de description de polices</a>.
107 Ce dernier est un fichier texte brut spécifiant la position x,y ainsi que la taille de chaque caractère dans l'image. (donc le fichier image et son descripteur forment une police <em>ensemble</em>.)
108 C.f. <a href="#main.dlabel">dlabel</a> et <a href="#main.slabel">slabel</a>
109 pour plus de détails.</p>
110
111 <p><em class=note><b>Note:</b> toutes les images disposent de la couleur de transparence décrite dans
112 la section <a href="#images">formats d'images</a>. Si le serveur X ne supporte pas
113 l'extension Xshape, les parties transparentes seront noires. Si vous voulez utiliser
114 cette fonction, la largeur de l'image de la fenêtre principale devra être divisible par 8.</em></p>
115 </li>
116
117 <li>La <b>sous-fenêtre</b> contient la vidéo en elle même. Elle peut
118 afficher une image si aucun film n'est chargé (ce n'est jamais plaisant
119 d'avoir une fenêtre vide :-)) <em class=note><b>Note:</b> la couleur de transparence n'est <b>pas
120 autorisée</b> ici.</em>
121 </li>
122
123 <li><p>Le <b>menu</b> est simplement un moyen de contrôler MPlayer par des entrées
124 graphiques. Deux images sont nécessaires pour le menu : l'une d'elle, l'image
125 de base, affiche le menu dans son été normal, l'autre est utilisée
126 pour afficher les entrées sélectionnées. Quand vous faites
127 apparaître le menu, la première image s'affiche. Si vous passez la souris sur
128 les entrées du menu, l'entrée sélectionnée est copiée
129 depuis la seconde image, et uniquement la partie concernée par cette
130 sélection (Donc la seconde image ne s'affiche jamais complètement.)</p>
131
132 <p>Une entrée de menu se définit par sa position et sa taille dans l'image
133 (c.f. la section <a href="#skinmenu">menu</a> pour plus de détails).</p>
134 </li>
135 </ul>
136
137 <p>Une chose essentielle n'a pas encore été mentionnée : pour que
138 les boutons podomètres et entrées du menu fonctionnent, MPlayer doit
139 savoir quoi en faire. Ceci dépend des <a href="#guimsg">messages</a> (events)
140 envoyés. Pour chacun de ces objets vous devez définir le message à afficher quand
141 on clique dessus.</p>
142
143
144 <h3><a name="files">D.1.4 Fichiers</a></h3>
145
146 <p>Vous aurez besoin des fichiers suivants pour construire une skin:</p>
147
148 <ul>
149 <li>Le fichier de configuration nommé <a href="#skin">skin</a> indique à MPlayer
150 comment assembler les différentes images et comment interpréter les clics de
151 souris sur l'interface.</li>
152 <li>L'image de fond de la fenêtre principale.</li>
153 <li>Les images correspondant aux objets de la fenêtre principale (y compris une
154 ou plusieurs polices et descripteurs nécessaires à l'affichage des
155 textes).</li>
156 <li>L'image affichée dans la sous-fenêtre (optionnel).</li>
157 <li>Deux images pour le menu (nécessaires uniquement si vous voulez créer
158 un menu).</li>
159 </ul>
160
161 <p>A l'exception du fichier de configuration, vous pouvez nommer les fichiers comme bon
162 vous semble (mais notez que les descripteurs de polices doivent avoir une extension
163 <code>.fnt</code>).</p>
164
165
166 <h2><a name="skinfile">D.2 Le fichier skin</h2>
167
168 <p>Comme mentionné plus haut, c'est le fichier de configuration de la skin.
169 Il est lu ligne par ligne; les lignes de commentaire démarrent par le
170 caractère '<code>;</code>' en début de ligne (seuls les espaces et
171 tabulations sont autorisées avant ce signe).</p>
172
173 <p>Les fichiers se composent de sections. Chaque section décrit la skin pour une
174 application et s'écrit sous la forme :</p>
175
176 <table border=1 width="100%">
177 <tr bgcolor=silver>
178 <td>
179 <pre>
180 section = <i>nom de la section</i>
181 .
182 .
183 .
184 end
185 </pre>
186 </td>
187 </tr>
188 </table>
189
190 <p>Actuellement il n'existe qu'une application, donc vous n'aurez besoin que d'une section:
191 dont le nom est <b>movieplayer</b>.</p>
192
193 <p>Dans cette section chaque fenêtre est décrite par un bloc de la forme
194 suivante:</p>
195
196 <table border=1 width="100%">
197 <tr bgcolor=silver>
198 <td>
199 <pre>
200 window = <i>nom de la fenêtre</i>
201 .
202 .
203 .
204 end
205 </pre>
206 </tr>
207 </td>
208 </table>
209
210 <p>où <i>nom de la fenêtre</i> peut-être l'un des types suivants :</p>
211
212 <ul>
213 <li><b>main</b> - pour la fenêtre principale</li>
214 <li><b>sub</b> - pour la sous-fenêtre</li>
215 <li><b>menu</b> - pour le menu</li>
216 <li><b>playbar</b> - barre de lecture</li>
217 </ul>
218
219 <p>(Les blocs sub et menu sont optionnels - vous n'avez pas d'obligation de
220 décorer le menu et la sous-fenêtre.)</p>
221
222 <p>Dans un bloc window, vous pouvez définir chaque objet sous la forme :</p>
223
224 <dl>
225 <dt><b><code>item = paramètre</code></b></dt>
226 <dd>ou <code>item</code> est une ligne identifiant le type d'objet de la GUI,
227 <code>paramètre</code> est une valeur numérique ou textuelle (ou une liste
228 de valeurs séparées par des virgules).</dd>
229 </dl>
230
231 <p>Le fichier final doit donc ressembler à ceci :</p>
232
233 <table border=1 width="100%">
234 <tr bgcolor=silver>
235 <td>
236 <pre>
237 section = movieplayer
238 window = main
239 ; ... objets de la fenêtre principale ...
240 end
241
242 window = sub
243 ; ... objets de la sous-fenêtre ...
244 end
245
246 window = menu
247 ; ... objets du menu ...
248 end
249 end
250 </pre>
251 </tr>
252 </td>
253 </table>
254
255 <p>Le nom d'un fichier image doit être donné sans distinction de
256 répertoire - les images seront cherchées dans le
257 répertoire <code>Skin</code>. Vous pouvez (mais ce n'est pas
258 obligatoire) spécifier l'extension du fichier. Si le fichier n'existe pas,
259 MPlayer essaie de charger le fichier <code>&lt;filename&gt;.&lt;ext&gt;</code>,
260 ou <code>&lt;ext&gt;</code> sera respectivement <code>png</code> et <code>PNG</code>
261 dans cet ordre. La première correspondance trouvée sera utilisée.</p>
262
263 <p>Pour finir quelques mots sur le positionnement. La fenêtre principale et la sous-fenêtre
264 peuvent être placées dans des coins différents de l'écran en donnant les coordonnées
265 <code>X</code> et <code>Y</code>. <code>0</code> pour haut ou gauche, <code>-1</code>
266 pour centre et <code>-2</code> pour droite ou bas, comme montré sur cette illustration:</p>
267
268 <pre>
269
270 (0, 0)----(-1, 0)----(-2, 0)
271 | | |
272 | | |
273 (0,-1)----(-1,-1)----(-2,-1)
274 | | |
275 | | |
276 (0,-2)----(-1,-2)----(-2,-2)
277
278 </pre>
279
280 <table border=1 cellpadding=5 width="100%">
281 <tr bgcolor="#ffffcc">
282 <td>Un exemple. Supposons que vous avez crée une image
283 <i>main.png</i> que vous voulez utiliser pour la fenêtre principale:
284 <blockquote>
285 <pre>
286 base = main, -1, -1
287 </pre>
288 </blockquote>
289 MPlayer essaie de charger les fichiers <code>main</code>, <code>main.png</code>,
290 <code>main.PNG</code>.<br>
291 </td>
292 </tr>
293 </table>
294
295
296 <h3><a name="mainwindow">D.2.1 Fenêtre principale et barre de lecture</a></h3>
297
298 <p>Vous trouverez ci-dessous la liste des objets utilisables dans les blocs
299 '<code>window = main</code>' .&nbsp;.&nbsp;. '<code>end</code>' et
300 '<code>window = playbar</code>' &nbsp;.&nbsp;. '<code>end</code>'.</p>
301
302 <dl>
303 <dt><a name="main.base"><b>base = <code>image, X, Y</code></b></a></dt>
304 <dd>Vous spécifiez ici l'image de fond utilisée dans la fenêtre principale.
305 La fenêtre apparaîtra a la position <code>X,Y</code> sur l'écran. La fenêtre a la
306 taille de l'image.
307 <div><em class="warn"><b>Note:</b> Ces coordonnées ne fonctionnent actuellement
308 pas pour la fenêtre d'affichage.</em><br>
309 <em class="warn"><b>Attention :</b> les régions transparentes (couleur #FF00FF) apparaîtront en noir
310 sur les serveurs X n'ayant pas l'extension XShape. La largeur de l'image doit être
311 divisible par 8.</em>
312 </div>
313 </dd>
314
315 <dt><a name="main.button"><b><code>button = image, X, Y, largeur, hauteur,
316 message</code></b></a></dt>
317 <dd>Place un bouton de taille <code>largeur</code> * <code>hauteur</code> a la
318 position <code>X</code>,<code>Y</code>. Le <code>message</code> sera
319 généré au clic sur ce bouton. L'image appelée par <code>image</code> doit
320 avoir trois états empilés verticalement (pour les trois états du bouton),
321 comme ceci:
322 <pre>
323 +---------------+
324 | pressé |
325 +---------------+
326 | relâché |
327 +---------------+
328 | désactivé |
329 +---------------+
330 </pre>
331 </dd>
332
333 <dt><a name="main.decoration"><b><code>decoration = enable|disable</code></b>
334 </a></dt>
335 <dd>Active (<code>enable</code>) ou désactive (<code>disable</code>) la
336 décoration du gestionnaire de fenêtre pour la fenêtre principale.
337 <b>Désactivé</b> par défaut.<br><br>
338 <em class="warn"><b>Note:</b> Cela ne fonctionne pas pour la fenêtre d'affichage,
339 il n'y en a pas besoin.</em><br>
340 </dd>
341
342 <dt><a name="main.hpotmeter"><b><code>hpotmeter = button, blargeur, bhauteur,
343 phases, numphases, default, X, Y, largeur, hauteur, message</code><br>
344 <code>vpotmeter = button, blargeur, bhauteur, phases, numphases, default, X, Y,
345 largeur, hauteur, message</code></b></a></dt>
346 <dd>Place un podomètre horizontal (hpotmeter) ou vertical (vpotmeter) de taille
347 <code>largeur</code> * <code>hauteur</code> a la position <code>X</code>,<code>Y</code>.
348 L'image peut être divisée en différentes parties pour les différentes phases du podomètre
349 (par exemple, vous pouvez en avoir un pour le contrôle du volume qui passe du vert
350 au rouge quand sa valeur passe du minimum au maximum.). <code>hpotmeter</code> peut posséder un
351 bouton qui sera glissé horizontalement.
352
353 <div>Les paramètres sont :</div>
354
355 <ul>
356 <li><code>button</code> - l'image utilisée pour le bouton
357 (doit avoir trois états superposés, comme pour les
358 <a href="#main.button">boutons</a>)</li>
359 <li><code>blargeur</code>, <code>bhauteur</code> - taille du bouton</li>
360 <li><code>phases</code> - L'image utilisée pour les différentes phases du
361 podomètre. Une valeur <code>NULL</code> spéciale peut-être utilisée
362 si vous ne voulez pas d'image. L'image doit être divisée en
363 <code>numphases</code> parties verticalement comme ceci:
364 <pre>
365 +------------+
366 | phase #1 |
367 +------------+
368 | phase #2 |
369 +------------+
370 ...
371 +------------+
372 | phase #n |
373 +------------+
374 </pre>
375 </li>
376 <li><code>numphases</code> - nombre d'états placés dans l'image.</li>
377 <li><code>default</code> - valeur par défaut du podomètre (dans un
378 intervalle de 0 a 100)</li>
379 <li><code>X</code>, <code>y</code> - position pour le podomètre</li>
380 <li><code>largeur</code>, <code>hauteur</code> - largeur et hauteur du podomètre</li>
381 <li><code>message</code> - le message généré lors des changements
382 d'état de <code>hpotmeter</code></li>
383 </ul>
384 </dd>
385
386 <dt><a name="main.potmeter"><b><code>potmeter = phases, numphases, default, X, Y,
387 largeur, hauteur, message</code></b></a></dt>
388 <dd>Un <code>hpotmeter</code> sans boutons. (je suppose qu'il est censé tourner
389 en rond, mais il réagit uniquement aux tractions horizontales.)
390 Pour une description de ses paramètres lisez
391 <a href="#main.hpotmeter">hpotmeter</a>. Ses <code>états</code> peuvent être
392 <code>NULL</code>, mais ce n'est pas vraiment utile, puisque vous ne pouvez pas voir
393 son niveau.</dd>
394
395 <dt><a name="main.font"><b>font = <code>fontfile, fontid</code></b></a></dt>
396 <dd>Définit une police. <code>fontfile</code> est le nom du descripteur de police
397 avec l'extension <code>.fnt</code> (<b>inutile</b> de préciser son extension ici).
398 <code>fontid</code> réfère à la police
399 (c.f. <a href="#main.dlabel">dlabel</a> et <a href="#main.slabel">slabel</a>).
400 Plus de 25 polices peuvent être définies.</dd>
401
402 <dt><a name="main.slabel"><b><code>slabel = X, Y, fontid, &quot;texte&quot;</code></b>
403 </a></dt>
404 <dd>Place un label statique à the position <code>X</code>,<code>Y</code>.
405 <code>text</code> est affiché en utilisant la police identifiée par <code>fontid</code>.
406 Le texte est juste une chaîne brute (les variables <code>$x</code> ne fonctionnent pas)
407 qui doit être mise entre doubles quotes (mais le caractère <code>&quot;</code> ne peut pas
408 faire partie du texte). Le label est affiché en utilisant la police identifiée par
409 <code>fontid</code>.</dd>
410
411 <dt><a name="main.dlabel"><b>dlabel = <code>X, Y, longueur, align, fontid,
412 &quot;texte&quot;</code></b></a></dt>
413 <dd>Place un label statique à la position <code>X</code>,<code>Y</code>. Le label est
414 appelé dynamique parce que son texte est rafraîchi périodiquement.
415 La longueur maximum du label est définie par <code>longueur</code> (sa
416 hauteur dépend de la hauteur des caractères). Si le texte a afficher
417 dépasse cette longueur il sera scrollé, ou bien aligné dans l'espace
418 spécifié par la valeur du paramètre <code>align</code> :
419 <code>0</code> pour droite, <code>1</code> pour centré, <code>2</code> pour gauche.<br>
420 Le texte à afficher est donné par <code>texte</code>: il doit être écrit entre doubles quotes
421 (mais le caractère <code>&quot;</code> ne peut pas faire partie du texte).
422 Le texte s'affiche en utilisant la police spécifiée par <code>fontid</code>.
423 Vous pouvez utiliser les variables suivantes dans le texte :
424
425 <table valign=top border=1>
426 <tr align=center><th>Variable</th><th align=left>Signification</th></tr>
427 <tr><td align=center><kbd>$1</kbd></td>
428 <td>temps de lecture en <em>hh:mm:ss</em></td></tr>
429 <tr><td align=center><kbd>$2</kbd></td>
430 <td>temps de lecture en <em>mmmm:ss</em></td></tr>
431 <tr><td align=center><kbd>$3</kbd></td>
432 <td>temps de lecture en <em>hh</em>(heures)</td></tr>
433 <tr><td align=center><kbd>$4</kbd></td>
434 <td>temps de lecture en <em>mm</em>(minutes)</td></tr>
435 <tr><td align=center><kbd>$5</kbd></td>
436 <td>temps de lecture en <em>ss</em>(secondes)</td></tr>
437 <tr><td align=center><kbd>$6</kbd></td>
438 <td>longueur du film en <em>hh:mm:ss</em></td></tr>
439 <tr><td align=center><kbd>$7</kbd></td>
440 <td>longueur du film en <em>mmmm:ss</em></td></tr>
441 <tr><td align=center><kbd>$8</kbd></td>
442 <td>temps de lecture en <em>h:mm:ss</em></td></tr>
443 <tr><td align=center><kbd>$v</kbd></td>
444 <td>volume en <em>xxx.xx%</em></td></tr>
445 <tr><td align=center><kbd>$V</kbd></td>
446 <td>volume en <em>xxx.x</em></td></tr>
447 <tr><td align=center><kbd>$b</kbd></td>
448 <td>balance en <em>xxx.xx%</em></td></tr>
449 <tr><td align=center><kbd>$B</kbd></td>
450 <td>balance en <em>xxx.x</em></td></tr>
451 <tr><td align=center><kbd>$$</kbd></td>
452 <td>le caractère <kbd>$</kbd></td></tr>
453 <tr><td align=center><kbd>$a</kbd></td>
454 <td>un caractère dépendant du type audio (aucun: <code>n</code>,
455 mono: <code>m</code>, stéréo: <code>t</code>)</td></tr>
456 <tr><td align=center><kbd>$t</kbd></td>
457 <td>numéro de piste (dans la playlist)</td></tr>
458 <tr><td align=center><kbd>$o</kbd></td>
459 <td>nom du fichier</td></tr>
460 <tr><td align=center><kbd>$f</kbd></td>
461 <td>nom du fichier en minuscule</td></tr>
462 <tr><td align=center><kbd>$F</kbd></td>
463 <td>nom du fichier en majuscule</td></tr>
464 <tr><td align=center><kbd>$T</kbd></td>
465 <td>un caractère dépendant du type de flux (fichier: <code>f</code>,
466 Video CD: <code>v</code>, DVD: <code>d</code>, URL: <code>u</code>)
467 </td></tr>
468 <tr><td align=center><kbd>$p</kbd></td>
469 <td>le caractère "p" (si une vidéo est en lecture et que la police a le
470 caractère "p")</td></tr>
471 <tr><td align=center><kbd>$s</kbd></td>
472 <td>le caractère "s" (si une vidéo est stoppée et que la police a le caractère "s")
473 </td></tr>
474 <tr><td align=center><kbd>$e</kbd></td>
475 <td>le caractère "e" (si une vidéo est en pause et que la police a le caractère "e")
476 </td></tr>
477 <tr><td align="center"><kbd>$x</kbd></td>
478 <td>largeur du film</td></tr>
479 <tr><td align="center"><kbd>$y</kbd></td>
480 <td>hauteur du film</td></tr>
481 <tr><td align="center"><kbd>$C</kbd></td>
482 <td>nom du codec utilisé</td></tr>
483
484 </table>
485
486 <em class="note"><b>Note:</b> les variables <kbd>$a</kbd>, <kbd>$T</kbd>,
487 <kbd>$p</kbd>, <kbd>$s</kbd> et <kbd>$e</kbd> retournent toutes des
488 caractères pouvant s'afficher comme des symboles spéciaux (par exemple,
489 "e" est le symbole de pause qui ressemble généralement à <code>||</code>).
490 Vous pouvez avoir une police pour les caractères normaux et une autre pour
491 les symboles. Lisez la section sur les <a href="#symbols">symboles</a> pour
492 plus d'informations.</em>
493 </dd>
494 </dl>
495
496 <h3><a name="subwindow">D.2.2 Sous-fenêtre</a></h3>
497
498 <p>Vous trouverez ci-dessous la liste des objets utilisables dans le bloc
499 '<code>window = sub</code>' .&nbsp;.&nbsp;. '<code>end</code>'.</p>
500
501 <dl>
502 <dt><a name="sub.base"><b>base = <code>image, x, y, largeur, hauteur</code></b>
503 </a></dt>
504 <dd>L'image qui s'affichera dans la fenêtre.
505 La fenêtre apparaîtra à la position <code>x</code>,<code>y</code>
506 sur l'écran (<code>0,0</code> est le coin supérieur gauche). Vous pouvez spécifier
507 <code>-1</code> pour centre et <code>-2</code> pour droite. La fenêtre prendra
508 la taille de l'image. <code>largeur</code> et <code>hauteur</code> donnent la taille de la fenêtre; ces
509 paramètres sont optionnels (si ils sont absents, le fenêtre prend la taille
510 de l'image).</dd>
511
512 <dt><a name="sub.background"><b><code>background = R, G, B</code></b></a></dt>
513 <dd>Vous permet de définir la couleur de fond. Utile si l'image est plus petite
514 que la fenêtre. <code>R</code>, <code>G</code> et <code>B</code> spécifient
515 les composantes rouge, verte et bleue de la couleur (d'un intervalle entre 0
516 et 255).</dd>
517 </dl>
518
519
520 <h3><a name="skinmenu">D.2.3 Menu</a></h3>
521
522 <p>Comme mentionné précédemment, le menu s'affiche en utilisant deux images.
523 Les entrées normales du menu sont extraite de l'image spécifiée par
524 l'objet <code>base</code>, tandis que l'entrée actuellement sélectionnée
525 est extraite de l'image spécifiée par l'objet <code>selected</code>. Vous
526 devez définir la taille et la position de chaque entrée du menu par l'objet
527 <code>menu</code>.</p>
528
529 <p>Ils correspondent aux objets utilisés dans le bloc '<code>window = menu</code>'
530 .&nbsp;.&nbsp;. '<code>end</code>'.</p>
531
532 <dl>
533 <dt><a name="menu.base"><b><code>base = image</code></b></a></dt>
534 <dd>L'image utilisée pour les entrées normales.</dd>
535
536 <dt><a name="menu.selected"><b><code>selected = image</code></b></a></dt>
537 <dd>L'image utilisée pour les entrées sélectionnées.</dd>
538
539 <dt><a name="menu.menu"><b>menu = <code>x, y, largeur, hauteur, message</code></b>
540 </a></dt>
541 <dd>Définit la position <code>X</code>,<code>Y</code> et la taille des entrées du
542 menu dans les images. <code>message</code> est le message généré
543 quand le bouton de la souris est relâché.</dd>
544 </dl>
545
546
547 <h2><a name="fonts">D.3 Polices</a></h2>
548
549 <p>Comme mentionné dans la section sur les parties de la skin, une police est
550 définie par une image et un fichier de description. Vous pouvez placer les
551 caractères n'importe ou sur l'image, mais vous devez vous assurer que leur
552 position et taille correspondent précisément au fichier de description.</p>
553
554 <p>Les fichier descriptif des polices (avec l'extension <code>.fnt</code>) peut
555 avoir des lignes de commentaires commençant par '<code>;</code>'.
556 Le fichier doit avoir une ligne du type</p>
557
558 <dl>
559 <dt><a name="font.image"><b><code>image = image</code></b></a></dt>
560 <dd>o&ugrave; <code>image</code> est le nom de l'image qui sera utilisée
561 pour la police (vous n'avez pas à définir d'extension).</dd>
562
563 <dt><a name="font.char"><b><code>"char" = X, Y, largeur, hauteur</code></b></a></dt>
564 <dd>Ici <code>X</code> et <code>Y</code> précisent la position du caractère
565 <code>char</code> dans l'image (0,0 est le coin supérieur gauche).
566 <code>largeur</code> et <code>hauteur</code> sont la largeur et la hauteur du caractère
567 en pixels.</dd>
568 </dl>
569
570 <p>Voici un exemple définissant les caractères A, B, C utilisant la police
571 <code>font.png</code>.</p>
572
573 <table width="100%" border=1>
574 <tr bgcolor=silver>
575 <td>
576 <pre>
577 ; peut être "font" au lieu de "font.png"
578 image = font.png
579
580 ; Trois caractères suffisent pour une démonstration. :-)
581 &quot;A&quot; = 0,0, 7,13
582 &quot;B&quot; = 7,0, 7,13
583 &quot;C&quot; = 14,0, 7,13
584 </pre>
585 </td>
586 </tr>
587 </table>
588
589
590 <h3><a name="symbols">D.3.1 Symboles</a></h3>
591
592 <p>Certains caractères ont une signification spéciale quand retournés
593 par des variables utilisées dans <a href="#main.dlabel">dlabel</a>; ces
594 caractères sont censés s'afficher comme des symboles. (par exemple, dans
595 le cas d'une lecture DVD, vous pouvez afficher un beau logo DVD a la place du
596 caractère 'd').</p>
597
598 <p>La table ci-dessous liste les caractères pouvant s'afficher comme des symboles
599 (et nécessitent donc une police différente).</p>
600
601 <table align="center" border="1">
602 <tr><th align=center>Caractère</th><th align=left>Symbole</th></tr>
603 <tr><td align=center><kbd>p</kbd></td>
604 <td align=left>lecture</td></tr>
605 <tr><td align=center><kbd>s</kbd></td>
606 <td align=left>stop</td></tr>
607 <tr><td align=center><kbd>e</kbd></td>
608 <td align=left>pause</td></tr>
609 <tr><td align=center><kbd>n</kbd></td>
610 <td align=left>pas de son</td></tr>
611 <tr><td align=center><kbd>m</kbd></td>
612 <td align=left>son mono</td></tr>
613 <tr><td align=center><kbd>t</kbd></td>
614 <td align=left>son stéréo</td></tr>
615 <tr><td align=center><kbd>f</kbd></td>
616 <td align=left>lecture depuis un fichier</td></tr>
617 <tr><td align=center><kbd>v</kbd></td>
618 <td align=left>lecture depuis un video CD</td></tr>
619 <tr><td align=center><kbd>d</kbd></td>
620 <td align=left>lecture depuis un DVD</td></tr>
621 <tr><td align=center><kbd>u</kbd></td>
622 <td align=left>lecture depuis une URL</td></tr>
623 </table>
624
625
626 <h2><a name="guimsg">D.4 Messages de la GUI</a></h2>
627
628 <p>Ce sont les messages qui peuvent être générés par les boutons,
629 podomètres et entrées du menu.</p>
630
631 <p><em class="note"><b>Note:</b> certains messages peuvent ne pas fonctionner
632 comme prévu (ou ne pas fonctionner du tout). Comme vous le savez, la GUI est
633 en cours de développement.</em></p>
634
635
636 <h3>Contrôle de lecture :</h3>
637
638 <blockquote>
639 <dl>
640 <dt><b>evNext</b></dt>
641 <dd>Saute à la prochaine piste dans la playlist.</dd>
642
643 <dt><b>evPause</b></dt>
644 <dd>Pause.</dd>
645
646 <dt><b>evPauseSwitchToPlay</b></dt>
647 <dd>Associé à la commande <code>evPlaySwitchToPause</code>. Ils s'utilisent
648 pour avoir un bouton play/pause commun. Les deux messages peuvent être
649 assignés aux boutons affiches exactement à la même position dans la
650 fenêtre. Ces message mettent la lecture en pause et le bouton
651 <code>evPlaySwitchToPause</code> s'affiche (pour indiquer que le bouton peut être
652 pressé pour continuer la lecture).</dd>
653
654 <dt><b>evPlay</b></dt>
655 <dd>Commence la lecture.</dd>
656
657 <dt><b>evPlaySwitchToPause</b></dt>
658 <dd>Le contraire de <code>evPauseSwitchToPlay</code>. Ce message démarre la lecture
659 et l'image associée au bouton <code>evPauseSwitchToPlay</code> s'affiche (pour
660 indiquer que le bouton peut être pressé pour mettre en pause la lecture).</dd>
661
662 <dt><b>evPrev</b></dt>
663 <dd>Saute à la piste précédente dans la playlist.</dd>
664
665 <dt><b>evStop</b></dt>
666 <dd>Stoppe la lecture.</dd>
667 </dl>
668 </blockquote>
669
670
671 <h3>Avancée dans le flux:</h3>
672
673 <blockquote>
674 <dl>
675 <dt><b>evBackward10sec</b></dt>
676 <dt><b>evBackward1min</b></dt>
677 <dt><b>evBackward10min</b></dt>
678 <dd>Recule de 10 secondes / 1 minute / 10 minutes.</dd>
679
680 <dt><b>evForward10sec</b></dt>
681 <dt><b>evForward1min</b></dt>
682 <dt><b>evForward10min</b></dt>
683 <dd>Avance de 10 secondes / 1 minute / 10 minutes.</dd>
684
685 <dt><b>evSetMoviePosition</b></dt>
686 <dd>Se place à la position (utilisable avec un podomètre; utilise la
687 valeur relative (0-100%) du podomètre).</dd>
688 </dl>
689 </blockquote>
690
691
692 <h3>Contrôle vidéo :</h3>
693
694 <blockquote>
695 <dl>
696 <dt><b>evDoubleSize</b></dt>
697 <dd>Double la taille de la fenêtre vidéo.</dd>
698
699 <dt><b>evFullScreen</b></dt>
700 <dd>Passe en mode plein écran.</dd>
701
702 <dt><b>evNormalSize</b></dt>
703 <dd>Met la vidéo à sa taille réelle.</dd>
704 </dl>
705 </blockquote>
706
707
708 <h3>Contrôle audio :</h3>
709
710 <blockquote>
711 <dl>
712 <dt><b>evDecAudioBufDelay</b></dt>
713 <dd>Diminue le délai du buffer audio.</dd>
714
715 <dt><b>evDecBalance</b></dt>
716 <dd>Diminue la balance.</dd>
717
718 <dt><b>evDecVolume</b></dt>
719 <dd>Diminue le volume.</dd>
720
721 <dt><b>evIncAudioBufDelay</b></dt>
722 <dd>Augmente le délai du buffer audio.</dd>
723
724 <dt><b>evIncBalance</b></dt>
725 <dd>Augmente la balance.</dd>
726
727 <dt><b>evIncVolume</b></dt>
728 <dd>Augmente le volume.</dd>
729
730 <dt><b>evMute</b></dt>
731 <dd>Active/désactive le son.</dd>
732
733 <dt><b>evSetBalance</b></dt>
734 <dd>Fixe la balance (utilisable avec un podomètre; utilise la valeur relative
735 (0-100%) du podomètre).</dd>
736
737 <dt><b>evSetVolume</b></dt>
738 <dd>Fixe le volume (utilisable avec un podomètre; utilise la valeur relative
739 (0-100%) du podomètre).</dd>
740 </dl>
741 </blockquote>
742
743 <h3>Divers :</h3>
744
745 <blockquote>
746 <dl>
747 <dt><b>evAbout</b></dt>
748 <dd>Ouvre la fenêtre 'A Propos'.</dd>
749
750 <dt><b>evDropSubtitle</b></dt>
751 <dd>Désactive le sous-titre actuellement utilisé.</dd>
752
753 <dt><b>evEqualizer</b></dt>
754 <dd>Active/désactive l'equalizer.</dd>
755
756 <dt><b>evExit</b></dt>
757 <dd>Quitte le programme.</dd>
758
759 <dt><b>evIconify</b></dt>
760 <dd>Iconifie la fenêtre.</dd>
761
762 <dt><b>evLoad</b></dt>
763 <dd>Charge un fichier (en ouvrant un mini navigateur de fichiers, o&ugrave; vous pouvez
764 choisir un fichier).</dd>
765
766 <dt><b>evLoadPlay</b></dt>
767 <dd>Fait la même chose que <code>evLoad</code>,mais démarre la lecture
768 automatiquement après le chargement du fichier.</dd>
769
770 <dt><b>evLoadSubtitle</b></dt>
771 <dd>Charge un fichier de sous-titres (avec un sélecteur de fichier)</dd>
772
773 <dt><b>evLoadAudioFile</b></dt>
774 <dd>Charge un fichier audio (avec un sélecteur de fichier)</dd>
775
776 <dt><b>evNone</b></dt>
777 <dd>Message vide, sans effet. (A part peut-être dans les versions CVS :-)).</dd>
778
779 <dt><b>evPlayList</b></dt>
780 <dd>Ouvre/ferme la playlist.</dd>
781
782 <dt><b>evPlayDVD</b></dt>
783 <dd>Essaie d'ouvrir le disque dans le lecteur DVD-ROM indiqué.</dd>
784
785 <dt><b>evPlayVCD</b></dt>
786 <dd>Essaie d'ouvrir le disque dans le lecteur CD-ROM indiqué.</dd>
787
788 <dt><b>evPreferences</b></dt>
789 <dd>Ouvre la fenêtre de preferences.</dd>
790
791 <dt><b>evSetAspect</b></dt>
792 <dd>Fixe l'aspect de l'image.</dd>
793
794 <dt><b>evSetURL</b></dt>
795 <dd>Ouvre la fenêtre de saisie d'URL.</dd>
796
797 <dt><b>evSkinBrowser</b></dt>
798 <dd>Ouvre le navigateur de revêtements.</dd>
799 </dl>
800 </blockquote>
801
802 </body>
803 </html>