DVD Architect

Ξ 1.038 visualizzazioni Ξ I commenti sono disabilitati

DVD Architect Pro – Scripting: Capitolo 5

posted by Yarin VooDoo

 

Consideriamo di aver estratto il numero 3, imposto 1 nel registro GPRM1:

0000 0000 0000 0001

Moltiplico per 2:

0000 0000 0000 0010

Sottraggo 1 al numero estratto registrato in GPRM2:

3 – 1 = 2

Il valore ottenuto è superiore ad 1, quindi ripeto il ciclo moltiplicando di nuovo GPRM1 per 2:

0000 0000 0000 0100

Sottraggo 1 al valore presente in GPRM2:

2 – 1 = 1

Quindi GPRM2 non è più maggiore di 1, allora abbiamo correttamente impostato la maschera bit che indicherà qualche media eseguire, cioè il 3° media.

Possiamo proseguire controllando che il media estratto non sia già stato eseguito.

A questo punto non abbiamo più bisogno del valore memorizzato in GPRM1 e possiamo usarlo per altro, in particolare dobbiamo copiare il valore presente in GPRM2 in quanto eseguiremo un AND logico con il valore in GPRM5 per verificare la traccia scelta e questo cancellerà il numero estratto presente in GPRM2.

Label2:
GPRM2 = GPRM1

Eseguiamo la verifica con un AND logico ricordando che 0 & 0 = 0, 1 & 0 = 0, 0 & 1 =0 mentre 1 & 1 = 1.

GPRM2 = GPRM2 & GPRM5

Se il risultato dell’AND logico è diverso a 0 significa che il media è già stato eseguito e quindi dovremo ricominciare l’estrazione.

If (GPRM2 != 0) then GotoLabel ‘Label0’

Se invece il media estratto non è stato eseguito, potremo proseguire.

Per prima cosa dovremo memorizzare in GPRM5 il media estratto per evitare che alla successiva estrazione possa venir nuovamente eseguito e per far questo useremo un altro operando logico: OR.

GPRM5 = GPRM5 ^ GPRM1

L’OR Logico, a differenza dell’AND, funziona in questo modo: 0 & 0 = 0, 1 & 0 = 1, 0 & 1 = 1, 1 & 1 = 1.

Pertanto se GPRM5 è a 0 e GPRM1 corrisponde al 3 media, confrontando bit per bit, avremo:

GPRM 1
0000 0000 0000 0100

GPRM5
0000 0000 0000 0000

Esenguendo l’OR sui singoli bit otterremo:

GPRM5
0000 0000 0000 0100

Memorizzato il media non resta che attivare la riproduzione tramite una serie di Link condizionato al valore di GPRM1.

if (GPRM0 = 1) then Link page: ‘Media (Page 1)’, button: ‘Default’
if (GPRM0 = 2) then Link page: ‘Media (Page 2)’, button: ‘Default’
if (GPRM0 = 3) then Link page: ‘Media (Page 3)’, button: ‘Default’

e così via, infine non dovremo far altro che verificare il tutto nella preview.

Questo esempio è basato sul seguente link:

http://benderydt.com/tech/DVD_Studio_Pro/random_play

Di seguito il listato completo dello script:

  • If (GPRM5 >= 65535) then GPRM5 = 0

Label0:

  • GPRM0 = Random (16)
  • GPRM1 = 1
  • If (GPRM0 = 1) the GotoLabel ‘Label2’
  • GPRM2 = GPRM0

Label1:

  • GPRM1 = GPRM1 * 2
  • GPRM2 = GPRM2 – 1
  • If (GPRM2 > 1) then GotoLabel ‘Label1’

