I menu

I menu permettono la navigazione tra i filmati e altre funzioni interattive.


I menu sono una particolare applicazione dei sottotitoli: sono costruiti con un filmato e una maschera che identifica le zone "sensibili" in maniera del tutto analoga al tag map di html.

Lo sfondo per i menu.
Figura 5-1
Lo sfondo per i menu.

Nel nostro caso creeremo i menu a partire da una immagine statica come abbiamo già visto, ma potremmo usare anche delle sequenze animate e sonore (vi sconsiglio vivamente il sonoro: ho ancora nelle orecchie “l’allegro motivetto” che accompagna il menu principale di un DVD inserito in una confezione di una nota marca di merendine…).

Come immagine di partenza, lo sfondo, useremo quella di Figura 5-1 : può essere creata con il programma che preferite (ad esempio l'ottimo GIMP [11] ), l'unico vincolo sono le dimensioni che devono essere di 720x576. Bisognerebbe tenere conto del fatto che in riproduzione sarà leggermente stirata in senso orizzontale fino ad avere un rapporto base:altezza di 4:3, ma per semplicità ignoreremo il problema che comunque è assai poco visibile.

Il menu principale.
Figura 5-2
Il menu principale.

Ora dobbiamo disegnare sullo sfondo i vari pulsanti con le opzioni che vogliamo rendere disponibili; anche qui la fantasia è sovrana salvo ricordarsi di lasciare un margine di 30-40 pixel su ogni lato dell'immagine per evitare che l'overscan del televisore ne renda invisibili delle parti. In Figura 5-2 si può vedere il risultato per un tipico menu principale.

Adesso dobbiamo creare qualcosa che durante l’uso del menu ci faccia capire quale opzione stiamo selezionando: è qui che entra in gioco la maschera. Nel nostro esempio creeremo dei rettangoli che contornano icona e testo, ma potrebbe essere qualsiasi altra cosa: una freccia, una sottolineatura, un pallino…

La maschera delle selezioni.
Figura 5-3
La maschera delle selezioni.

La maschera è costituita da una immagine trasparente della stessa misura dello sfondo e con tutte le possibili selezioni: fate attenzione che questa immagine può avere al massimo 4 colori (2 bit) compreso il trasparente. La maschera per il nostro menu è visibile in Figura 5-3 ; mentre nella Figura 5-4 possiamo vedere il menu in funzione.

Il menu in funzione.
Figura 5-4
Il menu in funzione.

Alcuni tutorial consigliano di realizzare la maschera dei pulsanti utilizzando i layer di GIMP o Photoshop, ma noi useremo un altro metodo, più da programmatori.

Di maschere potremmo usarne anche due, una viene utilizzata come già detto per indicare l’opzione scelta mentre ci spostiamo sul menu, l’altra si attiva quando premiamo il tasto di invio sul telecomando per ritornarci una conferma visiva dell’avvenuta selezione. Non useremo questa caratteristica.

Resta da svelare come sia possibile capire quali siano i singoli pulsanti in questa immagine che li riporta tutti: il segreto sta nel file di configurazione di spumux, il programma fornito assieme a DvdAuthor per la gestione dei sottotitoli. Quello da utilizzare per i nostro esempio è:


<subpictures>
  <stream>
    <spu start="00:00:00.00" highlight="figura3.png" select="figura3.png"
       force="yes">
      <button label ="Button1"
            x0 = "64" y0 = "150"
            x1 = "674" y1 = "224" />
      <button label ="Button2"
            x0 = "64" y0 = "224"
            x1 = "674" y1 = "300" />
      <button label ="Button3"
            x0 = "64" y0 = "300"
            x1 = "674" y1 = "374" />
	</spu>   
  </stream>
</subpictures>

Riconosciamo subito l’immagine con la maschera e più sotto l’identificazione dei bottoni. Inoltre spumux dispone di una modalità di riconoscimento automatico attivando la quale non è più necessario specificare le coordinate dei pulsanti e quindi il nostro file si semplifica in:


<subpictures>
  <stream>
    <spu start="00:00:00.00" highlight="figura3.png" select="figura3.png"
       force="yes" autoorder="rows" autooutline="infer">
	</spu>   
  </stream>
</subpictures>

Ci sono due attributi in più nel tag spu: autooutline che serve ad attivare tutto l'automatismo e autoorder che in questo caso fa in modo che i pulsanti siano numerati leggendoli per righe da sinistra verso destra cominciando dall'alto; l'alternativa è leggerli per colonne.

E' importante sapere come sono ordinati i pulsanti perchè nello stesso ordine andranno specificati i comandi da eseguire. Per ottenere il nostro file con il menu dovremo dare il commando:


spumux main_1.xml <main_1.mpg >main_1_menu.mpg

Dove main_1.mpg è il filmato di partenza ottenuto dall’immagine statica e main_1.xml il file di configurazione. A video possiamo leggere le informazioni che seguono:


DVDAuthor::spumux, version 0.6.14-GfD-1.
Build options: gnugetopt iconv freetype
Send bugs to <[email protected]>

INFO: Locale=C
INFO: Converting filenames to US-ASCII
STAT: 0:00:00.000 
INFO: PNG had 2 colors
INFO: PNG had 2 colors
INFO: Constructing blank img
INFO: Autodetect 0 = 64x150-674x224
INFO: Autodetect 1 = 64x224-674x300
INFO: Autodetect 2 = 64x300-674x374
INFO: Pickbuttongroups, success with 1 groups, useimg=1
INFO: Found EOF in .sub file.
INFO: Max_sub_size=1628
INFO: 1 subtitles added, 0 subtitles skipped, stream: 32, offset: 0.18

Notiamo come i pulsanti siano stati correttamente identificati e quale sia il loro ordine; a essere sinceri questo era un caso piuttosto semplice, ma con gli opportuni accorgimenti si riescono a risolvere casi ben più complessi.

Nel seguito vedremo come utilizzare il menu che abbiamo appena creato.

Inizio pagina
 
Precedente
Sommario
Successivo