#

Lo scripting nel dvd

I lettori contengono una virtual machine che può essere programmata.


Ora che abbiamo creato i filmati per i menu dobbiamo spiegare al player cosa fare quando lo spettatore seleziona col telecomando le varie opzioni.

Per fare questo scriveremo del codice in un linguaggio molto simile al C che DvdAuthor tradurrà negli opcodes della virtual machine presente in ogni lettore di dvd (video).

In [13] si trova una descrizione degli opcodes della macchina virtuale, ma a noi tale dettaglio non serve in quanto ci affideremo al compilatore di DvdAuthor. Se proprio qualcuno volesse si può usare Ifoedit per modificare il codice creato.

La documentazione di DvdAuthor è piuttosto scarna a proposito del linguaggio di scripting e in giro si trovano solo esempi banali, un esempio più articolato si trova in [16].

Questi script permettono di gestire una serie di registri e fare dei salti a filmati o menu.

Ci sono due tipi di registri: il primo tipo comprende 16 variabili intere a 16 bit identificate con le sigle da g0 a g15 e sono liberi per gli script utente. DvdAuthor utilizza gli ultimi 3 per scopi interni e quindi ce ne restano 13 (in effetti nelle ultime versioni di DvdAuthor è possibile utilizzare una modalità in cui tutti i registri sono disponibili, ma per i nostri scopi ne servono molti di meno). Sono a tutti gli effetti variabili globali e sono anche le uniche disponibili dato che non esiste la possibilità di definirle o anche solo di rinominarle.

Poi ci sono i registri di sistema elencati nella tabella dell'appendice A. Non tutti questi registri sono scrivibili ed i più utilizzati hanno anche un alias come audio per s0 o subtitle per s2. Anche i registri di sistema sono interi a 16 bit.

Abbiamo detto che c'è la possibilità di fare salti a filmati e menu, ma ci sono alcune limitazioni di cui bisogna tenere conto.

Dal VMGM possiamo saltare a:

Dall'interno di un titleset possiamo saltare a:

Vedremo in seguito come superare questi limiti posizionando menu e filmati in maniera opportuna e sfruttando alcuni menu fittizi non visualizzati come contenitori per il codice.

Inizio pagina
Successivo
Sommario
Precedente
 
Creative Commons  License BY-NC-SA
Ove non diversamente specificato i contenuti del sito sono rilasciati con licenza Creative Commons BY-NC-SA 4.0 

Copyright © 2007-2020 The Strawberry Field - Roberto Ceccarelli