précédent   suivant   sommaire  

12. Le module des effets de transition de SMIL 2.0

Rédacteurs
Eric Hyche (ehyche@real.com), (RealNetworks)
Debbie Newman (debbien@microsoft.com), (Microsoft)

Table des matières

12.1 Introduction

Dans la plupart des descriptions publiques de SMIL, le langage est décrit comme « permettant aux auteurs d'apporter un contenu comme à la télé au Web ». Cependant, un aspect des présentations fréquemment vu à la télévision a brillé par son absence de SMIL : des transitions telles que les fondus et les balayages. Dans SMIL 1.0, toute représentation des transitions devait être « moulée dans » le média lui-même et il n'y avait aucune méthode de coordination des transitions entre les éléments des différents médias selon l'environnement de temporisation de SMIL 1.0. Le but de cette section est de spécifier la sémantique et la syntaxe pour décrire des transitions dans SMIL et dans d'autres documents basés sur XML. En outre, cette spécification décrit une taxonomie des transitions basées sur SMPTE 258M-1993 [SMPTE-EDL] ainsi qu'un ensemble compact de paramètres qui peuvent être employés pour exprimer ce jeu de transitions.

Considérez une projection de quatre images simples immobiles, chacune étant affichée pendant 5 secondes. En utilisant la temporisation de SMIL, la projection pourrait ressembler à ce qui suit :

...
<seq>
    <img src="papillon.jpg" dur="5s" ... />
    <img src="aigle.jpg"	dur="5s" ... />
    <img src="loup.jpg"	dur="5s" ... />
    <img src="phoque.jpg"	dur="5s" ... />
</seq>
...

Dans les faits, quand cette présentation est jouée, nous remarquons une « coupure » nette entre le passage d'une image à une autre, comme c'est montré dans cette image animée. Cependant, ce que nous voudrions voir ce sont trois balayages de gauche à droite entre les quatre images : entre papillong.jpg et aigle.jpg à 5 secondes, entre aigle.jpg et loup.jpg à 10 secondes et entre loup.jpg et phoque.jpg à 15 secondes. Ceci est illustré par cette image animée. Le but de ce document est de définir la syntaxe et la sémantique pour spécifier des transitions de ce type dans des documents basés sur XML.

Bien que les transitions décrites dans ce document soient des transitions visuelles, les concepts s'appliquent aussi bien aux transitions audio, en mettant l'accent sur la superposition des médias audio dans le temps plutôt que dans la disposition. Cependant, ce document ne définit aucun effet de transition audio ou ne dit pas en particulier comment les transitions audio devraient se comporter.

Ce document est organisé comme suit.

12.2 Le modèle de transition

Les transitions sont modélisées comme des comportements de filtre animé. Quand un module de transition est inclus dans un profil de langage, tous les éléments avec un contenu interprétable ont implicitement le comportement du filtre de transition qui leur est ajouté. Par défaut, le comportement n'a aucun effet, mais des attributs et des éléments sont fournis pour spécifier et contrôler l'effet du comportement de transition sur le contenu interprétable. Un contenu interprétable est déclaré dans les modules d'objet média de SMIL en utilisant des éléments médias. D'autres langages, tels que HTML, fournissent des éléments supplémentaires comme les éléments span et div pour le rendu. Dans ce document, les termes « élément média » et « objet média » comprennent tout le « contenu interprétable », défini par le langage hôte.

Le comportement du filtre de transition est d'utiliser l'arrière-plan en entrée. Dans ce contexte, l'arrière-plan consiste en ce qui sera présent à ce moment dans la disposition, là où la transition sera appliquée. Par conséquent, l'arrière-plan pourrait inclure un média changeant en activité, un média gelé ou des couleurs de remplissage pleines. Il prend également en entrée l'objet média auquel la transition sera appliquée. L'objet média peut être utilisé soit comme la source, soit comme la destination en entrée, avec l'arrière-plan assurant l'autre entrée. L'objet média définit aussi la zone dans laquelle la transition se produira. Certaines transitions, tel que le fondu en entrée à partir d'une couleur pleine, prendra seulement une entrée - l'objet média auquel la transition est appliquée.

Un paramètre libre commun à tous les comportements des filtres de transition est la progression de l'effet de transition dans la durée simple, que l'on considère être, de façon abstraite, la progression de l'effet du filtre. Nous établissons la convention que cette progression est un nombre réel dans l'intervalle 0.0-1.0, où une progression de 0.0 implique que la sortie du filtre est entièrement l'arrière-plan et où une progression de 1.0 implique que la sortie du filtre est entièrement le média de destination. Les valeurs intermédiaires produisent l'application d'un comportement du filtre de transition, combinant l'arrière-plan et le média de destination d'une certaine façon. Tous les autres paramètres de la transition sont sensés faire partie de l'effet du filtre lui-même. La progression est le seul paramètre qui est animé. D'autres paramètres sont employés pour spécifier l'effet du filtre, mais ils ne sont pas animés.

La distinction entre animer seulement la progression du filtre et animer une ou plusieurs propriétés du média est illustrée par ce qui suit. Dans le balayage de gauche à droite dans l'exemple préliminaire, nous pouvons considérer cette transition comme étant :

  1. Soitun filtre qui découpe le média de destination. Le côté gauche du rectangle de coupe étant toujours coïncident avec le côté gauche du média de destination et le côté droit du rectangle de coupe étant changeant. Par conséquent, on pourrait penser de cette transition qu'elle est l'animation du côté droit du rectangle de coupe ;
  2. Soit un filtre prédéfini pour être un balayage de gauche à droite, dont la progression varie dans l'intervalle 0.0-1.0. Quand la progression est 0.0, l'arrière-plan est visible. Quand la progression est 0.5, la moitié gauche du média de destination est visible et la moitié droite de l'arrière-plan est visible. Quand la progression est 1.0, tout le média de destination est visible.

Ceci semble être une distinction mineure pour un balayage de gauche à droite, mais alors, pensez à la distinction correspondante pour un fondu enchaîné. Nous pourrions penser d'un fondu enchaîné comme de :

  1. Une animation avec une propriété « opacité » à la fois sur le média de destination et sur l'arrière-plan ;
  2. Une animation de la progression dans un filtre qui sait qu'une progression de 0.5 signifie un fondu à 50%, une progression à 0.75 signifie 75% du média de destination et 25% de l'arrière-plan, etc.

Dans certains cas, il peut sembler commode d'animer une seule propriété particulière pour chaque type de transition. Cependant, ce modèle ne se généralise pas bien à travers la grande diversité de transitions actuellement utilisées. Par conséquent, afin de maintenir la simplicité de ce modèle, nous pensons aux deux effets de balayage de gauche à droite et de fondu enchaîné comme à des « boîtes noires » qui prennent les mêmes entrées - l'arrière-plan, le média de destination et la valeur de la progression.

Des éléments et attributs XML sont fournis pour contrôler les propriétés de la transition. Cependant, les transitions elles-mêmes ne sont pas une propriété de l'attribut ou des éléments utilisés pour contrôler le comportement de transition. Dans le modèle, les transitions sont une propriété comportementale de l'élément média lui-même.

Les transitions sont des suggestions de présentation. Les implémentations doivent pouvoir ignorer des transitions si elles le désirent et continuer de jouer le média de la présentation. Ça revient à dire que le comportement du filtre de transition ne s'exécute pas, ou n'a aucun effet. Les transitions ne modifient pas la durée active des éléments médias qui sont impliqués dans la transition. Les comportements de transition s'opèrent dans la durée simple de leurs éléments médias respectifs. Le comportement de plusieurs transitions simultanément, actives sur un élément donné est indéfini.

Nous présenterons deux méthodes de spécification des transitions :

  1. Raccourci de transition « comme un style ». Dans ce cas, l'auteur définit un ensemble de classes de transition et puis règle le comportement du filtre de transition sur une de ces classes, en utilisant des attributs sur les éléments médias. La même classe de transition peut être appliquée plusieurs fois à différents médias via les attributs transIn et transOut, comme spécifiés dans le module BasicTransitions. De plus, chacune des transitions est jouée d'une manière par défaut; c'est-à-dire, la progression parcourt 0.0-1.0 linéairement pendant la durée de transition indiquée ;
  2. Transitions en-ligne. Dans ce cas, l'auteur détient un contrôle total sur la progression de la transition. La progression peut être accélérée, ralentie, animée à l'envers, animée en avançant, etc. Ces transitions sont appliquées avec un élément transitionFilter comme décrit dans le module InlineTransitions. Les transitions en-ligne sont basées sur l'environnement d'animation du module BasicAnimation de SMIL 2.0 et permettent le contrôle explicite de la progression du comportement de transition d'un élément média, tout comme l'élément animateMotion permet la manipulation directe de la localisation spatiale d'un objet média.

12.3 La taxonomie des transitions

Nous classerons les transitions selon une taxonomie à deux niveaux de types et de sous-types. Chaque type de transition décrit un groupe de transitions qui sont étroitement liées. Dans ce type, on assigne à chacune des transitions individuelles un sous-type qui souligne la caractéristique distinctive de cette transition. Habituellement, cette caractéristique distinctive a un rapport avec l'origine ou avec la direction du motif géométrique de cette transition. Par exemple, un des types de transition est appelé "barWipe" et représente les codes 1 et 2 du balayage SMPTE. Le code 1 du balayage SMPTE est un balayage composé d'une barre verticale se déplaçant de gauche à droite. Le code 2 du balayage SMPTE est une barre horizontale se déplaçant de haut en bas. Par conséquent, le sous-type du code 1 du balayage SMPTE est appelé "leftToRight" et le sous-type du code 2 du balayage SMPTE est appelé "topToBottom".

