"Faire un DVD complet" |
|
| Page 1 - Page 2 - Page 3 - Page 4 | Réagir à cet article |
6 .La programmation : 6.1 La touche "menu" : La touche menu va donc nous renvoyer à un script qui va se charger de nous aiguiller vers le bon menu. Tout d'abord, voilà ce que l'on veut : La première étape est de savoir de quel menu je viens. Nous allons utiliser un autre bloc mémoire, le GPRM 1 qui, en fonction de sa valeur va nous dire d'où l'on vient. Nous allons décider tout de suite de ces valeurs, comme ça ce sera fait. On va dire que : Avant le menu principal, donc entre le menu principal et le logo éditeur nous allons mettre le script : Donc, à la fin de mon logo éditeur, ou de mon avertissement, au lieu de passer à mon intro et Menu principal je vais à ce script qui met la valeur du GPRM 1 à 1 puis qui m'envoie vers mon Intro et Menu principal. De la même manière j'en fais un pour le menu chapitre ( que l'on va nommer chapitre in ) : Et pour le menu Audio ( que l'on va nommer audio in ): A partir de là, le GPRM prend la bonne valeur à l'entrée dans un menu. Avant d'aller plus loin on va faire tout de suite l'opération inverse, c'est-à-dire remettre la bonne valeur au GPRM 1 en sortie de Menu. C'est exactement le même problème que pour les sous-titre, si je ne dis rien au lecteur, il ne touche à rien. Donc si je suis dans mon menu audio ( GPRM 1 = 3 ) et que je retourne au menu principal, la valeur de ce GPRM restera à 3. Donc, lorsque je sélectionne mon bouton "retour au menu principal" de mon menu audio je dois aller à un autre script qui remet la valeur du GPRM 1 à 1 ( que l'on va appeler audio out ): J'en profite pour retourner directement à mon point de boucle et je choisis le bouton audio. Je fais pareil pour le menu chapitre ( script que l'on va nommer chapitre out ) : Le fait de remettre la valeur à 1 dans ce GPRM en revenant sur le menu principal m'assure que la fonction "menu" me ramène bien à ce menu. Donc maintenant dans la vue graphique de DVD Studio pro, il ne doit plus y avoir de flèche directe entre le menu principal, le menu chapitre et le menu audio. Tout doit passer par un script. ( sauf entre les pages des chapitres... ) Le script de retour menu. Pour tenter de faire quelque chose de plus facilement compréhensible, je vais séparer le script de retour menu en deux scripts distincts. Le premier va m'aiguiller vers le bon menu et le deuxième va calculer la bonne page de chapitre à aller chercher. Voici donc le script que l'on va appeler "menu film" vers lequel va pointer la touche menu de la télécommande lorsqu'on est dans le film : Le grosse partie va donc être de savoir de quel chapitre je viens et à partir de là m'envoyer vers la bonne page et sur le bon bouton. Il y a deux méthodes, la longue et facile et la courte mais plus complexe. On va faire les deux : - La méthode longue la méthode longue consiste à récupérer le numéro de chapitre où je suis et de lier à la main en fonction de ce chiffre le bon menu et le bon bouton. Nous avons besoin d'utiliser un autre GPRM pour ça, on va prendre le GPRM 2. Donc ça donne : Cette méthode est fastidieuse mais son principe est assez simple, mon GPRM 2 contient le numéro de chapitre duquel je suis parti, les lignes suivantes font un lien en fonction de cette valeur. Pour ceux qui voudrait utiliser une méthode plus automatique, même si celle-ci n'est pas très longue, il y a moyen de calculer ces liens. Même si ici l'intérêt y est limité, c'est un bon exercice de compréhension de la programmation des DVD. C'est complètement facultatif. - La méthode avec calcul On va partir d'un constat ; j'ai 4 vignettes par page, donc les chapitres 1 à 4 me renvoient à la page 1, 5 à 8 à la page 2, 9 à 12 à la 3 et 13 à 16 à la 4. Donc, à partir de ça je peux faire ce script : Examinons un peu ce script. A la première ligne je récupère le numéro de chapitre que je stocke dans un GPRM, le GPRM 2. Les lignes 2, 3 et 4 sont en fait des renvois, c'est-à dire-que je saute des lignes de code en fonction de la valeur de ce GPRM. Ce qui m'intéresse en premier c'est de savoir à quelle page je dois aller, donc savoir si mon numéro de chapitre est entre 1 et 4, entre 5 et 8, entre 9 et 12 ou entre 13 et 16, c'est-à-dire le découpage de mes menus. Il n'y a pas de commande pour savoir si une valeur est comprise entre deux autres valeurs, il faut donc ruser avec les moyens du bord, la comparaison "plus grand que". Si mon numéro de chapitre est plus grand que 12, il est de toute façon compris entre 13 et 16, sinon le script passe à la ligne 3. A cette ligne, si mon numéro de chapitre est plus grand que 8, il est automatiquement compris entre 9 et 12 et il ne peut pas être supérieur à 12 sinon il aurait rempli la condition de la ligne précédente, idem pour la ligne 4. Pour comprendre le reste du script, on va prendre deux exemples concrets. je viens du chapitre 13 Je viens du chapitre 8 On remarque que si mon numéro de chapitre est compris entre 1 et 4, je saute tous les GoTo pour aller à la ligne 5. C'est fini ? Non, il manque quelque chose, quelque chose de très important. Au début de la programmation on avait fait un petit script pour savoir si j'avais déjà été voir le film ou pas, pour ne pas planter le lecteur avec la fonction resume. On avait mis un script avant le film, ce qui fonctionne bien quand on vient du menu principal mais si l'on vient des chapitres, ça ne marche pas ( puisqu'on va directement sur un point de chapitre ). On ne va pas non plus faire un script en sortie du menu chapitre car ce serait long. En fait, on va rajouter une ligne de commande à notre premier script de retour menu, au tout début. On va rajouter : Ce qui donne : A ce point là je n'ai plus besoin de mon premier script qui était placé en pre-script de mon film. Afin de compléter aussi cette fonction "resume", nous allons placer un autre script en sortie du film pour des raisons de facilités de navigation. En effet, si j'ai lu tout mon film, il faut absolument que j'annule ma fonction "resume". L'autre utilité de ce script est aussi de renvoyer l'utilisateur au menu principal de mon DVD. En effet, même si je viens des chapitres, en ayant vu tout le film, il n'est pas nécessaire de retourner à l'écran de chapitre. Donc on va profiter de ce script pour tout remettre en ordre et renvoyer mon utilisateur où l'on veut. Nous allons aussi en profiter pour mapper la touche "title" de la télécommande vers un script qui a pour but de dire qu'on a déjà vu le film, donc d'activer la fonction "resume". Bon, à ce stade la majeure partie des scripts sont faits mais il manque encore quelques petites choses pour que ce DVD fonctionne vraiment bien. |
|
| Page 1 - Page 2 - Page 3 - Page 4 | |