Mercurial > mplayer.hg
view DOCS/xml/fr/skin.xml @ 33619:35a12ef532de
win32 gui: Move static function around to avoid a forward declaration.
author | diego |
---|---|
date | Wed, 22 Jun 2011 13:48:36 +0000 (2011-06-22) |
parents | 5cf2bd4d0911 |
children | 6fd8caca0f9c |
line wrap: on
line source
<?xml version="1.0" encoding="utf-8"?> <!-- synced with 20310 --> <appendix id="skin"> <title>Format de skins <application>MPlayer</application></title> <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 <application>MPlayer</application> 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> <application>MPlayer</application> cherche des skins dans ces r辿pertoires (dans cet ordre): <orderedlist> <listitem><para> <filename class="directory">$(DATADIR)/skins/</filename> </para></listitem> <listitem><para> <filename class="directory">$(PREFIX)/share/mplayer/skins/</filename> </para></listitem> <listitem><para> <filename class="directory">~/.mplayer/skins/</filename> </para></listitem> </orderedlist> </para> <para> Notez que le premier r辿pertoire peut varier suivant la fa巽on dont <application>MPlayer</application> a 辿t辿 configur辿 (voir 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/skins/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 <application>MPlayer</application>. Cela signifie que 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 <application>Winamp</application>/<application>XMMS</application>, 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 contr担lez <application>MPlayer</application> 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 peuvent (et doivent) venir se placer dans cette fen棚tre: <emphasis>boutons</emphasis>, <emphasis>podom竪tres</emphasis> (sliders) et <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. Voir 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. Voir <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 peu 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 (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 <application>MPlayer</application> 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 (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 (voir 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, <application>MPlayer</application> 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 � <application>MPlayer</application> 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 correspondants 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 commentaires 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>nom de la fen棚tre</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 l'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>objet = param竪tre</programlisting> O湛 <literal>objet</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 ; ... objets de la fen棚tre principale ... end window = sub ; ... objets de la sous-fen棚tre ... end window = menu ; ... objets du menu ... end window = playbar ; ... objets de la la barre de lecture ... 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">skins</filename>. Vous pouvez (mais ce n'est pas obligatoire) sp辿cifier l'extension du fichier. Si le fichier n'existe pas, <application>MPlayer</application> essaie de charger le fichier <filename><nomfichier>.<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 aura 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 <literal>phases</literal>. </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 bouton. (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 fix辿es � <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 au format <emphasis>hh:mm:ss</emphasis></entry> </row> <row> <entry>$2</entry> <entry>temps de lecture au format <emphasis>mmmm:ss</emphasis></entry> </row> <row> <entry>$3</entry> <entry>temps de lecture au format <emphasis>hh</emphasis> (heures)</entry> </row> <row> <entry>$4</entry> <entry>temps de lecture au format <emphasis>mm</emphasis> (minutes)</entry> </row> <row> <entry>$5</entry> <entry>temps de lecture au format <emphasis>ss</emphasis> (secondes)</entry> </row> <row> <entry>$6</entry> <entry>longueur du film au format <emphasis>hh:mm:ss</emphasis></entry> </row> <row> <entry>$7</entry> <entry>longueur du film au format <emphasis>mmmm:ss</emphasis></entry> </row> <row> <entry>$8</entry> <entry>temps de lecture au format <emphasis>h:mm:ss</emphasis></entry> </row> <row> <entry>$v</entry> <entry>volume au format <emphasis>xxx.xx</emphasis>%</entry> </row> <row> <entry>$V</entry> <entry>volume au format <emphasis>xxx.xx</emphasis></entry> </row> <row> <entry>$b</entry> <entry>balance au format <emphasis>xxx.xx</emphasis>%</entry> </row> <row> <entry>$B</entry> <entry>balance au format <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, <keycap>e</keycap> 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 extraites 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 <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 ils sont 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> <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 affich辿s exactement � la m棚me position dans la fen棚tre. Ces messages 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>D辿placement 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">evHalfSize</emphasis></term> <listitem><para> R辿duit de moiti辿 la taille de la fen棚tre vid辿o. </para></listitem> </varlistentry> <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> <sect1 id="skin-quality"> <title>Cr辿er des skins de qualit辿</title> <para> Vous avez lu toute la doc expliquant comment faire un skin pour la GUI de <application>MPlayer</application>, fait de votre mieux avec <application>Gimp</application> et souhaitez nous soumettre votre skin? Lisez les guidelines pour 辿viter les erreurs communes et produire un skin de haute qualit辿. </para> <para> Nous voulons des skins que nous puissions ajouter � notre repository pour se conformer � certain standards de qualit辿. Il y a aussi un nombre de choses que vous pouvez faire pour rendre notre vie plus simple. </para> <para> En tant qu'exemple, vous pouvez jeter un oeil � la skin <systemitem>Blue</systemitem>, elle satisfait tous les crit竪res list辿 ci-dessous depuis la version 1.5. </para> <itemizedlist> <listitem><para>Chaque skin devra joindre un fichier <filename>README</filename> qui contiendra les informations sur vous, l'auteur, le copyright et les notices de licence et n'importe quoi d'autre que vous souhaitiez ajouter. Si vous d辿sirez avoir un changelog, ce fichier est le bon endroit.</para></listitem> <listitem><para>Il devrez y avoir un fichier <filename>VERSION</filename> avec rien de plus que le num辿ro de version de la skin sur une simple ligne (e.g. 1.0).</para></listitem> <listitem><para>Les contr担les horizontaux et verticaux (sliders comme le volume ou la position) devront avoir le centre du bouton proprement centr辿 sur le milieu du slider. Il devra 棚tre possible de bouger le bouton aux deux extr辿mit辿s du slider, mais pas de le d辿passer.</para></listitem> <listitem><para>Les 辿l辿ments de la skin devront avoir les bonnes tailles d辿clar辿es dans le fichier de la skin. Si cela n'est pas le cas vous pouvez cliquer en dehors e.g. un bouton et encore le d辿clencher ou cliquer � l'int辿rieur de sa zone et ne pas le d辿clencher.</para></listitem> <listitem><para>le fichier <filename>skin</filename> devra 棚tre prettyprinted et ne pas contenir d'onglets. Prettyprinted signifie que les chiffres devront s'aligner de fa巽on ordonn辿e dans les colonnes</para></listitem> </itemizedlist> </sect1> </appendix>