Puisque la table des types et sous-types des transitions est assez étendue, nous ne présenterons pas la liste exhaustive ici. Pour la liste complète des types et sous-types des transitions prédéfinies, ainsi que leur application aux codes de balayage SMPTE, voir l'« Annexe ». Notez que la correspondance avec les codes de balayage SMPTE est seulement donnée comme référence.

12.3.1 Les sous-types de transition par défaut

Pour chacun des types, un des sous-types est étiqueté comme le sous-type « par défaut » dans l'« Annexe ». Si cette classe de transition n'est pas disponible ou n'est pas implémentée par l'agent utilisateur, alors l'agent utilisateur devrait retomber sur le sous-type par défaut pour cette famille de transition. Ceci permet aux auteurs de définir un type pour une classe de transitions sans exiger qu'ils définissent un sous-type pour la classe de transition. Pour plus de détails sur les règles d'analyse et sur la sémantique de repli, voir la section « Les règles d'analyse des transitions ».

12.3.2 Les transitions requises

Les implémentations sont tenues d'implémenter le sous-type par défaut pour chacun des types de transition suivants.

Type de transition Sous-type de transition par défaut Code de balayage SMPTE
barWipe leftToRight 1
irisWipe rectangle 101
clockWipe clockwiseTwelve 201
snakeWipe topLeftHorizontal 301

L'implémentation du reste des types et sous-types de transition listés dans l'« Annexe » est encouragée, mais n'est pas exigée en raison du grand nombre de transitions.

12.4 Le module BasicTransitions

Maintenant qu'une taxonomie de types et sous-types de transition est définie, nous allons examiner une syntaxe abrégée « comme un style » pour les transitions. Cette syntaxe abrégée exige la spécification de ce qui suit:

  1. La classe de transition à appliquer. Par exemple, pour utiliser un balayage de gauche à droite de 1 seconde dans une présentation, le balayage est défini comme une classe de transition définie avec l'élément transition ;
  2. Les éléments médias auxquels cette classe de transition est appliquée. Dans cette syntaxe abrégée, la classe de transition est appliquée à l'élément média avec les attributs transIn et transOut.

12.4.1 L'élément transition

L'élément transition définit une seule classe de transition. Cet élément peut apparaître dans différents endroits du document, selon le profil de langage. Cependant, dans la plupart des cas, l'élément transition sera autorisé seulement dans l'élément head du document. Pour être plus clair, un élément « conteneur » de regroupement (tel que l'élément layout dans SMIL) peut être désiré afin de regrouper tous les éléments transition. Puisqu'il peut y avoir plusieurs classes de transition utilisées dans un document, alors il peut y avoir plusieurs éléments transition dans l'élément head du document.

Attributs de l'élément

type
C'est le type ou la famille de transition. Cet attribut est exigé et doit être une des familles de transition listées dans la section traitant de la taxonomie (ou il doit être un type de transition étendu fourni par l'agent utilisateur). Voir « Les règles d'analyse des transitions » pour un algorithme qui détermine quelle transition utiliser.
subtype
C'est le sous-type de la transition. Ce paramètre est facultatif et s'il est spécifié, il doit être un des sous-types de transition approprié pour le type spécifié selon la liste dans l'« Annexe » (ou il doit être un sous-type de transition étendu fourni par l'agent utilisateur). Si ce paramètre n'est pas spécifié alors la transition reprend le sous-type par défaut pour le type de transition spécifié. Voir « Les règles d'analyse des transitions » pour un algorithme qui détermine quelle transition utiliser.
dur
C'est la durée de la transition. La valeur de cet attribut doit être une valeur clock-value comme définie par le module de temporisation et de synchronisation de SMIL. La durée par défaut est la durée intrinsèque intégrée à la transition. Toutes les transitions définies dans l'« Annexe » ont une durée par défaut de 1 seconde.
startProgress
C'est la valeur de la progression de la transition à laquelle commencer l'exécution. Les valeurs légales sont des nombres réels dans l'intervalle 0.0-1.0. Par exemple, nous pouvons vouloir commencer un fondu enchaîné avec l'image de destination déjà à 30% du fondu d'entrée. Pour ce cas, startProgress sera à 0.3.
La valeur par défaut est 0.0.
endProgress
C'est la valeur de la progression de la transition à laquelle terminer l'exécution. Les valeurs légales sont des nombres réels dans l'intervalle 0.0-1.0 et la valeur de cet attribut doit être supérieure ou égale à la valeur de l'attribut startProgress. Si endProgress est égal à startProgress, alors la transition reste à une valeur fixée pour la durée de la transition.
La valeur par défaut est 1.0.
direction
Ceci spécifie la direction vers laquelle la transition s'exécutera. Les valeurs légales sont "forward" et "reverse". La valeur par défaut est "forward". Notez que ceci n'affecte pas le média auquel la transition est appliquée, mais affecte seulement la géométrie de la transition. Par exemple, si vous spécifiez un type "barWipe" et un sous-type "leftToRight", alors le média sera balayé par une barre verticale allant de gauche à droite. Cependant, si vous spécifiez direction="reverse", alors il sera balayé par la même barre verticale allant de droite à gauche. Un autre exemple est le type "starWipe" et un sous-type "fourPoint". Pour cette transition, l'exécution de la transition en avançant fait apparaître le média de destination à l'intérieur d'une étoile à quatre branches qui commence petite et qui devient plus large au fur et à mesure que la transition progresse. L'exécution de cette transition à l'inverse fera apparaître le média de destination dans la zone extérieure à une grande étoile à quatre branches. L'étoile commencera grande et deviendra plus petite au fur et à mesure que la transition progressera. Notez que les transitions n'auront pas toutes des interprétations inverses significatives. Par exemple, un fondu enchaîné n'est pas une transition géométrique et, par conséquent, n'a pas d'interprétation pour une direction inverse. Les transitions qui n'ont pas d'interprétation inverse devraient ignorer l'attribut direction et prendre la valeur par défaut "forward".
fadeColor
Si la valeur de l'attribut type est "fade" et la valeur de l'attribut subtype est "fadeToColor", ou "fadeFromColor", alors cet attribut spécifie la couleur de début ou de fin du fondu. Si la valeur de l'attribut type n'est pas "fade", ou que la valeur de l'attribut subtype n'est pas "fadeToColor", ou "fadeFromColor", alors cet attribut est ignoré. Les valeurs de couleur légales sont les valeurs de couleur système de CSS2 errata-E29 vf.
La valeur par défaut est "black".

Contenu de l'élément

L'élément transition peut avoir l'élément param comme enfant.

Exemples avec l'élément transition

Par exemple, supposez que nous voulons définir deux classes de transition : un simple fondu vers le noir de 2 secondes et un balayage en iris de 5 secondes. Ces classes de transition peuvent être exprimées ainsi :

    ...
    <transition id="ftb2" type="fade" subtype="fadeToColor"
		dur="2s" color="#000000" /> errata-E24
    <transition id="star5" type="starWipe" subtype="fivePoint"
		dur="5s" />
    ...

12.4.2 L'élément param

L'ensemble des paramètres examinés ci-dessus est adéquat pour exprimer toutes les transitions définies dans ce document. Cependant, une implémentation peut choisir d'étendre l'ensemble des transitions et définir ses propres types et sous-types de transition. Certaines de ces nouvelles classes de transition peuvent nécessiter des paramètres qui ne sont pas couverts par l'ensemble des attributs communs listés ci-dessus. Le but de l'élément param est de donner un moyen générique pour fournir des paramètres à ces types et sous-types de transition étendus.

L'élément transition peut prendre comme enfant l'élément param, défini dans « Le module MediaParam de SMIL ». Cet élément peut être issu de HTML ou d'un autre module, selon le profil de langage hôte.

Par exemple, supposez qu'une implémentation décide de créer un nouveau type de transition appelé "superCool" et un sous-type appelé "flamme". Cette nouvelle transition a besoin d'un paramètre appelé "longueurFlamme". L'exemple ci-dessous montre comment cette implémentation pourrait utiliser l'élément param pour fournir une valeur à "longueurFlamme".

<transition id="myfire" type="superCool" subtype="fire">
    <param name="longueurFlamme" value="20" >
</transition>

Notez que la signification des paramètres supplémentaires fournis à l'élément transition dépend de l'implémentation de la transition en question.

12.4.3 Les attributs transIn et transOut

Une fois qu'une classe de transition a été définie dans l'en-tête du document, une instance de transition peut être créée en appliquant la classe de transition à la durée active d'un élément objet média ou d'un autre élément avec un « contenu interprétable ». Nous faisons ceci en spécifiant un attribut transIn ou transOut sur l'élément objet média. Les transitions définies avec l'attribut transIn commenceront au début de la durée active de l'élément média. Les transitions définies avec l'attribut transOut se termineront à la fin de la durée active de l'élément média ou à la fin de l'état de remplissage de l'élément, si l'attribut fill n'est pas spécifié avec une valeur par défaut.

Les attributs transIn et transOut sont ajoutés à tous les éléments objets médias listés dans « Le module d'objet média de SMIL ». La valeur par défaut des deux attributs est une chaîne vide, indiquant qu'aucune transition ne devrait être exécutée.

La valeur de ces attributs est une liste, dont le séparateur est le point-virgule, des id des transitions. Chaque id devrait correspondre à la valeur de l'identifiant XML d'un des éléments transition précédemment définis dans le document. Le but de la liste est de permettre aux auteurs de spécifier un ensemble de transitions de repli, si la transition préférée n'était pas disponible. La première transition de la liste devrait être exécutée si l'agent utilisateur a implémenté cette transition. Si cette transition n'était pas disponible, alors la deuxième transition de la liste devrait être exécutée, et ainsi de suite. Si la valeur de l'attribut transIn, ou transOut, ne correspond à aucune des valeurs d'identifiant XML des éléments transition précédemment définis, alors il y a une erreur. Dans le cas de cette erreur, la valeur de l'attribut devrait être une chaîne vide et, par conséquent, aucune transition ne devrait être exécutée. Pour plus de détails sur les règles d'analyse, voir la section « Les règles d'analyse des transitions ».

