Sophie

Sophie

distrib > Mandriva > current > i586 > media > main-updates > by-pkgid > a42e22ddf1d70fb02e9f62289d71cafa > files > 330

mplayer-doc-1.0-1.rc4.0.r31086.3.1mdv2010.2.i586.rpm

<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>B.2. El archivo de skin</title><link rel="stylesheet" href="default.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="MPlayer - El reproductor de Películas para LINUX"><link rel="up" href="skin.html" title="Apéndice B. Formato del skin de MPlayer"><link rel="prev" href="skin-overview.html" title="B.1. Visión general"><link rel="next" href="skin-fonts.html" title="B.3. Tipografías"><link rel="preface" href="howtoread.html" title="Como leer esta documentación"><link rel="chapter" href="intro.html" title="Capítulo 1. Introducción"><link rel="chapter" href="install.html" title="Capítulo 2. Instalación"><link rel="chapter" href="usage.html" title="Capítulo 3. Uso"><link rel="chapter" href="cd-dvd.html" title="Capítulo 4. Uso de CD/DVD"><link rel="chapter" href="tv.html" title="Capítulo 5. TV"><link rel="chapter" href="video-dev.html" title="Capítulo 6. Dispositivos de salida de video"><link rel="chapter" href="ports.html" title="Capítulo 7. Adaptaciones"><link rel="chapter" href="mencoder.html" title="Capítulo 8. Codificando con MEncoder"><link rel="chapter" href="faq.html" title="Capítulo 9. Preguntas de Usuario Frecuentes"><link rel="appendix" href="bugreports.html" title="Apéndice A. Cómo reportar errores"><link rel="appendix" href="skin.html" title="Apéndice B. Formato del skin de MPlayer"><link rel="subsection" href="skin-file.html#skin-file-main" title="B.2.1. Ventana principal y barra de reproducción"><link rel="subsection" href="skin-file.html#skin-file-subwindow" title="B.2.2. Subventana"><link rel="subsection" href="skin-file.html#skin-file-menu" title="B.2.3. Menú del skin"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">B.2. El archivo de skin</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="skin-overview.html">Anterior</a> </td><th width="60%" align="center">Apéndice B. Formato del skin de <span class="application">MPlayer</span></th><td width="20%" align="right"> <a accesskey="n" href="skin-fonts.html">Siguiente</a></td></tr></table><hr></div><div class="sect1" title="B.2. El archivo de skin"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="skin-file"></a>B.2. El archivo de skin</h2></div></div></div><p>
Como se menciona más arriba, este es el archivo de configuración del skin.
Su orientación en lineal; las líneas que son comentarios comienzan por
un caracter '<code class="literal">;</code>' al principio de la línea (solo espacios
y tabuladores están permitidos antes del '<code class="literal">;</code>').
</p><p>
El archivo está dividido en secciones. Cada sección describe el skin para
una aplicación y tiene la siguiente forma:
</p><pre class="programlisting">
section = <em class="replaceable"><code>nombre de la sección</code></em>
.
.
.
end
</pre><p>
</p><p>
Actualmente solo hay una aplicación, por lo que necesita una sola sección: su nombre
es <span class="bold"><strong>movieplayer</strong></span>.
</p><p>
Dentro de esta sección cada ventana está descrita por un bloque de la siguiente forma:
</p><pre class="programlisting">
window = <em class="replaceable"><code>nombre de la ventana</code></em>
.
.
.
end
</pre><p>
</p><p>
donde <em class="replaceable"><code>nombre de la ventana</code></em> puede ser una de las siguientes
cadenas de texto:
</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="bold"><strong>main</strong></span> - para la ventana principal</p></li><li class="listitem"><p><span class="bold"><strong>sub</strong></span> - para la subventana</p></li><li class="listitem"><p><span class="bold"><strong>menu</strong></span> - para el skin del menú</p></li><li class="listitem"><p><span class="bold"><strong>playbar</strong></span> - barra de reproducción</p></li></ul></div><p>
</p><p>
(Los bloques sub y menú son opcionales - no necesita crear un menú o decorar
la subventana.)
</p><p>
Dentro de un bloque de ventana, puede definir cada objeto para la ventana con
una línea del siguiente modo:
</p><pre class="programlisting">objeto = parámetro</pre><p>
Donde <code class="literal">objeto</code> es una cadena que identifica el tipo de objeto GUI,
<code class="literal">parámetro</code> es un valor numérico o textual (o una lista
de valores separados por comas).
</p><p>
Poniendo todo lo de arriba jutno, el archivo entero quedará algo similar a esto:
</p><pre class="programlisting">
section = movieplayer
  window = main
  ; ... objetos para la ventana principal ...
  end

  window = sub
  ; ... objetos para la subventana ...
  end

  window = menu
  ; ... objetos para el menú ...
  end

  window = playbar
  ; ... objetos para la barra de reproducción ...
  end
