Mercurial > mplayer.hg
annotate DOCS/Italian/skin.html @ 8198:1935017c0f71
Experimantal OSD menu
author | albeu |
---|---|
date | Thu, 14 Nov 2002 23:49:05 +0000 |
parents | 7c2605f7ab8d |
children | 0c05739def93 |
rev | line source |
---|---|
6462 | 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
4867 | 2 <html> |
3 <head> | |
7509 | 4 <title>Creare Skin - MPlayer - Movie Player per Linux</title> |
6462 | 5 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
4867 | 6 <title>MPlayer skin format</title> |
7 <style type="text/css"> | |
6462 | 8 body {font-family : Verdana, Arial, Helvetica, sans-serif; |
9 font-size : 14px; | |
10 background : white;} | |
11 em.note {color: green; | |
12 font-style: normal;} | |
13 em.warn {color: red; | |
14 font-style: normal;} | |
4867 | 15 </style> |
16 </head> | |
17 | |
6462 | 18 <body> |
4867 | 19 |
20 <h1 align="center">Formato skin di MPlayer</h1> | |
21 | |
22 <hr> | |
23 | |
24 <h2>Contenuti</h2> | |
25 | |
26 <ul type=disc> | |
27 <li><a href="#intro">1 Introduzione</a></li> | |
6462 | 28 <li><a href="#overview">2 Generale</a> |
4867 | 29 <ul type=circle> |
30 <li><a href="#dirs">2.1 Directory</a></li> | |
31 <li><a href="#images">2.2 Immagini</a></li> | |
32 <li><a href="#parts">2.3 Parti di una skin</a></li> | |
33 <li><a href="#files">2.4 File</a></li> | |
34 </ul> | |
6462 | 35 </li> |
36 <li><a href="#skin">3 Il file <code>skin</code></a> | |
4867 | 37 <ul type=circle> |
38 <li><a href="#mainwin">3.1 Finestra principale</a></li> | |
39 <li><a href="#subwindow">3.2 Sotto finestra</a></li> | |
40 <li><a href="#skinmenu">3.3 Menu della skin</a></li> | |
41 </ul> | |
6462 | 42 </li> |
43 <li><a href="#fonts">4 Font</a> | |
4867 | 44 <ul type=circle> |
45 <li><a href="#symbols">4.1 Simboli</a></li> | |
46 </ul> | |
6462 | 47 </li> |
48 <li><a href="#guimsg">Appendice A: messaggi della GUI</a> | |
4867 | 49 </ul> |
50 | |
51 <hr> | |
52 | |
53 <div align=center> | |
6462 | 54 Ultima modifica: 2002/05/24 |
4867 | 55 </div> |
56 | |
57 <hr> | |
58 | |
59 <h2><a name="intro">1 Introduzione</a></h2> | |
60 | |
6462 | 61 Il proposito di questo documento è di descrivere il formato delle skin di <b>MPlayer</b>. |
4961 | 62 Le informazioni qui contenute possono essere errate, in quanto <em>a)</em> non sono stato io |
4867 | 63 a scrivere la GUI, <em>b)</em> la GUI non è finita, <em>c)</em> posso |
64 sbagliarmi. Quindi non sorprenderti se qualcosa non funziona come descritto qui. | |
65 | |
66 <p> | |
67 Grazie a <em>Zoltán Ponekker</em> per il suo aiuto. | |
6462 | 68 </p> |
4867 | 69 <p> |
70 <em>András Mohari <mayday@freemail.hu></em> | |
6462 | 71 </p> |
4867 | 72 |
73 <h2><a name="overview">2 Generale</a></h2> | |
74 | |
75 Non ha niente a che fare col formato delle skin, ma dovresti sapere | |
6462 | 76 che <b>MPlayer</b> <b>non</b> include una skin, quindi <b>devi installare almeno |
77 una skin per poter usare la GUI.</b> | |
4867 | 78 |
79 | |
80 <h3><a name="dirs">2.1 Directory</a></h3> | |
81 | |
82 Le directory in cui si cerca per le skin sono (in ordine): | |
83 <pre> | |
6462 | 84 $(DATADIR)/Skin/ |
85 $(PREFIX)/share/mplayer/Skin/ | |
4867 | 86 ~/.mplayer/Skin/ |
87 </pre> | |
88 | |
89 <p> | |
6462 | 90 Nota che il primo path può variare a seconda di come è stato configurato <b>MPlayer</b> |
91 (vedi gli argomenti <code>--datadir</code> e <code>--prefix</code> dello script <code>configure</code>). | |
92 </p> | |
4867 | 93 |
94 Ogni skin è installata in una sua propria directory sotto una delle directory | |
95 elencate sopra, per esempio: | |
96 <pre> | |
6462 | 97 $(PREFIX)/share/mplayer/Skin/default/ |
4867 | 98 </pre> |
99 | |
100 | |
101 <h3><a name="images">2.2 Formati delle immagini</a></h3> | |
102 | |
103 Le immagini devono essere in truecolor (24 o 32 bpp) e possono essere in formato | |
104 BMP, PNG e TGA (nota che le immagini TGA devono essere non compresse). | |
105 <em>Il formato preferito è PNG perchè si comprime molto bene.</em> | |
106 | |
107 <p> | |
108 Nella finestra principale (vedi sotto) puoi usare immagini con `trasparenze': | |
109 regioni riempite col colore #FF00FF (<font color="#FF00FF">magenta</font>) | |
6462 | 110 sono del tutto trasparenti quando viste con <b>MPlayer</b>. Questo significa che puoi anche ottenere |
4867 | 111 finestre con una certa forma se il tuo server X ha l'estensione XShape. |
6462 | 112 </p> |
4867 | 113 |
114 <h3><a name="parts">2.3 Parti di una skin</a></h3> | |
115 | |
116 Le skin sono del tutto in formato libero (non come le skin a formato fisso di | |
117 Winamp/XMMS, per esempio), quindi sta a te creare qualcosa di grandioso. | |
118 | |
119 <p> | |
120 Attualmente ci sono tre finestre da essere decorate: la | |
121 <a href="#mainwin">finestra principale</a>, la <a href="#subwindow">sotto finestra</a> e | |
122 il <a href="#skinmenu">menu della skin</a> (che può essere attivata con il tasto | |
123 destro). | |
6462 | 124 </p> |
4867 | 125 |
126 <ul> | |
127 <li> | |
6462 | 128 La <b>finestra principale</b> è dove puoi controllare <b>MPlayer</b>. Lo sfondo della |
4867 | 129 finestra è un'immagine. Vari oggetti possono (e devono) essere |
4961 | 130 piazzati nella finestra: <em>bottoni</em>, <em>slider</em> e <em>etichette</em>. |
4867 | 131 Per ogni oggetto, devi |
132 specificare la sua posizione e dimensione. | |
133 | |
134 <p> | |
135 Un <b>bottone</b> ha tre stati (premuto, rilasciato, | |
136 disabilitato), quindi la sua immagine deve essere divisa in tre parti verticalmente. | |
137 Vedi l'oggetto <a href="#main.button">bottone</a> per dettagli. | |
138 <p> | |
139 Uno <b>slider</b> (usati principalmente per la barra di ricerca e il controllo di volume/bilanciamento) | |
140 può avere qualsiasi numero di fasi dividendo la sua immagine in differenti parti | |
141 una sotto l'altra. | |
142 Vedi <a href="#main.hpotmeter">hslider</a> e | |
143 <a href="#main.potmeter">slider</a> per dettagli. | |
6462 | 144 </p> |
4867 | 145 |
146 <p> | |
147 Le <b>etichette</b> sono un po' speciali: i caratteri necessari a disegnarli sono presi | |
148 da un file immagine, e i caratteri nell'immagine sono descritti | |
149 da un <a href="#fonts">file per la descrizione del font</a>. | |
150 Questo è un normale file di testo che specifica | |
151 la posizione x,y e la dimensione di ogni carattere nell'immagine. (Quindi | |
152 il file d'immagine e il suo file di descrizione del font formano un font <em>insieme</em>.) | |
153 Vedi <a href="#main.dlabel">dlabel</a> e <a href="#main.slabel">slabel</a> | |
154 per dettagli. | |
6462 | 155 </p> |
4867 | 156 |
157 <p> | |
158 <em class=note> | |
159 <b>Nota:</b> tutte le immagini possono avere la piena trasparenza come descritto nella | |
160 sezione sui <a href="#images">formati immagine</a>. | |
161 </em> | |
6462 | 162 </p> |
4867 | 163 </li> |
164 | |
165 <li> | |
166 La <b>sotto finestra</b> è dove appare il filmato. Può mostrare una specifica immagine | |
167 se non c'è nessun video caricato (è noioso avere una finestra vuota | |
168 :-)) | |
169 <em class=note><b>Nota:</b> la trasparenza | |
170 <b>non è permessa</b> qui.</em> | |
171 </li> | |
172 | |
173 <li> | |
6462 | 174 Il <b>menu della skin</b> è solo un modo per controllare <b>MPlayer</b> per mezzo delle voci |
4867 | 175 del menu. Sono necessarie due immagini per il menu: una è l'immagine di base |
176 che mostra il menu nel suo stato normale, l'altra è usata per mostrare | |
177 le voci selezionate. Quando attivi il menu, viene mostrata la prima immagine. | |
178 Se muovi il mouse sulle voci del menu, la voce attualmente selezionata | |
6462 | 179 è copiata dalla seconda immagine sotto il puntatore del mouse |
180 (la seconda immagine non è mai mostrata interamente). | |
4867 | 181 <p> |
182 Una voce del menu è definita dalla sua posizione e dimensione nell'immagine (vedi la | |
183 sezione sul <a href="#skinmenu">menu della skin</a> per dettagli). | |
6462 | 184 </p> |
4867 | 185 </li> |
186 </ul> | |
187 | |
188 <p> | |
189 C'è una cosa importante non ancora menzionata: per far funzionare bottoni, slider e | |
6462 | 190 voci del menu, <b>MPlayer</b> deve sapere cosa fare se sono cliccati. |
4867 | 191 Questo è fatto tramite <a href="#guimsg">messaggi</a> (eventi). Per questi oggetti |
192 devi definire i messaggi che devono essere generati quando vengono attivati. | |
6462 | 193 </p> |
4867 | 194 <h3><a name="files">2.4 File</a></h3> |
195 | |
6462 | 196 Devi avere i seguenti file per fare una skin: |
4867 | 197 <ul> |
198 <li> | |
6462 | 199 Il file di configurazione chiamato <a href="#skin">skin</a> dice a <b>MPlayer</b> come |
4867 | 200 mettere insieme le diverse parti della skin e cosa fare se si clicca |
201 da qualche parte nella finestra. | |
202 </li> | |
203 <li>L'immagine di sfondo della finestra principale.</li> | |
204 <li>Immagini per gli oggetti della finestra principale (inclusi uno o più file di descrizione dei font | |
205 necessari per disegnare le etichette).</li> | |
206 <li>l'immagine da mostrare nella sotto finestra (opzionale).</li> | |
207 <li>Due immagini per il menu della skin (ne hai bisogno solo se vuoi creare un | |
6462 | 208 menu).</li> |
4867 | 209 </ul> |
210 | |
211 Con l'eccezione del file di configurazione della skin, puoi nominare gli altri file | |
212 come vuoi (ma nota che i file di descrizione dei font devono avere l'estensione | |
213 .fnt). | |
214 | |
215 | |
6462 | 216 <h2><a name="skin">3 Il file <code>skin</code></a></h2> |
4867 | 217 |
218 <p> | |
219 Come menzionato sopra, questo è il file di configurazione della skin. | |
220 E' orientato alla linea; le linee di commento iniziano col carattere '<code>;</code>' | |
221 all'inizio della linea (solo spazi e tab sono permessi prima del | |
222 '<code>;</code>'). | |
6462 | 223 </p> |
4867 | 224 |
225 <p> | |
226 Il file è fatto di sezioni. Ogni sezione descrive la skin per un'applicazione e | |
227 ha la seguente forma: | |
6462 | 228 </p> |
229 | |
4867 | 230 <table border=1 width="100%"><tr bgcolor=silver><td><pre> |
231 section = <i>nome sezione</i> | |
232 . | |
233 . | |
234 . | |
235 end | |
236 </pre></td></tr></table> | |
237 | |
238 <p> | |
239 Attualmente c'è solo una applicazione, quindi hai bisogno solo di una sezione: | |
240 il suo nome è <b>movieplayer</b>. | |
6462 | 241 </p> |
4867 | 242 |
243 <p> | |
244 Dentro questa sezione ogni finestra è descritta da un blocco nella seguente forma: | |
6462 | 245 </p> |
246 | |
4867 | 247 <table border=1 width="100%"><tr bgcolor=silver><td><pre> |
248 window = <i>nome finestra</i> | |
249 . | |
250 . | |
251 . | |
252 end | |
253 </pre></tr></td></table> | |
254 dove <i>nome finestra</i> può essere una di queste stringhe: | |
255 <ul> | |
256 <li><b>main</b> - per la finestra principale</li> | |
257 <li><b>sub</b> - per la sotto finestra</li> | |
258 <li><b>menu</b> - per il menu della skin</li> | |
259 </ul> | |
260 | |
261 <p> | |
262 (I blocchi sub e menu sono opzionali---non devi per forza creare un menu o decorare | |
263 la sotto finestra.) | |
6462 | 264 </p> |
4867 | 265 |
266 <p> | |
267 Dentro un blocco finestra, puoi definire ogni oggetto della finestra | |
268 con una linea in questa forma: | |
269 | |
6462 | 270 <dl> |
271 <dt> | |
272 <b><code>oggetto = parametro</code></b> | |
273 </dt> | |
274 <dd> | |
4867 | 275 |
4961 | 276 dove <i>oggetto</i> è una stringa che identifica il tipo di oggetto della GUI, |
4867 | 277 <i>parametro</i> è un valore numerico o testuale (o una lista di valori |
278 separati da virgole). | |
6462 | 279 </dd> |
280 </dl> | |
4867 | 281 |
282 <p> | |
283 mettendo insieme quanto sopra, l'intero file appare così: | |
6462 | 284 </p> |
4867 | 285 |
286 <table border=1 width="100%"><tr bgcolor=silver><td><pre> | |
287 section = movieplayer | |
288 window = main | |
289 ; ... oggetti della finestra principale ... | |
290 end | |
291 | |
292 window = sub | |
293 ; ... oggetti della sotto finestra ... | |
294 end | |
295 | |
296 window = menu | |
297 ; ... oggetti del menu della skin ... | |
298 end | |
299 end | |
6462 | 300 </pre></td></tr></table> |
4867 | 301 |
302 <p> | |
303 Il nome di un file immagine deve essere dato senza il percorso--- | |
304 le immagini vengono cercate nella directory della skin. Puoi (ma non è necessario) | |
6462 | 305 specificare l'estensione del file. Se il file non esiste, <b>MPlayer</b> cerca di |
4867 | 306 caricare il file <i><nomefile>.<est></i>, dove <i>tga</i>, |
307 <i>TGA</i>, <i>bmp</i>, <i>BMP</i>, <i>png</i> e <i>PNG</i> sono provati | |
308 al posto di <i><est></i> (in questo ordine). Il primo file corrispondente sarà usato. | |
309 | |
310 <p> | |
6462 | 311 Infine qualche parola sul posizionamento. La finestra principale e la sottofinestra possono |
312 essere posizionate in diversi angoli dello schermo impostando le coordinate <code>X</code> e | |
313 <code>Y</code>. <code>0</code> è in alto o sinistra, <code>-1</code> è | |
314 centro e <code>-2</code> è destra o in basso, come mostrato qui: | |
315 </p> | |
316 | |
317 <pre> | |
318 | |
319 (0, 0)----(-1, 0)----(-2, 0) | |
320 | | | | |
321 | | | | |
322 (0,-1)----(-1,-1)----(-2,-1) | |
323 | | | | |
324 | | | | |
325 (0,-2)----(-1,-2)----(-2,-2) | |
326 | |
327 </pre> | |
4867 | 328 |
329 <table border=1 cellpadding=5 width="100%"><tr bgcolor="#ffffcc"><td> | |
330 Ecco un esempio per rendere le cose chiare. Supponi di avere un'immagine chiamata | |
331 <i>main.png</i> che usi per la finestra principale: | |
332 <blockquote> | |
333 <pre> | |
334 base = main, -1, -1 | |
335 </pre> | |
336 </blockquote> | |
337 | |
6462 | 338 <b>MPlayer</b> cerca di caricare <i>main</i>, <i>main.tga</i>, <i>main.TGA</i>, |
4867 | 339 <i>main.bmp</i> ecc, quindi verrà trovata <i>main.png</i>. |
340 <br> | |
341 Se (per sbaglio) scrivi | |
342 <blockquote> | |
343 <pre> | |
344 base = main.bmp, -1, -1 | |
345 </pre> | |
346 </blockquote> | |
347 allora saranno cercati <i>main.bmp</i>, <i>main.bmp.tga</i>, <i>main.bmp.TGA</i>, | |
6462 | 348 <i>main.bmp.bmp</i> e <b>MPlayer</b> alla fine rinuncerà |
4867 | 349 perchè non c'è nessun <i>main.bmp</i> nella directory, ma <i>main.png</i>. |
350 </td></tr></table> | |
351 | |
352 | |
353 <h3><a name="mainwin">3.1 Finestra principale</a></h3> | |
354 | |
355 Sotto puoi vedere la lista degli oggetti che possono essere usati nel blocco | |
356 '<code>window = main</code>' . . . '<code>end</code>' | |
357 | |
358 <dl> | |
359 <dt><a name="main.base"> | |
360 <b>base = <i>immagine, x, y</i></b> | |
361 </a></dt> | |
362 <dd> | |
363 Permette di specificare l'immagine di sfondo da usare per la finestra principale. | |
364 La finestra apparirà sullo schermo alla posizione <i>x</i>,<i>y</i> data | |
365 (0,0 è l'angolo in alto a sinistra). Puoi specificare -1 per il centro | |
366 e -2 per destra (x) e in basso (y). La finestra sarà larga quanto l'immagine. | |
367 <p> | |
368 <em class=warn> | |
369 <b>Avvertimento:</b> le zone trasparenti dell' immagine (colore #FF00FF) appaiono | |
370 nere se il server X non supporta l'estensione XShape. | |
371 </em> | |
6462 | 372 </div> |
4867 | 373 </dd> |
374 | |
375 <dt><a name="main.button"> | |
376 <b>button = <i>immagine, x, y, larghezza, altezza, messaggio</i></b></a></dt> | |
377 <dd> | |
378 Posiziona un bottone di dimensioni <i>larghezza</i> * <i>altezza</i> alla posizione | |
379 <i>x</i>,<i>y</i>. Il messaggio specificato è generato quando viene | |
380 cliccato il bottone. | |
381 L'immagine data da <i>immagine</i> deve avere tre parti una sotto l'altra | |
382 (secondo i possibili stati del bottone), in questo modo: | |
6462 | 383 <pre> |
4867 | 384 +------------+ |
385 | premuto | | |
386 +------------+ | |
387 | rilasciato | | |
388 +------------+ | |
389 |disabilitato| | |
390 +------------+ | |
6462 | 391 </pre> |
4867 | 392 </dd> |
393 | |
394 <dt><a name="main.decoration"> | |
395 <b>decoration = enable|disable</b> | |
396 </a></dt> | |
397 <dd> | |
398 Abilita o disabilita la decorazione della finestra principale. Il default | |
399 è <b>disable</b>. | |
400 </dd> | |
401 | |
402 <dt> | |
403 <a name="main.hpotmeter"> | |
404 <b> | |
6462 | 405 hpotmeter = <i>bott, lungb,altb, fasi, numfasi, default, x, y, lung, alt, msg</i> |
4867 | 406 </b> |
407 </a> | |
408 </dt> | |
409 <dd> | |
6462 | 410 Inserisce uno slider orizzontale di dimensioni <i>lung</i> * <i>alt</i> alla posizione |
4867 | 411 <i>x</i>,<i>y</i>. L'immagine può essere divisa in diverse parti |
412 per le diverse fasi dello slider (per esempio, | |
413 puoi avere uno slider per il controllo volume che cambia da verde a rosso | |
414 al cambiare del suo valore dal minimo al massimo.) | |
415 hpotmeter può avere un bottone che si può trascinare orizzontalmente. | |
416 I parametri sono: | |
417 <ul> | |
418 <li><i>bott</i> - l'immagine da usare per il bottone | |
419 (deve avere tre parti una sotto l'altra, come nel caso del | |
420 <a href="#main.button">bottone</a>)</li> | |
421 <li><i>lb</i>, <i>ab</i> - dimensione del bottone</li> | |
422 <li><i>fasi</i> - L'immagine da usare per le differenti fasi dello | |
423 slider. L'immagine deve essere divisa in <i>numfasi</i> parti verticalmente | |
424 (vedi sotto). Può essere usato un valore speciale <kbd>NULL</kbd> se non vuoi | |
425 l'immagine. | |
426 </li> | |
427 <li><i>numfasi</i> - numero di fasi inserite nell'immagine <i>fasi</i> | |
428 </li> | |
429 <li><i>default</i> - valore di default dello slider (da 0 a | |
430 100)</li> | |
431 <li><i>x</i>, <i>y</i> - posizione dello slider</li> | |
432 <li><i>l</i>, <i>a</i> - larghezza e altezza dello slider</li> | |
433 <li><i>msg</i> - il messaggio da generare quando viene cambiato il valore dello | |
434 slider</li> | |
435 </ul> | |
436 L'immagine usata per le differenti fasi deve essere più o meno così: | |
437 <div align=center><table border=0><tr><td><pre><small> | |
438 +------------+ | |
439 | fase #1 | | |
440 +------------+ | |
441 | fase #2 | | |
442 +------------+ | |
443 ... | |
444 +------------+ | |
445 | fase #n | | |
446 +------------+ | |
447 </small></pre></td></tr></table></div> | |
448 <em class=note> | |
449 <b>Nota:</b> ci sarà anche un oggetto vpotmeter, ma non è ancora stato | |
450 implementato. | |
451 </em> | |
6462 | 452 </dd> |
4867 | 453 |
454 <dt><a name="main.potmeter"> | |
455 <b>potmeter = <i>fasi, numfasi, default, x, y, l, a, msg</i></b> | |
456 </a></dt> | |
457 <dd> | |
458 Uno slider senza bottone. (Penso sia inteso per essere girato, | |
459 ma reagisce solo al trascinamento orizzontale.) | |
460 Per la descrizione dei parametri vedi | |
461 <a href="#main.hpotmeter">hpotmeter</a>. <i>fasi</i> può essere | |
462 <code>NULL</code>, ma è proprio inutile, infatti non puoi vedere dove | |
463 è situato lo slider. | |
464 </dd> | |
465 | |
466 <dt><a name="main.font"> | |
467 <b>font = <i>filefont, fontid</i></b> | |
468 </a></dt> | |
469 <dd> | |
470 Definisce un font. <i>filefont</i> è il nome di un file che descrive un font | |
471 con estensione <code>.fnt</code> (<b>non c'è bisogno</b> di specificare l'estensione | |
472 qui). | |
473 <i>fontid</i> è usato per riferirsi al font | |
474 (vedi <a href="#main.dlabel">dlabel</a> e <a href="#main.slabel">slabel</a>). | |
475 Possono essere definiti fino a 25 font. | |
476 </dd> | |
477 | |
478 <dt><a name="main.dlabel"> | |
479 <b>dlabel = <i>x, y, lunghezza, allineamento, fontid, "testo"</i></b> | |
480 </a></dt> | |
481 <dd> | |
482 Posiziona una etichetta dinamica in <i>x</i>,<i>y</i>. L'etichetta è detta | |
483 dinamica perchè il suo testo è aggiornato periodicamente. | |
484 La lunghezza massima dell'etichetta è data da <i>lunghezza</i> (la sua altezza è quella di un | |
485 carattere). | |
486 Se il testo da visualizzare è più largo, allora sarà fatto | |
487 ruotare, altrimenti è allineato nello spazio specificato tramite il valore | |
488 del parametro <i>allineamento</i>: 0 per destra, 1 per centro, | |
489 2 per sinistra. | |
490 <br> | |
491 Il testo da mostrare è dato da <i>testo</i>: deve essere scritto tra | |
492 virgolette (<code>"</code>) (ma le <code>"</code> non possono essere parte del | |
493 testo). L'etichetta è visualizzata usando il font identificato da <i>fontid</i>. | |
494 Puoi usare le seguenti variabili nel testo. | |
495 | |
496 <div align=center> | |
497 <table valign=top border=1> | |
498 <tr align=center><th>Variabile</th><th align=left>Significato</th></tr> | |
499 <tr><td align=center><kbd>$1</kbd></td> | |
500 <td>tempo in formato <em>hh:mm:ss</em></td></tr> | |
501 <tr><td align=center><kbd>$2</kbd></td> | |
502 <td>tempo in formato <em>mmmm:ss</em></td></tr> | |
503 <tr><td align=center><kbd>$3</kbd></td> | |
504 <td>tempo in formato <em>hh</em> (ore)</td></tr> | |
505 <tr><td align=center><kbd>$4</kbd></td> | |
506 <td>tempo in formato <em>mm</em> (minuti)</td></tr> | |
507 <tr><td align=center><kbd>$5</kbd></td> | |
508 <td>tempo in formato <em>ss</em> (secondi)</td></tr> | |
509 <tr><td align=center><kbd>$6</kbd></td> | |
510 <td>lunghezza filmato nel formato <em>hh:mm:ss</em></td></tr> | |
511 <tr><td align=center><kbd>$7</kbd></td> | |
512 <td>lunghezza filmato nel formato <em>mmmm:ss</em></td></tr> | |
513 <tr><td align=center><kbd>$8</kbd></td> | |
514 <td>tempo in formato <em>h:mm:ss</em></td></tr> | |
515 <tr><td align=center><kbd>$v</kbd></td> | |
516 <td>volume in formato <em>xxx.xx%</em></td></tr> | |
517 <tr><td align=center><kbd>$V</kbd></td> | |
518 <td>volume in formato <em>xxx.x</em></td></tr> | |
519 <tr><td align=center><kbd>$b</kbd></td> | |
520 <td>bilanciamento in formato <em>xxx.xx%</em></td></tr> | |
521 <tr><td align=center><kbd>$B</kbd></td> | |
522 <td>bilanciamento in formato <em>xxx.x</em></td></tr> | |
523 <tr><td align=center><kbd>$$</kbd></td> | |
524 <td>il carattere <kbd>$</kbd></td></tr> | |
525 <tr><td align=center><kbd>$a</kbd></td> | |
526 <td>un carattere a seconda del tipo di audio (nessuno: <code>n</code>, | |
527 mono: <code>m</code>, stereo: <code>t</code>)</td></tr> | |
528 <tr><td align=center><kbd>$t</kbd></td> | |
529 <td>numero traccia (nella playlist)</td></tr> | |
530 <tr><td align=center><kbd>$o</kbd></td> | |
531 <td>nomefile</td></tr> | |
532 <tr><td align=center><kbd>$f</kbd></td> | |
533 <td>nomefile in minuscolo</td></tr> | |
534 <tr><td align=center><kbd>$F</kbd></td> | |
535 <td>nomefile in maiuscolo</td></tr> | |
536 <tr><td align=center><kbd>$T</kbd></td> | |
537 <td>un carattere a seconda del tipo di stream (file: <code>f</code>, | |
538 video CD: <code>v</code>, DVD: <code>d</code>, URL: <code>u</code>) | |
539 </td></tr> | |
540 <tr><td align=center><kbd>$p</kbd></td> | |
541 <td>il carattere "p" (se si sta leggendo un filmato e il font ha il carattere | |
542 "p") | |
543 </td></tr> | |
544 <tr><td align=center><kbd>$s</kbd></td> | |
545 <td>il carattere "s" (se non si sta leggendo un filmato e il font ha il carattere | |
546 "s") | |
547 </td></tr> | |
548 <tr><td align=center><kbd>$e</kbd></td> | |
549 <td>il carattere "e" (se il filmato è in pausa e il font ha il carattere | |
550 "e") | |
551 </td></tr> | |
552 </table></div> | |
553 <p> | |
554 <b>Nota:</b> Le variabili <kbd>$a</kbd>, <kbd>$T</kbd>, <kbd>$p</kbd>, <kbd>$s</kbd> | |
555 e <kbd>$e</kbd> ritornano tutte caratteri che dovrebbero essere visualizzati | |
556 come simboli speciali (per esempio, "e" è per il simbolo della pausa che di solito | |
557 appare come <code>||</code>). Dovresti avere un font per i caratteri normali | |
558 e un altro per i simboli. | |
559 Vedi la sezione sui <a href="#symbols">simboli</a> per altre informazioni. | |
560 </dd> | |
561 </dl> | |
562 | |
563 <dl> | |
564 <dt><a name="main.slabel"> | |
565 <b>slabel = <i>x, y, fontid, testo</i></b> | |
566 </a></dt> | |
567 <dd> | |
568 Posiziona una etichetta statica in <i>x</i>,<i>y</i>. | |
569 Il <i>testo</i> è visualizzato usando il font identificato da <i>fontid</i>. | |
570 Il testo è una pura stringa (le variabili $x non funzionano) che deve essere racchiuso | |
571 tra virgolette (le <code>"</code> non possono essere parte del testo). | |
572 | |
573 </dd> | |
574 </dl> | |
575 | |
576 | |
577 <h3><a name="subwindow">3.2 Sotto finestra</a></h3> | |
578 | |
579 I seguenti oggetti possono essere usati nel blocco | |
580 '<code>window = sub</code>' . . . '<code>end</code>'. | |
581 | |
582 <dl> | |
583 <dt><a name="sub.base"> | |
584 <b>base = <i>immagine, x, y, larghezza, altezza</i></b> | |
585 </a></dt> | |
586 <dd> | |
587 L'immagine da visualizzare nella finestra. | |
588 La finestra apparirà alla posizione <i>x</i>,<i>y</i> data | |
589 sullo schermo (0,0 è l'angolo in alto a sinistra). Puoi specificare -1 per centro | |
4961 | 590 e -2 per destra (x) e sotto (y). La finestra sarà grande quanto l'immagine. |
4867 | 591 <i>larghezza</i> e <i>altezza</i> danno la dimensione della finestra; sono opzionali |
592 (se mancano, la finestra è grande quanto l'immagine). | |
593 </dd> | |
594 </dl> | |
595 | |
596 <dl> | |
597 <dt><a name="sub.background"> | |
598 <b>background = <i>r, g, b</i></b> | |
599 </a></dt> | |
600 <dd> | |
601 Permette di definire il colore di sfondo. Utile se l'immagine è più piccola della | |
602 finestra. | |
603 <i>r</i>, <i>g</i> e <i>b</i> specificano le componenti rossa, verde e blu | |
604 del colore (ognuno è un numero decimale compreso tra 0 e 255). | |
605 </dd> | |
606 </dl> | |
607 | |
608 | |
609 <h3><a name="skinmenu">3.3 Menu della skin</a></h3> | |
610 | |
4961 | 611 Come menzionato prima, il menu è visualizzato usando due immagini. |
4867 | 612 Le normali voci del menu sono prese dall'immagine specificata dall'oggetto <i>base</i>, |
613 mentre la voce attualmente selezionata è presa dall'immagine specificata dall'oggetto | |
614 <i>selected</i>. | |
615 Devi definire la posizione e la dimensione di ogni voce del menu tramite l'oggetto <i>menu</i>. | |
616 | |
617 | |
618 <p> | |
619 Questi sono gli oggetti che possono essere usati nel blocco '<code>window = menu</code>' | |
620 . . . '<code>end</code>'. | |
621 | |
622 <dl> | |
623 <dt><a name="menu.base"> | |
624 <b>base = <i>immagine</i></b> | |
625 </a></dt> | |
626 <dd> | |
627 L'immagine delle normali voci del menu. | |
628 </dl> | |
629 </dd> | |
630 | |
631 <dl> | |
632 <dt><a name="menu.selected"> | |
633 <b>selected = <i>immagine</i></b> | |
634 </a></dt> | |
635 <dd> | |
636 L'immagine che mostra il menu con tutte le voci selezionate. | |
637 </dd> | |
638 </dl> | |
639 | |
640 <dl> | |
641 <dt><a name="menu.menu"> | |
642 <b>menu = <i>x, y, larghezza, altezza, messaggio</i></b> | |
643 </a></dt> | |
644 <dd> | |
645 Definisce la posizione <i>x</i>,<i>y</i> e la grandezza di una voce del menu nelle | |
646 immagini. <i>messaggio</i> è il messaggio da generare quando | |
647 il bottone del mouse è rilasciato sopra la voce. | |
648 </dd> | |
649 </dl> | |
650 | |
651 | |
652 <h2><a name="fonts">4 Font</a></h2> | |
653 | |
654 Come detto nella sezione sulle varie parti di una skin, un font è definito da | |
655 un'immagine e un file di descrizione. | |
656 Puoi mettere i caratteri ovunque nell'immagine, ma assicurati | |
657 che la loro posizione e dimensione sia data esattamente nel file di descrizione. | |
658 | |
659 <p> | |
660 Il file di descrizione del font (con estensione .fnt) può avere linee di commento | |
661 che iniziano con '<code>;</code>'. | |
662 Il file deve avere una linea nella forma | |
663 <blockquote> | |
664 <pre> | |
665 image = <i>immagine</i> | |
666 </pre> | |
667 </blockquote> | |
668 | |
669 <p> | |
670 dove <i>immagine</i> è il nome del file immagine da usare per | |
671 il font (non devi specificare l'estensione). | |
672 La linea sopra è seguita dalle linee di definizione del carattere nella forma: | |
673 | |
674 <blockquote> | |
675 <pre> | |
676 "<i>car</i>" = <i>x, y, l, a</i> | |
677 </pre> | |
678 </blockquote> | |
679 | |
680 <p> | |
681 Qui <i>x</i> e <i>y</i> specificano la posizione del carattere | |
682 <i>car</i> nell'immagine (0,0 è l'angolo in alto a sinistra). | |
683 <i>l</i> e <i>a</i> sono la larghezza e l'altezza del carattere | |
684 (in pixel, naturalmente). | |
685 | |
686 <p> | |
687 Ecco un esempio che definisce i caratteri A, B, C usando font.png. | |
688 <table width="100%" border=1><tr bgcolor=silver><td><pre> | |
689 ; può essere "font" invece di "font.png" | |
690 image = font.png | |
691 | |
692 ; Tre caratteri sono abbastanza solo per una dimostrazione. :-) | |
693 "A" = 0,0, 7,13 | |
694 "B" = 7,0, 7,13 | |
695 "C" = 14,0, 7,13 | |
696 </pre></td></tr></table> | |
697 | |
698 | |
699 <h3><a name="symbols">4.1 Simboli</a></h3> | |
700 | |
701 Alcuni caratteri hanno significati speciali quando ritornati da alcune variabili | |
702 usate in | |
703 <a href="#main.dlabel">dlabel</a>; questi caratteri vengono visualizzati | |
704 come simboli. (Per esempio, in caso di un flusso DVD, si può visualizzare | |
705 un bel logo DVD invece del carattere 'd'.) | |
706 | |
707 <p> | |
708 La tabella seguente elenca tutti i caratteri che possono essere usati per visualizzare | |
709 simboli (e quindi richiedono un font differente). | |
710 | |
711 <div align=center> | |
712 <table> | |
713 <tr><th align=center>Carattere</th><th align=left>Simbolo</th></tr> | |
714 <tr><td align=center><kbd>p</kbd></td> | |
715 <td align=left>play</td></tr> | |
716 <tr><td align=center><kbd>s</kbd></td> | |
717 <td align=left>stop</td></tr> | |
718 <tr><td align=center><kbd>e</kbd></td> | |
719 <td align=left>pausa</td></tr> | |
720 <tr><td align=center><kbd>n</kbd></td> | |
721 <td align=left>muto</td></tr> | |
722 <tr><td align=center><kbd>m</kbd></td> | |
723 <td align=left>suono mono</td></tr> | |
724 <tr><td align=center><kbd>t</kbd></td> | |
725 <td align=left>suono stereo</td></tr> | |
726 <tr><td align=center><kbd>f</kbd></td> | |
727 <td align=left>lo stream è un file</td></tr> | |
728 <tr><td align=center><kbd>v</kbd></td> | |
729 <td align=left>lo stream è un video CD</td></tr> | |
730 <tr><td align=center><kbd>d</kbd></td> | |
731 <td align=left>lo stream è un DVD</td></tr> | |
732 <tr><td align=center><kbd>u</kbd></td> | |
733 <td align=left>lo stream è una URL</td></tr> | |
734 </table> | |
735 </div> | |
736 | |
737 <p> | |
738 <b>Nota:</b> attualmente sono usati solo 'p', 's', 'e', 'n', 'm' e 't'. | |
739 </p> | |
740 | |
741 <h2><a name="guimsg">Appendice A: messaggi della GUI</a></h2> | |
742 | |
743 Questi sono i messaggi che possono essere generati da bottoni, slider e | |
744 voci del menu. | |
745 | |
746 <p> | |
747 <em class=note> | |
748 <b>Nota:</b> alcuni messaggi possono non funzionare come ci si aspetta (o non | |
749 funzionare del tutto). Come sai, la GUI è in sviluppo.</em> | |
750 | |
751 <p> | |
752 <i>Controllo riproduzione:</i> | |
753 <blockquote> | |
754 <dl> | |
755 <dt><b>evNext</b> | |
756 <dd>Salta alla prossima traccia della playlist. | |
757 | |
758 <dt><b>evPause</b> | |
759 <dd>Pausa la riproduzione. | |
760 | |
761 <dt><b>evPauseSwitchToPlay</b> | |
762 <dd>Forma un interruttore logico insieme a <i>evPlaySwitchToPause</i>. Possono essere usati | |
763 per avere un bottone comune di play/pausa. Entrambi i messaggi dovrebbero venire assegnati | |
764 a bottoni visualizzati nella stessa posizione della finestra. Questo | |
765 messaggio mette in pausa la riproduzione e viene mostrata l'immagine per il bottone <i>evPlaySwitchToPause</i> | |
766 (ad indicare che il bottone può essere premuto per continuare la riproduzione). | |
767 | |
768 <dt><b>evPlay</b> | |
769 <dd>Inizia la riproduzione. | |
770 | |
771 <dt><b>evPlaySwitchToPause</b> | |
772 <dd>L'opposto di <i>evPauseSwitchToPlay</i>. Questo messaggio inizia la riproduzione | |
773 ed è mostrata l'immagine per il bottone <i>evPauseSwitchToPlay</i> (ad | |
774 indicare che il bottone può essere premuto per mettere in pausa). | |
775 | |
776 <dt><b>evPrev</b> | |
777 <dd>Salta alla traccia precedente nella playlist. | |
778 | |
779 <dt><b>evStop</b> | |
780 <dd>Ferma la riproduzione. | |
781 </dl> | |
782 </blockquote> | |
783 | |
784 <p> | |
785 <i>Ricerca nello stream:</i> | |
786 <blockquote> | |
787 <dl> | |
788 <dt><b>evBackward10sec</b> | |
789 <dt><b>evBackward1min</b> | |
790 <dt><b>evBackward10min</b> | |
791 <dd>Per andare indietro di 10 secondi / 1 minuto / 10 minuti. | |
792 | |
793 <dt><b>evForward10sec</b> | |
794 <dt><b>evForward1min</b> | |
795 <dt><b>evForward10min</b> | |
796 <dd>Per andare avanti di 10 secondi / 1 minuto / 10 minuti. | |
797 | |
798 <dt><b>evSetMoviePosition</b> | |
799 <dd>Per andare alla posizione (può essere usato da uno slider; è usato il valore | |
800 relativo (0-100%) dello slider). | |
801 </dl> | |
802 </blockquote> | |
803 | |
804 <p> | |
805 <i>Controllo video:</i> | |
806 <blockquote> | |
807 <dl> | |
808 <dt><b>evDoubleSize</b> | |
809 <dd>Raddoppia le dimensioni della finestra del filmato. | |
810 | |
811 <dt><b>evFullScreen</b> | |
812 <dd>Manda a pieno schermo e vice versa. | |
813 | |
814 <dt><b>evNormalSize</b> | |
815 <dd>Regola la finestra del filmato alle sue dimensioni normali. | |
816 </dl> | |
817 </blockquote> | |
818 | |
819 <p> | |
820 <i>Controllo audio:</i> | |
821 <blockquote> | |
822 <dl> | |
823 <dt><b>evDecAudioBufDelay</b> | |
824 <dd>Diminuisce il ritardo del buffer audio. | |
825 | |
826 <dt><b>evDecBalance</b> | |
827 <dd>Diminuisce il bilanciamento. | |
828 | |
829 <dt><b>evDecVolume</b> | |
830 <dd>Diminuisce il volume. | |
831 | |
832 <dt><b>evIncAudioBufDelay</b> | |
833 <dd>Aumenta il ritardo del buffer audio. | |
834 | |
835 <dt><b>evIncBalance</b> | |
836 <dd>Aumenta il bilanciamento. | |
837 | |
838 <dt><b>evIncVolume</b> | |
839 <dd>Aumenta il volume. | |
840 | |
841 <dt><b>evMute</b> | |
842 <dd>Regola il suono su muto e vice versa. | |
843 | |
844 <dt><b>evSetBalance</b> | |
845 <dd>Regola il bilanciamento (può essere usato da uno slider; è usato il valore | |
846 relativo (0-100%) dello slider). | |
847 | |
848 <dt><b>evSetVolume</b> | |
849 <dd>Regola il volume (può essere usato da uno slider; è usato il valore | |
850 relativo (0-100%) dello slider). | |
851 </dl> | |
852 </blockquote> | |
853 | |
854 <p> | |
855 <i>Vari:</i> | |
856 <blockquote> | |
857 <dl> | |
858 <dt><b>evAbout</b> | |
859 <dd>Apre la finestra "about". | |
860 | |
6548
e56e991d2ee7
EvEqualeaser --> EvEqualizer, since Atmos just committed my typo fix.
diego
parents:
6462
diff
changeset
|
861 <dt><b>evEqualizer</b> |
4867 | 862 <dd>Accende/spegne l'equalizzatore. |
863 | |
864 <dt><b>evExit</b> | |
865 <dd>Esce dal programma. | |
866 | |
867 <dt><b>evIconify</b> | |
868 <dd>Riduce ad icona la finestra. | |
869 | |
870 <dt><b>evLoad</b> | |
871 <dd>Carica un file (aprendo una finestra del file browser, dove puoi scegliere | |
872 un file). | |
873 | |
874 <dt><b>evLoadPlay</b> | |
875 <dd>Fa la stessa cosa di <i>evLoad</i>, ma inizia automaticamente la riproduzione | |
876 dopo il caricamento del file. | |
877 | |
878 <dt><b>evNone</b> | |
879 <dd>Messaggio vuoto, non ha nessun effetto. (Eccetto forse nella versione CVS. :-)) | |
880 | |
881 <dt><b>evPlayList</b> | |
882 <dd>Apre/chiude la finestra della playlist. | |
883 | |
884 <dt><b>evPreferences</b> | |
885 <dd>Apre la finestra delle preferenze. | |
886 | |
887 <dt><b>evSkinBrowser</b> | |
888 <dd>Apre la finestra dello skin browser. | |
889 </dl> | |
890 </blockquote> | |
891 | |
892 </body> | |
893 </html> |