Les règles d'application des transitions aux éléments médias

  1. Puisque le but des transitions est le passage d'un objet média à un autre, les transitions doivent donc être appliquées soit au début, soit à la fin (ou les deux) des objets médias.

    Cependant, l'effet visuel peut faire croire que cette transition est appliquée au milieu de la durée active d'un élément. Considérez l'exemple suivant:

    	 ...
        <par>
    	<img src="papillon.jpg" dur="10s" />
    	<img src="aigle.jpg" begin="3s" dur="4s" />
        </par>
        ...
    
    

    En supposant que "aigle.jpg" est par-dessus le niveau d'empilement de "papillon.jpg", alors les transitions appliquées au début et à la fin de "aigle.jpg" donneraient l'impression visuelle d'être appliquées pendant la durée active de "papillon.jpg". Cependant, du point de vue de l'auteur, elles sont appliquées au début et à la fin de "aigle.jpg" ;

  2. Par défaut, les transitions se produisent pendant la durée active plus une éventuelle période de remplissage de l'élément auquel elles sont appliquées. Voir la règle suivante pour l'effet de la valeur de l'attribut fill sur le temps de début d'une transition sortante (transOut). Appliquer une transition à un élément n'affecte pas la durée de l'élément. Par exemple, dans l'exemple ci-dessous, l'application d'une transition de 1 seconde au début de "aigle.jpg" ne s'ajoute ni ne se retranche à la durée active de "aigle.jpg" - l'image est toujours affichée de 5 à 10 secondes dans la présentation. L'application d'une transition de 1 seconde au début de "aigle.jpg" fait se dérouler la transition des secondes 5 à 6 et l'application d'une transition de 2 secondes à la fin de "aigle.jpg" fait se dérouler la transition des secondes 8 à 10.
    ...
    <seq>
        <img src="papillon.jpg" dur="5s" ... />
        <img src="aigle.jpg" dur="5s" ... />
    </seq>
    ...
    
  3. Les transitions sortantes (transOut) se terminent à la fin de la durée active de l'élément, augmentée d'une éventuelle période de remplissage. Pour les éléments avec un comportement d'attribut fill à "remove", par défaut, les transitions sortantes se terminent à la fin de la durée active de l'élément. Pour les éléments avec d'autres valeurs de l'attribut fill, la transition se terminera à la fin de la période de gel de l'élément.

    Par exemple, dans la présentation suivante, le comportement de l'attribut fill de l'élément image est "freeze", qui garde l'image gelée jusqu'à ce que son parent se termine. Le parent se termine quand tous les enfants se terminent, qui est la fin de video à 30 secondes. Afin de pouvoir finir à la fin de la durée gelée (30 secondes), la transition de fondu vers le noir débute à 29 secondes. Par conséquent, les deux éléments se fondent au noir ensemble à 29 secondes.

    	 ...
        <transition id="toblack1s" type="fade" subtype="fadeToColor"
    		   fadeColor="#000000" dur="1s"/>
        ...
        <par>
    	<img   ... dur="10s" transOut="toblack1s" fill="freeze"/>
    	<video ... dur="30s" transOut="toblack1s"/>
        </par>
    
    

    Cependant, dans l'exemple suivant, le comportement de l'attribut fill de l'élément image est "remove". Par conséquent, la transition se termine à la fin de la durée active de l'élément. L'élément image se fond au noir en commençant à 9 secondes et l'élément video se fond au noir en commençant à 29 secondes.

    	 ...
    
        <transition id="toblack1s"   type="fade" subtype="fadeToColor"
    		   color="#000000" dur="1s"/> errata-E24
        ...
        <par>
    	<img   ... dur="10s" transOut="toblack1s" fill="remove"/>
    	<video ... dur="30s" transOut="toblack1s"/>
        </par>
    
    
  4. La durée active de l'élément média vers lequel appliquer la transition ( le média de destination) doit soit chevaucher la durée active, soit l'état de remplissage de l'élément média à partir duquel appliquer la transition (l'arrière-plan). Dans l'exemple préliminaire, la durée active de chaque objet média de destination suit immédiatement la fin de la durée active de chaque objet média en arrière-plan. Dans ces cas (où les durées actives se suivent immédiatement mais ne se chevauchent pas), la valeur de fill="transition" doit être employée pour permettre la transition entre la dernière image gelée du média précédent (arrière-plan) et les images actives du média en cours (destination). Voir « L'utilisation de fill="transition" » pour plus d'information. Dans les cas où les durées actives se chevauchent (et où les médias qui sont joués sont dans des niveaux d'empilement différents), la transition s'effectue entre les images actives des deux médias.

    Dans l'exemple suivant, les durées actives ne se chevauchent pas, mais fill="transition" gèle la dernière image de la première vidéo. Le résultat est un fondu enchaîné entre la dernière image de "foo1.mpg" et les images actives de "foo2.mpg".

    	 ...
        <seq>
    	<video src="foo1.mpg" fill="transition"... />
    	<video src="foo2.mpg" transIn="xfade1s" ... />
        </seq>
        ...
    
    

    Dans la présentation suivante, cependant, les fondus enchaînés au début et à la fin de "foo2.mpg" s'effectuent entre les images actives de "foo1.mpg" et "foo2.mpg" puisque leurs durées actives se chevauchent. L'exemple suppose que les vidéos sont à des niveaux d'empilement différents.

    	 ...
        <transition id="xfade" type="fade" subtype="crossfade" dur="1s" />
        ...
        <par>
    	<video src="foo1.mpg" dur="30s" />
    	<video src="foo2.mpg" begin="10s" dur="10s"
    	       transIn="xfade" transOut="xfade" />
        </par>
        ...
    
    
  5. Si les durées actives des objets médias impliqués dans la transition ne se chevauchent pas, alors l'arrière-plan de la zone derrière les médias devrait être utilisée. Par exemple, les durées actives de "img1.jpg" et "img2.jpg" ne se chevauchent pas dans l'exemple suivant. Par conséquent, l'image "img1.jpg" effectuera une transition avec ce qu'il y a derrière elle.
    	 ...
        <transition id="awipe" type="barWipe" dur="1s" ... />
        ...
        <par>
    	<img src="img1.jpg" dur="2s" transOut="awipe" .../>
    	<img src="img2.jpg" begin="5s" dur="2s"	 .../>
        </par>
        ...
    
    
  6. Si à la fois une transition entrante et une transition sortante sont spécifiées pour un élément média, et que les temps pour ces transitions se chevauchent, alors la transition entrante a la priorité et la transition sortante ignorée, et aucune transition sortante ne devrait être exécutée.

    Par exemple, dans l'exemple suivant, la transition entrante "barWipe" sera prioritaire sur la transition sortante "fadeToColor". La transition entrante interviendra entièrement pendant les 2 premières secondes de "img1.jpg" et la transition sortante ignorée, et aucune transition sortante n'est exécutée.

    	 ...
        <transition id="awipe"	type="barWipe"	  dur="2s" ... />
        <transition id="toblack" type="fadeToColor dur="2s" ... />
        ...
        <img src="img1.jpg" dur="3s" transIn="awipe" transOut="toblack" .../>
        ...
    
  7. Puisque les transitions impliquent un passage du début, ou de la fin, de l'affichage d'un média vers un autre, les transitions ne sont pas répétées.

    Considérez l'exemple suivant. L'image "img2.jpg" a une durée simple de 5 secondes, mais une durée active de 15 secondes, puisqu'elle est jouée trois fois au total. Cependant, la transition entrante est jouée seulement une fois au début de la durée active de "img2.jpg", qui est à 5 secondes dans la durée active du conteneur de temps de la séquence. La transition sortante est également jouée une seule fois, en commençant à 19 secondes dans la durée active du conteneur de temps.

    	 ...
        <transition id="awipe"	type="barWipe"	   dur="1s" ... />
        <transition id="toblack" type="fadeToColor" dur="1s" ... />
        ...
        <seq>
    	<img src="img1.jpg" dur="5s" fill="transition" .../>
    	<img src="img2.jpg" dur="5s" repeatCount="3"
    	     transIn="awipe" transOut="toblack" ... />
    	<img src="img3.jpg" dur="5s" .../>
        </seq>
        ...
    
    

L'utilisation de fill="transition"

L'attribut fill, défini dans « Les modules de temporisation et de synchronisation de SMIL », permet à un auteur de spécifier qu'un élément devrait être prolongé au-delà de sa durée active en gelant l'état final de l'élément. Une nouvelle valeur pour fill, "transition", est requise pour permettre des transitions entre des éléments qui ne devraient pas normalement être affichés en même temps. La valeur de l'attribut fill peut être appliqué seulement aux éléments avec un contenu interprétable et n'est pas applicable aux éléments conteneur de temps purs, tels que par, seq et excl. Si fill="transition" est appliqué à un élément conteneur de temps pur, alors la valeur est ignorée et reprend sa valeur par défaut.

La valeur fill="transition" indique, après que sa durée active est écoulée, que l'élément sera gelé et le restera jusqu'à la fin de la transition suivante sur un élément avec lequel il se chevauche dans la disposition. L'élément contenant fill="transition" sera retiré quand la transition se terminera. Les règles de temporisation définies dans « Les modules de temporisation et de synchronisation de SMIL » s'appliquent toujours : l'élément est sujet aux contraintes de son conteneur de temps parent et peut être retiré par son parent indépendamment du fait qu'une transition est déclarée ou non. Chaque profil doit définir l'interprétation d'un chevauchement dans la disposition.