end
</pre><p>
</p><p>
El nombre de un archivo de imagen se debe dar sin los directorios - las imágenes
se buscan en el directorio <tt class="filename">skins</tt>.
También puede (pero necesita ser root) especificar la extensión del archivo. Si
el archivo no existe, <span class="application">MPlayer</span> intentará cargar el
archivo
<tt class="filename">&lt;filename&gt;.&lt;ext&gt;</tt>, donde <code class="literal">png</code>
y <code class="literal">PNG</code> son probados para <tt class="filename">&lt;ext&gt;</tt>
(en ese orden). El primer nombre de archivo que coincida será el que se use.
</p><p>
Finalmente unas palabras acerca del posicionamiento. La ventana principal y la
subventana pueden ser colocadas en las diferentes esquinas de la pantalla dando
las coordenadas <code class="literal">X</code> e <code class="literal">Y</code> . <code class="literal">0</code>
es arriba o izquierda, <code class="literal">-1</code> es el centro y <code class="literal">-2</code>
es a la derecha o abajo, como se muestra en la ilustracion:
</p><div class="informalfigure"><pre class="screen">
(0, 0)----(-1, 0)----(-2, 0)
  |          |          |
  |          |          |
(0,-1)----(-1,-1)----(-2,-1)
  |          |          |
  |          |          |
(0,-2)----(-1,-2)----(-2,-2)
</pre></div><p>
Aquí tiene un ejemplo para clarificar esto. Suponga que tiene una imagen llamada
<tt class="filename">main.png</tt> que usa para la ventana principal:
</p><pre class="programlisting">base = main, -1, -1</pre><p>
<span class="application">MPlayer</span> intentará cargar los archivos
<tt class="filename">main</tt>, <tt class="filename">main.png</tt>,
<tt class="filename">main.PNG</tt>.
</p><div class="sect2" title="B.2.1. Ventana principal y barra de reproducción"><div class="titlepage"><div><div><h3 class="title"><a name="skin-file-main"></a>B.2.1. Ventana principal y barra de reproducción</h3></div></div></div><p>
Más abajo tiene la lista de entradas que pueden usarse en los bloques
'<code class="literal">window = main</code>' ... '<code class="literal">end</code>',
y '<code class="literal">window = playbar</code>' ... '<code class="literal">end</code>'.
</p><div class="variablelist"><dl><dt><span class="term"><code class="literal">
  <a name="skin-main-base"></a>base = image, X, Y
  </code></span></dt><dd><p>