Label2:

  • GPRM2 = GPRM1
  • GPRM2 = GPRM2 & GPRM5
  • If (GPRM2 != 0) then GotoLabel ‘Label0’
  • GPRM5 = GPRM5 | GPRM1
  • if (GPRM0 = 1) then Link page: ‘Media (Page 1)’, button: ‘Default’
  • if (GPRM0 = 2) then Link page: ‘Media (Page 2)’, button: ‘Default’
  • if (GPRM0 = 3) then Link page: ‘Media (Page 3)’, button: ‘Default’
  • if (GPRM0 = 4) then Link page: ‘Media (Page 4)’, button: ‘Default’
  • if (GPRM0 = 5) then Link page: ‘Media (Page 5)’, button: ‘Default’
  • if (GPRM0 = 6) then Link page: ‘Media (Page 6)’, button: ‘Default’
  • if (GPRM0 = 7) then Link page: ‘Media (Page 7)’, button: ‘Default’
  • if (GPRM0 = 8) then Link page: ‘Media (Page 8)’, button: ‘Default’
  • if (GPRM0 = 9) then Link page: ‘Media (Page 9)’, button: ‘Default’
  • if (GPRM0 = 10) then Link page: ‘Media (Page 10)’, button: ‘Default’
  • if (GPRM0 = 11) then Link page: ‘Media (Page 11)’, button: ‘Default’
  • if (GPRM0 = 12) then Link page: ‘Media (Page 12)’, button: ‘Default’
  • if (GPRM0 = 13) then Link page: ‘Media (Page 13)’, button: ‘Default’
  • if (GPRM0 = 14) then Link page: ‘Media (Page 14)’, button: ‘Default’
  • if (GPRM0 = 15) then Link page: ‘Media (Page 15)’, button: ‘Default’
  • if (GPRM0 = 16) then Link page: ‘Media (Page 16)’, button: ‘Default’

Qui trovate il file d’esempio. (Random_01.dar)

E’ consigliabile spezzare questo lungo script in due più piccoli per evitare problemi con i lettori DVD, in questo caso sposteremo tutti i 16 link finali in un nuovo script ed in quello iniziale aggiungeremo semplicemente:

  • Link script: ‘DVD Script 2’

Qui trovate il file d’esempio. (Random_02.dar)

Nei miei esempi ho utilizzato dei Menu, tuttavia è possibile utilizzare lo stesso meccanismo con dei filmati.

Nel caso si volesse effettuare una selezione random con meno media, basta modificare le prime due righe:

  • If (GPRM5 >= 65535) then GPRM5 = 0

Label0:

  • GPRM0 = Random (16)

Nella 2° riga inseriremo il numero di media massimo entro cui estarre (max 16!), mentre nella prima riga inseriremo il valore decimale dei corrispondente 16bit.

Media

16Bit

Valore GPRM5

1

0000 0000 0000 0001

1

2

0000 0000 0000 0011

3

3

0000 0000 0000 0111

7

4

0000 0000 0000 1111

15

5

0000 0000 0001 1111

31

6

0000 0000 0011 1111

63

7

0000 0000 0111 1111

127

8

0000 0000 1111 1111

255

9

0000 0001 1111 1111

511

10

0000 0011 1111 1111

1023

11

0000 0111 1111 1111

2047

12

0000 1111 1111 1111

4095

13

0001 1111 1111 1111

8191

14

0011 1111 1111 1111

16383

15

0111 1111 1111 1111

32768

16

1111 1111 1111 1111

65535

Per maggiori informazioni sulla conversione da sistema binario a decimale cliccare qui.

Pagine: 1 2 3 4 5

Condividi Questo Articolo

User Profile

Progettista di automazioni industriali e anche Sony Certified Vegas Editor dal 2008, Sony Certified Vegas Trainer, Sony ICE dal 2009 oltre che Trainer ufficiale Sony Creative Software per l'Italia.software utilizzati: Sony Vegas Pro, Sony DVD Architect Pro, Sony Acid Pro, Sony Soundforge, Sony Cinescore, Boris Red, After Effects; competenze: Editing Audio, Music Creation, Editing Video, Authoring DVD

User Name: Yarin VooDoo

Iscriviti alla nostra Newsletter

Iscriviti alla nostra Newsletter

Per iscriverti e restare sempre aggiornato su tutte le nostre novità è sufficiente inserire il tuo indirizzo email qui di seguito. Ti verrà inviata una mail per confermare la tua iscrizione.

Video