Dans l'exemple suivant, qui n'utilise pas de transitions, le comportement par défaut est de retirer l'objet représentant "img1.jpg" après 10 secondes.

    ...
    <seq>
	<img src="img1.jpg" dur="10s" ... />
	<img src="img2.jpg" dur="10s" ... />
    </seq>
    ...

Ajouter une transition entre "img1.jpg" et "img2.jpg" requiert que "img1.jpg" reste affiché après que sa durée active est écoulée et, ainsi, il peut être utilisé par la transition vers "img2.jpg". La première image est retirée dès que la transition est terminée. La spécification fill=>="transition" permet ce comportement, illustré par l'exemple suivant.

    ...
    <transition id="awipe" type="barWipe" dur="1s" ... />
    ...
    <seq>
	<img src="img1.jpg" dur="10s" fill="transition" ... />
	<img src="img2.jpg" dur="10s" transIn="awipe"   ... />
    </seq>
    ...

Exemple de diaporama avec des transitions

Après l'ajout des attributs fill et transIn, notre exemple de diaporama de la section Introduction ressemble à ce qui suit :

...
<transition id="wipe1" type="barWipe" subtype="leftToRight" dur="1s"/>
...
<seq>
    <img src="papillon.jpg" dur="5s" fill="transition" ... />
    <img src="aigle.jpg" dur="5s" fill="transition" transIn="wipe1" ... />
    <img src="loup.jpg" dur="5s" fill="transition" transIn="wipe1" ... />
    <img src="phoque.jpg" dur="5s" transIn="wipe1" ... />
</seq>

La présentation est maintenant jouée comme c'est décrit par la suite, et comme c'est illustré par cette image animée.

Notez que ces transitions se produisent pendant la durée active de chacune des images qui référencent la transition et ne s'ajoutent ni ne se retranchent de la durée active de l'élément qui les héberge. Dans ce cas, la transition se produit au début de la durée active de chaque élément média.

Notez l'importance de fill="transition". Si nous n'avions pas spécifié fill="transition" sur "papillon.jpg", "aigle.jpg" et "loup.jpg", alors les transitions à 5, 10 et 15 secondes auraient été effectuées avec l'arrière-plan de la zone de lecture (ou la couleur de l'arrière-plan par défaut, selon la spécification du langage de disposition), au lieu de la précédente image dans la séquence.

Les enfants exclusifs et fill="transition"

La spécification fill="transition" permet également des transitions d'un enfant exclusif à un autre quand l'enfant actif précédent est normalement retiré de l'affichage. Dans l'exemple suivant, la première image, qui est en transition avec l'arrière-plan, s'affiche pendant 5 secondes et puis se gèle à cause de fill="transition". L'enfant suivant, activé par un clic de bouton sera en transition avec "papillon.jpg". Quand cet enfant sera terminé, il gèlera également, à cause de fill="transition", restant disponible pour être utilisé dans la transition suivante. Il sera en transition avec l'image suivante activée par un clic de bouton, et ainsi de suite.

...
<transition id="wipe1" type="barWipe" subtype="leftToRight" dur="1s"/>
...
<excl>
    <img src="papillon.jpg" begin="0" dur="5s" fill="transition" transIn="wipe1" ... />
    <img src="aigle.jpg" begin="button1.click" dur="5s" fill="transition" transIn="wipe1" ... />
    <img src="loup.jpg" begin="button2.click" dur="5s" fill="transition" transIn="wipe1" ... />
    <img src="phoque.jpg" begin="button3.click" dur="5s" fill="transition" transIn="wipe1" ... />
</excl>

Notez que l'attribut fill prend effet après la durée active d'un élément qui est terminé. Dans l'exemple ci-dessus, si "button2" est cliqué à 3 secondes, alors "papillon.jpg" se terminera, et la valeur de fill="transition" pour "papillon.jpg" sera activée par la fin de la transition suivante. Par conséquent, la transition se produira de "papillon.jpg" vers "loup.jpg" et l'image "papillon.jpg" gelée disparaîtra quand la transition sera finie.

L'attribut pauseDisplay de l'élément priorityClass, défini dans « Les modules de temporisation et de synchronisation de SMIL », peut aussi être employé pour contrôler l'affichage des enfants d'un élément exclusif. Dans l'exemple ci-dessus, l'attribut pauseDisplay pourrait être employé pour garder l'image "papillon.jpg" affichée quand elle est en pause, ainsi la transition se produirait entre "papillon.jpg" et le prochain média activé, et l'image "papillon.jpg" continuerait à être affichée après la transition (en supposant qu'elle ne soit pas complètement recouverte par l'autre média).

12.4.4 La gestion des erreurs des paramètres

Des paramètres de transitions peuvent être mal spécifiés de différentes façons avec des niveaux variés de gravité. Pour ces raisons, les erreurs suivantes devraient être gérées par l'action spécifiée :

  1. Le type de la transition n'est pas valide. Si l'implémentation ne reconnaît pas la valeur du type de l'attribut, ou si ce type de transition n'est pas implémenté, alors cette classe de transition n'est pas valide. Cependant, ça ne signifie pas nécessairement qu'aucune transition ne sera exécutée, comme spécifié dans la section « Les règles d'analyse des transitions » ;
  2. Le sous-type de la transition n'est pas valide pour le type de transition spécifié. Le sous-type de transition spécifié devrait être ignoré et le sous-type par défaut pour le type de transition indiqué devrait être exécuté ;
  3. La durée de la transition n'est pas spécifiée. La durée par défaut de 1 seconde devrait être utilisée ;
  4. Le paramètre de la transition, hormis le type ou le sous-type, est en dehors de l'intervalle légal. Si un paramètre de transition est spécifié en dehors de l'intervalle légal, alors la valeur par défaut du paramètre devrait être utilisée ;
  5. Le paramètre de la transition ne s'applique pas à ce type de transition. Puisque tous les paramètres de transition ne s'appliquent pas tous aux types de transition, alors une erreur commune pourrait être de spécifier un paramètre de transition qui ne s'applique pas au type de transition indiqué. Ces paramètres non-pertinents devraient être ignorés. Par exemple, le paramètre "borderWidth" ne s'applique pas au type de transition "fade". Si "borderWidth" devait être spécifié pour le type de transition "fade", alors il devrait être ignoré ;
  6. La durée de la transition est supérieure à la durée de l'objet média en question. Dans ce cas, la transition entière devrait être ignorée et ne pas être exécutée.

12.4.5 Les règles d'analyse des transitions

Comme indiqué précédemment, chaque élément transition peut avoir un sous-type de transition par défaut. De plus, les attributs transIn ou transOut des éléments médias prennent une liste d'id de transition, dont le séparateur est le point-virgule, pour indiquer une liste de transitions de repli. Pour éliminer les ambiguïtés entre les sous-types par défaut et la liste de repli, cette section définit un algorithme qui doit être suivi pour déterminer la transition à exécuter. La procédure générale est que la première transition résolue de la liste des transitions de repli est celle qui devrait être exécutée.

En donnant un ou plusieurs éléments transition précédemment déclarés et une liste des id des transitions de repli (spécifiée par les attributs transIn ou transOut), une implémentation doit utiliser l'algorithme suivant pour déterminer la transition à exécuter.

  1. Donner à la valeur current-id le premier id de la liste ;
  2. Si la valeur current-id est vide (nous n'avons plus d'id dans la liste), quitter cet algorithme. L'implémentation ne doit pas considérer ceci comme une erreur et ne doit exécuter aucune transition ;
  3. Si la valeur current-id est l'id d'un élément transition précédemment défini, alors aller à l'étape 4. Sinon, donner à la valeur current-id le prochain id de la liste et retourner à l'étape 2 ;
  4. Si la valeur de l'attribut type de l'élément transition, identifié par current-id, est connue de l'implémentation, aller à l'étape 5. Sinon, donner à la valeur current-id le prochain id de la liste et retourner à l'étape 2 ;
  5. Si l'attribut subtype est spécifié sur l'élément transition, identifié par current-id, aller à l'étape 6. S'il n'est pas spécifié, l'implémentation doit quitter cet algorithme et exécuter le sous-type de transition par défaut pour le type de transition indiqué ;
  6. Si la valeur de l'attribut subtype sur l'élément transition, identifié par current-id, est connue de l'implémentation, alors l'implémentation doit quitter cet algorithme et exécuter la transition spécifiée par le type et le sous-type. Sinon, donner à la valeur current-id le prochain id de la liste et retourner à l'étape 2.

12.4.6 L'extension du jeu de transitions

Dans l'algorithme spécifié ci-dessus pour déterminer quelle transition effectuer, il y a une méthode implicite pour étendre le jeu des transitions. Si la nouvelle transition n'appartient à aucune des descriptions générales des familles de transitions dans la section « La taxonomie des transitions », les implémentations peuvent créer un nouveau type de transition (une nouvelle famille de transitions) et ensuite créer des nouveaux sous-types de transition pour ce type nouvellement défini. Cependant, il est recommandé que si la nouvelle transition appartient à une famille de transitions existante, les implémentations devraient simplement étendre l'ensemble de sous-types pour ce type existant. Les implémentations peuvent utiliser les noms de type et de sous-type de leur choix pour ces transitions étendues. Cependant, quand ces nouvelles transitions sont utilisées dans un document, elles doivent avoir un espace de nommage qualifié.

12.5 Le module InlineTransitions

