Mercurial > mplayer.hg
diff DOCS/French/skin.html @ 2252:6697e0568f87
French translation by MoZ <moz@gmx.fr>
author | arpi |
---|---|
date | Thu, 18 Oct 2001 11:48:46 +0000 |
parents | |
children | e56e991d2ee7 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/French/skin.html Thu Oct 18 11:48:46 2001 +0000 @@ -0,0 +1,787 @@ +<html> +<head> +<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1"> +<title>Format de skins MPlayer</title> +<style type="text/css"> +em.note {color: green} +em.warn {color: red} +</style> +</head> + +<body bgcolor=white text=black> +<FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> +<h1 align="center">Format de skins MPlayer</h1> + +<hr> + +<h2>Sommaire</h2> + +<ul type=disc> +<li><a href="#intro">1 Introduction</a></li> +<li><a href="#overview">2 Aperçu</a></li> + <ul type=circle> + <li><a href="#dirs">2.1 Répertoires</a></li> + <li><a href="#images">2.2 Images</a></li> + <li><a href="#parts">2.3 Composants d'une skin</a></li> + <li><a href="#files">2.4 Fichiers</a></li> + </ul> +<li><a href="#skin">3 Le fichier <code>skin</code></a></li> + <ul type=circle> + <li><a href="#mainwin">3.1 Fenêtre principale</a></li> + <li><a href="#subwindow">3.2 Sous fenêtres</a></li> + <li><a href="#skinmenu">3.3 Menu</a></li> + </ul> +<li><a href="#fonts">4 Polices</a></li> + <ul type=circle> + <li><a href="#symbols">4.1 Symboles</a></li> + </ul> +<li><a href="#guimsg">Appendice A: messages de la GUI</a></li> +</ul> + +<hr> + +<div align=center> +Dernière modification: Sep 10, 2001 +</div> + +<hr> + +<h2><a name="intro">1 Introduction</a></h2> + +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 <em>a)</em> ce n'est pas moi qui ait écrit la GUI, <em>b)</em> cette GUI n'est pas terminée, <em>c)</em> je peux me tromper. Ne soyez donc pas surpris si quelque chose ne correspond pas à cette description. + +<p> +Merci à <em>Zoltán Ponekker</em> pour son aide. + +<p> +<em>András Mohari <mayday@freemail.hu></em> + + +<h2><a name="overview">2 Aperçu</a></h2> + +Ce n'est pas en rapport direct avec le format des skins, mais vous devez savoir que <em>MPlayer n'a <b>pas</b> de skin par défaut, donc <b>une skin au moins doit être installée pour pouvoir utiliser la GUI.</b></em> + + +<h3><a name="dirs">2.1 Répertoires</a></h3> + +MPlayer cherche des skins dans ces répertoires (dans cet ordre): +<pre> + /usr/local/share/mplayer/Skin/ + ~/.mplayer/Skin/ +</pre> + +<p> +Notez que le premier répertoire peut varier suivant la façon dont MPlayer a été configuré +(c.f. l'argument <code>--datadir</code> du script <code>configure</code>). + +<p> +Chaque skin est installée dans son propre répertoire sous l'un des répertoires listés ci-dessus, par exemple: +<pre> + /usr/local/share/mplayer/Skin/default/ +</pre> + + +<h3><a name="images">2.2 Format d'images</a></h3> + +Les images doivent être en truecolor (24 ou 32 bpp) et enregistrées au format +BMP, PNG ou TGA (sans compression pour les images TGA). +<em>le format par excellence reste le PNG, qui assure un très bon taux de compression.</em> + +<p> +Dans la fenêtre principale (c.f. ci-dessous) vous pouvez utiliser des images dotées de régions "transparentes" : +les régions remplies avec la couleur #FF00FF (<font color="#FF00FF">magenta</font>) +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. + + +<h3><a name="parts">2.3 Parties d'une skin</a></h3> + +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. + +<p> +Actuellement, trois fenêtres doivent être décorées : la +<a href="#mainwin">fenêtre principale</a>, la <a href="#subwindow">sous-fenêtre</a> et +le <a href="#skinmenu">menu</a> (activable par un clic droit). + +<ul> +<li> +Vous controlez MPlayer par la <b>fenêtre principale</b>. L'arrière plan en est une image. +Divers objets doivent venir se placer dans cette fenêtre : <em>boutons</em>, <em>podomètres</em> (ou des sliders si vous préferez) et des <em>labels</em>. Pour chaque objet, vous devez spécifier sa taille et sa position. + +<p> +Un <b>bouton</b> comprend trois états (pressé, relaché, +désactivé), donc l'image doit se diviser en trois parties, verticalement. +c.f. l'objet <a href="#main.button">bouton</a> pour plus de détails. +<p> +Un <b>podomètre</b> (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. <a href="#main.hpotmeter">hpotmeter</a> et +<a href="#main.potmeter">potmeter</a> pour plus de détails. + +<p> +Les <b>labels</b> 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 <a href="#fonts">fichier de description de polices</a>. +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>.) +C.f. <a href="#main.dlabel">dlabel</a> et <a href="#main.slabel">slabel</a> +pour plus de détails. + +<p> +<em class=note> +<b>Note:</b> toutes les images diposent de la couleur de transparence décrite dans +la section <a href="#images">formats d'images</a>. +</em> +</li> + +<li> +La <b>sous-fenêtre</b> contient la vidéo en elle même. Elle peut affichier une image si aucun film n'est chargé (ce n'est jamais plaisant d'avoir une fenêtre vide :-)) +<em class=note><b>Note:</b> la couleur de transparence n'est <b>pas</b> autorisée ici</em> +</li> + +<li> +Le <b>menu</b> est simplement un moyen de controler 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 apparaitre 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.) +<p> +Une entrée de menu se définit par sa position et sa taille dans l'image (c.f. la section +<a href="#skinmenu">menu</a> pour plus de détails). +</li> +</ul> + +<p> +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 + <a href="#guimsg">messages</a> (events) envoyés. Pour chaque objet vous devez définir une action a réaliser. + +<h3><a name="files">2.4 Fichiers</a></h3> + +Vous aurez besoin des fichiers suivants pour construire une skin. +<ul> +<li> +Le fichier de configuration nommé <a href="#skin">skin</a> indique à MPlayer comment assembler les différentes images et comment interpréter les clics de souris sur l'interface. +</li> +<li>L'image de fond de la fenêtre principale.</li> +<li>Les images correspondant aux objets de la fenêtre principale (y compris une ou plusieurs polices et descripteurs nécessaires à l'affichage des textes).</li> +<li>L'image affichée dans la sous-fenêtre (optionnel).</li> +<li>Deux images pour le menu (nécessaires uniquement si vous voulez créer un menu). +</ul> + +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 .fnt) + + +<h2><a name="skin">3 Le fichier <code><b>skin</b></code></a></h2> + +<p> +Il est lu ligne par ligne; les lignes de commentaire démarrent par le caractère '<code>;</code>' en début de ligne (seuls les espace et tabulations sont autorisées avant ce signe). + +<p> +Les fichiers se composent de sections. Chaque section décrit la skin pour une application et s'écrit sous la forme : +<table border=1 width="100%"><tr bgcolor=silver><td><pre> +section = <i>section name</i> +. +. +. +end +</pre></td></tr></table> + +<p> +Actuellement il n'existe qu'une application, donc vous n'aurez besoin que d'une section: +dont le nom est <b>movieplayer</b>. + +<p> +Dans cette section chaque fenêtre est décrite par un bloc de la forme suivante : +<table border=1 width="100%"><tr bgcolor=silver><td><pre> +window = <i>window name</i> +. +. +. +end +</pre></tr></td></table> +ou <i>window name</i> peut-être l'un des types suivants : +<ul> +<li><b>main</b> - pour la fenêtre principale</li> +<li><b>sub</b> - pour la sous-fenêtre</li> +<li><b>menu</b> - pour le menu</li> +</ul> + +<p> +(Les bloace sub et menu sont optionnels --- vous n'avez pas d'obligation de décorer le menu et la sous-fenêtre.) + +<p> +Dans un bloc window, vous pouvez définir chaque objet sous la forme : + +<blockquote> +<pre> +item = parameter +</pre> +</blockquote> + +<p> +ou <i>item</i> est une ligne identifiant le type d'objet de la GUI, +<i>parameter</i> est une valeur numérique ou textuelle (ou une liste de valeurs séparées par des virgules). +</p> + +<p> +Le fichier final doit donc ressembler à ceci : + +<p> +<table border=1 width="100%"><tr bgcolor=silver><td><pre> +section = movieplayer + window = main + ; ... items for main window ... + end + + window = sub + ; ... items for subwindow ... + end + + window = menu + ; ... items for skin menu ... + end +end +</pre></tr></td></table> + +<p> +Quelques précisions sur l'appel des images dans la configuration. +<br> +Le nom d'un fichier image doit être donné sans distinction de répertoire --- +les images seront cherchées dans le même répertoire que le fichier de configuration. 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 <i><filename>.<ext></i>, ou <i><ext></i> sera respectivement <i>tga</i>,<i>TGA</i>, <i>bmp</i>, <i>BMP</i>, <i>png</i> et <i>PNG</i> dans cet ordre. La première correspondance trouvée sera utilisée. + +<p> + +<table border=1 cellpadding=5 width="100%"><tr bgcolor="#ffffcc"><td> +Un exemple. Supposons que vous avez crée une image +<i>main.png</i> que vous voulez utiliser pour la fenêtre principale: +<blockquote> +<pre> + base = main, -1, -1 +</pre> +</blockquote> + +MPlayer essaie de charger <i>main</i>, <i>main.tga</i>, <i>main.TGA</i>, +<i>main.bmp</i> etc, donc <i>main.png</i> sera trouvé. +<br> +Si (par accident) vous écrivez +<blockquote> +<pre> + base = main.bmp, -1, -1 +</pre> +</blockquote> +alors <i>main.bmp</i>, <i>main.bmp.tga</i>, <i>main.bmp.TGA</i>, +<i>main.bmp.bmp</i> seront recherchés et MPlayer et MPlayer abandonnera +parce qu'il ne trouvera pas de <i>main.bmp</i> dans le répertoire, mais <i>main.png</i>. +</td></tr></table> + + +<h3><a name="mainwin">3.1 Fenêtre principale</a></h3> + +Vous trouverez ci-dessous la liste des objets utilisables dans le bloc +'<code>window = main</code>' . . . '<code>end</code>'. + +<dl> +<dt><a name="main.base"> +<b>base = <i>image, x, y</i></b> +</a></dt> +<dd> +Vous spécifiez ici l'image de fond utilisée dans la fenêtre principale. +La fenêtre apparaitra a la position <i>x</i>,<i>y</i> +sur l'ecran (0,0 est le coin supérieur gauche). Vous pouvez spécifier -1 pour le centre +et -2 pour droite (x) et bas (y). La fenêtre prendra la taille de l'image. +<p> +<em class=warn> +<b>Attention :</b> les régions transparentes (couleur #FF00FF) apparaitront en noir +sur les serveurs X n'ayant pas l'extension XShape. +</em> +</dd> +</dl> + +<dl> +<dt><a name="main.button"> +<b>button = <i>image, x, y, largeur, hauteur, message</i></b></a></dt> +<dd> +Place un bouton de taille <i>largeur</i> * <i>hauteur</i> a la position +<i>x</i>,<i>y</i>. Le message sera généré au clic sur ce bouton. +L'image appellée par <i>image</i> doit avoir trois états empilés verticalement +(pour les trois états du bouton), comme ceci: +<div align=center><table><tr><td><pre><small> ++--------+ +| pressé | ++--------+ +| relaché | ++--------+ +| désactivé | ++--------+ +</small></pre></td></tr></table></div> +</dd> +</dl> + +<dl> +<dt><a name="main.decoration"> +<b>decoration = enable|disable</b> +</a></dt> +<dd> +Active ou désactive la décoration du gestionnaire de fenêtre pour la fenêtre principale. <b>Désactivé</b> par défaut. +</dd> +</dl> + +<dl> +<dt> +<a name="main.hpotmeter"> +<b> +hpotmeter = <i>butt, bw,bh, phases, numphases, default, x, y, w, h, msg</i> +</b> +</a> +</dt> +<dd> +Place un podomètre horizontal de taille <i>w</i> * <i>h</i> a la position +<i>x</i>,<i>y</i>. 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.) +hpotmeter peut posséder un bouton qui sera glissé horizontalement. +Les paramètres sont : +<ul> +<li><i>butt</i> - l'image utilisée pour le bouton +(doit avoir trois états superposés, comme pour les +<a href="#main.button">boutons</a>)</li> +<li><i>bw</i>, <i>bh</i> - taille du bouton</li> +<li><i>phases</i> - L'image utilisée pour les différentes phases du podomètre. +L'image doit être divisée en <i>numphases</i> parties verticalement +(c.f. ci-dessous). Une valeur <kbd>NULL</kbd> spéciale peut-être utilisée si vous ne voulez pas d'image. +</li> +<li><i>numphases</i> - nombre d'états placés dans l'image.</li> +<li><i>default</i> - valeur par défaut du podomètre (dans un intervalle de 0 a +100)</li> +<li><i>x</i>, <i>y</i> - position pour le podomètre</li> +<li><i>w</i>, <i>h</i> - largeur et hauteur du podomètre</li> +<li><i>msg</i> - le message généré lors des changements d'état du podomètre</li> +</ul> +L'image utilisée pour les différents états doit correspondre a ceci : +<div align=center><table border=0><tr><td><pre><small> ++--------+ +| état #1 | ++--------+ +| état #2 | ++--------+ + ... ++--------+ +| état #n | ++--------+ +</small></pre></td></tr></table></div> +<em class=note> +<b>Note:</b> il y aura également un podomètre vertical (vpotmeter), qui n'a pas encore été programmé. +</em> +</dd> +</dl> + +<dl> +<dt><a name="main.potmeter"> +<b>podomètre = <i>phases, numphases, default, x, y, w, h, msg</i></b> +</a></dt> +<dd> +Un podomètre sans boutons. (je suppose qu'il est censé tourner en rond, +mais il réagit uniquement aux tractions horizontales.) +Pour une descritpion de ses paramètres lisez +<a href="#main.hpotmeter">hpotmeter</a>. Ses <i>états</i> peuvent être +<code>NULL</code>, mais ce n'est pas vraiment utile, puisque vous ne pouvez pas voir son niveau. +</dd> +</dl> + +<dl> +<dt><a name="main.font"> +<b>font = <i>fontfile, fontid</i></b> +</a></dt> +<dd> +Définit une police. <i>fontfile</i> est le nom du descripteur de police +avec l'extension <code>.fnt</code> (<b>inutile</b> de préciser son extension ici). +<i>fontid</i> réfère à la police +(c.f. <a href="#main.dlabel">dlabel</a> et <a href="#main.slabel">slabel</a>). +Plus de 25 polices peuvent être définies. +</dd> +</dl> + +<dl> +<dt><a name="main.dlabel"> +<b>dlabel = <i>x, y, length, align, fontid, "text"</i></b> +</a></dt> +<dd> +Place un label dynamique à la position <i>x</i>,<i>y</i>. Le label est appelé +dynamique parce que sont texte est rafraichi péridiquement.. +La longeur maximum du label est définie par <i>length</i> (sa hauteur dépend de la hauteur des caractères). +Si le texte a afficher dépasse cette longeur il sera scrollé, +au bien aligné dans l'espace spécifié par la valeur du paramètre +<i>align</i> : 0 pour droite, 1 pour centré, +2 pour gauche. +<br> +Le texte a afficher est donné par <i>text</i>: il doit être écrit entre guillemets doubles +(<code>"</code>) (mais le caractère <code>"</code>ne peut pas faire partie du texte). +Le texte s'affiche en utilisant la police spécifiée par <i>fontid</i>. +Vous pouvez utiliser les variables suivantes dans le texte : + +<div align=center> +<table valign=top border=1> +<tr align=center><th>Variable</th><th align=left>Signification</th></tr> +<tr><td align=center><kbd>$1</kbd></td> + <td>temps de lecture en <em>hh:mm:ss</em></td></tr> +<tr><td align=center><kbd>$2</kbd></td> + <td>temps de lecture en <em>mmmm:ss</em></td></tr> +<tr><td align=center><kbd>$3</kbd></td> + <td>temps de lecture en <em>hh</em>(heures)</td></tr> +<tr><td align=center><kbd>$4</kbd></td> + <td>temps de lecture en <em>mm</em>(minutes)</td></tr> +<tr><td align=center><kbd>$5</kbd></td> + <td>temps de lecture en <em>ss</em>(secondes)</td></tr> +<tr><td align=center><kbd>$6</kbd></td> + <td>longeur du film en <em>hh:mm:ss</em></td></tr> +<tr><td align=center><kbd>$7</kbd></td> + <td>longeur du film en <em>mmmm:ss</em></td></tr> +<tr><td align=center><kbd>$8</kbd></td> + <td>temps de lecture en <em>h:mm:ss</em></td></tr> +<tr><td align=center><kbd>$v</kbd></td> + <td>volume en <em>xxx.xx%</em></td></tr> +<tr><td align=center><kbd>$V</kbd></td> + <td>volume en <em>xxx.x</em></td></tr> +<tr><td align=center><kbd>$b</kbd></td> + <td>balance en <em>xxx.xx%</em></td></tr> +<tr><td align=center><kbd>$B</kbd></td> + <td>balance en <em>xxx.x</em></td></tr> +<tr><td align=center><kbd>$$</kbd></td> + <td>le caractère <kbd>$</kbd></td></tr> +<tr><td align=center><kbd>$a</kbd></td> + <td>un caractère dépendant du type audio (aucun: <code>n</code>, + mono: <code>m</code>, stereo: <code>t</code>)</td></tr> +<tr><td align=center><kbd>$t</kbd></td> + <td>numéro de piste (dans la playlist)</td></tr> +<tr><td align=center><kbd>$o</kbd></td> + <td>nom du fichier</td></tr> +<tr><td align=center><kbd>$f</kbd></td> + <td>nom du fichier en minuscule</td></tr> +<tr><td align=center><kbd>$F</kbd></td> + <td>nom du fichier en majuscule</td></tr> +<tr><td align=center><kbd>$T</kbd></td> + <td>un caractère dépendant du type de flux (fichier: <code>f</code>, + video CD: <code>v</code>, DVD: <code>d</code>, URL: <code>u</code>) + </td></tr> +<tr><td align=center><kbd>$p</kbd></td> + <td>le caractère "p" (si une vidéo est en lecture et que la police a le caractère "p") + </td></tr> +<tr><td align=center><kbd>$s</kbd></td> + <td>le caractère "s" (si une vidéo est stoppée et que la police a le caractère "s") + </td></tr> +<tr><td align=center><kbd>$e</kbd></td> + <td>le caractère "e" (si une vidéo est en pause et que la police a le caractère "e") + </td></tr> +</table></div> +<p> +<b>Note:</b> les variables <kbd>$a</kbd>, <kbd>$T</kbd>, <kbd>$p</kbd>, <kbd>$s</kbd> +et <kbd>$e</kbd>retournent toutres des caractères pouvant s'afficher comme des symboles spéciaux (par exemple, "e" est le symbole de pause qui ressemble généralement à <code>||</code>). Vous pouvez avoir une police pour les saractères normaux et une autre pour les symboles. +Lisez la section sur les <a href="#symbols">symboles</a> pour plus d'informations. +</dd> +</dl> + +<dl> +<dt><a name="main.slabel"> +<b>slabel = <i>x, y, fontid, text</i></b> +</a></dt> +<dd> +Place un label statique à la position <i>x</i>,<i>y</i>. +<i>text</i> s'affiche en utilisant la police spécifiée par <i>fontid</i>. +Le texte est seulement du texte brut (les variables $x ne fonctionnent pas) et doit être enfermé entre des guillements doubles (le caractère <code>"</code> ne doit pas faire partie du texte). +</dd> +</dl> + + +<h3><a name="subwindow">3.2 Sous-fenêtre/a></h3> + +Vous trouverez ci-dessous la liste des objets utilisables dans le bloc +'<code>window = sub</code>' . . . '<code>end</code>'. + +<dl> +<dt><a name="sub.base"> +<b>base = <i>image, x, y, largeur, hauteur</i></b> +</a></dt> +<dd> +L'image qui s'affichera dans la fenêtre. +La fenêtre apparaîtra à la position <i>x</i>,<i>y</i> +sur l'écran (0,0 est le coin supérieur gauche). Vous pouvez spécifier -1 pour centre +et -2 pour droite. La fenêtre prendra la taille de l'image. +<i>largeur</i> et <i>hauteur</i> 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). +</dd> +</dl> + +<dl> +<dt><a name="sub.background"> +<b>background = <i>r, g, b</i></b> +</a></dt> +<dd> +Vous permet de définir la couleur de fond. Utile si l'image est plus petite que la fenêtre. +<i>r</i>, <i>g</i> et <i>b</i> spécifient les composantes rouge, verte et bleue de la couleur (d'une intervalle entre 0 et 255). +</dd> +</dl> + + +<h3><a name="skinmenu">3.3 Menu</a></h3> + +Comme mentionné précédemment, le menu s'affiche en utilisant deux images. +Les entrées normales du menu sont extraitres de l'image spécifiée par l'objet <i>base</i>, +tandis que l'entrée actuellement sélectionnée est extraite de l'image spécifiée par l'objet <i>selected</i>. +Vous devez définir la taille et la position de chaque entrée du menu par l'objet <i>menu</i>. + +<p> +Ils correspondent aux objets utilisés dans le bloc '<code>window = menu</code>' +. . . '<code>end</code>'. + +<dl> +<dt><a name="menu.base"> +<b>base = <i>image</i></b> +</a></dt> +<dd> +L'image utilisée pour les entrées normales. +</dl> +</dd> + +<dl> +<dt><a name="menu.selected"> +<b>selected = <i>image</i></b> +</a></dt> +<dd> +L'image utilisée pour les entrées selectionnées. +</dd> +</dl> + +<dl> +<dt><a name="menu.menu"> +<b>menu = <i>x, y, largeur, hauteur, message</i></b> +</a></dt> +<dd> +Définit la position <i>x</i>,<i>y</i> et la taille des entrées du menu dans les images. <i>message</i> est le message généré quand le bouton de la souris est relaché sur l'entrée.. +</dd> +</dl> + + +<h2><a name="fonts">4 Polices</a></h2> + +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.. + +<p> +Les fichier descriptif des polices (avec l'extension .fnt) peut avoir des lignes de commentaires commençant par '<code>;</code>'. +Le fichier doit avoir une ligne du type +<blockquote> +<pre> +image = <i>image</i> +</pre> +</blockquote> + +<p> +où <i>image</i> est le nom de l'image qui sera utilisée pour la police +(vous n'avez pas à définir d'extension). +Cette ligne est suivie par une définition de caractère du type : + +<blockquote> +<pre> +"<i>char</i>" = <i>x, y, w, h</i> +</pre> +</blockquote> + +<p> +Ici <i>x</i> et <i>y</i> précisent la position du caractère +<i>char</i> dans l'image (0,0 est le coin supérieur gauche). +<i>w</i> et <i>h</i> sont la largeur et la hauteur du caractère +(en pixels, bien sûr). + +<p> +Voici un exemple définissant les caractères A, B, C utilisant la police font.png. +<table width="100%" border=1><tr bgcolor=silver><td><pre> +; peut être "font" au lieu de "font.png" +image = font.png + +; Trois caractères suffisent, mais seulement pour une démonstration. :-) +"A" = 0,0, 7,13 +"B" = 7,0, 7,13 +"C" = 14,0, 7,13 +</pre></td></tr></table> + + +<h3><a name="symbols">4.1 Symboles</a></h3> + +Certains caractères ont une sugnifaction spéciale quand retournés par des variables utilisées dans +<a href="#main.dlabel">dlabel</a>; ces caractères sont censés s'aficher 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 'd'). + +<p> +La table ci-dessous liste les caractères pouvant s'afficher comme des symboles (et nécessitent donc une police différente). + +<div align=center> +<table> +<tr><th align=center>Character</th><th align=left>Symbole</th></tr> +<tr><td align=center><kbd>p</kbd></td> + <td align=left>lecture</td></tr> +<tr><td align=center><kbd>s</kbd></td> + <td align=left>stop</td></tr> +<tr><td align=center><kbd>e</kbd></td> + <td align=left>pause</td></tr> +<tr><td align=center><kbd>n</kbd></td> + <td align=left>pas de son</td></tr> +<tr><td align=center><kbd>m</kbd></td> + <td align=left>son mono</td></tr> +<tr><td align=center><kbd>t</kbd></td> + <td align=left>son stereo</td></tr> +<tr><td align=center><kbd>f</kbd></td> + <td align=left>lecture depuis un fichier</td></tr> +<tr><td align=center><kbd>v</kbd></td> + <td align=left>lecture depuis un video CD</td></tr> +<tr><td align=center><kbd>d</kbd></td> + <td align=left>lecture depuis un DVD</td></tr> +<tr><td align=center><kbd>u</kbd></td> + <td align=left>lecture depuis une URL</td></tr> +</table> +</div> + +<p> +<b>Note:</b> actuellement uniquement 'p', 's', 'e', 'n', 'm' et 't' sont utilisables. +</p> + +<h2><a name="guimsg">Appendice A: messages de la GUI</a></h2> + +Ce sont les messages qui peuvent être générés par les boutons, podomètres et +entrées du menu. + +<p> +<em class=note> +<b>Note:</b> 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.</em> + +<p> +<i>Contrôle de lecture :</i> +<blockquote> +<dl> +<dt><b>evNext</b> +<dd>Saute à la prochaine piste dans la playlist. + +<dt><b>evPause</b> +<dd>Pause. + +<dt><b>evPauseSwitchToPlay</b> +<dd>Associé à la commande <i>evPlaySwitchToPause</i>. 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 <i>evPlaySwitchToPause</i> s'affiche (pour indiquer que le bouton peut être pressé pour continuer la lecture). + +<dt><b>evPlay</b> +<dd>Commence la lecture. + +<dt><b>evPlaySwitchToPause</b> +<dd>Le contraire de <i>evPauseSwitchToPlay</i>. Ce message démarre la lecture +et l'image associée au bouton <i>evPauseSwitchToPlay</i> s'affiche (pour indiquer que le bouton peut être pressé pour mettre en pause la lecture). + +<dt><b>evPrev</b> +<dd>Saute à la piste précedente dans la playlist. + +<dt><b>evStop</b> +<dd>Stoppe la lecture. +</dl> +</blockquote> + +<p> +<i>Avancée dans le flux:</i> +<blockquote> +<dl> +<dt><b>evBackward10sec</b> +<dt><b>evBackward1min</b> +<dt><b>evBackward10min</b> +<dd>Recule de 10 secondes / 1 minute / 10 minutes. + +<dt><b>evForward10sec</b> +<dt><b>evForward1min</b> +<dt><b>evForward10min</b> +<dd>Avance de 10 secondes / 1 minute / 10 minutes. + +<dt><b>evSetMoviePosition</b> +<dd>Se place à la position (utilisable avec un podomètre; utilise la valeur relative (0-100%) du podomètre). +</dl> +</blockquote> + +<p> +<i>Contrôle vidéo :</i> +<blockquote> +<dl> +<dt><b>evDoubleSize</b> +<dd>Double la taille de la fenêtre vidéo. + +<dt><b>evFullScreen</b> +<dd>Passe en mode plein écran. + +<dt><b>evNormalSize</b> +<dd>Met la vidéo à sa taille réelle. +</dl> +</blockquote> + +<p> +<i>Contôle audio :</i> +<blockquote> +<dl> +<dt><b>evDecAudioBufDelay</b> +<dd>Diminue le délai du buffer audio. + +<dt><b>evDecBalance</b> +<dd>Diminue la balance. + +<dt><b>evDecVolume</b> +<dd>Diminue le volume. + +<dt><b>evIncAudioBufDelay</b> +<dd>Augmente le délai du buffer audio. + +<dt><b>evIncBalance</b> +<dd>Augmente la balance. + +<dt><b>evIncVolume</b> +<dd>Augmente le volume. + +<dt><b>evMute</b> +<dd>Active/désactive le son. + +<dt><b>evSetBalance</b> +<dd>Fixe la balance (utilisable avec un podomètre; utilise la valeur relative (0-100%) du podomètre). + +<dt><b>evSetVolume</b> +<dd>Fixe le volume (utilisable avec un podomètre; utilise la valeur relative (0-100%) du podomètre). +</dl> +</blockquote> + +<p> +<i>Divers :</i> +<blockquote> +<dl> +<dt><b>evAbout</b> +<dd>Ouvre la fenêtre 'A Propos'. + +<dt><b>evEqualeaser</b> +<dd>Active/désactive l'equalizer. + +<dt><b>evExit</b> +<dd>Quite le programme. + +<dt><b>evIconify</b> +<dd>Iconifie la fenêtre. + +<dt><b>evLoad</b> +<dd>Charge un fichier (en ouvrant un mini navigateur de fichiers, où vous pouvez choisir un fichier). + +<dt><b>evLoadPlay</b> +<dd>Fait la même chose que <i>evLoad</i>,mais démarre la lecture automatiquement après le chargement du fichier. + +<dt><b>evNone</b> +<dd>Message vide, sans effet. (A part peut-re dans les versions CVS :-)) + +<dt><b>evPlayList</b> +<dd>Ouvre/ferme la playlist. + +<dt><b>evPreferences</b> +<dd>Ouvre la fenêtre de preferences. + +<dt><b>evSkinBrowser</b> +<dd>Ouvre le navigateur de revêtements. +</dl> +</blockquote> +</FONT> +</body> +</html>