Mercurial > mplayer.hg
diff DOCS/xml/fr/skin.xml @ 10109:b84118357b83
Adding of XML french docs
author | nicolas |
---|---|
date | Fri, 16 May 2003 13:20:06 +0000 |
parents | |
children | 1ffff639216e |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/xml/fr/skin.xml Fri May 16 13:20:06 2003 +0000 @@ -0,0 +1,1120 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<appendix id="skin"> +<title>Format de skins MPlayer</title> +<para> +L'objectif de ce document est de décrire le format de skins de MPlayer. Les +informations présentées ici peuvent s'avérer fausses, du fait que +<orderedlist> +<listitem><para>Ce n'est pas moi qui ait écrit la GUI.</para></listitem> +<listitem><para>Cette GUI n'est pas terminée.</para></listitem> +<listitem><para>Je peux me tromper.</para></listitem> +</orderedlist> +Ne soyez donc pas surpris si quelque chose ne correspond pas à cette description. +</para> + +<para>Merci à <emphasis>Zoltán Ponekker</emphasis> pour son aide.</para> + +<para><emphasis>András Mohari <mayday@freemail.hu></emphasis></para> + +<sect1 id="skin-overview"> +<title>Aperçu</title> +<para> +Ce n'est pas en rapport direct avec le format des skins, mais vous devez savoir +que MPlayer n'a <emphasis role="bold">pas</emphasis> de skin par défaut, donc +<emphasis role="bold">au moins une skin doit être installée pour pouvoir utiliser +la GUI.</emphasis> +</para> + +<sect2 id="skin-overview-directories"> +<title>Répertoires</title> +<para> +MPlayer cherche des skins dans ces répertoires (dans cet ordre): +<orderedlist> +<listitem><para> +<filename class="directory">$(DATADIR)/Skin/</filename> +</para></listitem> +<listitem><para> +<filename class="directory">$(PREFIX)/share/mplayer/Skin/</filename> +</para></listitem> +<listitem><para> +<filename class="directory">~/.mplayer/Skin/</filename> +</para></listitem> +</orderedlist> +</para> + +<para> +Notez que le premier répertoire peut varier suivant la façon dont MPlayer a été +configuré (c.f. les arguments <option>--prefix</option> et <option>--datadir</option> +du script <command>configure</command>). +</para> + +<para> +Chaque skin est installée dans son propre répertoire sous l'un des répertoires +listés ci-dessus, par exemple: +<screen>$(PREFIX)/share/mplayer/Skin/default/</screen> +</para> +</sect2> + +<sect2 id="skin-overview-formats"> +<title>Format d'images</title> +<para>Les images doivent être en truecolor (24 ou 32 bpp) et enregistrées au +format PNG.</para> +<para> +Dans la fenêtre principale et la barre de lecture (c.f. ci-dessous) vous pouvez +utiliser des images dotées de régions "transparentes": les régions +remplies avec la couleur #FF00FF (magenta) deviennent transparentes dans MPlayer. +De même, vous pouvez obtenir des formes particulières pour vos fenêtres si votre +serveur X possède l'extension XShape. +</para> +</sect2> + +<sect2 id="skin-overview-components"> +<title>Composants d'une skin</title> +<para> +Les skins sont d'un format plutôt libre (contrairement aux formats fixes de +Winamp/XMMS, par exemple), donc il ne tient qu'a vous de créer quelque chose de +bien. +</para> + +<para> +Actuellement, trois fenêtres doivent être décorées: la +<link linkend="skin-file-main">fenêtre principale</link>, la +<link linkend="skin-file-subwindow">sous-fenêtre</link>, la +<link linkend="skin-file-main">barre de lecture</link>, et le +<link linkend="skin-file-menu">menu</link> (activable par un clic droit). + +<itemizedlist> +<listitem><para> + Vous controlez MPlayer par la <emphasis role="bold">fenêtre principale</emphasis> + et/ou la <emphasis role="bold">barre de lecture</emphasis>. L'arrière plan est + une image. Divers objets doivent venir se placer dans cette fenêtre: + <emphasis>boutons</emphasis>, <emphasis>podomètres</emphasis> + (sliders) et des <emphasis>labels</emphasis>. Pour chaque objet, vous devez + spécifier sa taille et sa position. +</para><para> + Un <emphasis role="bold">bouton</emphasis> comprend trois états (pressé, relâché, + désactivé), donc l'image doit se diviser en trois parties, verticalement. c.f. + l'objet <link linkend="skin-button">bouton</link> pour plus de détails. +</para><para> + Un <emphasis role="bold">podomètre</emphasis> (principalement utilisé pour la + barre d'avancement et le contrôle du volume/balance) peut posséder n'importe quel + nombre d'états en empilant ces images, verticalement. C.f. + <link linkend="skin-hpotmeter">hpotmeter</link> et + <link linkend="skin-potmeter">potmeter</link> pour plus de détails. +</para><para> + Les <emphasis role="bold">labels</emphasis> sont un peut particuliers : les + caractères nécessaires pour les dessiner sont récupérés depuis un fichier image, + décrit par un <link linkend="skin-fonts">fichier de description de polices</link>. + 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 <emphasis>ensemble</emphasis>). Voir <link linkend="skin-dlabel">dlabel</link> + et <link linkend="skin-slabel">slabel</link> pour plus de détails. +</para> +<note><para> + Toutes les images disposent de la couleur de transparence décrite dans la section + <link linkend="skin-overview-formats">formats d'images</link>. Si le serveur X ne + supporte pas l'extension Xshape, les parties transparentes seront noires. Si vous + voulez utiliser cette fonction, la largeur de l'image de la fenêtre principale + devra être divisible par 8. +</para></note> +</listitem> + +<listitem><para> + La <emphasis role="bold">sous-fenêtre</emphasis> contient la vidéo en elle même. + Elle peut afficher une image si aucun film n'est chargé (ce n'est jamais plaisant + d'avoir une fenêtre vide :-)) <emphasis role="bold">Note:</emphasis> la couleur + de transparence n'est <emphasis role="bold">pas autorisée</emphasis> ici. +</para></listitem> + +<listitem><para> + Le <emphasis role="bold">menu</emphasis> est simplement un moyen de contrôler + MPlayer par des entrées graphiques. Deux images sont nécessaires pour le menu: + l'une d'elle, l'image de base, affiche le menu dans son été normal, l'autre est + utilisée pour afficher les entrées sélectionnées. Quand vous faites apparaître le + menu, la première image s'affiche. Si vous passez la souris sur les entrées du + menu, l'entrée sélectionnée est copiée depuis la seconde image, et uniquement la + partie concernée par cette sélection (Donc la seconde image ne s'affiche jamais + complètement.) +</para><para> + Une entrée de menu se définit par sa position et sa taille dans l'image (c.f. la + section <link linkend="skin-file-menu">menu</link> pour plus de détails). +</para></listitem> +</itemizedlist> +</para> + +<para> + Une chose essentielle n'a pas encore été mentionnée : pour que les boutons, + podomètres et entrées du menu fonctionnent, MPlayer doit savoir quoi en faire. + Ceci dépend des <link linkend="skin-gui">messages</link> (events) envoyés. Pour + chacun de ces objets vous devez définir le message à afficher quand on clique + dessus. +</para> +</sect2> + +<sect2 id="skin-files"> +<title>Fichiers</title> +<para> +Vous aurez besoin des fichiers suivants pour construire une skin: +<itemizedlist> +<listitem><para> + Le fichier de configuration nommé <link linkend="skin-file">skin</link> indique + à MPlayer comment assembler les différentes images et comment interpréter les + clics de souris sur l'interface. +</para></listitem> +<listitem><para> + L'image de fond de la fenêtre principale. +</para></listitem> +<listitem><para> + Les images correspondant aux objets de la fenêtre principale (y compris une ou + plusieurs polices et descripteurs nécessaires à l'affichage des textes). +</para></listitem> +<listitem><para> + L'image affichée dans la sous-fenêtre (optionnel). +</para></listitem> +<listitem><para> + Deux images pour le menu (nécessaires uniquement si vous voulez créer un menu). +</para></listitem> +</itemizedlist> + A l'exception du fichier de configuration, vous pouvez nommer les fichiers comme + bon vous semble (mais notez que les descripteurs de polices doivent avoir une + extension <filename>.fnt</filename>). +</para> +</sect2> +</sect1> + +<sect1 id="skin-file"> +<title>Le fichier skin</title> +<para> +Comme mentionné plus haut, c'est le fichier de configuration de la skin. Il est +lu ligne par ligne; les lignes de commentaire démarrent par le caractère +'<literal>;</literal>' en début de ligne (seuls les espaces et tabulations sont +autorisées avant ce signe). +</para> + +<para> +Les fichiers se composent de sections. Chaque section décrit la skin pour une +application et s'écrit sous la forme: +<programlisting> +section = <replaceable>nom de la section</replaceable> +. +. +. +end +</programlisting> +</para> + +<para> +Actuellement il n'existe qu'une application, donc vous n'aurez besoin que d'une +section: dont le nom est <emphasis role="bold">movieplayer</emphasis>. +</para> + +<para> +Dans cette section chaque fenêtre est décrite par un bloc de la forme suivante: +<programlisting> +window = <replaceable>window name</replaceable> +. +. +. +end +</programlisting> +</para> + +<para> +Où <replaceable></replaceable> peut-être l'un des types suivants: +<itemizedlist> +<listitem><para><emphasis role="bold">main</emphasis> - pour la fenêtre principale</para></listitem> +<listitem><para><emphasis role="bold">sub</emphasis> - pour la sous-fenêtre</para></listitem> +<listitem><para><emphasis role="bold">menu</emphasis> - pour le menu</para></listitem> +<listitem><para><emphasis role="bold">playbar</emphasis> - barre de lecture</para></listitem> +</itemizedlist> +</para> + +<para> +(Les blocs sub et menu sont optionnels - vous n'avez pas d'obligation de décorer +le menu et la sous-fenêtre.) +</para> + +<para> +Dans un bloc window, vous pouvez définir chaque objet sous la forme: +<programlisting>item = paramètre</programlisting> +Où <literal>item</literal> est une ligne identifiant le type d'objet de la GUI, +<literal>paramètre</literal> est une valeur numérique ou textuelle (ou une liste +de valeurs séparées par des virgules). +</para> + +<para> +Le fichier final doit donc ressembler à ceci: +<programlisting> +section = movieplayer + window = main + ; ... items for main window ... + end + + window = sub + ; ... items for subwindow ... + end + + window = menu + ; ... items for menu ... + end + + window = playbar + ; ... items for playbar ... + end +end +</programlisting> +</para> + +<para> +Le nom d'un fichier image doit être donné sans distinction de répertoire - les +images seront cherchées dans le répertoire <filename class="directory">Skin</filename>. +Vous pouvez (mais ce n'est pas obligatoire) spécifier l'extension du fichier. Si +le fichier n'existe pas, MPlayer essaie de charger le fichier +<filename><filename>.<ext></filename>, où <literal>png</literal> +et <literal>PNG</literal> sera respectivement <filename><ext></filename> +(dans cet ordre). La première correspondance trouvée sera utilisée. +</para> + +<para> +Pour finir quelques mots sur le positionnement. La fenêtre principale et la +sous-fenêtre peuvent être placées dans des coins différents de l'écran en donnant +les coordonnées <literal>X</literal> et <literal>Y</literal>. <literal>0</literal> +pour haut ou gauche, <literal>-1</literal> pour centre et <literal>-2</literal> +pour droite ou bas, comme montré sur cette illustration: +</para> +<informalfigure> +<screen> +(0, 0)----(-1, 0)----(-2, 0) + | | | + | | | +(0,-1)----(-1,-1)----(-2,-1) + | | | + | | | +(0,-2)----(-1,-2)----(-2,-2) +</screen> +</informalfigure> + +<para> + +Un exemple. Supposons que vous avez crée une image <filename>main.png</filename> +que vous voulez utiliser pour la fenêtre principale: +<programlisting>base = main, -1, -1</programlisting> +MPlayer essaie de charger les fichiers <filename>main</filename>, +<filename>main.png</filename>, <filename>main.PNG</filename>. +</para> + + +<sect2 id="skin-file-main"> +<title>Fenêtre principale et barre de lecture</title> +<para> +Vous trouverez ci-dessous la liste des objets utilisables dans les blocs +'<literal>window = main</literal>' . . . '<literal>end</literal>', +et '<literal>window = playbar</literal>' . . . '<literal>end</literal>'. +</para> + +<variablelist> +<varlistentry> + <term><literal> + <anchor id="skin-main-base"/>base = image, X, Y + </literal></term> + <listitem><para> + Vous spécifiez ici l'image de fond utilisée dans la fenêtre principale. La + fenêtre apparaîtra a la position <literal>X,Y</literal> sur l'écran. La fenêtre + a la taille de l'image. + </para> + <note><para>Ces coordonnées ne fonctionnent actuellement pas pour la fenêtre + d'affichage.</para></note> + <warning><para>Les régions transparentes (couleur #FF00FF) apparaîtront en noir + sur les serveurs X n'ayant pas l'extension XShape. La largeur de l'image doit + être divisible par 8.</para></warning> + </listitem> +</varlistentry> + +<varlistentry> + <term><literal> + <anchor id="skin-button"/>button = image, X, Y, largeur, hauteur, message + </literal></term> + <listitem><para> +Place un bouton de taille <literal>largeur</literal> * <literal>hauteur</literal> +a la position <literal>X,Y</literal>. Le <literal>message</literal> sera généré +au clic sur ce bouton. L'image appelée par <literal>image</literal> doit avoir +trois états empilés verticalement (pour les trois états du bouton), comme ceci: + +</para> +<informalfigure> +<screen> ++------------+ +| pressé | ++------------+ +| relâché | ++------------+ +| désactivé | ++------------+ +</screen> +</informalfigure> + </listitem> +</varlistentry> + +<varlistentry> + <term><literal> + <anchor id="skin-decoration"/>decoration = enable|disable + </literal></term> + <listitem><para> +Active (enable) ou désactive (disable) la décoration du gestionnaire de fenêtre +pour la fenêtre principale. <emphasis role="bold">disable</emphasis> par défaut. + </para> + <note><para>Cela ne fonctionne pas pour la fenêtre d'affichage, il n'y en a pas + besoin.</para></note> + </listitem> +</varlistentry> + +<varlistentry> + <term><literal> + <anchor id="skin-hpotmeter"/>hpotmeter = button, blargeur, bhauteur, phases, numphases, default, X, Y, largeur, hauteur, message + </literal></term> + <listitem><para> + + </para></listitem> +</varlistentry> + +<varlistentry> + <term><literal> + <anchor id="skin-vpotmeter"/>vpotmeter = button, blargeur, bhauteur, phases, numphases, default, X, Y, largeur, hauteur, message + </literal></term> + <listitem><para> + +Place un podomètre horizontal (hpotmeter) ou vertical (vpotmeter) de taille +<literal>largeur</literal> * <literal>hauteur</literal> à la position +<literal>X,Y</literal>. L'image peut être divisée en différentes parties pour les +différentes phases du podomètre (par exemple, vous pouvez en avoir un pour le +contrôle du volume qui passe du vert au rouge quand sa valeur passe du minimum au +maximum). <literal>hpotmeter</literal> peut posséder un bouton qui sera glissé +horizontalement. + </para> + <itemizedlist> + <listitem><para><literal>button</literal> - l'image utilisée pour le bouton (doit + avoir trois états superposés, comme pour les + <link linkend="skin-button">boutons</link>) + </para></listitem> + <listitem><para><literal>blargeur</literal>,<literal>bhauteur</literal> - taille + du bouton + </para></listitem> + <listitem><para><literal>phases</literal> - L'image utilisée pour les différentes + phases du podomètre. Une valeur <literal>NULL</literal> spéciale peut-être + utilisée si vous ne voulez pas d'image. L'image doit être divisée en + <literal>numphasesparts</literal> verticalement comme ceci: + </para> +<informalfigure> +<screen> ++------------+ +| phase #1 | ++------------+ +| phase #2 | ++------------+ + ... ++------------+ +| phase #n | ++------------+ +</screen> +</informalfigure> + </listitem> + <listitem><para><literal>numphases</literal> - nombre d'états placés dans l'image. + </para></listitem> + <listitem><para><literal>default</literal> - valeur par défaut du podomètre (dans + un intervalle de <literal>0</literal> à <literal>100</literal>) + </para></listitem> + <listitem><para><literal>X</literal>,<literal>Y</literal> - position du hpotmeter + </para></listitem> + <listitem><para><literal>largeur</literal>,<literal>hauteur</literal> - + largeur et hauteur du <literal>hpotmeter</literal> + </para></listitem> + <listitem><para><literal>message</literal> - le message généré lors des + changements d'état de <literal>hpotmeter</literal> + </para></listitem> + </itemizedlist> + + </listitem> +</varlistentry> + +<varlistentry> + <term><literal> + <anchor id="skin-potmeter"/>potmeter = phases, numphases, default, X, Y, largeur, hauteur, message + </literal></term> + <listitem><para> +Un <literal>hpotmeter</literal> sans boutons. (je suppose qu'il est censé tourner +en rond, mais il réagit uniquement aux tractions horizontales.) Pour une +description de ses paramètres lisez <link linkend="skin-hpotmeter">hpotmeter</link>. +Ses <literal>phases</literal> peuvent être <literal>NULL</literal>, mais ce n'est +pas vraiment utile, puisque vous ne pouvez pas voir son niveau. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><literal> + <anchor id="skin-font"/>font = fontfile, fontid + </literal></term> + <listitem><para> +Définit une police. <literal>fontfile</literal> est le nom du descripteur de +police avec l'extension <filename>.fnt</filename> (inutile de préciser son +extension ici). <literal>fontid</literal> réfère à la police (c.f. +<link linkend="skin-dlabel">dlabel</link> et <link linkend="skin-slabel">slabel</link>). +Jusqu'à 25 polices peuvent être définies. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><literal> + <anchor id="skin-slabel"/>slabel = X, Y, fontid, "texte" + </literal></term> + <listitem><para> +Place un label dynamique à la position <literal>X,Y</literal>. <literal>texte</literal> +est affiché en utilisant la police identifiée par <literal>fontid</literal>. Le +texte est juste une chaîne brute (les variables <literal>$x</literal> ne +fonctionnent pas) qui doit être mise entre doubles quotes (mais le caractère +" ne peut pas faire partie du texte). Le label est affiché en utilisant la +police identifiée par <literal>fontid</literal>. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><literal> + <anchor id="skin-dlabel"/>dlabel = X, Y, longueur, align, fontid, "texte" + </literal></term> + <listitem> +<para> +Place un label statique à la position <literal>X,Y</literal>. Le label est appelé +dynamique parce que son texte est rafraîchi périodiquement. La longueur maximum du +label est définie par <literal>longueur</literal> (sa hauteur dépend de la hauteur +des caractères). Si le texte a afficher dépasse cette longueur il sera scrollé, ou +bien aligné dans l'espace spécifié par la valeur du paramètre +<literal>align</literal>: <literal>0</literal> pour droite, +<literal>1</literal> pour centre, et <literal>2</literal> pour gauche. +</para> +<para> +Le texte à afficher est donné par <literal>texte</literal>: il doit être écrit +entre doubles quotes (mais le caractère " ne peut pas faire partie du texte). +Le texte s'affiche en utilisant la police spécifiée par <literal>fontid</literal>. +Vous pouvez utiliser les variables suivantes dans le texte: +</para> + +<informaltable> +<tgroup cols="2"> +<thead> + <row><entry>Variable</entry><entry>Signification</entry></row> +</thead> +<tbody> +<row> +<entry>$1</entry> +<entry>temps de lecture en <emphasis>hh:mm:ss</emphasis></entry> +</row> +<row> +<entry>$2</entry> +<entry>temps de lecture en <emphasis>mmmm:ss</emphasis></entry> +</row> +<row> +<entry>$3</entry> +<entry>temps de lecture en <emphasis>hh</emphasis> (heures)</entry> +</row> +<row> +<entry>$4</entry> +<entry>temps de lecture en <emphasis>mm</emphasis> (minutes)</entry> +</row> +<row> +<entry>$5</entry> +<entry>temps de lecture en <emphasis>ss</emphasis> (secondes)</entry> +</row> +<row> +<entry>$6</entry> +<entry>longueur du film en <emphasis>hh:mm:ss</emphasis></entry> +</row> +<row> +<entry>$7</entry> +<entry>longueur du film en <emphasis>mmmm:ss</emphasis></entry> +</row> +<row> +<entry>$8</entry> +<entry>temps de lecture en <emphasis>h:mm:ss</emphasis></entry> +</row> +<row> +<entry>$v</entry> +<entry>volume en <emphasis>xxx.xx</emphasis>%</entry> +</row> +<row> +<entry>$V</entry> +<entry>volume en <emphasis>xxx.xx</emphasis></entry> +</row> +<row> +<entry>$b</entry> +<entry>balance en <emphasis>xxx.xx</emphasis>%</entry> +</row> +<row> +<entry>$B</entry> +<entry>balance en <emphasis>xxx.xx</emphasis></entry> +</row> +<row> +<entry>$$</entry> +<entry>le caractère $</entry> +</row> +<row> +<entry>$a</entry> +<entry>un caractère dépendant du type audio (aucun: <literal>n</literal>, +mono: <literal>m</literal>, stéréo: <literal>t</literal>)</entry> +</row> +<row> +<entry>$t</entry> +<entry>numéro de piste (dans la playlist)</entry> +</row> +<row> +<entry>$o</entry> +<entry>nom du fichier</entry> +</row> +<row> +<entry>$f</entry> +<entry>nom du fichier en minuscule</entry> +</row> +<row> +<entry>$F</entry> +<entry>nom du fichier en majuscule</entry> +</row> +<row> +<entry>$T</entry> +<entry>un caractère dépendant du type de flux (fichier: <literal>f</literal>, +Video CD: <literal>v</literal>, DVD: <literal>d</literal>, URL: <literal>u</literal>)</entry> +</row> +<row> +<entry>$p</entry> +<entry>le caractère <keycap>p</keycap> (si une vidéo est en lecture et que la +police a le caractère <keycap>p</keycap>)</entry> +</row> +<row> +<entry>$s</entry> +<entry>le caractère <keycap>s</keycap> (si une vidéo est stoppée et que la police +a le caractère <keycap>s</keycap>)</entry> +</row> +<row> +<entry>$e</entry> +<entry>le caractère <keycap>e</keycap> (si une vidéo est en pause et que la police +a le caractère <keycap>e</keycap>)</entry> +</row> +<row> +<entry>$x</entry> +<entry>largeur du film</entry> +</row> +<row> +<entry>$y</entry> +<entry>hauteur du film</entry> +</row> +<row> +<entry>$C</entry> +<entry>nom du codec utilisé</entry> +</row> + +</tbody> +</tgroup> +</informaltable> +</listitem> + +</varlistentry> +</variablelist> + +<note><para> +Les variables <literal>$a, $T, $p, $s</literal> et <literal>$e</literal> +<keycap>e</keycap> retournent toutes des caractères pouvant s'afficher comme des +symboles spéciaux (par exemple, "e" est le symbole de pause qui +ressemble généralement à ||). Vous pouvez avoir une police pour les caractères +normaux et une autre pour les symboles. Lisez la section sur les +<link linkend="skin-fonts-symbols">symboles</link> pour plus d'informations. +</para></note> +</sect2> + +<sect2 id="skin-file-subwindow"> +<title>Sous-fenêtre</title> +<para> +Vous trouverez ci-dessous la liste des objets utilisables dans le bloc +'<literal>window = sub</literal>' . . . '<literal>end</literal>'. +</para> + +<variablelist> +<varlistentry> + <term><literal> + <anchor id="skin-sub-base"/>base = image, X, Y, largeur, hauteur + </literal></term> + <listitem><para> +L'image qui s'affichera dans la fenêtre. La fenêtre apparaîtra à la position +<literal>X,Y</literal> sur l'écran (<literal>0,0</literal> est le coin supérieur +gauche). Vous pouvez spécifier <literal>-1</literal> pour centre et <literal>-2</literal> +pour droite(<literal>X</literal>) et bas (<literal>Y</literal>). La fenêtre prendra +la taille de l'image. <literal>largeur</literal> et <literal>hauteur</literal> +donnent la taille de la fenêtre; ces paramètres sont optionnels (si ils sont +absents, le fenêtre prend la taille de l'image). + </para></listitem> +</varlistentry> + +<varlistentry> + <term><literal> + <anchor id="skin-background"/>background = R, V, B + </literal></term> + <listitem><para> +Vous permet de définir la couleur de fond. Utile si l'image est plus petite que la +fenêtre. <literal>R</literal>, <literal>V</literal> et <literal>B</literal> +spécifient les composantes rouge, verte et bleue de la couleur (d'un intervalle +entre 0 et 255). + </para></listitem> +</varlistentry> +</variablelist> +</sect2> + +<sect2 id="skin-file-menu"> +<title>Menu</title> +<para> +Comme mentionné précédemment, le menu s'affiche en utilisant deux images. Les +entrées normales du menu sont extraite de l'image spécifiée par l'objet +<literal>base</literal>, tandis que l'entrée actuellement sélectionnée est +extraite de l'image spécifiée par l'objet <literal>selected</literal>. Vous devez +définir la taille et la position de chaque entrée du menu par l'objet +<literal>menu</literal>. +</para> + +<para> +Ils correspondent aux objets utilisés dans le bloc +'<literal>window = menu</literal>'. . .'<literal>end</literal>'. +</para> + +<variablelist> +<varlistentry> + <term><literal> + <anchor id="skin-menu-base"/>base = image + </literal></term> + <listitem><para> +L'image utilisée pour les entrées normales. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><literal> + <anchor id="skin-selected"/>selected = image + </literal></term> + <listitem><para> +L'image utilisée pour les entrées sélectionnées. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><literal> + <anchor id="skin-menu"/>menu = X, Y, largeur, hauteur, message + </literal></term> + <listitem><para> +Définit la position <literal>X,Y</literal> et la taille des entrées du menu dans +les images. <literal>message</literal> est le message généré quand le bouton de la +souris est relâché. + </para></listitem> +</varlistentry> +</variablelist> +</sect2> +</sect1> + +<sect1 id="skin-fonts"> +<title>Polices</title> +<para> +Comme mentionné dans la section sur les parties de la skin, une police est définie +par une image et un fichier de description. Vous pouvez placer les caractères +n'importe ou sur l'image, mais vous devez vous assurer que leur position et taille +correspondent précisément au fichier de description. +</para> + +<para> +Le fichier descriptif des polices (avec l'extension <filename>.fnt</filename>) +peut avoir des lignes de commentaires commençant par '<literal>;</literal>'. +Le fichier doit avoir une ligne du type +<anchor id="skin-font-image"/> +<programlisting>image = <replaceable>image</replaceable></programlisting> +Où <literal><replaceable>image</replaceable></literal> est le nom de l'image qui +sera utilisée pour la police (vous n'avez pas à définir d'extension). +<anchor id="skin-font-char"/> +<programlisting>"char" = X, Y, largeur, hauteur</programlisting> +Ici <literal>X</literal> et <literal>Y</literal> précisent la position du caractère +<literal>char</literal> dans l'image (<literal>0,0</literal> est le coin supérieur +gauche). <literal>largeur</literal> et <literal>hauteur</literal> sont les +dimensions du caractère en pixels. +</para> + +<para> +Voici un exemple définissant les caractères A, B, C utilisant la police <filename>font.png</filename>. +<programlisting> +; Peut être "font" au lieu de "font.png". +image = font.png + +; Trois caractères suffisent pour une démonstration. :-) +"A" = 0,0, 7,13 +"B" = 7,0, 7,13 +"C" = 14,0, 7,13 +</programlisting> +</para> + +<sect2 id="skin-fonts-symbols"> +<title>Symboles</title> +<para> +Certains caractères ont une signification spéciale quand retournés par des +variables utilisées dans <link linkend="skin-dlabel">dlabel</link>. Ces caractères +sont censés s'afficher comme des symboles (par exemple, dans le cas d'une lecture +DVD, vous pouvez afficher un beau logo DVD a la place du caractère '<literal>d</literal>'). +</para> +<para> +La table ci-dessous liste les caractères pouvant s'afficher comme des symboles (et +nécessitent donc une police différente). +</para> + +<informaltable> +<tgroup cols="2"> +<thead> + <row><entry>Caractère</entry><entry>Symbole</entry></row> +</thead> +<tbody> +<row><entry><keycap>p</keycap></entry><entry>lecture</entry></row> +<row><entry><keycap>s</keycap></entry><entry>stop</entry></row> +<row><entry><keycap>e</keycap></entry><entry>pause</entry></row> +<row><entry><keycap>n</keycap></entry><entry>pas de son</entry></row> +<row><entry><keycap>m</keycap></entry><entry>son mono</entry></row> +<row><entry><keycap>t</keycap></entry><entry>son stéréo</entry></row> +<row><entry><keycap>f</keycap></entry><entry>lecture depuis un fichier</entry></row> +<row><entry><keycap>v</keycap></entry><entry>lecture depuis un Video CD</entry></row> +<row><entry><keycap>d</keycap></entry><entry>lecture depuis un DVD</entry></row> +<row><entry><keycap>u</keycap></entry><entry>lecture depuis une URL</entry></row> +</tbody> +</tgroup> +</informaltable> +</sect2> +</sect1> + +<sect1 id="skin-gui"> +<title>Messages de la GUI</title> +<para> +Ce sont les messages qui peuvent être générés par les boutons, podomètres et +entrées du menu. +</para> +<note><para> +Certains messages peuvent ne pas fonctionner comme prévu (ou ne pas fonctionner du +tout). Comme vous le savez, la GUI est en cours de développement. +</para></note> + +<variablelist> +<title>Contrôle de lecture:</title> +<varlistentry> + <term><emphasis role="bold">evNext</emphasis></term> + <listitem><para> +Saute à la prochaine piste dans la playlist. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evPause</emphasis></term> + <listitem><para> +Associé à la commande <literal>evPlaySwitchToPause</literal>. Ils s'utilisent pour +avoir un bouton play/pause commun. Les deux messages peuvent être assignés aux +boutons affiches exactement à la même position dans la fenêtre. Ces message mettent +la lecture en pause et le bouton <literal>evPlaySwitchToPause</literal> s'affiche +(pour indiquer que le bouton peut être pressé pour continuer la lecture). + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evPlay</emphasis></term> + <listitem><para> +Commence la lecture. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evPlaySwitchToPause</emphasis></term> + <listitem><para> +Le contraire de <literal>evPauseSwitchToPlay</literal>. Ce message démarre la +lecture et l'image associée au bouton <literal>evPauseSwitchToPlay</literal> +s'affiche (pour indiquer que le bouton peut être pressé pour mettre en pause la lecture). + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evPrev</emphasis></term> + <listitem><para> +Saute à la piste précédente dans la playlist. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evStop</emphasis></term> + <listitem><para> +Stoppe la lecture. + </para></listitem> +</varlistentry> +</variablelist> + +<variablelist> +<title>Avancée dans le flux:</title> +<varlistentry> + <term><emphasis role="bold">evBackward10sec</emphasis></term> + <listitem><para> +Recule de 10 secondes + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evBackward1min</emphasis></term> + <listitem><para> +Recule de 1 minute. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evBackward10min</emphasis></term> + <listitem><para> +Recule de 10 minutes. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evForward10sec</emphasis></term> + <listitem><para> +Avance de 10 secondes + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evForward1min</emphasis></term> + <listitem><para> +Avance de 1 minute. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evForward10min</emphasis></term> + <listitem><para> +Avance de 10 minutes. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evSetMoviePosition</emphasis></term> + <listitem><para> +Se place à la position (utilisable avec un podomètre; utilise la valeur relative +(0-100%) du podomètre). + </para></listitem> +</varlistentry> +</variablelist> + +<variablelist> +<title>Contrôle vidéo:</title> +<varlistentry> + <term><emphasis role="bold">evDoubleSize</emphasis></term> + <listitem><para> +Double la taille de la fenêtre vidéo. + </para></listitem> +</varlistentry> +<varlistentry> + <term><emphasis role="bold">evFullScreen</emphasis></term> + <listitem><para> +Passe en mode plein écran. + </para></listitem> +</varlistentry> +<varlistentry> + <term><emphasis role="bold">evNormalSize</emphasis></term> + <listitem><para> +Met la vidéo à sa taille réelle. + </para></listitem> +</varlistentry> +</variablelist> + +<variablelist> +<title>Contrôle audio:</title> +<varlistentry> + <term><emphasis role="bold">evDecAudioBufDelay</emphasis></term> + <listitem><para> +Diminue le délai du tampon audio. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evDecBalance</emphasis></term> + <listitem><para> +Diminue la balance. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evDecVolume</emphasis></term> + <listitem><para> +Diminue le volume. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evIncAudioBufDelay</emphasis></term> + <listitem><para> +Augmente le délai du tampon audio. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evIncBalance</emphasis></term> + <listitem><para> +Augmente la balance. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evIncVolume</emphasis></term> + <listitem><para> +Augmente le volume. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evMute</emphasis></term> + <listitem><para> +Active/désactive le son. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evSetBalance</emphasis></term> + <listitem><para> +Fixe la balance (utilisable avec un podomètre; utilise la valeur relative (0-100%) +du podomètre). + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evSetVolume</emphasis></term> + <listitem><para> +Fixe le volume (utilisable avec un podomètre; utilise la valeur relative (0-100%) +du podomètre). + </para></listitem> +</varlistentry> +</variablelist> + +<variablelist> +<title>Divers:</title> +<varlistentry> + <term><emphasis role="bold">evAbout</emphasis></term> + <listitem><para> +Ouvre la fenêtre 'A Propos'. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evDropSubtitle</emphasis></term> + <listitem><para> +Désactive le sous-titre actuellement utilisé. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evEqualizer</emphasis></term> + <listitem><para> +Active/désactive l'équalizer. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evExit</emphasis></term> + <listitem><para> +Quitte le programme. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evIconify</emphasis></term> + <listitem><para> +Iconifie la fenêtre. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evLoad</emphasis></term> + <listitem><para> +Charge un fichier (en ouvrant un mini navigateur de fichiers, où vous pouvez +choisir un fichier). + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evLoadPlay</emphasis></term> + <listitem><para> +Fait la même chose que <literal>evLoad</literal>, mais démarre la lecture +automatiquement après le chargement du fichier. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evLoadSubtitle</emphasis></term> + <listitem><para> +Charge un fichier de sous-titres (avec un sélecteur de fichier) + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evLoadAudioFile</emphasis></term> + <listitem><para> +Charge un fichier audio (avec un sélecteur de fichier) + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evNone</emphasis></term> + <listitem><para> +Message vide, sans effet. (À part peut-être dans les versions CVS :-)). + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evPlayList</emphasis></term> + <listitem><para> +Ouvre/ferme la playlist. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evPlayDVD</emphasis></term> + <listitem><para> +Essaie d'ouvrir le disque dans le lecteur DVD-ROM indiqué. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evPlayVCD</emphasis></term> + <listitem><para> +Essaie d'ouvrir le disque dans le lecteur CD-ROM indiqué. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evPreferences</emphasis></term> + <listitem><para> +Ouvre la fenêtre de préférences. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evSetAspect</emphasis></term> + <listitem><para> +Fixe l'aspect de l'image. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evSetURL</emphasis></term> + <listitem><para> +Ouvre la fenêtre de saisie d'URL. + </para></listitem> +</varlistentry> + +<varlistentry> + <term><emphasis role="bold">evSkinBrowser</emphasis></term> + <listitem><para> +Ouvre le navigateur de skins. + </para></listitem> +</varlistentry> +</variablelist> + +</sect1> + +</appendix>