Le permite especificar la imagen de fondo para usar en la ventana principal.
La ventana aparecerá en la posición <code class="literal">X,Y</code> dada de la pantalla.
La ventana tendrá el tamaño de la imagen.
    </p><div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Nota</h3><p>Estas coordenadas no funcionan actualmente para la ventana de
    reproducción.</p></div><div class="warning" title="Aviso" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Aviso</h3><p>Las regiones transparentes en la
    imagen (coloreadas con #FF00FF) aparecen en negro en servidores X sin la
    extensión XShape. El ancho de la imagen debe ser divisible por 8.</p></div></dd><dt><span class="term"><code class="literal">
  <a name="skin-button"></a>button = imagen, X, Y, ancho, alto, mensaje
  </code></span></dt><dd><p>
Coloca un botón de tamaño <code class="literal">ancho</code> * <code class="literal">alto</code> en
la posición <code class="literal">X,Y</code>. El <code class="literal">mensaje</code> especificado
es generado cuando se hace clic en el botón. La imagen dada en
<code class="literal">imagen</code> debe tener tres partes una debajo de otra (de acuerdo con
los posibles estados del botón), como esto:
</p><div class="informalfigure"><pre class="screen">
+--------------+
|  pulsado     |
+--------------+
|  soltado     |
+--------------+
|  desactivado |
+--------------+
</pre></div></dd><dt><span class="term"><code class="literal">
  <a name="skin-decoration"></a>decoration = enable|disable
  </code></span></dt><dd><p>
Activa o desactiva la decoración del administrador de ventanas para la
ventana principal. Por defecto toma el valor <span class="bold"><strong>disable</strong></span>.
    </p><div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Nota</h3><p>Esto no funciona para la ventana de reproducción, no lo necesita.</p></div></dd><dt><span class="term"><code class="literal">
  <a name="skin-hpotmeter"></a>hpotmeter = botón, bancho, balto, fases, numfases, defecto, X, Y, ancho, alto, mensaje
  </code></span></dt><dd><p>

    </p></dd><dt><span class="term"><code class="literal">
  <a name="skin-vpotmeter"></a>vpotmeter = botón, bancho, balto, fases, numfases, defecto, X, Y, ancho, alto, mensaje
  </code></span></dt><dd><p>
Coloca un medidor horizontal (hpotmeter) o vertical (vpotmeter) de tamaño
<code class="literal">ancho</code> * <code class="literal">alto</code> en la posición
<code class="literal">X,Y</code>. La imagen puede ser dividida en diferentes partes para
las diferentes fases del medidor (por ejemplo, puede tener un medidor para
el control del volumen que vaya de verde a rojo mientras sus valores cambian
desde el mínimo al máximo.). <code class="literal">hpotmeter</code> puede tener un botón
que se desplaze horizontalmente. Los parámetros son:
    </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="literal">botón</code> - la imagen que se usará para el
    botón (debe tener tres partes una debajo de otra, como en el caso de
    <a class="link" href="skin-file.html#skin-button">botón</a>)
    </p></li><li class="listitem"><p><code class="literal">bancho</code>,<code class="literal">balto</code> - tamaño
    del botón
    </p></li><li class="listitem"><p><code class="literal">fases</code> - la imagen que se usará para las
   diferentes fases del medidor horizontal. Un valor especial <code class="literal">NULL</code>
   puede usarse si no desea una imagen. La imagen debe estar dividida en
   <code class="literal">numfasespartes</code> verticalmente como esto:
    </p><div class="informalfigure"><pre class="screen">
+------------+
|  fase #1   |
+------------+
|  fase #2   |
+------------+
     ...
+------------+
|  fase #n   |
+------------+
</pre></div></li><li class="listitem"><p><code class="literal">numfases</code> - número de fases almacenadas en la
    imagen de <code class="literal">fases</code>
    </p></li><li class="listitem"><p><code class="literal">defecto</code> - valor por defecto en el medidor
    (en el rango de <code class="literal">0</code> a <code class="literal">100</code>)
    </p></li><li class="listitem"><p><code class="literal">X</code>,<code class="literal">Y</code> - posición del medidor
    </p></li><li class="listitem"><p><code class="literal">ancho</code>,<code class="literal">alto</code> - ancho y alto
    del <code class="literal">medidor</code>
    </p></li><li class="listitem"><p><code class="literal">mensaje</code> - el mensaje que se ha de generar cuando
    se cambia el valor del <code class="literal">hpotmeter</code>
    </p></li></ul></div></dd><dt><span class="term"><code class="literal">
  <a name="skin-potmeter"></a>potmeter = fases, numfases, defecto, X, Y, ancho, alto, mensaje
  </code></span></dt><dd><p>
Un <code class="literal">hpotmeter</code> sin un botón. (Creo que está hecho para hacer una especie
de botón que gire sobre sí mismo, pero reacciona a arrastre horizontal solamente). Para la
descripción de los parámetros vea <a class="link" href="skin-file.html#skin-hpotmeter">hpotmeter</a>.
<code class="literal">fases</code> puede ser <code class="literal">NULL</code>, pero es poco útil,
porque no le permite ver donde está establecido el valor del <code class="literal">potmeter</code>.
    </p></dd><dt><span class="term"><code class="literal">
  <a name="skin-font"></a>font = fontfile, fontid
  </code></span></dt><dd><p>
Define una tipografía. <code class="literal">fontfile</code> es el nombre del archivo de
descripción de la tipografía con extensión <tt class="filename">.fnt</tt> (no especifique
la extensión aquí). <code class="literal">fontid</code> es usado para referirse a la tipografía
(vea <a class="link" href="skin-file.html#skin-dlabel">dlabel</a> y <a class="link" href="skin-file.html#skin-slabel">slabel</a>).
Pueden definirse hasta 25 tipografías.
    </p></dd><dt><span class="term"><code class="literal">
  <a name="skin-slabel"></a>slabel = X, Y, fontid, "text"
  </code></span></dt><dd><p>
Coloca una etiqueta estática en la posición <code class="literal">X,Y</code>. <code class="literal">text</code>
se muestra usando la tipografía identificada con <code class="literal">fontid</code>. El texto es
una cadena de texto en crudo (variables como <code class="literal">$x</code> no funcionarán) que debe
ser encerrada entre comillas dobles (el caracter " no puede ser parte del texto).
La etiqueta es mostrada usando la tipografía identificada por <code class="literal">fontid</code>.
    </p></dd><dt><span class="term"><code class="literal">
  <a name="skin-dlabel"></a>dlabel = X, Y, length, align, fontid, "text"
  </code></span></dt><dd><p>
Coloca una etiqueta dinámica en la posición <code class="literal">X,Y</code>. La etiqueta se
llama dinámica porque su texto es refrescado periódicamente. La longitud máxima de la
etiqueta viene dada por <code class="literal">length</code> (su altura es la altura de un caracter).
Si el texto que ha de ser mostrado es más ancho que esta, será desplazado,
si no será alineado dentro del espacio especificado por el valor del parámetro
<code class="literal">align</code>: <code class="literal">0</code> es para derecha,
<code class="literal">1</code> para centrado, <code class="literal">2</code> para izquierda.
</p><p>
El texto que ha de ser mostrado viene dado por <code class="literal">text</code>: Debe ser
escrito entre comillas dobles (por eso el caracter " no puede ser parte del
texto). La etiqueta es mostrada usando la tipografía identificada por
<code class="literal">fontid</code>. Puede usar las siguientes variables en el texto:
</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Variable</th><th>Significado</th></tr></thead><tbody><tr><td>$1</td><td>tiempo de reproducción en formato <span class="emphasis"><em>hh:mm:ss</em></span></td></tr><tr><td>$2</td><td>tiempo de reproducción en formato <span class="emphasis"><em>mmmm:ss</em></span></td></tr><tr><td>$3</td><td>tiempo de reproducción en formato <span class="emphasis"><em>hh</em></span> (horas)</td></tr><tr><td>$4</td><td>tiempo de reproducción en formato<span class="emphasis"><em>mm</em></span> (minutos)</td></tr><tr><td>$5</td><td>tiempo de reproducción en formato <span class="emphasis"><em>ss</em></span> (segundos)</td></tr><tr><td>$6</td><td>longitud de película en formato <span class="emphasis"><em>hh:mm:ss</em></span></td></tr><tr><td>$7</td><td>longitud de película en formato <span class="emphasis"><em>mmmm:ss</em></span></td></tr><tr><td>$8</td><td>tiempo de reproducción en formato <span class="emphasis"><em>h:mm:ss</em></span></td></tr><tr><td>$v</td><td>volumen en formato <span class="emphasis"><em>xxx.xx</em></span>%</td></tr><tr><td>$V</td><td>volumen en formato <span class="emphasis"><em>xxx.xx</em></span></td></tr><tr><td>$b</td><td>balance en formato <span class="emphasis"><em>xxx.xx</em></span>%</td></tr><tr><td>$B</td><td>balance en formato <span class="emphasis"><em>xxx.xx</em></span></td></tr><tr><td>$$</td><td>el caracter $</td></tr><tr><td>$a</td><td>un caracter de acuerdo con el tipo de audio (ninguno: <code class="literal">n</code>,
mono: <code class="literal">m</code>, estéreo: <code class="literal">t</code>)</td></tr><tr><td>$t</td><td>número de pista (en lista de reproducción)</td></tr><tr><td>$o</td><td>nombre del archivo</td></tr><tr><td>$f</td><td>nombre del archivo en minúsculas</td></tr><tr><td>$F</td><td>nombre del archivo en mayúsculas</td></tr><tr><td>$T</td><td>un caracter en función del tipo de flujo (archivo: <code class="literal">f</code>,
Video CD: <code class="literal">v</code>, DVD: <code class="literal">d</code>, URL: <code class="literal">u</code>)</td></tr><tr><td>$p</td><td>el caracter <span class="keycap"><b>p</b></span> (si una película está siendo mostrada y la
tipografía tiene el caracter <span class="keycap"><b>p</b></span></td></tr><tr><td>$s</td><td>el caracter <span class="keycap"><b>s</b></span> (si la película ha sido detenida y la
tipografía tiene el caracter <span class="keycap"><b>s</b></span></td></tr><tr><td>$e</td><td>el caracter <span class="keycap"><b>e</b></span> (si se ha pausado la reproducción y la
tipografía tiene el caracter <span class="keycap"><b>e</b></span></td></tr><tr><td>$x</td><td>ancho de la película</td></tr><tr><td>$y</td><td>alto de la película</td></tr><tr><td>$C</td><td>nombre del codec usado</td></tr></tbody></table></div></dd></dl></div><div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Nota</h3><p>
Las variables <code class="literal">$a, $T, $p, $s</code> y <code class="literal">$e</code> devuelven
caracteres que deben mostrarse como símbolos especiales (por ejemplo, <span class="keycap"><b>e</b></span>
es para el símbolo de la pausa que normalmente es algo parecido a ||). Debe tener
una tipografía para caracteres normales y una diferente para los símbolos. Vea la
sección acerca de <a class="link" href="skin-fonts.html#skin-fonts-symbols" title="B.3.1. Símbolos">símbolos</a> para más
información.
</p></div></div><div class="sect2" title="B.2.2. Subventana"><div class="titlepage"><div><div><h3 class="title"><a name="skin-file-subwindow"></a>B.2.2. Subventana</h3></div></div></div><p>
Las siguientes entradas pueden ser usadas en el bloque
'<code class="literal">window = sub</code>' . . . '<code class="literal">end</code>'.
</p><div class="variablelist"><dl><dt><span class="term"><code class="literal">
  <a name="skin-sub-base"></a>base = image, X, Y, width, height
  </code></span></dt><dd><p>
La imagen que se mostrará en la ventana. La ventana aparecerá en la posición
<code class="literal">X,Y</code> dada de la pantalla (<code class="literal">0,0</code> es la
esquina arriba a la izquierda). Puede especificar <code class="literal">-1</code> para
el centro y <code class="literal">-2</code> para el lado derecho (<code class="literal">X</code>) y
abajo (<code class="literal">Y</code>). La ventana será tan grande como sea la imagen.
<code class="literal">width</code> y <code class="literal">height</code> definen el tamaño de la ventana;
son opcionales (si no se especifican, la ventana tendrá el mismo tamaño que la imagen).
    </p></dd><dt><span class="term"><code class="literal">
  <a name="skin-background"></a>background = R, G, B
  </code></span></dt><dd><p>
Le permite especificar el color de fondo. Es útil si la imagen es más pequeña
que la ventana. <code class="literal">R</code>, <code class="literal">G</code> y <code class="literal">B</code>
especifican los valores de las componentes de color para rojo, verde y azul (cada
uno ha de tener un valor decimal de 0 a 255).
    </p></dd></dl></div></div><div class="sect2" title="B.2.3. Menú del skin"><div class="titlepage"><div><div><h3 class="title"><a name="skin-file-menu"></a>B.2.3. Menú del skin</h3></div></div></div><p>
Como se mencionó anteriormente, el menú es mostrado usando dos imágenes. Las entradas
normales para el menú se toman de la imagen especificada por el objeto <code class="literal">base</code>,
mientras que la entrada que actualmente esté seleccionada es tomada desde la imagen
especificada por el objeto <code class="literal">selected</code>. Debe definir la posición y el
tamaño de cada entrada de menú a través del objeto de menú.
</p><p>
Las siguientes entradas pueden usarse en el bloque de
'<code class="literal">window = menu</code>'. . .'<code class="literal">end</code>'.
</p><div class="variablelist"><dl><dt><span class="term"><code class="literal">
  <a name="skin-menu-base"></a>base = image
  </code></span></dt><dd><p>
La imagen para las entradas normales del menú.
    </p></dd><dt><span class="term"><code class="literal">
  <a name="skin-selected"></a>selected = image
  </code></span></dt><dd><p>
La imagen mostrando el menú con todas las entradas seleccionadas.
    </p></dd><dt><span class="term"><code class="literal">
  <a name="skin-menu"></a>menu = X, Y, width, height, message
  </code></span></dt><dd><p>
Define la posición <code class="literal">X,Y</code> y el tamaño de una entrada
de menú en la imagen. <code class="literal">message</code> es el mensaje que ha de
generarse cuando el ratón del botón es soltado sobre la entrada.
    </p></dd></dl></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="skin-overview.html">Anterior</a> </td><td width="20%" align="center"><a accesskey="u" href="skin.html">Subir</a></td><td width="40%" align="right"> <a accesskey="n" href="skin-fonts.html">Siguiente</a></td></tr><tr><td width="40%" align="left" valign="top">B.1. Visión general </td><td width="20%" align="center"><a accesskey="h" href="index.html">Inicio</a></td><td width="40%" align="right" valign="top"> B.3. Tipografías</td></tr></table></div></body></html>