The Removers' Animator Animator est un nouveau player de fichiers multim‚dia. Nouveau, et cependant son d‚veloppement a commenc‚ il y a un certain temps d‚j…, et une sacr‚ quantit‚ de travail a ‚t‚ d‚pens‚e pour en faire ce qu'il est. Pour l'instant, il ne reconnaŒt que les AVI (Video for Windows), les MOV (Apple Quicktime), les fichiers FLI et FLC (Autodesk Animator) et les WAV (fichiers WAVE d'origine Micro$otf). Pour l'utiliser, trois m‚thodes s'offrent … vous : - Faire glisser sur son icone un fichier … jouer, ou un r‚pertoire … parcourir.- - Utiliser le Shell de Guillaume Tello qui est fourni avec Animator. - Installer Animator en le liant … l'extention AVI (et … d'autres si vous voulez) et double-cliquer sur ces fichiers depuis le bureau. Les auteurs sont joignables par mail : ù Stabylo : Benjamin.Gandon@isia.cma.fr ù Seb : Sebastien.Briais@ens-lyon.fr Sommaire 1. Pr‚sentation d'Animator 2. Comment utiliser Animator ? 3. L'interface utilisateur 4. La ligne de commande i. Les arguments en g‚n‚ral ii. Les Flags iii. Les piŠges iv. Les avantages 5. Ecrivez vos modules pour Animator 6. Partager les modules d'Animator entre plusieurs applications 7. Les auteurs et les Remerciements 1. Pr‚sentation d'Animator Animator est ce que l'on appelle un player multim‚dia. Ca signifie qu'il est capable de rejouer des vid‚os … l'‚cran avec le son synchronis‚. Par extension, il peut bien s–r lire des sons seuls et des vid‚os d‚pourvues de son. Une des premiŠres questions qui vient … l'esprit concerne bien entendu la vitesse d'Animator. Alors ? Est-ce qu'il est rapide ? Eh bien, je vais ‚viter de me prononcer et je vous laisse faire quelques comparaisons. Si cependant vous trouvez une vid‚o et une configuration dans laquelle Animator est plus lent qu'un autre, faites m'en part, ‡a m'int‚resse. Non pas que ‡a ne puisse pas arriver, mais parce que ‡a m'aide … prendre conscience des points faibles de ce logiciel. Quels sont les fichiers multim‚dia qu'Animator est capable de vous restituer ? en voici la liste. ù vid‚os AVI (restriction : pas de synchro s'il n'y a pas de son) ù vid‚os MOV (restriction : pas de son, pas de synchro et assez peu de compressions vid‚o reconnues) ù vid‚os FLI et FLC (restriction : pas de support des fichiers FLH) ù sons WAV (restiction : pas de support de la compression MPEG, encore moins la troisiŠme couche) Vous voici donc avec un bonne petite liste de restrictions, mais sachez qu'elle n'est ici que pour vous donner une id‚e des nouveaut‚s qui vous attendent dans les futures versions d'Animator ! Sachez ‚galement qu'Animator est capable d'afficher des images fixes … l'‚cran, possibilit‚ que nous exploiterons dans les versions futures. Continuons ce tour d'horizon avec les diff‚rentes configurations Hardware que supporte Animator. ù Falcon 030 avec le Videl d'origine ou carte Nova 16 bits. ù TT 030 avec Carte Nova 16 bits (normalement les autres sont aussi reconnues) ù Afterburner 040, Nemesis, Centurbo, etc. ù Le switch RVB/VGA sur un moniteur multisynchro peut ˆtre modifi‚ entre deux vid‚os Notez qu'il n'y a (pour l'instant) qu'avec le Videl qu'Animator se permettra de chercher la meilleure r‚solution 16 bits pour restituer la vid‚o. Dans le cas o— la r‚solution courante est d‚j… 16 bits, Animator n'en changera pas. Si vous avez une carte Graphique, il vous faudra donc vous mettre au pr‚alable dans un mode 16 bits avant de lancer Animator. Je crois aussi qu'Animator peut rejouer tous les sons qu'il sait lire sur un STe. Cependant, je ne garantis rien de ce point de vue l…, parce que je n'ai jamais test‚ Animator sur un 68000. Jusqu'ici ce n'est pas vraiment la priorit‚ (sauf si vous insistez, bien s–r !). Animator a ‚t‚ test‚ avec succŠs sur les systŠmes d'exploitation suivants : ù TOS (4 et 3) avec ou sans NVDI ù Magic 5 et 6 uniquement avec NVDI (n‚cessit‚ de raffraichir l'‚cran … la main, et pour l'instant VT52 se plaint que des vecteurs systŠme ont ‚t‚ modifi‚) ù Mint (Singletos seulement) Je suis d‚sol‚ de vous obliger … avoir NVDI si vous utilisez Magic, mais je n'ai pas eu le courage de contourner un affreux bug que j'ai trouv‚ dans son pilote graphique d'origine. Tout rentre dans l'ordre avec celui de NVDI. J'aurais bien voulu en toucher deux mots aux auteurs, mais je doute qu'ils ne m'‚coutent. Si vous avez leur adresse mail, transmettez-l… moi. Pour finir, voici dans le d‚sordre une petite liste qui montre un peu les technologies auxquelles touche la programmation d'Animator. Comme quoi c'est bien sympa … faire, une bestiole comme ‡a. ù N‚gociation de contenu ù Librairies dynamiques (mais je vais s–rement me tourner … l'avenir vers les LDG) ù Programmation temps r‚‚l (je crois qu'on peut mˆme parler de temps r‚‚l dur) ù Architecture objet (si si ! Je m'inspire pas mal des objets quand je fais de l'assembleur !) ù Optimisation assembleur (‡a, on pouvait s'y attendre) ù Automates finis ù Traitement du signal (r‚‚chantillonnage) ù Lecture des documentation en anglais :) 2. Comment utiliser Animator ? Animator utilise une ligne de commande. Celle-ci lui fournit vos options de lecture des animations. Je vous donne donc ici quelques conseils pour aller au plus vite sans se fatiguer. Pour profiter rapidement des options, je vous conseille d'installer l'application Animator … l'aide du Bureau du GEM comme suit. S‚lectionnez Animator, Choisissez 'Installer une application' dans le menu 'Options' et remplissez les champs comme suit : - Application : ANIMATOR.TTP - ParamŠtres : +1s-h (mettez un espace aprŠs le -h !) - Type de fichiers : AVI N'oubliez pas de mettre un espace aprŠs le -h. Ne touchez pas aux autres menus pop-up, cliquez sur [INSTALLE] et le tour est jou‚. Si vous utilisez un autre systŠme que le Tos d'origine, vous n'avez qu'… installer l'application Animator, de lui adjoindre les paramŠtres '+1s-h ' (sans oublier l'espace) et de le lier … l'extension AVI. Vous pourrez alors voir les fichiers AVI en les ouvrant depuis le Bureau. Sous Jinnee, par exemple, allez dans le menu 'Applications', cliquez sur [Nouveau] s‚lectionnez ANIMATOR.TTP avec le s‚lecteur de fichier apparu, entrez la ligne de commande '+1s-h %$p'avec transmission des paramŠtres en Drag&Drop, ajoutez les types de fichiers'*.AVI,*.MOV,*.FLI,*.FLC'et cliquez sur OK. Si vous voulez visualiser toutes les vid‚os d'un r‚pertoire, tirez ce dernier sur l'ic“ne d'Animator. Le contenu de ce r‚pertoire est alors parcouru r‚cursivement. Si vous ne volez pas explorer les sous r‚pertoires, il faut mettre l'option '-R'. Vous pouvez aussi utiliser les m‚ta caractŠre '?' et '*'comme par exemple : '+1s-h *.avi'. 3. L'interface utilisateur Justement, celle-ci est pour l'instant r‚duite … sa plus simple expression. Seule la souris est vraiment utilis‚e. De maniŠre g‚n‚rale, la bouton gauche de la souris permet de passer … la suite, tandis que le bouton droit permet de quitter Animator. Avant de relire une vid‚o, si vous avez demand‚ … attendre une touche (avec '+h'), vous pouvez quitter directement comme indiqu‚ avec [Esc]. Pour lancer la vid‚o, l'appui d'une touche ou du bouton gauche de la souris suffit. Lorsqu'Animator rejoue une vid‚o, seule la souris vous sera utile. ù Le bouton de gauche vous permettra de passer … la vid‚o suivante ou d'abandonner le pr‚chargement du son. Animator tirera toutefois partie de tout ce qu'il aura r‚ussi … pr‚traiter. Ce comportement est trŠs pratique si le pr‚chargement s'‚ternise un peu. ù Le bouton droit vous permet de quitter sans plus attendre. ù Si l'‚cran est trop petit pour afficher la vid‚o, bouger la souris vous permettra de vous d‚placer dans l'‚cran virtuel (uniquement avec le Videl du Falcon). 4. Le systŠme de ligne de commande Pour exploiter les diff‚rents param‚trages d'Animator, une syntaxe de ligne de commande a ‚t‚ mise au point. Rassurez-vous, il est inutile de les apprendre par coeur : il suffit de les rentrer dans le boite de dialogue d'installation d'une application. Pour plus de d‚tails, reportez vous … la partie pr‚c‚dente qui d‚crit l'installation d'Animator. L'essentiel de ce qui suit concerne donc la ligne de commande ses possibilit‚s, pour vous permettre d'en appr‚hender les subtilit‚s. Les arguments en g‚n‚ral Tout d'abord, quelques rŠgles : - Les arguments sont s‚par‚s par des espaces. - Tout argument ne commen‡ant pas par '+' ou '-' est consid‚r‚ comme un fichier. C'est pas trŠs grave car Animator n'est (normalement) pas du genre … planter sur un fichier qu'il ne comprend pas. - Dans les options, (toute partie commen‡ant par un '+' ou un '-') les minuscules et les majuscules sont diff‚renci‚es. - Les wildcards '?' et '*' sont g‚r‚s, mais … la maniŠre du TOS (du moins si vous ˆtes sous TOS), ce qui signifie que pour l'instant, l'expression 'truc.???' ‚quivaut … 'truc.*' et que les expressions du genre 'debut*milieu*fin.*' sont reconnues comme 'debut*.*' (ce sont des petits inconv‚nients li‚s … GEMDOS). - Les lettres d'options non reconnues sont ignor‚es. - L'ordre d'apparition des lettres dans les options entre deux noms de fichiers n'a pas d'importance. - Vous pouvez mettre autant d'espaces que vous voulez entre les options :'+1 +s -R +t -h' est ‚quivalent … '+1st-Rh'. Les flags La ligne de commande est parcourue jusqu'… trouver un fichier qu'Animator arrive … ouvrir, et Animator affiche au lancement un r‚sum‚ des options activ‚es pour le premier fichier a jouer. S'il n'y a pas de nom de fichier valide, Animator vous le signale et affiche un message d'information. La syntaxe des flgs est trŠs simple: un '+' active un flag, et un '-' le d‚sactive ù 1 : joue les vid‚os qu'une seule fois (one time) et quitter … la fin ('+1' par d‚faut). ù e : affichage de tous les messages en anglais (english) ('+e' par d‚faut). ù h : active les attentes de touches (hold) ('-h' par d‚faut). ù l : active l'‚criture des messages (log) dans le fichier ANIMATOR.LOG. Les statistiques globales et fichiers par fichiers sont alors inscrits dans les logs. Si les logs ne sont pas actifs, seules les statistiques globales sont affich‚es … l'‚cran juste avant qu'Animator termine son ex‚cution ('-l' par d‚faut). ù m : active la lecture brutale des animations, sans saut d'image (max speed). Ne l'utilisez que pour faire des tests de puissance brute. Attention toutefois, le son ne sera pas restitu‚ s'il est entiŠrement regroup‚ … la fin du fichier ('-m' par d‚faut). ù p : pr‚charge le son (preprocess sound) avant de lire la vid‚o. Vous pouvez abandonner le pr‚chargement … l'aide du bouton gauche de la souris. Animator tirera tout de mˆme avantage de ce qu'il aura eu le temps de pr‚charger ('+p' par d‚faut). ù q : essaye en priorit‚ de restituer les sons en 16 bits (quality) ('+q' par d‚faut). ù R : active le parcours r‚cursif (Recusive parse) des sous-r‚pertoires ('+R' par d‚faut). ù r : autorise la r‚duction de l'image utile du Videl (reduce). Rassurez-vous, Animator n'est pas sens‚ utiliser cette bidouille s'il ne d‚tecte pas de Videl ou pas de Falcon. Cette option ne vous servira donc que si vous avez un Falcon ou si vous avez une carte graphique qu'Animator ne connaŒt pas. Elle peut ‚galement vous permettre de r‚soudre d'‚ventuelles incompatibilit‚s ('+r' par d‚faut). ù s : active la synchronisation avec saut d'images (s comme synchro) ('+s' par d‚faut). ù t : chronom‚tre les vid‚os (timings). Les statistiques fichier par fichier ne peuvent ˆtre affich‚es que dans ANIMATOR.LOG ('-t' par d‚faut). ù v : autorise l'‚cran virtuel sur Falcon (virtual). Pour l'instant, Animator ne cr‚‚ un ‚cran virtuel qu'en pr‚sence du Videl, donc sur Falcon. Cette option est l… dans le cas o— vous utilisez sur votre Falcon une carte graphique qu'Animator ne connaŒt pas. Elle peut ‚galement vous permettre de r‚soudre d'‚ventuelles incompatibilit‚s ('+v' par d‚faut). exemple : +1s-th Active les options '1' et 's', d‚sactive les deux autres. Les piŠges J'aimerais vous donner ici quelques exemples dans lesquels vous risquez de ne pas obtenir ce que vous voulez. +s no_sound.avi Si la video ne contient pas de son, elle ne sera pas synchronis‚e. Ni d'attente, ni de saut d'image. Ce manque sera combl‚ dans les versions futures d'Animator. -r ralentit notablement la restitution des animations dont la hauteur est moindre que celle de l'‚cran (sur Falcon et avec le Videl uniquement). +1ts-hl apollo.avi +h Si vous quittez avec le bouton droit (QUIT), la fin de la ligne de commande n'est pas prise en compte : Animator n'attendra pas la frappe d'une touche. Si vous quittez avec le bouton gauche (NEXT pour la derniŠre vid‚o), la suite de la ligne de commande est prise en compte et une touche est attendue lorsque les statistiques globales sont affich‚es. Les avantages AprŠs vous avoir pr‚sent‚ les piŠges dans lesquels vous pourriez tomber, j'aimerais vous montrer que le systŠme est puissant, qu'il offre des possibilit‚s insoup‡onn‚es tout en ayant un comportement trŠs logique. -1 *.avi attend un clic gauche pour changer de fichier et attend un clic droit pour quitter. -1 *.avi +1 attend un clic gauche pour changer de fichier et quitte une fois tous les fichiers jou‚s. Un clic droit quitte. +1 *.avi joue une seule fois tous les fichiers AVI et quitte … la fin. +1 *.avi -1 joue une seule fois tous les fichiers AVI et reprend au d‚but une fois fini ! +1s *.avi -s *.avi -1 joue tous les fichiers avec la synchro, puis de mˆme, mais sans la synchro ! -h+t1 truc.avi -1t apollo.avi +ht n'attend pas de touche au d‚but, joue une fois truc.avi et le chronomŠtre, puis boucle sur apollo.avi sans le chronom‚trer et sans ‚crire dans le fichier log, et ‚cris le chronomŠtre global dans le fichier log en attendant une touche … la fin. Ouf ! Voici donc les mystŠres des options de la ligne de commande d'Aniamtor ‚lucid‚s. Rappelez vous que pour en profiter sans trop se fatiguer, je vous conseille d'installer l'application ANIMATOR … l'aide du Bureau du GEM, et de le lier … l'extension AVI. Vous pourrez alors voir les fichiers AVI en les ouvrant depuis le Bureau. 5. Programmer des modules pour Animator I vous est possible d'‚crire vos propres modules pour Animator. Il s'agit juste de programmes TOS standards qu'Animator charge dynamiquement lorsqu'il cherche un module qui gŠre une m‚thode de compression donn‚e. Les modules suivent juste quelques rŠgles sp‚cifiques d‚crites dans la documentation de modules. R‚f‚rez … cette documentation pour plus de d‚tails. Mais gardez … l'esprit que mˆme si l'architecture actuelle de ces modules est efficace, elle est amen‚e … changer … l'avenir. Je pense par exemple en venir … utiliser le format LDG (Librairies Dynamiques GEM http://ldg.atari.org/). Pour le moment, seuls deux des trois formats de modules pr‚vus ont ‚t‚ d‚fini. Les modules AVC et AAC signifient respectivement Animator Video Codec et Animator Audio Codec. Codec signifie que ces modules devraient (au mieux) ˆtre capable de d‚coder et d'encoder des donn‚es dans un format donn‚. Mais la fa‡on dont les modules encodent les donn‚es n'est pas encore d‚finie. Les modules AFH (Aimator File Handler) qui doivent g‚rer les diff‚rents formats de fichiers sont aussi pr‚vus mais pas encore d‚finis. C'est pour une future version. 6. Partager les modules d'Animator entre plusieurs applications Par d‚faut, le r‚pertoire des modules est situ‚ … c“t‚ d'Animator. Cependant, son emplacement peut ˆtre modifi‚ par l'utilisateur de maniŠre … ne pas avoir tous les modules en double ou en triple s'ils sont utilis‚s par plusieurs programmes en mˆme temps. Pour cr‚er un emplacement unique o— se trouvent les modules d'Animator, il suffit de conserver le fichier MODPLACE au mˆme niveau que le r‚pertoire MODULES et d'ajouter le r‚pertoire o— se situe MODPLACE dans la variable d'environnement PATH. Exemple : PATH=C:\;D:\;E:\GCC;C:\ANIMATOR On trouvera alors les fichiers ù C:\ANIMATOR\MOPLACE ù C:\ANIMATOR\MODULES\*.AVC,*.AAC Comme le TOS ne permet pas de cr‚er des variables d'environnement, il faut utiliser un programme qui propose cette possibilit‚ comme GEMENV. Ce programme a certes tendance a produire deux bombes assez souvent quand on maltraite l'‚diteur d'environnement, mais pour le reste, il est trŠs fiable, et je le trouve sympathique, bien utile et bien suffisant pour mes besoins. L'utilisation de GEMENV est simple : aprŠs avoir lu sa documentation, placez le fichier ROOT.ENV … la racine de votre disque de boot (ex : C:\ROOT.ENV) et GEMENV.PRG dans votre dossier AUTO. ditez C:\ROOT.ENV … l'aide de GEMENV.PRG et modifiez la ligne PATH en cliquant dessus. Ne prˆtez pas attention aux problŠmes d'affichage et ne touchez pas aux variables r‚serv‚es ENV$ROOTSIZE et ENV$OPTIONS. Demandez ensuite la sauvegarde du fichier dans les options, quittez et red‚marrez l'ordinateur. Notez que le contenu du fichier MODPLACE est sans importance, et sa taille peut ˆtre r‚duite … z‚ro au besoin. Cela dit, veillez … ne distribuer avec Animator que le fichier original, et pas une version tronqu‚e, d'avance merci. Pour finir, vous vous demandez sans doute pourquoi ˆtre oblig‚ de conserver le fichier MODPLACE … c“t‚ du r‚pertoire MODULES. La raison vient du fait que c'est la fonction systŠme Shell_Find() qui permet … Animator de localiser ses modules, et celle-ci ne sait trouver que des fichiers. Pour rappel, la recherche est d'abord effectu‚e dans le r‚pertoire courant, puis dans le r‚pertoire de l'application (donn‚ par Shel_Read()) et enfin dans les chemins indiqu‚s dans la variable d'environnement PATH. 7. Les auteurs et les Remerciements Les auteurs de ce logiciel s'appellent Benjamin Gandon (Stabylo, c'est moi) et S‚bastien Briais (Seb). Nous programmons essentiellement en assembleur au sein d'un groupe, les Removers. Les participations … la programmation d'Animator se r‚partissent comme suit. Stabylo : Le noyau et les modules que Seb n'a pas programm‚ Seb : Les modules de d‚compression sonore et plus particuliŠrement ceux qui utilisent le DSP Je tiens … remercier les personnes suivantes pour leur aide : - Pascal Ricard (pour ses tests sous Magic et avec ScreenBlaster) - Guillaume Tello (pour ses tests sur TT et CDrom) Benjamin Gandon (Stabylo/the Removers), le 20 Mars 2001