Comme mentionné dans la section « Le modèle de transition », les transitions de SMIL 2.0 autorisent deux méthodes pour spécifier des transitions : une méthode abrégée et une méthode en-ligne. Le module BasicTransitions spécifie la méthode abrégée alors que ce module spécifie la méthode en-ligne. Les transitions en-ligne fournissent un contrôle supplémentaire de la temporisation et de la progression par rapport aux transitions abrégées. L'élément transitionFilter offre une gestion des transitions en-ligne.

12.5.1 L'élément transitionFilter

L'élément transitionFilter est un élément d'animation similaire à l'élément animateMotion, défini dans « Le module BasicAnimation de SMIL 2.0 ». L'élément animateMotion anime la position d'un élément. En revanche, l'élément transitionFilter anime la progression du comportement d'un filtre (transition) sur un élément média ou sur des éléments avec un contenu interprétable. Le comportement du filtre modifie temporairement le rendu visuel ou auditif du média. L'élément transitionFilter peut cibler n'importe quel élément avec un « contenu interprétable », pas nécessairement un élément média. Le langage hôte détermine quels sont les éléments auxquels transitionFilter peut être appliqué. Par exemple, en HTML, les éléments span ou div peuvent représenter un « contenu interprétable ». L'élément transitionFilter peut cibler un élément de contenu interprétable de deux façons : il peut être l'enfant de cet élément, ou le cibler avec l'attribut targetElement.

L'élément transitionFilter partage plusieurs attributs avec l'élément transition. Il intègre la gestion de la temporisation du module BasicInlineTiming de SMIL 2.0 et la gestion de l'animation du module BasicAnimation de SMIL 2.0. Ce module peut également être combiné avec d'autres modules SMIL 2.0, tel que le module TimeManipulations, selon les modules implémentés par le langage hôte.

Cet élément doit être l'enfant d'un élément média ou d'un autre élément avec un contenu interprétable, comme défini par le langage hôte. Ceci contrairement au module BasicTransitions, où il est déclaré dans l'élément transition et puis spécifié par les attributs transIn ou transOut qui sont appliqués aux éléments médias. errata-E25

De la même façon que transIn et transOut sont des attributs de l'objet média auquel la transition est appliquée, l'élément transitionFilter est un enfant de l'objet média auquel la transition est appliquée. Cependant, bien que l'élément transitionFilter soit l'enfant d'un objet média, ce n'est pas un conteneur de temps, et il ne peut pas allonger la durée active de l'objet média. Par conséquent, si transitionFilter est un enfant d'un élément média, il peut seulement appliquer une transition à cet élément média pendant la durée active de cet élément média. Si on veut appliquer une transition pendant la période de gel d'un élément, alors transitionFilter ne devrait pas être un enfant de l'élément média. À la place, c'est l'attribut targetElement qui devrait être employé pour cibler l'élément média.

Notez que l'élément transitionFilter représente une transition « entrante » dans le sens où le média de destination (le média qui est entièrement visible quand la progression est 1.0) est le média auquel la transition est appliquée (le média parent, dans ce cas). Cependant, puisque transitionFilter donne un contrôle total sur la temporisation de la progression, une transition « entrante » peut ressembler à une transition « sortante », en exécutant simplement la transition d'une progression de 1.0 et en terminant la transition à une progression de 0.0.

Attributs de l'élément transitionFilter

type
C'est le même attribut que celui de l'élément transition.
subtype
C'est le même attribut que celui de l'élément transition.
mode
Indique si l'élément parent de transitionFilter sera une transition entrante ou sortante. Les valeurs légales sont "in" indiquant que le média parent deviendra de plus en plus visible à mesure que la progression de la transition augmentera et "out" indiquant que le parent média deviendra de moins en moins visible à mesure que la progression de la transition augmentera. La valeur par défaut est "in". À la différence des attributs transIn et transOut sur les éléments médias, l'attribut mode ne relie pas automatiquement transitionFilter au début ou à la fin du média. Les auteurs peuvent utiliser l'attribut begin de transitionFilter pour indiquer le temps de début pour transitionFilter.
fadeColor
C'est le même attribut que celui de l'élément transition.
begin
Défini dans « Les modules de temporisation et de synchronisation de SMIL ». Cet attribut est facultatif et, par défaut, est égal à 0 seconde.
dur
Défini dans « Les modules de temporisation et de synchronisation de SMIL ». La durée par défaut est la durée intrinsèque intégrée à la transition. Toutes les transitions définies dans l'« Annexe » ont une durée par défaut de 1 seconde.
end
Défini dans « Les modules de temporisation et de synchronisation de SMIL ».
repeatCount
Défini dans « Les modules de temporisation et de synchronisation de SMIL ».
repeatDur
Défini dans « Les modules de temporisation et de synchronisation de SMIL ».
from
Valeur de la progression de transitionFilter à laquelle débuter l'exécution de transitionFilter. Les valeurs légales sont des nombres réels dans l'intervalle 0.0-1.0. Par exemple, cet attribut serait égal à "0.3" pour débuter un fondu enchaîné avec l'image de destination fondue à 30%. Cet attribut est défini dans « Le module BasicAnimation de SMIL 2.0 » et est similaire à l'attribut startProgress de l'élément transition. La valeur par défaut est 0.0. Ignoré si l'attribut values est spécifié.
to
Valeur de la progression de transitionFilter à laquelle terminer l'exécution de transitionFilter. Les valeurs légales sont des nombres réels dans l'intervalle 0.0-1.0. Cet attribut est défini dans « Le module BasicAnimation de SMIL 2.0 » et est similaire à l'attribut endProgress de l'élément transition. La valeur par défaut est 1.0. Ignoré si l'attribut values est spécifié.
by
Spécifie une valeur de décalage relative pour la progression de transitionFilter. Les valeurs légales sont des nombres réels dans l'intervalle 0.0-1.0. Défini dans le « Le module BasicAnimation de SMIL 2.0 ». Ignoré si l'attribut values est spécifié.
values
Une liste, dont le séparateur est le point-virgule, d'une ou plusieurs valeurs indiquant la progression de transitionFilter. Cet attribut peut fournir un contrôle sur la progression plus précis qu'une combinaison des attributs from, to et by et surclasse ces attributs s'il est spécifié. Les valeurs légales sont des nombres réels dans l'intervalle 0.0-1.0. Défini dans « Le module BasicAnimation de SMIL 2.0 ». Utilise l'attribut calcMode pour déterminer comment les valeurs sont interpolées.
calcMode
Spécifie le mode d'interpolation de la progression de transitionFilter. Défini dans « Le module BasicAnimation de SMIL 2.0 ». L'attribut calcMode peut prendre n'importe laquelle des valeurs suivantes :
discrete
Spécifie que la progression de transitionFilter passera d'une valeur à la suivante sans aucune interpolation.
linear
Une interpolation linéaire simple est utilisée entre les valeurs pour calculer la progression de transitionFilter. C'est la valeur par défaut.
paced
Cette valeur sera ignorée si elle est spécifiée pour un élément transitionFilter. La valeur par défaut ("linear") sera utilisée à la place.
targetElement
Cette attribut spécifie l'élément cible à animer. La valeur d'attribut doit être la valeur d'attribut d'un identifiant XML d'un élément (i.e., un "IDREF") dans le document hôte. Pour une définition formelle de IDREF, se référer à XML 1.0 [XML10].
href
Cet attribut spécifie l'élément cible à animer. La valeur d'attribut doit être un localisateur XLink, référençant l'élément cible à animer.

Lors de l'intégration des éléments transitionFilter dans le langage hôte, le concepteur de langage devrait éviter d'inclure ces deux derniers attributs en même temps. Si, toutefois, le concepteur du langage hôte choisit d'inclure les deux attributs en même temps dans le langage hôte, alors quand les deux sont spécifiés pour un élément d'animation donné, l'attribut XLink href a la priorité sur l'attribut targetElement.

L'avantage d'utiliser l'attribut targetElement est la syntaxe plus simple de la valeur d'attribut comparée à l'attribut href. L'avantage d'utiliser l'attribut XLink href est qu'il pourra s'étendre à un mécanisme de lien complet dans les futures versions des transitions de SMIL, et que l'élément d'animation peut être traité par des processeurs XLink génériques. La forme XLink est également donnée pour les langages hôtes qui sont conçus pour utiliser XLink pour toutes ces références. Les deux exemples suivants illustrent ces deux approches.

Cet exemple utilise la syntaxe plus simple de targetElement :

<transitionFilter targetElement="foo" .../>

Cet exemple utilise la syntaxe plus flexible du localisateur XLink, pour la cible équivalente :

<foo xmlns:xlink="http://www.w3.org/1999/xlink">
    ...
    <transitionFilter xlink:href="#foo" .../>
    ...
</foo>

En utilisant un attribut XLink href sur un élément transitionFilter, les attributs XLink supplémentaires suivants doivent être définis dans le langage hôte. Ils peuvent être définis dans un DTD, ou le langage hôte peut les exiger dans la syntaxe du document pour la gestion de processeurs XLink génériques. Pour plus d'information, se référer à [XLINK].

Les attributs XLink suivants sont requis par la spécification XLink. Les valeurs sont fixées, et donc peuvent être spécifiées en tant que telles dans un DTD. Tous les autres attributs XLink sont facultatifs et n'affectent pas la sémantique des transitions de SMIL.

Attributs XLink pour href
type
Doit avoir la valeur simple. Identifie le type XLink utilisé.
actuate
Doit avoir la valeur onLoad. Indique que le lien de l'élément cible est suivi automatiquement (i.e., sans action de l'utilisateur).
show
Doit avoir la valeur embed. Indique que la référence n'inclut pas de contenu supplémentaire dans le fichier.

