comparison DOCS/xml/es/skin.xml @ 10876:f50ba41128ac

New file
author nauj27
date Tue, 16 Sep 2003 16:27:37 +0000
parents
children 4ee99b640bfb
comparison
equal deleted inserted replaced
10875:a0d3ce3d87af 10876:f50ba41128ac
1 <?xml version="1.0" encoding="iso-8859-1"?>
2 <appendix id="skin">
3 <title>Formato del skin de MPlayer</title>
4 <para>
5 El propósito de este documento es describir el formato de los skin
6 de MPlayer. La información contenida aquí puede ser errónea, porque
7 <orderedlist>
8 <listitem><para>No soy yo quien ha escrito el GUI.</para></listitem>
9 <listitem><para>El GUI no está terminado.</para></listitem>
10 <listitem><para>Puedo equivocarme.</para></listitem>
11 </orderedlist>
12 No se sorprenda si algo no funciona como se describe aquí.
13 </para>
14
15 <para>Gracias a <emphasis>Zoltán Ponekker</emphasis> por su ayuda.</para>
16
17 <para><emphasis>András Mohari &lt;mayday@freemail.hu&gt;</emphasis></para>
18
19 <sect1 id="skin-overview">
20 <title>Visión general</title>
21 <para>
22 Realmente no hay nada que hacer con el formato del skin, pero debe saber
23 que MPlaner <emphasis role="bold">no</emphasis> tiene un skin integrado,
24 por eso <emphasis role="bold">al menos un skin debe estar instalado para
25 poder usar el GUI.</emphasis>
26 </para>
27
28 <sect2 id="skin-overview-directories">
29 <title>Directorios</title>
30 <para>
31 Los directorios donde se buscan los skins son (en orden):
32 <orderedlist>
33 <listitem><para>
34 <filename class="directory">$(DATADIR)/Skin/</filename>
35 </para></listitem>
36 <listitem><para>
37 <filename class="directory">$(PREFIX)/share/mplayer/Skin/</filename>
38 </para></listitem>
39 <listitem><para>
40 <filename class="directory">~/.mplayer/Skin/</filename>
41 </para></listitem>
42 </orderedlist>
43 </para>
44
45 <para>
46 Tenga en cuenta que la primera ruta puede variar de acuerdo a cómo fue
47 configurado MPlayer (vea los argumentos <option>--prefix</option> y
48 <option>--datadir</option> del script <command>configure</command>).
49 </para>
50
51 <para>
52 Todo skin es instalado en su propio directorio bajo uno de los directorios
53 listados más arriba, por ejemplo:
54 <screen>$(PREFIX)/share/mplayer/Skin/default/</screen>
55 </para>
56 </sect2>
57
58 <sect2 id="skin-overview-formats">
59 <title>Formato de las imágenes</title>
60 <para>Las imágenes deben ser PNGs a color verdadero (24 or 32 bpp).</para>
61 <para>
62 En la ventana principal y en la barra de reproducción (ver más abajo) puede
63 usar imágenes con `transparencia': Regiones rellenas con color #FF00FF
64 (magenta) son completamente transparentes cuando se ven con MPlayer. Esto
65 significa que puede incluso tener ventanas con formas si su servidor X
66 tiene la extensión XShape.
67 </para>
68 </sect2>
69
70 <sect2 id="skin-overview-components">
71 <title>Componentes del skin</title>
72 <para>
73 Los skins son formatos bastante libres (no como otros skins de formato
74 fijo de Winamp/XMMS, por ejemplo), de manera que pueda crear algo grande.
75 </para>
76
77 <para>
78 Actualmente hay tres ventanas que decorar: la
79 <link linkend="skin-file-main">ventana principal</link>, la
80 <link linkend="skin-file-subwindow">subventana</link>, la
81 <link linkend="skin-file-main">barra de reproducción</link>, y el
82 <link linkend="skin-file-menu">skin del menú</link> (que puede activarse
83 con clic derecho).
84
85 <itemizedlist>
86 <listitem><para>
87 La <emphasis role="bold">ventana principal</emphasis> y/o la
88 <emphasis role="bold">barra de reproducción</emphasis> es donde puede controlar
89 MPlayer. El fondo de la ventana es una imagen. Varios objetos pueden (y deben)
90 ser colocados en la ventana: <emphasis>botones</emphasis>, <emphasis>medidores</emphasis>
91 (desplazables) y <emphasis>etiquetas</emphasis>. Para cada objeto, debe especificar
92 su posición y tamaño.
93 </para><para>
94 Un <emphasis role="bold">botón</emphasis> tiene tres estados (pulsado, soltado,
95 desactivado), por eso la imagen debe estar dividida en tres partes verticalmente.
96 Vea el objeto <link linkend="skin-button">botón</link> para detalles.
97 </para><para>
98 Un <emphasis role="bold">medidor</emphasis> (usado principalmente para la barra
99 de búsqueda y el control de volumen/balance) puede tener cualquier número de fases
100 dividiendo su imagen en diferentes partes unas debajo de otras. Vea
101 <link linkend="skin-hpotmeter">hpotmeter</link> y
102 <link linkend="skin-potmeter">potmeter</link> para detalles.
103 </para><para>
104 <emphasis role="bold">Etiquetas</emphasis> son un poco especiales: Los caractere
105 necesarios para pintarlas se toman de un archivo de imagen, y los caracteres en
106 la imagen son descritos por un <link linkend="skin-fonts">archivo de descriptión
107 de tipografía</link>. Lo último es un archivo de texto plano que especifica la
108 posición x,y y el tamaño de cada carater en la imagen (el archivo de imagen y su
109 archivo de descripción de tipografía forman <emphasis>juntos</emphasis> un tipo
110 de letra). Vea <link linkend="skin-dlabel">dlabel</link> y
111 <link linkend="skin-slabel">slabel</link> para detalles.
112 </para>
113 <note><para>Todas las imágenes pueden tener transparencia completa como se describe
114 en la sección que habla de <link linkend="skin-overview-formats">formatos
115 de imagen</link>. Si el servidor X no soporta la extensión XShape, las partes
116 marcadas como transparentes se verán negras. Si le gusta usar esta característica,
117 el ancho del fondo de la imagen de la ventana principal debe ser divisible por 8.
118 </para></note>
119 </listitem>
120
121 <listitem><para>
122 La <emphasis role="bold">subventana</emphasis> es donde aparece la película.
123 Puede mostrar una imagen específica si no hay película cargada (es bastante
124 aburrido tener una ventana vacía :-)) <emphasis role="bold">Nota:</emphasis>
125 la transparencia <emphasis role="bold">no está permitida</emphasis> aquí.
126 </para></listitem>
127
128 <listitem><para>
129 El <emphasis role="bold">skin del menú</emphasis> es una forma de controlar
130 MPlayer con entradas de menú. Dos imágenes son requeridas para el menú: una
131 es la imagen base que muestra el menú en su estado normal, la otra es usada
132 para mostrar las entradas seleccionadas. Cuando hace salir el menú, la entrada
133 seleccionada actualmente es copiada desde la segunda imagen sobre la entrada
134 de menú que hay bajo el puntero del ratón (la segunda imagen nunca se muestra
135 entera).
136 </para><para>
137 Una entrada de menú se define por su posición y tamaño en la imagen (vea la
138 sección que habla del <link linkend="skin-file-menu">skin del menú</link>
139 para detalles).
140 </para></listitem>
141 </itemizedlist>
142 </para>
143
144 <para>
145 Hay algo importante que aún no he mencionado: Para que los botones, medidores
146 deposición y entradas de menú funcionen, MPlayer tiene que saber qué hacer
147 cuando se hace clic en ellos. Esto se hace con
148 <link linkend="skin-gui">mensajes</link> (eventos). Para estos objetos
149 debe definir los mensajes que se generan cuando se hace clic en ellos.
150 </para>
151 </sect2>
152
153 <sect2 id="skin-files">
154 <title>Archivos</title>
155 <para>
156 Necesita los siguientes archivos para construir un skin:
157 <itemizedlist>
158 <listitem><para>
159 El archivo de configuración llamado <link linkend="skin-file">skin</link>
160 le dice a MPlayer cómo poner las diferentes partes del skin juntas y qué
161 debe hacer cuando se hace clic en alguna parte de la ventana.
162 </para></listitem>
163 <listitem><para>
164 La imagen de fondo para la ventana principal
165 </para></listitem>
166 <listitem><para>
167 Imágenes para los objetos en la ventana principal (incluyendo uno o más
168 archivos de descripción de tipografía necesarios para dibujar las etiquetas).
169 </para></listitem>
170 <listitem><para>
171 La imagen que se mostrará en la subventana (opcional).
172 </para></listitem>
173 <listitem><para>
174 Dos imágenes para el skin del menú (son necesarias solo si quiere crear
175 un menú).
176 </para></listitem>
177 </itemizedlist>
178 Con la excepción del archivo de configuración del skin, puede nombrar
179 los otros archivos como quiera (pero note que los archivos de descripción
180 de tipografía deben tener extensión <filename>.fnt</filename>).
181 </para>
182 </sect2>
183 </sect1>
184
185 <sect1 id="skin-file">
186 <title>El archivo de skin</title>
187 <para>
188 Como se menciona más arriba, este es el archivo de configuración del skin.
189 Su orientación en lineal; las líneas que son comentarios comienzan por
190 un caracter '<literal>;</literal>' al principio de la línea (solo espacios
191 y tabuladores están permitidos antes del '<literal>;</literal>').
192 </para>
193
194 <para>
195 El archivo está dividido en secciones. Cada sección describe el skin para
196 una aplicación y tiene la siguiente forma:
197 <programlisting>
198 section = <replaceable>nombre de la sección</replaceable>
199 .
200 .
201 .
202 end
203 </programlisting>
204 </para>
205
206 <para>
207 Actualmente solo hay una aplicación, por lo que necesita una sola sección: su nombre
208 es <emphasis role="bold">movieplayer</emphasis>.
209 </para>
210
211 <para>
212 Dentro de esta sección cada ventana está descrita por un bloque de la siguiente forma:
213 <programlisting>
214 window = <replaceable>nombre de la ventana</replaceable>
215 .
216 .
217 .
218 end
219 </programlisting>
220 </para>
221
222 <para>
223 donde <replaceable>nombre de la ventana</replaceable> puede ser una de las siguientes
224 cadenas de texto:
225 <itemizedlist>
226 <listitem><para><emphasis role="bold">main</emphasis> - para la ventana principal</para></listitem>
227 <listitem><para><emphasis role="bold">sub</emphasis> - para la subventana</para></listitem>
228 <listitem><para><emphasis role="bold">menu</emphasis> - para el skin del menú</para></listitem>
229 <listitem><para><emphasis role="bold">playbar</emphasis> - barra de reproducción</para></listitem>
230 </itemizedlist>
231 </para>
232
233 <para>
234 (Los bloques sub y menú son opcionales - no necesita crear un menú o decorar
235 la subventana.)
236 </para>
237
238 <para>
239 Dentro de un bloque de ventana, puede definir cada objeto para la ventana con
240 una línea del siguiente modo:
241 <programlisting>objeto = parámetro</programlisting>
242 Donde <literal>objeto</literal> es una cadena que identifica el tipo de objeto GUI,
243 <literal>parámetro</literal> es un valor numérico o textual (o una lista
244 de valores separados por comas).
245 </para>
246
247 <para>
248 Poniendo todo lo de arriba jutno, el archivo entero quedará algo similar a esto:
249 <programlisting>
250 section = movieplayer
251 window = main
252 ; ... objetos para la ventana principal ...
253 end
254
255 window = sub
256 ; ... objetos para la subventana ...
257 end
258
259 window = menu
260 ; ... objetos para el menú ...
261 end
262
263 window = playbar
264 ; ... objetos para la barra de reproducción ...
265 end
266 end
267 </programlisting>
268 </para>
269
270 <para>
271 El nombre de un archivo de imagen se debe dar sin los directorios - las imágenes
272 se buscan en el directorio <filename class="directory">Skin</filename>.
273 También puede (pero necesita ser root) especificar la extensión del archivo. Si
274 el archivo no existe, MPlayer intentará cargar el archivo
275 <filename>&lt;filename&gt;.&lt;ext&gt;</filename>, donde <literal>png</literal>
276 y <literal>PNG</literal> son probados para <filename>&lt;ext&gt;</filename>
277 (en ese orden). El primer nombre de archivo que coincida será el que se use.
278 </para>
279
280 <para>
281 Finalmente unas palabras acerca del posicionamiento. La ventana principal y la
282 subventana pueden ser colocadas en las diferentes esquinas de la pantalla dando
283 las coordenadas <literal>X</literal> e <literal>Y</literal> . <literal>0</literal>
284 es arriba o izquierda, <literal>-1</literal> es el centro y <literal>-2</literal>
285 es a la derecha o abajo, como se muestra en la ilustracion:
286 </para>
287 <informalfigure>
288 <screen>
289 (0, 0)----(-1, 0)----(-2, 0)
290 | | |
291 | | |
292 (0,-1)----(-1,-1)----(-2,-1)
293 | | |
294 | | |
295 (0,-2)----(-1,-2)----(-2,-2)
296 </screen>
297 </informalfigure>
298
299 <para>
300 Aquí tiene un ejemplo para clarificar esto. Suponga que tiene una imagen llamada
301 <filename>main.png</filename> que usa para la ventana principal:
302 <programlisting>base = main, -1, -1</programlisting>
303 MPlayer intentará cargar los archivos <filename>main</filename>, <filename>main.png</filename>,
304 <filename>main.PNG</filename>.
305 </para>
306
307
308 <sect2 id="skin-file-main">
309 <title>Ventana principal y barra de reproducción</title>
310 <para>
311 Más abajo tiene la lista de entradas que pueden usarse en los bloques
312 '<literal>window = main</literal>' .&nbsp;.&nbsp;. '<literal>end</literal>',
313 y '<literal>window = playbar</literal>' .&nbsp;.&nbsp;. '<literal>end</literal>'.
314 </para>
315
316 <variablelist>
317 <varlistentry>
318 <term><literal>
319 <anchor id="skin-main-base"/>base = image, X, Y
320 </literal></term>
321 <listitem><para>
322 Le permite especificar la imagen de fondo para usar en la ventana principal.
323 La ventana aparecerá en la posición <literal>X,Y</literal> dada de la pantalla.
324 La ventana tendrá el tamaño de la imagen.
325 </para>
326 <note><para>Estas coordenadas no funcionan actualmente para la ventana de
327 reproducción.</para></note><warning><para>Las regiones transparentes en la
328 imagen (coloreadas con #FF00FF) aparecen en negro en servidores X sin la
329 extensión XShape. El ancho de la imagen debe ser divisible por 8.</para></warning>
330 </listitem>
331 </varlistentry>
332
333 <varlistentry>
334 <term><literal>
335 <anchor id="skin-button"/>button = imagen, X, Y, ancho, alto, mensaje
336 </literal></term>
337 <listitem><para>
338 Coloca un botón de tamaño <literal>ancho</literal> * <literal>alto</literal> en
339 la posición <literal>X,Y</literal>. El <literal>mensaje</literal> especificado
340 es generado cuando se hace clic en el botón. La imagen dada en
341 <literal>imagen</literal> debe tener tres partes una debajo de otra (de acuerdo con
342 los posibles estados del botón), como esto:
343 </para>
344 <informalfigure>
345 <screen>
346 +--------------+
347 | pulsado |
348 +--------------+
349 | soltado |
350 +--------------+
351 | desactivado |
352 +--------------+
353 </screen>
354 </informalfigure>
355 </listitem>
356 </varlistentry>
357
358 <varlistentry>
359 <term><literal>
360 <anchor id="skin-decoration"/>decoration = enable|disable
361 </literal></term>
362 <listitem><para>
363 Activa o desactiva la decoración del administrador de ventanas para la
364 ventana principal. Por defecto toma el valor <emphasis role="bold">disable</emphasis>.
365 </para>
366 <note><para>Esto no funciona para la ventana de reproducción, no lo necesita.</para></note>
367 </listitem>
368 </varlistentry>
369
370 <varlistentry>
371 <term><literal>
372 <anchor id="skin-hpotmeter"/>hpotmeter = botón, bancho, balto, fases, numfases, defecto, X, Y, ancho, alto, mensaje
373 </literal></term>
374 <listitem><para>
375
376 </para></listitem>
377 </varlistentry>
378
379 <varlistentry>
380 <term><literal>
381 <anchor id="skin-vpotmeter"/>vpotmeter = botón, bancho, balto, fases, numfases, defecto, X, Y, ancho, alto, mensaje
382 </literal></term>
383 <listitem><para>
384 Coloca un medidor horizontal (hpotmeter) o vertical (vpotmeter) de tamaño
385 <literal>ancho</literal> * <literal>alto</literal> en la posición
386 <literal>X,Y</literal>. La imagen puede ser dividida en diferentes partes para
387 las diferentes fases del medidor (por ejemplo, puede tener un medidor para
388 el control del volumen que vaya de verde a rojo mientras sus valores cambian
389 desde el mínimo al máximo.). <literal>hpotmeter</literal> puede tener un botón
390 que se desplaze horizontalmente. Los parámetros son:
391 </para>
392 <itemizedlist>
393 <listitem><para><literal>botón</literal> - la imagen que se usará para el
394 botón (debe tener tres partes una debajo de otra, como en el caso de
395 <link linkend="skin-button">botón</link>)
396 </para></listitem>
397 <listitem><para><literal>bancho</literal>,<literal>balto</literal> - tamaño
398 del botón
399 </para></listitem>
400 <listitem><para><literal>fases</literal> - la imagen que se usará para las
401 diferentes fases del medidor horizontal. Un valor especial <literal>NULL</literal>
402 puede usarse si no desea una imagen. La imagen debe estar dividida en
403 <literal>numfasespartes</literal> verticalmente como esto:
404 </para>
405 <informalfigure>
406 <screen>
407 +------------+
408 | fase #1 |
409 +------------+
410 | fase #2 |
411 +------------+
412 ...
413 +------------+
414 | fase #n |
415 +------------+
416 </screen>
417 </informalfigure>
418 </listitem>
419 <listitem><para><literal>numfases</literal> - número de fases almacenadas en la
420 imagen de <literal>fases</literal>
421 </para></listitem>
422 <listitem><para><literal>defecto</literal> - valor por defecto en el medidor
423 (en el rango de <literal>0</literal> a <literal>100</literal>)
424 </para></listitem>
425 <listitem><para><literal>X</literal>,<literal>Y</literal> - posición del medidor
426 </para></listitem>
427 <listitem><para><literal>ancho</literal>,<literal>alto</literal> - ancho y alto
428 del <literal>medidor</literal>
429 </para></listitem>
430 <listitem><para><literal>mensaje</literal> - el mensaje que se ha de generar cuando
431 se cambia el valor del <literal>hpotmeter</literal>
432 </para></listitem>
433 </itemizedlist>
434
435 </listitem>
436 </varlistentry>
437
438 <varlistentry>
439 <term><literal>
440 <anchor id="skin-potmeter"/>potmeter = fases, numfases, defecto, X, Y, ancho, alto, mensaje
441 </literal></term>
442 <listitem><para>
443 Un <literal>hpotmeter</literal> sin un botón. (Creo que está hecho para hacer una especie
444 de botón que gire sobre sí mismo, pero reacciona a arrastre horizontal solamente). Para la
445 descripción de los parámetros vea <link linkend="skin-hpotmeter">hpotmeter</link>.
446 <literal>fases</literal> puede ser <literal>NULL</literal>, pero es poco útil,
447 porque no le permite ver donde está establecido el valor del <literal>potmeter</literal>.
448 </para></listitem>
449 </varlistentry>
450
451 <varlistentry>
452 <term><literal>
453 <anchor id="skin-font"/>font = fontfile, fontid
454 </literal></term>
455 <listitem><para>
456 Define una tipografía. <literal>fontfile</literal> es el nombre del archivo de
457 descripción de la tipografía con extensión <filename>.fnt</filename> (no especifique
458 la extensión aquí). <literal>fontid</literal> es usado para referirse a la tipografía
459 (vea <link linkend="skin-dlabel">dlabel</link> y <link linkend="skin-slabel">slabel</link>).
460 Pueden definirse hasta 25 tipografías.
461 </para></listitem>
462 </varlistentry>
463
464 <varlistentry>
465 <term><literal>
466 <anchor id="skin-slabel"/>slabel = X, Y, fontid, &quot;text&quot;
467 </literal></term>
468 <listitem><para>
469 Coloca una etiqueta estática en la posición <literal>X,Y</literal>. <literal>text</literal>
470 se muestra usando la tipografía identificada con <literal>fontid</literal>. El texto es
471 una cadena de texto en crudo (variables como <literal>$x</literal> no funcionarán) que debe
472 ser encerrada entre comillas dobles (el caracter &quot; no puede ser parte del texto).
473 La etiqueta es mostrada usando la tipografía identificada por <literal>fontid</literal>.
474 </para></listitem>
475 </varlistentry>
476
477 <varlistentry>
478 <term><literal>
479 <anchor id="skin-dlabel"/>dlabel = X, Y, length, align, fontid, &quot;text&quot;
480 </literal></term>
481 <listitem>
482 <para>
483 Coloca una etiqueta dinámica en la posición <literal>X,Y</literal>. La etiqueta se
484 llama dinámica porque su texto es refrescado periódicamente. La longitud máxima de la
485 etiqueta viene dada por <literal>length</literal> (su altura es la altura de un caracter).
486 Si el texto que ha de ser mostrado es más ancho que esta, será desplazado,
487 si no será alineado dentro del espacio especificado por el valor del parámetro
488 <literal>align</literal>: <literal>0</literal> es para derecha,
489 <literal>1</literal> para centrado, <literal>2</literal> para izquierda.
490 </para>
491 <para>
492 El texto que ha de ser mostrado viene dado por <literal>text</literal>: Debe ser
493 escrito entre comillas dobles (por eso el caracter &quot; no puede ser parte del
494 texto). La etiqueta es mostrada usando la tipografía identificada por
495 <literal>fontid</literal>. Puede usar las siguientes variables en el texto:
496 </para>
497
498 <informaltable>
499 <tgroup cols="2">
500 <thead>
501 <row><entry>Variable</entry><entry>Significado</entry></row>
502 </thead>
503 <tbody>
504 <row>
505 <entry>$1</entry>
506 <entry>tiempo de reproducción en formato <emphasis>hh:mm:ss</emphasis></entry>
507 </row>
508 <row>
509 <entry>$2</entry>
510 <entry>tiempo de reproducción en formato <emphasis>mmmm:ss</emphasis></entry>
511 </row>
512 <row>
513 <entry>$3</entry>
514 <entry>tiempo de reproducción en formato <emphasis>hh</emphasis> (horas)</entry>
515 </row>
516 <row>
517 <entry>$4</entry>
518 <entry>tiempo de reproducción en formato<emphasis>mm</emphasis> (minutos)</entry>
519 </row>
520 <row>
521 <entry>$5</entry>
522 <entry>tiempo de reproducción en formato <emphasis>ss</emphasis> (segundos)</entry>
523 </row>
524 <row>
525 <entry>$6</entry>
526 <entry>longitud de película en formato <emphasis>hh:mm:ss</emphasis></entry>
527 </row>
528 <row>
529 <entry>$7</entry>
530 <entry>longitud de película en formato <emphasis>mmmm:ss</emphasis></entry>
531 </row>
532 <row>
533 <entry>$8</entry>
534 <entry>tiempo de reproducción en formato <emphasis>h:mm:ss</emphasis></entry>
535 </row>
536 <row>
537 <entry>$v</entry>
538 <entry>volumen en formato <emphasis>xxx.xx</emphasis>%</entry>
539 </row>
540 <row>
541 <entry>$V</entry>
542 <entry>volumen en formato <emphasis>xxx.xx</emphasis></entry>
543 </row>
544 <row>
545 <entry>$b</entry>
546 <entry>balance en formato <emphasis>xxx.xx</emphasis>%</entry>
547 </row>
548 <row>
549 <entry>$B</entry>
550 <entry>balance en formato <emphasis>xxx.xx</emphasis></entry>
551 </row>
552 <row>
553 <entry>$$</entry>
554 <entry>el caracter $</entry>
555 </row>
556 <row>
557 <entry>$a</entry>
558 <entry>un caracter de acuerdo con el tipo de audio (ninguno: <literal>n</literal>,
559 mono: <literal>m</literal>, estéreo: <literal>t</literal>)</entry>
560 </row>
561 <row>
562 <entry>$t</entry>
563 <entry>número de pista (en lista de reproducción)</entry>
564 </row>
565 <row>
566 <entry>$o</entry>
567 <entry>nombre del archivo</entry>
568 </row>
569 <row>
570 <entry>$f</entry>
571 <entry>nombre del archivo en minúsculas</entry>
572 </row>
573 <row>
574 <entry>$F</entry>
575 <entry>nombre del archivo en mayúsculas</entry>
576 </row>
577 <row>
578 <entry>$T</entry>
579 <entry>un caracter en función del tipo de flujo (archivo: <literal>f</literal>,
580 Video CD: <literal>v</literal>, DVD: <literal>d</literal>, URL: <literal>u</literal>)</entry>
581 </row>
582 <row>
583 <entry>$p</entry>
584 <entry>el caracter <keycap>p</keycap> (si una película está siendo mostrada y la
585 tipografía tiene el caracter <keycap>p</keycap></entry>
586 </row>
587 <row>
588 <entry>$s</entry>
589 <entry>el caracter <keycap>s</keycap> (si la película ha sido detenida y la
590 tipografía tiene el caracter <keycap>s</keycap></entry>
591 </row>
592 <row>
593 <entry>$e</entry>
594 <entry>el caracter <keycap>e</keycap> (si se ha pausado la reproducción y la
595 tipografía tiene el caracter <keycap>e</keycap></entry>
596 </row>
597 <row>
598 <entry>$x</entry>
599 <entry>ancho de la película</entry>
600 </row>
601 <row>
602 <entry>$y</entry>
603 <entry>alto de la película</entry>
604 </row>
605 <row>
606 <entry>$C</entry>
607 <entry>nombre del codec usado</entry>
608 </row>
609
610 </tbody>
611 </tgroup>
612 </informaltable>
613 </listitem>
614
615 </varlistentry>
616 </variablelist>
617
618 <note><para>
619 Las variables <literal>$a, $T, $p, $s</literal> y <literal>$e</literal> devuelven
620 caracteres que deben mostrarse como símbolos especiales (por ejemplo, <keycap>e</keycap>
621 es para el símbolo de la pausa que normalmente es algo parecido a ||). Debe tener
622 una tipografía para caracteres normales y una diferente para los símbolos. Vea la
623 sección acerca de <link linkend="skin-fonts-symbols">símbolos</link> para más
624 información.
625 </para></note>
626 </sect2>
627
628 <sect2 id="skin-file-subwindow">
629 <title>Subventana</title>
630 <para>
631 Las siguientes entradas pueden ser usadas en el bloque
632 '<literal>window = sub</literal>' . . . '<literal>end</literal>'.
633 </para>
634
635 <variablelist>
636 <varlistentry>
637 <term><literal>
638 <anchor id="skin-sub-base"/>base = image, X, Y, width, height
639 </literal></term>
640 <listitem><para>
641 La imagen que se mostrará en la ventana. La ventana aparecerá en la posición
642 <literal>X,Y</literal> dada de la pantalla (<literal>0,0</literal> es la
643 esquina arriba a la izquierda). Puede especificar <literal>-1</literal> para
644 el centro y <literal>-2</literal> para el lado derecho (<literal>X</literal>) y
645 abajo (<literal>Y</literal>). La ventana será tan grande como sea la imagen.
646 <literal>width</literal> y <literal>height</literal> definen el tamaño de la ventana;
647 son opcionales (si no se especifican, la ventana tendrá el mismo tamaño que la imagen).
648 </para></listitem>
649 </varlistentry>
650
651 <varlistentry>
652 <term><literal>
653 <anchor id="skin-background"/>background = R, G, B
654 </literal></term>
655 <listitem><para>
656 Le permite especificar el color de fondo. Es útil si la imagen es más pequeña
657 que la ventana. <literal>R</literal>, <literal>G</literal> y <literal>B</literal>
658 especifican los valores de las componentes de color para rojo, verde y azul (cada
659 uno ha de tener un valor decimal de 0 a 255).
660 </para></listitem>
661 </varlistentry>
662 </variablelist>
663 </sect2>
664
665 <sect2 id="skin-file-menu">
666 <title>Menú del skin</title>
667 <para>
668 Como se mencionó anteriormente, el menú es mostrado usando dos imágenes. Las entradas
669 normales para el menú se toman de la imagen especificada por el objeto <literal>base</literal>,
670 mientras que la entrada que actualmente esté seleccionada es tomada desde la imagen
671 especificada por el objeto <literal>selected</literal>. Debe definir la posición y el
672 tamaño de cada entrada de menú a través del objeto de menú.
673 </para>
674
675 <para>
676 Las siguientes entradas pueden usarse en el bloque de
677 '<literal>window = menu</literal>'. . .'<literal>end</literal>'.
678 </para>
679
680 <variablelist>
681 <varlistentry>
682 <term><literal>
683 <anchor id="skin-menu-base"/>base = image
684 </literal></term>
685 <listitem><para>
686 La imagen para las entradas normales del menú.
687 </para></listitem>
688 </varlistentry>
689
690 <varlistentry>
691 <term><literal>
692 <anchor id="skin-selected"/>selected = image
693 </literal></term>
694 <listitem><para>
695 La imagen mostrando el menú con todas las entradas seleccionadas.
696 </para></listitem>
697 </varlistentry>
698
699 <varlistentry>
700 <term><literal>
701 <anchor id="skin-menu"/>menu = X, Y, width, height, message
702 </literal></term>
703 <listitem><para>
704 Define la posición <literal>X,Y</literal> y el tamaño de una entrada
705 de menú en la imagen. <literal>message</literal> es el mensaje que ha de
706 generarse cuando el ratón del botón es soltado sobre la entrada.
707 </para></listitem>
708 </varlistentry>
709 </variablelist>
710 </sect2>
711 </sect1>
712
713 <sect1 id="skin-fonts">
714 <title>Tipografías</title>
715 <para>
716 Como se mencionó en la sección acerca de las partes de un skin, una tipografía
717 viene definida por una imagen y un archivo de descripción. Puede colocar caracteres
718 en cualquier parte de la imagen, pero ha de asegurarse de que su posición y tamaño
719 vienen dados en el archivo de descripción de manera exacta.
720 </para>
721
722 <para>
723 El archivo de descripción de la tipografía (con extensión <filename>.fnt</filename>)
724 puede tener líneas de comentarios que empiecen por '<literal>;</literal>'. El archivo
725 debe tener una línea en la forma
726 <anchor id="skin-font-image"/>
727 <programlisting>image = <replaceable>image</replaceable></programlisting>
728 Donde <literal><replaceable>image</replaceable></literal> es el nombre del
729 archivo de imagen que se usará para la tipografía (puede no especificar la extensión).
730 <anchor id="skin-font-char"/>
731 <programlisting>&quot;char&quot; = X, Y, width, height</programlisting>
732 Aquí <literal>X</literal> e <literal>Y</literal> especifican la posición del
733 caracter <literal>char</literal> en la imagen (<literal>0,0</literal> es la
734 esquina superior izquierda). <literal>width</literal> y <literal>height</literal>
735 son las dimensiones del caracter en pixels.
736 </para>
737
738 <para>
739 Este ejemplo define los caracteres A, B, C usando <filename>font.png</filename>.
740 <programlisting>
741 ; Puede ser &quot;font&quot; en lugar de &quot;font.png&quot;.
742 image = font.png
743
744 ; Tres caracteres son suficientes para el propósito de esta demostración :-)
745 &quot;A&quot; = 0,0, 7,13
746 &quot;B&quot; = 7,0, 7,13
747 &quot;C&quot; = 14,0, 7,13
748 </programlisting>
749 </para>
750
751 <sect2 id="skin-fonts-symbols">
752 <title>Símbolos</title>
753 <para>
754 Algunos caracteres tienen significado especial cuando son devueltos por algunas
755 de las variables usadas en <link linkend="skin-dlabel">dlabel</link>. Estos
756 caracteres se deben mostrar como símbolos para que parezca un bonito logotipo
757 de DVD en lugar del caracter '<literal>d</literal>' para un flujo de DVD por ejemplo.
758 </para>
759 <para>
760 La siguiente tabla lista todos los caracters que pueden ser usados para
761 mostrar símbolos (y que por lo tanto requieren una tipografía diferente).
762 </para>
763
764 <informaltable>
765 <tgroup cols="2">
766 <thead>
767 <row><entry>Caracter</entry><entry>Símbolo</entry></row>
768 </thead>
769 <tbody>
770 <row><entry><keycap>p</keycap></entry><entry>play</entry></row>
771 <row><entry><keycap>s</keycap></entry><entry>stop</entry></row>
772 <row><entry><keycap>e</keycap></entry><entry>pausa</entry></row>
773 <row><entry><keycap>n</keycap></entry><entry>no sound</entry></row>
774 <row><entry><keycap>m</keycap></entry><entry>mono sound</entry></row>
775 <row><entry><keycap>t</keycap></entry><entry>stereo sound</entry></row>
776 <row><entry><keycap>f</keycap></entry><entry>stream es un archivo</entry></row>
777 <row><entry><keycap>v</keycap></entry><entry>stream es un Video CD</entry></row>
778 <row><entry><keycap>d</keycap></entry><entry>stream es un DVD</entry></row>
779 <row><entry><keycap>u</keycap></entry><entry>stream es una URL</entry></row>
780 </tbody>
781 </tgroup>
782 </informaltable>
783 </sect2>
784 </sect1>
785
786 <sect1 id="skin-gui">
787 <title>Mensajes GUI</title>
788 <para>
789 Son los mensajes que pueden ser generados por los botones, potmetros y entradas
790 de menú.
791 </para>
792 <note><para>
793 Algunos de los mensajes pueden no funcionar como se espera (o ni funcionar).
794 Como ya sabe, el GUI está bajo desarrollo.
795 </para></note>
796
797 <variablelist>
798 <title>Control de reproducción:</title>
799 <varlistentry>
800 <term><emphasis role="bold">evNext</emphasis></term>
801 <listitem><para>
802 Salta a la siguiente pista en la lista de reproducción.
803 </para></listitem>
804 </varlistentry>
805
806 <varlistentry>
807 <term><emphasis role="bold">evPause</emphasis></term>
808 <listitem><para>
809 Forma un cambio junto con <literal>evPlaySwitchToPause</literal>. Puede ser
810 usado para tener un botón normal de play/pausa. Ambos mensajes deben ser asignados
811 a botones que se muestren exactamente en la misma posición en la ventana. Este mensaje
812 pausa la reproducción y la imagen para el botón <literal>evPlaySwitchToPause</literal>
813 es mostrada (para indicar que el botón puede ser pulsado de nuevo para continuar
814 la reproducción).
815 </para></listitem>
816 </varlistentry>
817
818 <varlistentry>
819 <term><emphasis role="bold">evPlay</emphasis></term>
820 <listitem><para>
821 Inicia la reproducción.
822 </para></listitem>
823 </varlistentry>
824
825 <varlistentry>
826 <term><emphasis role="bold">evPlaySwitchToPause</emphasis></term>
827 <listitem><para>
828 Lo contrario a <literal>evPauseSwitchToPlay</literal>. Este mensaje inicia
829 la reproducción y la imagen para el botón <literal>evPauseSwitchToPlay</literal>
830 es mostrada (para indicar que el botón puede ser pulsado de nuevo para
831 volver a pausar la reproducción).
832 </para></listitem>
833 </varlistentry>
834
835 <varlistentry>
836 <term><emphasis role="bold">evPrev</emphasis></term>
837 <listitem><para>
838 Salta a la pista previa en la lista de reproducción.
839 </para></listitem>
840 </varlistentry>
841
842 <varlistentry>
843 <term><emphasis role="bold">evStop</emphasis></term>
844 <listitem><para>
845 Detiene la reproducción.
846 </para></listitem>
847 </varlistentry>
848 </variablelist>
849
850 <variablelist>
851 <title>Búsqueda:</title>
852 <varlistentry>
853 <term><emphasis role="bold">evBackward10sec</emphasis></term>
854 <listitem><para>
855 Busca 10 segundos hacia atrás.
856 </para></listitem>
857 </varlistentry>
858
859 <varlistentry>
860 <term><emphasis role="bold">evBackward1min</emphasis></term>
861 <listitem><para>
862 Busca 1 minuto hacia atrás.
863 </para></listitem>
864 </varlistentry>
865
866 <varlistentry>
867 <term><emphasis role="bold">evBackward10min</emphasis></term>
868 <listitem><para>
869 Busca 10 minutos hacia atrás.
870 </para></listitem>
871 </varlistentry>
872
873 <varlistentry>
874 <term><emphasis role="bold">evForward10sec</emphasis></term>
875 <listitem><para>
876 Busca 10 segundos hacia adelante.
877 </para></listitem>
878 </varlistentry>
879
880 <varlistentry>
881 <term><emphasis role="bold">evForward1min</emphasis></term>
882 <listitem><para>
883 Busca 1 minuto hacia adelante.
884 </para></listitem>
885 </varlistentry>
886
887 <varlistentry>
888 <term><emphasis role="bold">evForward10min</emphasis></term>
889 <listitem><para>
890 Busca 10 minutos hacia adelante.
891 </para></listitem>
892 </varlistentry>
893
894 <varlistentry>
895 <term><emphasis role="bold">evSetMoviePosition</emphasis></term>
896 <listitem><para>
897 Busca la posición (puede ser usado por un potmetro; el
898 valor relativo (0-100%) del potmetro será el que se use).
899 </para></listitem>
900 </varlistentry>
901 </variablelist>
902
903 <variablelist>
904 <title>Control de video:</title>
905 <varlistentry>
906 <term><emphasis role="bold">evDoubleSize</emphasis></term>
907 <listitem><para>
908 Establece doble tamaño para la ventana de la película.
909 </para></listitem>
910 </varlistentry>
911 <varlistentry>
912 <term><emphasis role="bold">evFullScreen</emphasis></term>
913 <listitem><para>
914 Cambia el modo pantalla completa activado/desactivado.
915 </para></listitem>
916 </varlistentry>
917 <varlistentry>
918 <term><emphasis role="bold">evNormalSize</emphasis></term>
919 <listitem><para>
920 Establece la ventana de video a tu tamaño normal
921 </para></listitem>
922 </varlistentry>
923 </variablelist>
924
925 <variablelist>
926 <title>Control de audio:</title>
927 <varlistentry>
928 <term><emphasis role="bold">evDecAudioBufDelay</emphasis></term>
929 <listitem><para>
930 Decrementa el retardo en el buffer de audio.
931 </para></listitem>
932 </varlistentry>
933
934 <varlistentry>
935 <term><emphasis role="bold">evDecBalance</emphasis></term>
936 <listitem><para>
937 Decrementa el balance.
938 </para></listitem>
939 </varlistentry>
940
941 <varlistentry>
942 <term><emphasis role="bold">evDecVolume</emphasis></term>
943 <listitem><para>
944 Decrementa el volumen.
945 </para></listitem>
946 </varlistentry>
947
948 <varlistentry>
949 <term><emphasis role="bold">evIncAudioBufDelay</emphasis></term>
950 <listitem><para>
951 Incrementa el retardo en el buffer de audio.
952 </para></listitem>
953 </varlistentry>
954
955 <varlistentry>
956 <term><emphasis role="bold">evIncBalance</emphasis></term>
957 <listitem><para>
958 Incrementa el balance.
959 </para></listitem>
960 </varlistentry>
961
962 <varlistentry>
963 <term><emphasis role="bold">evIncVolume</emphasis></term>
964 <listitem><para>
965 Incrementa el volumen.
966 </para></listitem>
967 </varlistentry>
968
969 <varlistentry>
970 <term><emphasis role="bold">evMute</emphasis></term>
971 <listitem><para>
972 Silencia/activa el sonido.
973 </para></listitem>
974 </varlistentry>
975
976 <varlistentry>
977 <term><emphasis role="bold">evSetBalance</emphasis></term>
978 <listitem><para>
979 Establece el balance (puede ser usado por un potmetro; el
980 valor relativo (0-100%) del potmetro será el que se use).
981 </para></listitem>
982 </varlistentry>
983
984 <varlistentry>
985 <term><emphasis role="bold">evSetVolume</emphasis></term>
986 <listitem><para>
987 Establece el volumen (puede ser usado por un potmetro; el
988 valor relativo (0-100%) del potmetro será el que se use).
989 </para></listitem>
990 </varlistentry>
991 </variablelist>
992
993 <variablelist>
994 <title>Miscelánea:</title>
995 <varlistentry>
996 <term><emphasis role="bold">evAbout</emphasis></term>
997 <listitem><para>
998 Abre la ventana de acerca de.
999 </para></listitem>
1000 </varlistentry>
1001
1002 <varlistentry>
1003 <term><emphasis role="bold">evDropSubtitle</emphasis></term>
1004 <listitem><para>
1005 Desactiva el uso de subtítulos actual.
1006 </para></listitem>
1007 </varlistentry>
1008
1009 <varlistentry>
1010 <term><emphasis role="bold">evEqualizer</emphasis></term>
1011 <listitem><para>
1012 Activa/desactiva el ecualizador.
1013 </para></listitem>
1014 </varlistentry>
1015
1016 <varlistentry>
1017 <term><emphasis role="bold">evExit</emphasis></term>
1018 <listitem><para>
1019 Sale del programa.
1020 </para></listitem>
1021 </varlistentry>
1022
1023 <varlistentry>
1024 <term><emphasis role="bold">evIconify</emphasis></term>
1025 <listitem><para>
1026 Iconifica la ventana.
1027 </para></listitem>
1028 </varlistentry>
1029
1030 <varlistentry>
1031 <term><emphasis role="bold">evLoad</emphasis></term>
1032 <listitem><para>
1033 Carga un archivo (abriendo una ventana del navegador de archivos, para que pueda elegir uno).
1034 </para></listitem>
1035 </varlistentry>
1036
1037 <varlistentry>
1038 <term><emphasis role="bold">evLoadPlay</emphasis></term>
1039 <listitem><para>
1040 Hace lo mismo que <literal>evLoad</literal>, pero inicia automáticamente la reproducción
1041 después de cargar el archivo.
1042 </para></listitem>
1043 </varlistentry>
1044
1045 <varlistentry>
1046 <term><emphasis role="bold">evLoadSubtitle</emphasis></term>
1047 <listitem><para>
1048 Carga un archivo de subtítulos (con el selector de archivos)
1049 </para></listitem>
1050 </varlistentry>
1051
1052 <varlistentry>
1053 <term><emphasis role="bold">evLoadAudioFile</emphasis></term>
1054 <listitem><para>
1055 Carga un archivo de audio (con el selector de archivos)
1056 </para></listitem>
1057 </varlistentry>
1058
1059 <varlistentry>
1060 <term><emphasis role="bold">evNone</emphasis></term>
1061 <listitem><para>
1062 Mensaje vacío, no tiene efecto (excepto quizá en las versiones CVS :-)).
1063 </para></listitem>
1064 </varlistentry>
1065
1066 <varlistentry>
1067 <term><emphasis role="bold">evPlayList</emphasis></term>
1068 <listitem><para>
1069 Abre/cierra la ventana de lista de reproducción.
1070 </para></listitem>
1071 </varlistentry>
1072
1073 <varlistentry>
1074 <term><emphasis role="bold">evPlayDVD</emphasis></term>
1075 <listitem><para>
1076 Intenta abrir el disco en la unidad de DVD-ROM dada.
1077 </para></listitem>
1078 </varlistentry>
1079
1080 <varlistentry>
1081 <term><emphasis role="bold">evPlayVCD</emphasis></term>
1082 <listitem><para>
1083 Intenta abrir el disco en la unidad de CD-ROM dada.
1084 </para></listitem>
1085 </varlistentry>
1086
1087 <varlistentry>
1088 <term><emphasis role="bold">evPreferences</emphasis></term>
1089 <listitem><para>
1090 Abre la ventana de preferencias.
1091 </para></listitem>
1092 </varlistentry>
1093
1094 <varlistentry>
1095 <term><emphasis role="bold">evSetAspect</emphasis></term>
1096 <listitem><para>
1097 Establece el aspecto de la imagen mostrada.
1098 </para></listitem>
1099 </varlistentry>
1100
1101 <varlistentry>
1102 <term><emphasis role="bold">evSetURL</emphasis></term>
1103 <listitem><para>
1104 Muestra la ventana de diálogo para URL.
1105 </para></listitem>
1106 </varlistentry>
1107
1108 <varlistentry>
1109 <term><emphasis role="bold">evSkinBrowser</emphasis></term>
1110 <listitem><para>
1111 Abre la ventana del navegador de skins.
1112 </para></listitem>
1113 </varlistentry>
1114 </variablelist>
1115
1116 </sect1>
1117
1118 </appendix>