Des détails supplémentaires sur la spécification de l'élément cible associé au document hôte sont décrits dans la section « L'intégration ».

Elément média avec fill="transition"
fill
Ce module ajoute la valeur "transition" aux valeurs possibles de l'attribut fill défini pour un média dans « Les modules de temporisation et de synchronisation de SMIL ». C'est le même attribut que celui spécifié dans le module BasicTransitions.

Contenu de l'élément

L'élément transitionFilter peut avoir l'élément param pour enfant.

Exemples avec l'élément transitionFilter

Exemple 1 : un diaporama avec transitionFilter

L'exemple suivant utilise des transitions en-ligne pour un diaporama qui inclut des transitions entre les images, similaire à l'exemple examiné dans l'introduction. La présentation se joue ainsi.

...
<seq>
    <img id="papillon" src="papillon.jpg" dur="5s" fill="transition" />
    <img id="aigle" src="aigle.jpg" dur="5s" fill="transition" >
	<transitionFilter type="barWipe" subtype="leftToRight" dur="1s" />
    </img>
    <img id="loup" src="loup.jpg" dur="5s" fill="transition" >
	<transitionFilter type="barWipe" subtype="leftToRight" dur="1s" />
    </img>
    <img id="phoque" src="phoque.jpg" dur="5s" >
	<transitionFilter type="barWipe" subtype="leftToRight" dur="1s" />
    </img>
</seq>
...

Exemple 2 : transition d'horloge avec transitionFilter et "discrete"

L'exemple suivant utilise une liste values et la valeur "discrete" de calcMode pour spécifier la progression de la transition en 12 étapes. La transition débute 2 secondes après le début de la vidéo et continue pendant 12 secondes. Puisque la transition est circulaire, l'effet est celui du balayage d'une horloge qui laisse voir une heure à la fois.

<video id="video1" src="car.avi">
    <transitionfilter id="trans1"
	 type="ellipseWipe" subtype="circle"
	 begin="2" dur="12" calcMode="discrete"
	 values="0.083; 0.166; 0.250; 0.333; 0.416; 0.500;
	     0.583; 0.666; 0.750; 0.833; 0.916; 1.000;" />
</video>

Exemple 3 : transitionFilter avec les attributs from et to

L'exemple suivant utilise une transition partielle qui progresse de 0 à 50% (0.5). On suppose que la vidéo est positionnée directement sur l'image dans la disposition. La présentation se joue ainsi.

<par>
    <img src="racing.jpg" begin="0s" dur="5s" />
    <video id="car" src="car.avi" begin="0s" dur="3s"
	<transitionfilter type="clockWipe" subtype="clockwiseTwelve"
	    begin="1s" dur="2s" from="0.0" to="0.5" />
    </video>
</par>

12.5.2 L'élément param

L'élément transitionFilter peut prendre l'élément param, défini dans « Le module MediaParam de SMIL », pour élément enfant. Cet élément peut être issu de HTML ou de certains autres modules, selon le profil de langage hôte. L'élément param définit une information de paramètre spécifique à transitionFilter. Par exemple, l'implémentation d'une transition "windshieldWipe" pourrait prendre un paramètre qui définit la longueur du rayon du balayage comme suit :

<transitionfilter type="windshieldWipe"
    begin="4" dur="3" from="0.5" to="1.0" >
    <param name="radius" value="3in" >
</transitionFilter>

La gestion de l'élément param est dépendante de l'implémentation. La signification des paramètres dépend de l'implémentation de la transition spécifique.

12.6 Le module TransitionModifiers

Le module TransitionModifiers donne un contrôle supplémentaire sur l'effet visuel de la transition : en contrôlant la répétition d'un motif horizontalement et verticalement et en contrôlant l'effet visuel au bord du motif. Le standard SMPTE autorise également ce type de contrôle géométrique.

Ce module exige le module BasicTransitions ou le module InlineTransitions.

horzRepeat
Cet attribut spécifie combien de fois exécuter le motif de la transition le long de l'axe horizontal.
La valeur par défaut est 1 (le motif se produit une fois horizontalement).
vertRepeat
Cet attribut spécifie combien de fois exécuter le motif de la transition le long de l'axe vertical.
La valeur par défaut est 1 (le motif se produit une fois verticalement).
borderWidth
Cet attribut spécifie la largeur d'une bordure générée le long d'un bord de balayage. Les valeurs légales sont des entiers supérieurs ou égaux à 0. Si borderWidth est égal à 0, alors aucune bordure ne devrait être générée le long du bord de balayage.
La valeur par défaut est 0.
borderColor
Si la valeur de l'attribut type n'est pas "fade", alors cet attribut spécifie le contenu de la bordure générée le long du bord de balayage. Les valeurs de couleur légales sont les valeurs de couleur système de CSS2 vf ou la chaîne "blend". Si la valeur de cet attribut est une couleur, alors la bordure générée le long du bord de balayage, ou du bord de balayage irrégulier, est rempli de cette couleur. Si la valeur de cet attribut est "blend", alors la bordure générée le long du du mélange de balayage est un mélange (ou un flou) additif des médias sources. La valeur par défaut est "black".

12.6.1 La répétition horizontale et verticale d'un motif

En utilisant les attributs horzRepeat et vertRepeat, le motif géométrique qui compose la transition peut être répété dans les directions horizontale et verticale sur la zone occupée par le média. Pour réaliser la répétition, la zone occupée par le média de destination est divisée en sections égales, horizontalement et/ou verticalement, selon les valeurs de horzRepeat et vertRepeat. Des transitions identiques sont alors exécutées, en même temps, une dans chacune des sections résultantes.

Les diagrammes suivants illustrent la différence entre le comportement fourni par les attributs horzRepeat et vertRepeat par défaut et chaque attribut avec deux copies de la transition appliquée à une image.

Image without any transition applied

Figure 1. Une image qui n'a aucune transition qui lui est appliquée.

Default Vertical Repeat

Figure 2. L'image de la Figure 1 avec une transition en éventail en cours d'exécution. La zone courante de la transition est illustrée par le triangle noir. Cet exemple utilise la valeur par défaut, égale à un, de horzRepeat et vertRepeat, qui produit une occurrence de la transition. Par conséquent, le motif en éventail n'est pas répété dans l'une ou l'autre direction.

Cette image animée illustre la transition en éventail de la Figure 2. La transition en éventail pourrait être déclarée comme suit :

<transition ... type="fanWipe" subtype="centerTop" dur="1s"/>

Horizontal Repeat of two

Figure 3. La même transition en éventail de la Figure 2 en cours d'exécution, mais avec deux répétitions horizontales (horzRepeat="2"). La répétition produit deux copies plus petites, mais identiques, de la transition, l'une dans la moitié gauche de l'image et l'autre dans la moitié droite de l'image. Le nombre de motifs dans la direction horizontale est égal à horzRepeat.

Vertical Repeat of two

Figure 4. La même transition en éventail de la Figure 2 en cours d'exécution, mais avec deux répétitions verticales (vertRepeat="2"). La répétition produit deux copies plus petites, mais identiques, de la transition, l'une dans la moitié supérieure de l'image et l'autre dans la moitié inférieure de l'image. Le nombre de motifs dans la direction verticale est égal à vertRepeat.

L'exemple suivant montre la déclaration de la transition de la Figure 4. Il spécifie une valeur de vertRepeat à "2" qui indique que la transition en éventail se produira dans deux endroits du média en même temps.

<transition ... type="fanWipe" subtype="centerTop" dur="1s"
	horzRepeat="1" vertRepeat="2"/>

Notez que nous n'avions pas à régler horzRepeat sur "1", puisque "1" est la valeur par défaut, mais nous la fixons explicitement ici pour la clarté. Cette transition est illustrée par cette image animée.

Dans un exemple plus complexe, si horzRepeat a été fixé à "3" et vertRepeat a été fixé à "2" alors 6 transitions en éventail plus petites se produiraient en même temps sur le média, avec 3 motifs en largeur (horzRepeat) et 2 en hauteur (vertRepeat).

Notez que les attributs horzRepeat et vertRepeat pourraient ne pas produire un changement visuel selon le type de transition. En particulier, ces attributs n'ont pas d'effet visuel si la réplication du motif de transition produit des résultats identiques. Par exemple, un attribut vertRepeat fixé à "2" n'aura pas d'impact visuel sur une poussée de gauche à droite - ou une transition "slideWipe" - parce que la transition se produirait toujours à partir du bord gauche tout du long jusqu'au bord droit du média. En revanche, le même attribut vertRepeat aurait un effet sur une poussée de gauche à droite - ou une transition "slideWipe" - parce qu'une transition se produirait à partir du haut jusqu'au milieu du média et l'autre transition se produirait à partir du milieu jusqu'en bas du média en même temps. Ni horzRepeat ni vertRepeat n'affectent une transition de fondu, parce qu'un fondu s'applique uniformément, indépendamment du nombre de fois où celui-ci est appliqué.

Les implémentations peuvent choisir comme optimisation d'ignorer les attributs horzRepeat et vertRepeat dans les cas où ils n'auraient pas d'effet.

12.7 L'intégration

Le but de cette section est de spécifier les exigences et les recommandations pour un langage hôte ou un profil afin d'intégrer les transitions de SMIL.

  1. Les profils qui incluent le module TransitionModifiers doivent aussi inclure le module BasicTransitions ou le module InlineTransitions ;
  2. Puisque les transitions sont appliquées à un média et ne sont pas spécifiques à la disposition de ce média, alors les transitions de SMIL sont agnostiques à la disposition. N'importe quel type de langage de disposition peut être utilisé ;
  3. Les profils qui incluent le module BasicTransitions doivent avoir certaines méthodes pour spécifier l'élément transition. Il est recommandé que tous les éléments transition soient spécifiés dans le <head> du document (s'il en existe un) et aussi qu'il y ait une sorte d'élément conteneur qui regroupe tous les éléments transition (similaire à l'élément <layout> dans le <head> des documents SMIL 1.0) ;
  4. Un profil intégrant le module BasicTransitions doit fournir un moyen de déclarer un identifiant XML pour les éléments transition ;
  5. Un profil intégrant le module InlineTransitions doit fournit un moyen de déclarer un identifiant XML pour les éléments transitionFilter ;
  6. Le profil doit définir quel chevauchement est significatif dans la disposition pour fill="transition" (exigé pour les modules BasicTransitions et InlineTransitions) ;
  7. Si le profil inclut le module InlineTranstions, alors le concepteur du langage hôte doit choisir entre la gestion de l'attribut targetElement ou celle des attributs XLink pour spécifier l'élément cible. Notez que si la syntaxe XLink est utilisée, le concepteur du langage hôte doit décider comment indiquer l'espace de nommage XLink pour les attributs associés. L'espace de nommage peut être donné dans un DTD, ou le concepteur du langage peut exiger des noms d'attribut colonisés (qnames) pour indiquer l'espace de nommage XLink pour les attributs. Les attributs XLink requis ont des valeurs fixées et donc peuvent aussi être spécifiés dans un DTD, ou peuvent être exigés sur des éléments d'animation. Les concepteurs de langage hôte peuvent exiger que les attributs XLink facultatifs soient spécifiés. Ces décisions sont laissées à la discrétion du concepteur du langage hôte - les détails de la syntaxe des attributs XLink n'affectent pas la sémantique des transitions de SMIL.

12.8 Annexe : Les tables de taxonomie

Table 1 : La table de taxonomie contient une liste détaillée des noms des types et sous-types de transition. Les noms des types et sous-types ont été choisis afin que le nom soit significatif de l'effet visuel de la transition. Cependant, dans certains cas, le nom seul n'est pas suffisant pour décrire visuellement ces transitions. Pour une meilleure compréhension de ces transitions, voyez, s'il vous plait, les pages 11-16 de SMPTE 258M-1993 [SMPTE-EDL].

Comme assistance au lecteur dans l'identification des motifs de transitions de SMPTE, cet annexe fournit également les illustrations des balayages SMPTE correspondants dans les tables suivantes.

Table 2 : Les balayages de bord SMPTE

Table 3 : Les balayages en iris SMPTE

Table 4 : Les balayages en horloge SMPTE

Table 5 : Les balayages en matrice SMPTE

Dans le cas de divergence entre les noms de type et sous-type dans la table de taxonomie et les tables illustrées, la table de taxonomie a la priorité. La spécification SMPTE [SMPTE-EDL] a la priorité sur les tables illustrées dans cette annexe. Les illustrations sont fournies seulement par commodité.

12.8.1 Table 1 : La table de taxonomie

Les codes de balayage SMPTE (quand c'est approprié) sont fournis entre parenthèses, après le nom du sous-type, et sont seulement cités pour référence. Les codes de balayage ne font pas partie du nom du sous-type de la transition. Le sous-type par défaut de la transition, pour chaque type, est indiqué par le mot [défaut].

Types de transition

Sous-types de transition (Code de balayage SMPTE entre parenthèses)

Balayages de bord - les balayages se produisent le long d'un bord

"barWipe" "leftToRight" (1) [défaut], "topToBottom" (2)
"boxWipe" "topLeft" (3) [défaut], "topRight" (4), "bottomRight" (5), "bottomLeft" (6), "topCenter" (23), "rightCenter" (24), "bottomCenter" (25), "leftCenter" (26)
"fourBoxWipe" "cornersIn" (7) [défaut], "cornersOut" (8)
"barnDoorWipe" "vertical" (21) [défaut], "horizontal" (22), "diagonalBottomLeft" (45), "diagonalTopLeft" (46)
"diagonalWipe" "topLeft" (41) [défaut], "topRight" (42)
"bowTieWipe" "vertical" (43) [défaut], "horizontal" (44)
"miscDiagonalWipe" "doubleBarnDoor" (47) [défaut], "doubleDiamond" (48)
"veeWipe" "down" (61) [défaut], "left" (62), "up" (63), "right" (64)
"barnVeeWipe" "down" (65) [défaut], "left" (66), "up" (67), "right" (68)
"zigZagWipe" "leftToRight" (71) [défaut], "topToBottom" (72)
"barnZigZagWipe" "vertical" (73) [défaut], "horizontal" (74)

Balayages en iris - les formes s'étendent à partir du centre du média

"irisWipe" "rectangle" (101) [défaut], "diamond" (102)
"triangleWipe" "up" (103) [défaut], "right" (104), "down" (105), "left" (106)
"arrowHeadWipe" "up" (107) [défaut], "right" (108), "down" (109), "left" (110)
"pentagonWipe" "up" (111) [défaut], "down" (112)
"hexagonWipe" "horizontal" (113) [défaut], "vertical" (114)
"ellipseWipe" "circle" (119) [défault], "horizontal" (120), "vertical" (121)
"eyeWipe" "horizontal" (122) [défaut], "vertical" (123)
"roundRectWipe" "horizontal" (124) [défaut], "vertical" (125)
"starWipe" "fourPoint" (127) [défaut], "fivePoint" (128), "sixPoint" (129)
"miscShapeWipe" "heart" (130) [défaut], "keyhole" (131)

Balayages en horloge - rotation autour d'un point central

"clockWipe" "clockwiseTwelve" (201) [défaut], "clockwiseThree" (202), "clockwiseSix" (203), "clockwiseNine" (204)
"pinWheelWipe" "twoBladeVertical" (205) [défaut], "twoBladeHorizontal" (206), "fourBlade" (207)
"singleSweepWipe" "clockwiseTop" (221) [défaut], "clockwiseRight" (222), "clockwiseBottom" (223), "clockwiseLeft" (224), "clockwiseTopLeft" (241), "counterClockwiseBottomLeft" (242), "clockwiseBottomRight" (243), "counterClockwiseTopRight" (244)
"fanWipe" "centerTop" (211) [défaut], "centerRight" (212), "top" (231), "right" (232), "bottom" (233), "left" (234)
"doubleFanWipe" "fanOutVertical" (213) [défaut], "fanOutHorizontal" (214), "fanInVertical" (235), "fanInHorizontal" (236)
"doubleSweepWipe" "parallelVertical" (225) [défaut], "parallelDiagonal" (226), "oppositeVertical" (227), "oppositeHorizontal" (228), "parallelDiagonalTopLeft" (245), "parallelDiagonalBottomLeft" (246)
"saloonDoorWipe" "top" (251) [défaut], "left" (252), "bottom" (253), "right" (254)
"windshieldWipe" "right" (261) [défaut], "up" (262), "vertical" (263), "horizontal" (264)

Balayages en matrice - le média est révélé en carrés suivant un motif

"snakeWipe" "topLeftHorizontal" (301) [défaut], "topLeftVertical" (302), "topLeftDiagonal" (303), "topRightDiagonal" (304), "bottomRightDiagonal" (305), "bottomLeftDiagonal" (306)
"spiralWipe" "topLeftClockwise" (310) [défaut], "topRightClockwise" (311), "bottomRightClockwise" (312), "bottomLeftClockwise" (313), "topLeftCounterClockwise" (314), "topRightCounterClockwise" (315), "bottomRightCounterClockwise" (316), "bottomLeftCounterClockwise" (317)
"parallelSnakesWipe" "verticalTopSame" (320), [défaut] "verticalBottomSame" (321), "verticalTopLeftOpposite" (322), "verticalBottomLeftOpposite" (323), "horizontalLeftSame" (324), "horizontalRightSame" (325), "horizontalTopLeftOpposite" (326), "horizontalTopRightOpposite" (327), "diagonalBottomLeftOpposite" (328), "diagonalTopLeftOpposite" (329)
"boxSnakesWipe" "twoBoxTop" (340) [défaut], "twoBoxBottom" (341), "twoBoxLeft" (342), "twoBoxRight" (343), "fourBoxVertical (344), "fourBoxHorizontal" (345)
"waterfallWipe" "verticalLeft" (350) [défaut], "verticalRight" (351), "horizontalLeft" (352), "horizontalRight" (353)

Balayages Non-SMPTE

"pushWipe" "fromLeft" [défaut], "fromTop", "fromRight", "fromBottom" 
"slideWipe" "fromLeft" [défaut], "fromTop", "fromRight", "fromBottom"
"fade" "crossfade" [défaut], "fadeToColor", "fadeFromColor"

Descriptions des transitions non-SMPTE

Les transitions "pushWipe" font comme si le média de destination « poussait » le média d'arrière-plan dehors. En d'autres termes, le média d'arrière-plan et le média de destination sont en mouvement.

Dans les transitions "slideWipe", le média de destination est en mouvement, mais pas le média en arrière-plan. L'effet visuel des transitions "slideWipe" est que le média de destination « glisse » en travers du média en arrière-plan.

Les transitions "fade" sont mélangées, pixel par pixel, entre le média de destination avec soit le média en arrière-plan, soit une couleur spécifiée.

12.8.2 Table 2 : Les balayages de bord SMPTE

Les balayages de bord commencent à partir d'un bord horizontal, vertical ou diagonal et se déploient en une forme donnée. Le sens du déploiement est indiqué par l'augmentation de la zone blanche.


"barWipe"

SMPTE Wipe #1
"leftToRight" (1) [défaut]

SMPTE Wipe #2
"topToBottom" (2)


"boxWipe"

SMPTE Wipe #3
"topLeft" (3) [défaut]

SMPTE Wipe #5
"bottomRight" (5)

SMPTE Wipe #23
"topCenter" (23)

SMPTE Wipe #25
"bottomCenter" (25)

SMPTE Wipe #4
"topRight" (4)

SMPTE Wipe #6
"bottomLeft" (6)

SMPTE Wipe #24
"rightCenter" (24)

SMPTE Wipe #26
"leftCenter" (26)


"fourBoxWipe"

SMPTE Wipe #7
"cornersIn" (7) [défaut] 

SMPTE Wipe #8
"cornersOut" (8)


"barnDoorWipe"

SMPTE Wipe #21
"vertical" (21) [défaut] 

SMPTE Wipe #45
"diagonalBottomLeft" (45)

SMPTE Wipe #22
"horizontal" (22)

SMPTE Wipe #46
"diagonalTopLeft" (46)


"diagonalWipe"

SMPTE Wipe #41
"topLeft" (41) [défaut]

SMPTE Wipe #42
"topRight" (42)


"bowTieWipe"

SMPTE Wipe #43
"vertical" (43) [défaut]

SMPTE Wipe #44
"horizontal" (44)


 "miscDiagonalWipe"

SMPTE Wipe #47
"doubleBarnDoor" (47) [défaut]

SMPTE Wipe #48
"doubleDiamond" (48)


"veeWipe"

SMPTE Wipe #61
"down" (61) [défaut]

SMPTE Wipe #63
"up" (63)

SMPTE Wipe #62
"left" (62)

SMPTE Wipe #64
"right" (64)


"barnVeeWipe"

SMPTE Wipe #65
"down" (65) [défaut] 

SMPTE Wipe #67
"up" (67)

SMPTE Wipe #66
"left" (66)

SMPTE Wipe #68
"right" (68)


"zigZagWipe"

SMPTE Wipe #71
"leftToRight" (71) [défaut]

SMPTE Wipe #72
"topToBottom" (72)


 "barnZigZagWipe"

SMPTE Wipe #73
"vertical" (73) [défaut]

SMPTE Wipe #74
"horizontal" (74)

 



12.8.3 Table 3 : Les balayages en iris SMPTE

Les balayages en iris se déploient en une forme donnée à partir du centre du média. Le sens du déploiement est indiqué par l'augmentation de la zone blanche.


"irisWipe"

SMPTE Wipe #101
"rectangle" (101) [défaut]

SMPTE Wipe #102
"diamond" (102)


"triangleWipe"

SMPTE Wipe #103
"up" (103) [défaut]

SMPTE Wipe #105
"down" (105)

SMPTE Wipe #104
"right" (104)

SMPTE Wipe #106
"left" (106)


"arrowHeadWipe"

SMPTE Wipe #107
"up" (107) [défaut]

SMPTE Wipe #109
"down" (109)

SMPTE Wipe #108
"right" (108)

SMPTE Wipe #110
"left" (110)


"pentagonWipe"

SMPTE Wipe #111
"up" (111) [défaut]

SMPTE Wipe #112
"down" (112)


"hexagonWipe"

SMPTE Wipe #113
"horizontal" (113) [défaut]

SMPTE Wipe #114
"vertical" (114)


"ellipseWipe"

SMPTE Wipe #119
"circle" (119) [défaut]

SMPTE Wipe #121
"vertical" (121)

SMPTE Wipe #120
"horizontal" (120)


"eyeWipe"

SMPTE Wipe #122
"horizontal" (122) [défaut]

SMPTE Wipe #123
"vertical" (123)


"roundRectWipe"

SMPTE Wipe #124
"horizontal" (124) [défaut]

SMPTE Wipe #125
"vertical" (125)


"starWipe"

SMPTE Wipe #127
"fourPoint" (127) [défaut]

SMPTE Wipe #129
"sixPoint" (129)

SMPTE Wipe #128
"fivePoint" (128)

 


"miscShapeWipe"

SMPTE Wipe #130
"heart" (130) [défaut]

SMPTE Wipe #131
"keyhole" (131)



12.8.4 Table 4 : Les balayages en horloge SMPTE

Les balayages en horloge tournent autour d'un point central. Le centre de la rotation est indiqué dans les illustrations suivantes par le symbole Center of rotation. La flèche curved arrow montre la direction de la rotation. Le sens de déploiement est indiqué par l'augmentation de la zone blanche.


"clockWipe"

SMPTE Wipe #201
"clockwiseTwelve" (201) [défaut]

SMPTE Wipe #203
"clockwiseSix" (203)

SMPTE Wipe #202
"clockwiseThree" (202)

SMPTE Wipe #204
"clockwiseNine" (204)


"pinWheelWipe"

SMPTE Wipe #205
"twoBladeVertical" (205) [défaut]

SMPTE Wipe #207
"fourBlade" (207)

SMPTE Wipe #206
"twoBladeHorizontal" (206)

 


"singleSweepWipe"

SMPTE Wipe #221
"clockwiseTop" (221) [défaut]

SMPTE Wipe #223
"clockwiseBottom" (223)

SMPTE Wipe #241
"clockwiseTopLeft" (241)

SMPTE Wipe #243
"clockwiseBottomRight" (243)

SMPTE Wipe #222
"clockwiseRight" (222)

SMPTE Wipe #224
"clockwiseLeft" (224)

SMPTE Wipe #242
"counterClockwiseBottomLeft" (242)

SMPTE Wipe #244
"counterClockwiseTopRight" (244)


 "fanWipe"

SMPTE Wipe #211
"centerTop" (211) [défaut]

SMPTE Wipe #231
"top" (231)

SMPTE Wipe #233
"bottom" (233)

SMPTE Wipe #212
"centerRight" (212)

SMPTE Wipe #232
"right" (232)

SMPTE Wipe #234
"left" (234)


"doubleFanWipe"

SMPTE Wipe #213
"fanOutVertical" (213) [défaut]

SMPTE Wipe #235
"fanInVertical" (235)

SMPTE Wipe #214
"fanOutHorizontal" (214)

SMPTE Wipe #236
"fanInHorizontal" (236)


"doubleSweepWipe"

SMPTE Wipe #225
"parallelVertical" (225) [défaut]

SMPTE Wipe #227
"oppositeVertical" (227)

SMPTE Wipe #245
"parallelDiagonalTopLeft" (245)

SMPTE Wipe #226
"parallelDiagonal" (226)

SMPTE Wipe #228
"oppositeHorizontal" (228)

SMPTE Wipe #246
"parallelDiagonalBottomLeft" (246)


"saloonDoorWipe"

 

SMPTE Wipe #251
"top" (251) [défaut]

SMPTE Wipe #253
"bottom" (253)

SMPTE Wipe #252
"left" (252)

SMPTE Wipe #254
"right" (254)


"windshieldWipe"

 

SMPTE Wipe #261
"right" (261) [défaut]

SMPTE Wipe #263
"vertical" (263)

SMPTE Wipe #262
"up" (262)

SMPTE Wipe #264
"horizontal" (264)



12.8.5 Table 5 : Les balayages en matrice SMPTE

Les balayages en matrice révèlent un média en carrés suivant un motif. La flèche arrow montre le motif.


"snakeWipe"

SMPTE Wipe #301
"topLeftHorizontal" (301) [défaut]

SMPTE Wipe #303
"topLeftDiagonal" (303)

SMPTE Wipe #305
"bottomRightDiagonal" (305)

SMPTE Wipe #302
"topLeftVertical" (302)

SMPTE Wipe #304
"topRightDiagonal" (304)

SMPTE Wipe #306
"bottomLeftDiagonal" (306)


"spiralWipe"

SMPTE Wipe #310
"topLeftClockwise" (310) [défaut]

SMPTE Wipe #312
"bottomRightClockwise" (312)

SMPTE Wipe #314
"topLeftCounterClockwise" (314)

SMPTE Wipe #316
"bottomRightCounterClockwise" (316)

SMPTE Wipe #311
"topRightClockwise" (311)

SMPTE Wipe #313
"bottomLeftClockwise" (313)

SMPTE Wipe #315
"topRightCounterClockwise" (315)

SMPTE Wipe #317
"bottomLeftCounterClockwise" (317)


"parallelSnakesWipe"

 

SMPTE Wipe #320
"verticalTopSame" (320) [défaut]

SMPTE Wipe #322
"verticalTopLeftOpposite" (322)

SMPTE Wipe #324
"horizontalLeftSame" (324)

SMPTE Wipe #326
"horizontalTopLeftOpposite" (326)

SMPTE Wipe #328
"diagonalBottomLeftOpposite" (328)

SMPTE Wipe #321
"verticalBottomSame" (321)

SMPTE Wipe #323
"verticalBottomLeftOpposite" (323)

SMPTE Wipe #325
"horizontalRightSame" (325)

SMPTE Wipe #327
"horizontalTopRightOpposite" (327)

SMPTE Wipe #329
"diagonalTopLeftOpposite" (329)


"boxSnakesWipe"

 

SMPTE Wipe #340
"twoBoxTop" (340) [défaut]

SMPTE Wipe #342
"twoBoxLeft" (342)

SMPTE Wipe #344
"fourBoxVertical (344)

SMPTE Wipe #341
"twoBoxBottom" (341)

SMPTE Wipe #343
"twoBoxRight" (343)

SMPTE Wipe #345
"fourBoxHorizontal" (345)


"waterfallWipe"

SMPTE Wipe #350
"verticalLeft" (350) [défaut]

SMPTE Wipe #352
"horizontalLeft" (352)

SMPTE Wipe #351
"verticalRight" (351)

SMPTE Wipe #353
"horizontalRight" (353)


précédent   suivant   sommaire