2 Repérez l’entrée appropriée, puis cliquez sur le numéro de page pour afficher la
rubrique correspondante.
3 Pour afficher d’autres entrées correspondant à la rubrique, cliquez sur Précédent pour
revenir au même endroit dans l’index, puis cliquez sur un autre numéro de page.
Pour rechercher une rubrique à l’aide de la commande Rechercher (Acrobat 6) :
1 Sélectionnez Edition > Rechercher.
2 Entrez un mot ou une phrase dans la zone de saisie, puis cliquez sur Rechercher.
Acrobat recherche alors dans le document actif et affiche chaque occurrence du mot ou
de la phrase recherchée dans la zone Résultats du volet Recherche PDF.
Pour rechercher une rubrique à l’aide de la commande Rechercher (Acrobat 5) :
1 Sélectionnez Edition > Rechercher.
2 Entrez un mot ou une phrase dans la zone de saisie, puis cliquez sur Rechercher.
Acrobat recherche alors dans le document actif en commençant par la page affichée et
met en surbrillance la première occurrence du mot ou de la phrase recherchée.
3 Pour rechercher l’occurrence suivante, sélectionnez Edition > Poursuivre la recherche.
Impression de l’aide
L’affichage de l’aide à l’écran a été optimisé ; néanmoins, vous pouvez imprimer une
sélection de pages ou l’ensemble du fichier.
Pour imprimer l’aide :
Sélectionnez Fichier > Imprimer ou cliquez sur l’icône Imprimer dans la barre d’outils
d’Acrobat.
Présentation
Le guide de création de script et d’automatisation du rendu d’After Effects 6.5 (Render
Automation & Scripting Guide) décrit comment contrôler les procédures de vos projets
After Effects à l’aide de scripts. Cet ensemble de fonctions n’est disponible que dans la
version Adobe After Effects 6.5 Professional.
L’utilisation de la création de script au niveau système vous permet de simplifier votre
structure de rendu et d’éviter les nombreuses opérations de pointer-cliquer répétitives. Si
vous avez déjà eu l’occasion d’utiliser des expressions ou d’autres techniques de type
JavaScript pour l’animation, ou de travailler avec la création de script système dans
AppleScript ou Visual Basic, vous remarquerez la puissance de la création de script
d’application fournie dans After Effects. Avec de la pratique et suffisamment d’expérience
de l’utilisation du langage JavaScript, vous pouvez prendre le contrôle de votre structure
graphique.
Expressions et équations
Etant donné que la création de script peut accéder à des propriétés de calque
individuelles et qu’elle utilise JavaScript, on pourrait penser que les expressions et la
création de script constituent une seule et même chose. Cependant, il s’agit de deux
entités totalement distinctes. Alors que les expressions n’ont pas accès aux informations
des scripts (comme les variables et les fonctions), un script peut être rédigé pour créer ou
éditer une expression.
La similarité entre les expressions et la création de script est toutefois apparente, car elles
sont toutes les deux dérivées du même langage, à savoir JavaScript standard ECMA. Ainsi,
la connaissance de l’une facilite la compréhension de l’autre.
Les équations ne font plus partie d’After Effects, cette fonctionnalité ayant été remplacée
par la création de script et les expressions. Tous les opérateurs mathématiques et logiques
communs à ECMAScript sont disponibles pour la création de script.
Par exemple, avec les expressions, il est possible de simuler la physique d’une balle
rebondissante en appliquant des règles mathématiques à un calque « balle ». Avec la
création de script, vous pouvez créer une interface utilisateur complète qui permette
d’animer une balle rebondissante et un calque d’ombre au moyen de critères entrés par
l’utilisateur.
A propos de ce guide
Ce guide est destiné aux utilisateurs chargés de la gestion d’une structure graphique
(laquelle peut inclure d’autres applications scriptables) et qui souhaitent créer des scripts
pour personnaliser After Effects.
Cette fonctionnalité est également offerte par des solutions tierces de gestion de rendu
en réseau. Ces produits comportent des éléments logiciels conçus pour faciliter la gestion
de ce processus. Il est ainsi possible de tirer profit de cette fonctionnalité sans devoir
procéder à une édition manuelle des scripts.
Bien que ce guide ait pour objet d’expliquer les extensions ajoutées au langage
ECMAScript/JavaScript pour la création de projets After Effects, vous aurez également
besoin, pour exploiter le potentiel de la création de script, de comprendre la rédaction de
script au niveau système (pour une intégration avec AppleScript sur Mac et les
commandes en langage natif DOS sur les systèmes Windows) et de posséder une
connaissance préalable de JavaScript.
Une grande partie de ce que la création de script permet de réaliser peut également être
effectuée par le biais de l’interface utilisateur After Effects. Une connaissance approfondie
de l’application elle-même est, par conséquent, essentielle pour savoir comment utiliser
cette fonctionnalité.
Notez que les objets JavaScript habituellement appelés « propriétés » sont appelés
« attributs » dans ce guide, afin d’éviter toute confusion avec la définition de propriété
propre à After Effects (une valeur animable d’un effet ou d’une transformation dans un
calque individuel).
Ecriture de scripts
Lorsque vous utilisez After Effects, vous créez des projets, des compositions et des
éléments de file d’attente de rendu, ainsi que tous les éléments qu’ils contiennent, c’est-à-
dire le métrage, les images, les solides, les calques, les masques, les effets et les propriétés.
En terminologie de création de script, chacun de ces éléments est un objet.
Le cœur d’une application scriptable est le modèle d’objet. Dans After Effects, le modèle
d’objet est composé de projets, d’éléments, de compositions, de calques et d’éléments de
file d’attente de rendu. Chaque objet possède ses propres attributs particuliers et chaque
objet dans un projet After Effects possède sa propre identité (bien que tous ne soient pas
accessibles pour l’écriture de scripts).
Vous devez maîtriser le modèle d’objet d’After Effects pour pouvoir créer des scripts. Pour
plus d’informations sur l’initiation à la création de scripts, reportez-vous à la
section « Autres ressources d’apprentissage de la création de script », page 10.
Edition de scripts
After Effects 6.5 ne comporte pas d’éditeur de script. Vous pouvez utiliser tout éditeur de
texte pour créer, éditer et enregistrer des scripts, mais il est recommandé de choisir une
application qui n’ajoute pas automatiquement des informations d’en-tête lors de
l’enregistrement des fichiers et qui enregistre avec l’encodage Unicode (UTF-8).
Les applications Windows utiles pour l’édition de scripts incluent EM Editor ou le Bloc-
notes intégré (assurez-vous de définir l’encodage UTF-8 dans les options
d’enregistrement).
Les applications Mac OS utiles pour l’édition de scripts incluent BBEdit ou Textedit intégré
à OS X (assurez-vous de définir Unicode [UTF-8] comme type d’enregistrement dans les
préférences).
Format .jsx
Les scripts After Effects doivent être dotés de l’extension de fichier .jsx pour pouvoir être
correctement reconnus par l’application. Cette extension est une variante de l’extension
standard « .js » utilisée pour les fichiers JavaScript classiques ; tous les fichiers texte
utilisant l’encodage UTF-8 et comportant cette extension seront reconnus.
Pour apparaître dans la boîte de dialogue Ouvrir, votre script doit être doté de l’extension
de fichier .jsx.
Une autre solution consiste à spécifier l’emplacement du fichier .jsx à exécuter, comme
suit :
afterfx.exe –r c:\myDocuments\Scripts\yourAEScriptHere.jsx
Une autre solution consiste à afficher une boîte de dialogue demandant l’emplacement
du fichier .jsx à exécuter, comme suit :
set thefile to choose file
tell application “Adobe After Effects 6.5”
DoScript thefile
end tell
Enfin, ce script est peut-être le plus utile lorsque vous travaillez directement sur l’édition
d’un script .jsx et souhaitez l’envoyer à After Effects pour le tester ou l’exécuter. Pour
l’utiliser efficacement, vous devez entrer l’application contenant le fichier .jsx ouvert (dans
cet exemple, il s’agit de TextEdit) ; si vous ne connaissez pas le nom exact de l’application,
entrez ce qui s’en approche le plus en remplacement de TextEdit, et AppleScript vous
invitera à la localiser.
Mettez simplement en évidence le texte de script que vous souhaitez exécuter, puis
activez cet AppleScript :
(*
This script sends the current selection to After Effects as a script.
*)
end tell
Essais et dépannage
Tout script After Effects contenant une erreur empêchant sa réalisation complète génère
un message d’erreur depuis l’application. Ce message inclut des informations sur la nature
de l’erreur et la ligne du script sur laquelle elle est survenue.
After Effects inclut par ailleurs un outil de débogage JavaScript. Pour plus d’informations
sur l’activation et l’utilisation du débogage, reportez-vous à la section « Débogage
JavaScript », page 18.
Mot-clé/ Description
Instruction
break JavaScript standard ; quitte la boucle en cours d’exécution.
continue JavaScript standard ; arrête l’exécution de l’itération de la boucle en cours.
case Libellé utilisé dans une instruction switch
default Libellé utilisé dans une instruction switch lorsqu’un libellé case est
introuvable
Mot-clé/ Description
Instruction
do - while Construction JavaScript standard. Similaire à la boucle w h i le , excepté que
l’évaluation de la condition de boucle est effectuée à la fin de la boucle.
false Littéral représentant le booléen false.
for Construction de boucle JavaScript standard.
for - in Construction JavaScript standard. Fournit un moyen aisé d’appliquer une
boucle à travers les propriétés d’un objet.
function Utilisée pour définir une fonction.
if/if - else Constructions conditionnelles JavaScript standard.
new Instruction de constructeur JavaScript standard.
null Attribué à une variable, un élément de tableau, ou une propriété d’objet
pour indiquer qu’il ou elle ne contient pas de valeur autorisée.
return Moyen JavaScript standard de renvoyer une valeur à partir d’une fonction
ou de quitter une fonction.
switch Moyen JavaScript standard d’évaluer une expression et de tenter de faire
correspondre la valeur de l’expression à un libellé c a s e .
this Méthode JavaScript standard utilisée pour indiquer l’objet en cours.
true Littéral représentant le booléen true.
undefined Indique que la variable, l’élément de tableau ou la propriété d’objet n’a
pas encore reçu de valeur.
var Syntaxe JavaScript standard utilisée pour déclarer une variable locale.
while Construction JavaScript standard. Similaire à la boucle do - w h i l e , excepté
que l’évaluation de la condition de boucle est effectuée au début de la
boucle.
with Construction JavaScript standard utilisée pour spécifier un objet à utiliser
dans les instructions dont elle est suivie.
Opérateurs
Les tableaux ci-après énumèrent et décrivent tous les opérateurs reconnus par le moteur
de création de script After Effects et indiquent la priorité et l’associativité de tous les
opérateurs.
Tableau 2 Description des opérateurs
Opérateurs Description
new Alloue un objet.
delete Annule l’allocation d’un objet.
typeof Renvoie le type de données.
Opérateurs Description
void Renvoie la valeur indéfinie.
. Membre de la structure.
[] Elément de tableau.
() Appel de fonction.
++ Pré- ou post-incrément.
-- Pré- ou post-décrément.
- Négation ou soustraction unaire.
~ NOT au niveau bit.
! NOT logique.
* Produit.
/ Division.
% Division modulo.
+ Addition.
<< Décalage vers la gauche au niveau du bit.
>> Décalage vers la droite au niveau du bit.
>>> Décalage non signé vers la droite au niveau du bit.
< Inférieur.
<= Inférieur ou égal.
> Supérieur.
>= Supérieur ou égal.
== Egal.
!= Différent.
& AND au niveau bit.
^ XOR au niveau bit.
| OR au niveau bit.
&& AND logique.
|| OR logique.
?: Conditionnel (ternaire).
= Attribution.
+= Attribution avec l’opération d’addition.
Opérateurs Description
-= Attribution avec l’opération de soustraction.
*= Attribution avec l’opération de multiplication.
/= Attribution avec l’opération de division.
%= Attribution avec l’opération modulo.
<<= Attribution avec l’opération de décalage vers la gauche au niveau du bit.
>>= Attribution avec opération de décalage vers la droite au niveau du bit.
>>>= Attribution avec opération non signée de décalage vers la droite au
niveau du bit.
&= Attribution avec opération AND au niveau du bit.
^= Attribution avec opération XOR au niveau du bit.
|= Attribution avec opération OR au niveau du bit.
, Evaluation multiple.
Argument Utilisation
-help Affiche un message d’utilisation
Argument Utilisation
-reuse Utilisez cet indicateur si vous souhaitez essayer de
réutiliser une instance d’After Effects déjà en cours
d’exécution pour réaliser le rendu. Par défaut, aerender
lance une nouvelle instance d’After Effects, même si
une autre instance est déjà en cours d’exécution.
Cependant, si After Effects est déjà en cours
d’exécution et que l’indicateur - reuse est fourni,
aerender demande à l’instance d’After Effects en cours
de réaliser le rendu. Chaque fois que l’application
aerender lance une nouvelle instance d’After Effects,
elle demande à cette application de quitter une fois le
rendu terminé ; sinon, After Effects ne ferme pas. Par
ailleurs, lorsque l’indicateur - reuse est défini, les
préférences sont enregistrées dans un fichier à la
fermeture ; sinon elles ne le sont pas.
-project project_path où pro j e c t _ p a t h correspond à un chemin d’accès ou à
une URI spécifiant un fichier de projet à ouvrir. Si aucun
chemin d’accès ni aucune URI ne sont fournis, aerender
utilise le projet ouvert en cours. Si aucun projet n’est
ouvert ou fourni, une erreur est générée.
-comp comp_name où comp_name spécifie une composition à rendre.
Argument Utilisation
-OMtemplate où o utput_module_template correspond au nom d’un
output_module_templa
te
modèle à appliquer au module de sortie. Si le modèle
n’existe pas, il s’agit d’une erreur. Par défaut, le modèle
déjà défini pour le module de sortie est utilisé.
-output output_path où o ut p u t _ p a t h correspond à un chemin d’accès ou à
une URI spécifiant le fichier de destination de rendu. Le
chemin d’accès par défaut est celui déjà indiqué dans le
fichier de projet.
-log logfile_path où l o g file _ p a t h correspond à un chemin d’accès ou à une
URI spécifiant l’emplacement du fichier journal. Par
défaut, il s’agit de s tdout .
-s start_frame où sta r t _ f r a m e correspond à la première image à rendre.
Par défaut, il s’agit de la première image dans le fichier.
-e end_frame où en d_ f r a m e correspond à la dernière image à rendre.
Notez que l’on parle de la dernière image comprise ; la
dernière image est rendue. Par défaut, il s’agit de la
dernière image dans le fichier.
-i increment où i n c rement correspond au nombre d’images à
parcourir avant de rendre une nouvelle image. La
valeur 1 (par défaut) produit un rendu normal de toutes
les images. Des incréments plus élevés répètent la
même image (incrément d’image-1) fois, puis rendent
une nouvelle image, en recommençant le cycle. Les
valeurs élevées se traduisent par des rendus plus
rapides, mais produisent un mouvement plus saccadé.
La valeur par défaut est 1.
-mem_usage où i ma ge _ c a ch e _ p e rcen t spécifie le pourcentage maximal
image_cache_percent
max_mem_percent
de mémoire utilisé pour la mise en mémoire cache des
images/métrages déjà rendus et m a x _ m e m_percent
spécifie le pourcentage total de mémoire pouvant être
utilisé par After Effects.
-v verbose_flag où ver bose_flag spécifie le type de messages signalés. Les
valeurs possibles sont E R RO R S (affiche uniquement les
erreurs fatales et les problèmes) ou
E R ROR S _ AN D _ P RO G R E S S (affiche également l’état
d’avancement du rendu). La valeur par défaut est
E R ROR S _ AN D _ P RO G R E S S .
Argument Utilisation
-close close_flag où cl os e _ fl a g indique si le projet doit être fermé une fois
le rendu terminé et si les modifications doivent être
enregistrées.
Exemples
Pour rendre uniquement la composition 1 (Comp 1) dans un fichier défini, entrez :
Pour rendre l’intégralité de la file d’attente en l’état dans le fichier de projet, entrez :
Débogage JavaScript
Cette section décrit la fenêtre de débogage JavaScript qui apparaît lorsque la préférence
Activer le débogage JavaScript est sélectionnée dans la boîte de dialogue des préférences
générales (par défaut, elle est désélectionnée) et en cas d’erreur lors de l’exécution d’un
script.
A B C D E F G H
Reprise
Ctrl + R (Windows)
Cmde + R (Mac OS)
Reprend l’exécution du script, la fenêtre de débogage JavaScript étant ouverte. Une fois le script
terminé, l’application ferme automatiquement la fenêtre de débogage JavaScript. L’exécution du
script peut également être reprise en fermant manuellement la fenêtre de débogage. Ce bouton est
activé lorsque l’exécution du script est mise sur pause ou arrêtée.
Pause
Ctrl + P (Windows)
Cmde + P (Mac OS)
Interrompt temporairement le script en cours d’exécution et réactive le débogage JavaScript. Ce
bouton est activé lorsqu’un script est cours d’exécution.
Arrêt
Ctrl + K (Windows)
Cmde + K (Mac OS)
Interrompt l’exécution du script et génère une erreur d’exécution. Ce bouton est activé lorsqu’un
script est cours d’exécution.
Pas à Pas
Ctrl + S (Windows)
Cmde + S (Mac OS)
Interrompt le script après l’exécution d’une seule instruction JavaScript du script. Si l’instruction
appelle une fonction JavaScript, celle-ci est entièrement exécutée avant l’interruption du script.
Entrer
Ctrl + T (Windows)
Cmde + T (Mac OS)
Interrompt le script après l’exécution d’une seule instruction JavaScript dans le script ou après
l’exécution d’une seule instruction dans toute fonction JavaScript appelée par le script.
Sortir
Ctrl + U (Windows)
Cmde + U (Mac OS)
Lorsque le débogage JavaScript est mis sur pause dans le corps d’une fonction JavaScript, le fait de
cliquer sur ce bouton reprend l’exécution du script jusqu’à ce que la fonction revienne. Lorsque la
pause du débogage JavaScript intervient en dehors du corps d’une fonction, le fait de cliquer sur ce
bouton reprend l’exécution du script jusqu’à sa fin.
Cet exemple ouvre le débogage JavaScript dès l’instant où l’un des attributs width, height
ou url de l’élément personnalisé ne sont pas définis. Naturellement, vous n’incluriez pas
d’appels de méthode bp dans un code de production, celle-ci étant plus appropriée pour
le code d’expédition afin de définir des valeurs par défaut pour les propriétés non définies,
comme le montre l’exemple précédent.
Objet $
L’objet $ (objet de débogage) fournit des propriétés et des méthodes que vous pouvez
utiliser pour déboguer votre code JavaScript. Par exemple, vous pouvez appeler ses
méthodes pour insérer ou annuler des points de rupture de façon programmatique, ou
pour changer la version de langage du script en cours d’exécution. L’objet de débogage
fournit également des propriétés contenant des informations sur la version du système
d’exploitation de la plate-forme hôte.
Remarque : l’objet $ n’est pas un objet JavaScript standard.
Propriétés
Ecrit la chaîne fournie dans la fenêtre de sortie de débogage. La méthode writeln ajoute
un caractère New Line à ses arguments.
Paramètres
Renvoi
Aucun.
Supprimer un point de rupture. Le point de rupture est défini par le nom du scriptlet ou de
la fonction et par le numéro de la ligne. Si le nom du scriptlet est la chaîne vide ou est
absent, le nom du scriptlet en cours d’exécution est utilisé. Si le numéro de la ligne est
zéro ou n’est pas fourni, le numéro de la ligne en cours est utilisé. Ainsi, l’appel $.clearbp()
sans paramètre annule un point de rupture à la position en cours.
La chaîne spéciale "NEXTCALL" en tant que nom de scriptlet entraîne l’annulation d’un
point de rupture au prochain appel de fonction.
Paramètres
Renvoi
Aucun.
Renvoi
Aucun.
Référence
Ce chapitre énumère et décrit la syntaxe (mots-clés, instructions, opérateurs, classes,
objets, méthodes, attributs et fonctions globales) spécifique du moteur de création de
scripts After Effects.
Le moteur de création de script After Effects prend en charge la 3e édition de la norme
ECMA-262, y compris ses conventions de notation et lexicales, ses types, objets,
expressions et instructions. Pour obtenir une liste complète des mots-clés et opérateurs
inclus avec ECMAScript, reportez-vous au document Ecma-262.pdf, disponible à l’adresse
suivante : www.ecma-international.org/publications/standards/ECMA-262.HTM
Pour avoir une vue générale des mots-clés et instructions les plus courants disponibles en
ECMA-262, reportez-vous à la section « Mots-clés et syntaxe d’instructions », page 10.
couleur fichier
Attributs et propriétés
Notez que dans ECMAScript et JavaScript, un morceau de données désigné d’un certain
type est habituellement appelé propriété. Toutefois, After Effects utilise déjà une
définition distincte de « propriété » qui est la valeur éditable spécifique contenue dans un
calque. Par conséquent, dans cette section, nous utilisons le terme synonyme « attribut »
pour évoquer ces morceaux de données.
Fonctions globales
Cette section décrit les fonctions disponibles au niveau global spécifiques à After Effects.
Tout objet ou fonction JavaScript peut appeler les fonctions décrites dans cette section.
Fonctions
Fonction Référence Description
alert() voir section « Fonction affiche une boîte de dialogue
globale alert() », page 27 d’alerte comportant une chaîne de
texte spécifiée
prompt() voir section « Fonction ouvre une boîte de dialogue
globale prompt() », page 29 comportant une zone de texte
dans laquelle l’utilisateur peut
entrer une chaîne de texte
write() voir section « Fonction écrit la sortie dans la palette
globale write() », page 30 Informations, sans ajout de saut de
ligne
writeLn() voir section « Fonction écrit la sortie dans la palette
globale writeLn() », page 30 Informations, en ajoutant un saut
de ligne à la fin
clearOutput() voir section « Fonction efface la palette Informations
globale clearOutput() »,
page 28
confirm() voir section « Fonction affiche une boîte de dialogue
globale confirm() », page 28 modale et des boutons oui/non
d’invite utilisateur, lesquels
effacent la boîte de dialogue et
renvoient un booléen
fileGetDialog() voir section « Fonction affiche la boîte de dialogue Ouvrir
globale fileGetDialog() », standard de la plate-forme.
page 28
filePutDialog() voir section « Fonction affiche la boîte de dialogue
globale filePutDialog() », Enregistrer standard de la plate-
page 29 forme
folderGetDialog() voir section « Fonction affiche une boîte de dialogue dans
globale folderGetDialog() », laquelle l’utilisateur peut
page 29 sélectionner un dossier
Description
La fonction globale Alert ouvre une boîte de dialogue d’alerte contenant un texte d’alerte.
L’utilisateur peut alors cliquer sur OK pour fermer la fenêtre.
Paramètres
Exemple
alert ( "CoSA Lives!");
Description
La fonction globale clearOutput efface la sortie dans la palette Info.
Paramètres
Aucun.
Description
La fonction globale Confirm affiche une boîte de dialogue modale et des boutons oui/non
d’invite utilisateur, qui effacent la boîte de dialogue. Ces boutons renvoient un booléen ;
true si oui, false si non.
Paramètres
Renvoi
Booléen.
Exemple
var shouldAdd = confirm("Add to Render Queue?");
if (shouldAdd == "true"){
proj.renderQueue.items.add(myCompItem);
}
Description
La fonction globale fileGetDialog affiche la boîte de dialogue Ouvrir standard de la plate-
forme sur laquelle After Effects est exécuté.
typeList est une liste de types de fichiers Mac OS à quatre caractères et délimités par des
points-virgules, suivis des extensions de fichiers Windows. Par exemple, une valeur
« EggP aep » pour cet argument spécifie que la boîte de dialogue Ouvrir va uniquement
afficher les éléments du projet After Effects ; les autres types de fichier seront grisés.
Paramètres
Renvoi
Objet File, ou valeur nulle si l’utilisateur annule la boîte de dialogue.
Description
La fonction globale filePutDialog affiche la boîte de dialogue Enregistrer standard de la
plate-forme sur laquelle After Effects est exécuté.
Paramètres
Renvoi
Objet File, ou valeur nulle si l’utilisateur annule la boîte de dialogue.
Description
La fonction globale folderGetDialog affiche une boîte de dialogue dans laquelle
l’utilisateur peut sélectionner un dossier.
Paramètres
Renvoi
Objet Folder, ou valeur nulle si l’utilisateur annule la boîte de dialogue.
Description
La fonction globale prompt ouvre une boîte de dialogue comportant une zone de texte
dans laquelle l’utilisateur peut entrer une chaîne de texte. La chaîne de texte est renvoyée
en tant que valeur, ou est nulle si la boîte de dialogue est annulée.
Paramètres
Renvoi
Chaîne, ou valeur nulle si la boîte de dialogue est annulée. Lecture seule.
Exemple
// presuming a project loaded with at least one comp is open:
var myCompItem = app.project.item(1);
var newName = prompt( "What would you like to name the comp?");
// rename it
Description
La fonction globale write écrit la sortie vers la palette Informations, sans ajouter de
changement de ligne.
Paramètres
Exemple
write(“This text appears in Info palette.”);
Voir aussi
« Fonction globale writeLn() », page 30
Description
La fonction globale write écrit la sortie dans la palette Informations et ajoute un
changement de ligne à la fin.
Paramètres
Exemple
writeLn(“This line of text appears in the console window with a line break at the
end.”);
Voir aussi
« TextDocument », page 196
Objet Application
app.
Description
L’objet global application (app) permet l’accès aux données et à la fonctionnalité dans
l’application After Effects. Les attributs de l’objet Application fournissent l’accès aux objets
spécifiques dans After Effects. Les méthodes de l’objet Application peuvent créer des
documents, ouvrir des documents existants, contrôler le mode Dossier de contrôle, vider
la mémoire et quitter l’application After Effects. Lors de la fermeture de l’application
After Effects, celle-ci ferme le projet ouvert en demandant à l’utilisateur d’enregistrer ou
d’ignorer les modifications, et crée un fichier de projet comme nécessaire.
Attributs
Méthodes
Description
Cette méthode commence la suppression des boîtes de dialogue dans l’interface
utilisateur.
Paramètres
Aucun.
Renvoi
Aucun.
Description
Un groupe d’annulation autorise un script à grouper de façon logique toutes ses actions
en tant qu’action unique définitive (à utiliser dans les éléments de menu Edition >
Annuler/Rétablir). Doit être utilisé en association avec la méthode
application.endUndoGroup().
Notez que les paires beginUndoGroup() et endUndoGroup() peuvent être imbriquées. Les
groupes dans les groupes deviennent partie intégrante du plus grand groupe et seront
annulés correctement. Dans de tels cas, les noms des groupes internes sont ignorés.
Paramètres
undoString (obligatoire) texte qui apparaîtra pour la commande Annuler dans le menu
Edition (c’est-à-dire Annuler u n doS t r i n g )
Voir aussi
« Méthode Application endUndoGroup() », page 35
Description
L’attribut buildName identifie le nom de la compilation d’After Effects en cours
d’exécution. Adobe utilise principalement cet attribut pour les essais et le dépannage.
Type
Chaîne ; lecture seule.
Description
L’attribut buildNumber identifie le numéro de la compilation d’After Effects en cours
d’exécution. Adobe utilise principalement cet attribut pour les essais et le dépannage.
Type
Entier ; lecture seule.
Description
Cette méthode met fin à la suppression des boîtes de dialogue dans l’interface utilisateur.
Elle ne doit être appelée que si beginSuppressDialogs() l’a préalablement été.
Si l’argument alert en entrée est vrai et si une erreur est survenue entre les appels de
beginSuppressDialogs() et de endSuppressDialogs(), ce message d’erreur s’affiche.
Paramètres
Voir aussi
« Méthode Application beginSuppressDialogs() », page 33
Description
Cette méthode termine le groupe d’annulation commencé par la méthode
app.beginUndoGroup(). Vous pouvez utiliser cette méthode pour placer une fin de groupe
d’annulation au milieu d’un script si vous souhaitez utiliser plusieurs groupes d’annulation
pour un seul script.
Si vous n’utilisez qu’un seul groupe d’annulation pour un script donné, vous n’avez pas
besoin d’utiliser cette méthode. En son absence à la fin d’un script, le système fermera le
groupe d’annulation automatiquement.
Le fait d’appeler cette méthode sans avoir défini de méthode beginUndoGroup() génère
une erreur.
Paramètres
Aucun.
Renvoi
Aucun.
Voir aussi
« Méthode Application beginUndoGroup() », page 34
Description
La méthode endWatchFolder() met fin au mode Dossier de contrôle.
Paramètres
Aucun.
Voir aussi
« Attribut Application version », page 42
« Méthode Application pauseWatchFolder() », page 39
Description
Cet attribut n’est utilisé que lors de l’exécution d’un script à partir d’une ligne de
commande sous Windows. Lorsque l’application est lancée à partir de la ligne de
commande, si l’indicateur de ligne de commande - r ou - s est utilisé, l’application exécute
un script (à partir d’un fichier et d’une chaîne, respectivement).
Si cet attribut est défini sur true, After Effects quitte après l’exécution du script ; s’il est
défini sur false, l’application reste ouverte.
Notez que cet attribut n’a d’effet que si After Effects est exécuté et n’a aucun effet sur
Mac OS.
Type
Booléen ; lecture/écriture.
Description
L’attribut exitCode n’est utilisé que lors de l’exécution d’un script en dehors d’After Effects
(à partir d’une ligne de commande ou d’AppleScript).
Sur Mac OS et sous Windows, exitCode est défini sur 0 (EXIT_SUCCESS) au début de
chaque évaluation de script. En cas d’erreur lors de l’exécution du script, exitCode sera
défini à un nombre entier positif.
Type
Entier ; lecture/écriture.
Exemple
app.exitCode = 2; //on quit, if value is 2, no error has occurred
Description
L’attribut isProfessionalVersion est un booléen utilisé pour déterminer si l’application
After Effects installée localement est la version Standard ou Professional.
Type
Booléen ; lecture seule.
Exemple
var PB = app.isProductionBundle;
alert("It is " + PB + " that you are running the Production Bundle.");
Description
L’attribut isRenderEngine est un booléen utilisé pour déterminer si une installation
d’After Effects est une installation Moteur de rendu uniquement.
Type
Booléen ; lecture seule.
Description
L’attribut isWatchFolder est un booléen utilisé pour déterminer si la boîte de dialogue
Dossier de contrôle est affichée actuellement (et si l’application est en train de contrôler
un dossier pour le rendu). Il renvoie true lorsque la boîte de dialogue Dossier de contrôle
est ouverte.
Type
Booléen ; lecture seule.
Description
L’attribut language indique dans quelle langue After Effects est exécuté. Les codes de
l’attribut de langue sont les suivants :
• Language.ENGLISH
• Language.FRENCH
• Language.GERMAN
• Language.JAPANESE
Type
Type de langue énuméré (voir liste ci-dessus).
Exemple
var lang = app.language;
if (lang == Language.JAPANESE){
alert("After Effects is running in Japanese.")};
else if (lang == Language.ENGLISH){
alert("After Effects is running in English.")};
else if (lang == Language.FRENCH){
alert("After Effects is running in French.")};
else{
alert("After Effects is running in German.")
};
Description
La méthode newProject ouvre un nouveau projet dans After Effects, en reproduisant la
commande de menu Fichier > Créer > Nouveau projet. Si un projet est déjà ouvert et a été
modifié, un message invite l’utilisateur à le sauvegarder.
Utilisez app.project.close(CloseOptions.DO_NOT_SAVE_CHANGES) pour fermer un projet
ouvert avant d’en ouvrir un nouveau.
Paramètres
Aucun.
Renvoi
Objet Project ; nul si l’utilisateur annule une boîte de dialogue Enregistrer en réaction au
fait qu’un projet ouvert a été modifié depuis le dernier enregistrement.
Exemple
app.project.close(CloseOptions.DO_NOT_SAVE_CHANGES);
app.newProject();
Voir aussi
« Méthode Project close() », page 137
Description
L’attribut onError prend une fonction pour exécuter une action lorsqu’une erreur survient.
En créant une fonction et en l’attribuant à onError, il est possible de réagir à l’erreur
systématiquement, par exemple en fermant et redémarrant l’application et en notant
l’erreur dans un fichier journal si elle est survenue en cours de rendu.
Type
Fonction prenant une chaîne ou valeur nulle si aucune fonction n’est attribuée.
Exemple
function err(errString) (
alert(errString);
)
app.onError = err
Description
La méthode open() ouvre un projet. Si le paramètre file est nul (c’est-à-dire si aucun
argument n’est utilisé), une boîte de dialogue s’affiche pour que l’utilisateur sélectionne et
ouvre un fichier.
Paramètres
Renvoi
Objet Project (le fichier spécifié en tant que paramètre), ou valeur nulle si l’utilisateur
annule la boîte de dialogue Ouvrir.
Exemple
var my_file = new File("../my_folder/my_test.aep");
if (my_file.exist){
new_project = app.open(my_file);
if (new_project){
alert(new_project.file.name);
}
}
Description
La méthode pauseWatchFolder() interrompt temporairement la recherche du dossier cible
pour les éléments de rendu.
Paramètres
Voir aussi
« Attribut Application version », page 42
« Méthode Application endWatchFolder() », page 35
Description
Cet attribut correspond au projet en cours.
Pour plus d’informations sur le contenu de l’objet Project, reportez-vous à la
section « Objet Project », page 134.
Type
Projet ; lecture seule.
Description
La méthode purge reproduit la fonctionnalité et les options cible des options de la
commande Purger du menu Edition. Le paramètre target contient la zone de mémoire à
purger ; les options de target sont décrites en tant que variables énumérées ci-dessous.
Paramètres
target type d’éléments à purger de la mémoire ; utilisez l’un des types énumérés ci-
dessous
Types énumérés
Description
La méthode quit quitte l’application.
Paramètres
Aucun.
Renvoi
Aucun.
Description
Chaîne de texte ; nom (le cas échéant) entré par l’utilisateur de l’application comme
société enregistrée au moment de l’installation.
Type
Chaîne de texte ; lecture seule.
Exemple
var company = app.registeredCompany;
alert(“Your company name is “ + company + “.”);
Description
L’attribut registeredName contient la chaîne de texte que l’utilisateur de l’application a
entrée comme nom enregistré au moment de l’installation.
Type
Chaîne de texte ; lecture seule.
Exemple
var userName = app.registeredName;
confirm(“Are you “ + userName + “?”);
Attribut application serialNumber
app.serialNumber
Description
L’attribut serialNumber contient une chaîne alphanumérique qui est le numéro de série de
la version installée d’After Effects.
Type
Chaîne ; lecture seule.
Exemple
var serial = app.serialNumber;
alert("This copy is serial number " + serial);
Description
Cette méthode définit les limites d’utilisation de mémoire, comme dans l’onglet des
préférences du cache
Paramètres
Renvoi
Aucun.
Description
Cette méthode définit l’alternance qui détermine si les préférences doivent être
enregistrées à la fermeture de l’application (quit).
Paramètres
doSave booléen ; s’il est défini sur true, les préférences sont
enregistrées à la fermeture
Renvoi
Aucun.
Description
Cet attribut contient les paramètres en cours.
Pour plus d’informations sur le contenu de l’objet Settings, reportez-vous à la
section « Objet Settings », page 187.
Type
Paramètres ; lecture seule.
Description
L’attribut version renvoie une chaîne alphanumérique indiquant la version d’After Effects
en cours d’exécution.
Type
Chaîne ; lecture seule.
Exemple
var ver = app.version;
alert("This machine is running version " + ver + " of After Effects.");
Description
La méthode watchFolder() démarre un processus de dossier de contrôle (rendu en réseau)
pointant vers un dossier spécifié.
Paramètres
Exemple
var theFolder = new Folder(“c:\\tool”);
app.watchFolder(theFolder);
Voir aussi
« Méthode Application endWatchFolder() », page 35
« Méthode Application pauseWatchFolder() », page 39
Objet AVItem
app.project.item(index)
Description
L’objet AVitem fournit l’accès aux attributs et aux méthodes des fichiers audiovisuels
importés dans After Effects.
AVItem est la classe de base de CompItem et de FootageItem, de sorte que les attributs et
les méthodes AVItem sont également disponibles pour l’utilisation de CompItem et de
FootageItem.
Attributs
Méthodes
Description
L’attribut duration renvoie la durée de l’élément, en secondes. Cet attribut est en lecture
seule sauf s’il s’agit d’un CompItem.
La plage des valeurs autorisées est [0..10 800]. Dans un FootageItem, l’attribut duration est
lié à la durée de la source principale ; dans un CompItem, il est lié à la durée de la
composition. Cette valeur peut uniquement être écrite dans un CompItem. Vous ne devez
pas modifier sa valeur si l’élément est un FootageItem.
Remarque : les éléments de métrage fixe ont une durée de 0.
Type
valeur de la virgule flottante ; secondes. Lecture/écriture lorsque l’élément est un
CompItem ; sinon, lecture seule.
Description
L’attribut footageMissing est true si l’AVItem est introuvable ou s’il s’agit d’un pseudo-
élément.
Type
Booléen ; lecture seule.
Description
L’attribut frameDuration renvoie la longueur, en secondes, d’une image pour cet AVItem.
La plage des valeurs autorisées est [1/99 .. 1 ] Réciproque de la cadence d’images. Lorsque
vous définissez la durée de l’image, en réalité vous stockez la réciproque en tant que
nouvelle cadence.
Lorsque vous lisez la valeur, vous extrayez la réciproque de la cadence d’image. Par
conséquent, si vous définissez puis obtenez une valeur de durée d’image indivisible
régulièrement par 1,0 (par exemple, 0,3), la valeur que vous obtiendrez sera proche, mais
pas exactement identique, en raison de limitations numériques, (1 / ( 1 / 0.3) ) != 0.3, mais
plutôt proche de 0,3.
Si l’AVItem est un FootageItem, cet attribut est en lecture seule.
Dans le cas d’un FootageItem, vous devez écrire dans le conformFrameRate de la source
principale afin de modifier la cadence, et par conséquent la durée d’image.
Type
valeur de la virgule flottante ; secondes. Lecture/écriture ou lecture seule si l’AVItem est un
FootageItem.
Description
L’attribut frameRate renvoie la cadence d’image de l’AVItem.
La plage des valeurs autorisées est [1..99]. Si l’AVItem est un CompItem, cette valeur
correspond à la cadence de la composition.
Si l’AVItem est un FootageItem, cette valeur correspond au displayFrameRate de la source
principale et est en lecture seule.
Dans le cas d’un FootageItem, vous devez écrire dans le conformFrameRate de la source
principale afin de modifier la cadence d’image.
Type
Valeur de la virgule flottante ; images par seconde. Lecture/écriture ou lecture seule si
l’AVItem est un FootageItem.
Description
L’attribut hasAudio est true si l’AVItem possède un composant audio.
Dans le cas d’un CompItem, la valeur correspond à la valeur de la composition. Dans le cas
d’un FootageItem, la valeur correspond à la valeur de la source principale.
Type
Booléen ; lecture seule.
Description
L’attribut hasVideo est true si l’AVItem possède un composant vidéo.
Dans le cas d’un CompItem, la valeur correspond à la valeur de la composition. Dans le cas
d’un FootageItem, la valeur correspond à la valeur de la source principale.
Type
Booléen ; lecture seule.
Description
L’attribut height correspond à la hauteur de l’élément, en pixels.
La plage des valeurs autorisées est [1 ..30 000]. Dans un FootageItem, l’attribut height est
lié à la hauteur de la source principale ; dans un CompItem, il est lié à la hauteur de la
composition. Il est permis de modifier la hauteur d’un CompItem ou d’un FootageItem
dont la source principale est une SolidSource. En revanche, vous ne devez pas modifier la
hauteur si l’élément est un FootageItem dont la source principale n’est pas une
SolidSource.
Type
Entier ; lecture seule sauf s’il s’agit d’un CompItem.
Description
L’attribut name correspond au nom de l’objet tel qu’affiché dans la fenêtre de projet.
Dans un FootageItem, le nom est lié à la source principale.
Vous ne devez pas modifier le nom si la source principale est une FileSource ; en effet, cela
associerait le nom à celui du ou des fichiers, et il ne pourrait pas être modifié.
Type
Chaîne ; lecture/écriture.
Description
L’attribut pixelAspect détermine le format des pixels d’un élément donné.
La plage des valeurs autorisées est [0.01 .. 100]. Dans un FootageItem, l’attribut
pixelAspect est lié au format des pixels de la source principale ; dans un CompItem, il est
lié au format des pixels de la composition.
Certaines valeurs pixelAspect sont connues d’After Effects et sont stockées/extraites avec
précision. Ces valeurs sont celles de la série { 1, 0.9, 1.2, 1.07, 1.42, 2, 0.95, 1.9 }. Les autres
valeurs peuvent subir de légères erreurs d’arrondi lorsque vous les définissez et les
extrayez. Par conséquent, la valeur que vous extrayez après la définition peut être
légèrement différente de celle que vous avez fournie.
Type
Valeur de la virgule flottante ; lecture seule sauf s’il s’agit d’un CompItem.
Description
L’attribut proxySource est le FootageSource utilisé comme doublure.
Cet attribut est en lecture seule, mais il peut être modifié en appelant l’une des méthodes
AVItem qui modifient la source de la doublure, à savoir setProxy(),
setProxyWithSequence(), setProxyWithSolid() et setProxyWithPlaceholder().
Type
FootageSource ; lecture seule.
Description
La méthode setProxy définit un fichier comme doublure d’un AVItem.
Elle charge ce fichier dans un FileSource et l’établit comme nouvelle source de doublure.
Elle ne conserve pas les paramètres d’interprétation et utilise la préférence utilisateur à la
place.
Cette attitude est différente de ce qui se produit avec la source principale d’un métrage,
mais les deux se comportent de la même façon que l’interface utilisateur. Si le fichier
comporte une couche alpha non identifiée et si la préférence utilisateur spécifie d’afficher
un message indiquant quoi faire à l’utilisateur, la création de script devine l’interprétation
alpha au lieu de la demander à l’utilisateur. Après avoir changé la source de la doublure,
cette méthode définit la valeur de useProxy sur true.
Paramètres
Renvoi
Aucun.
Description
La méthode setProxyToNone supprime la doublure de cet AVItem. Suite à cela, la valeur de
proxySource est nulle.
Renvoi
Aucun.
Description
La méthode setProxyWithPlaceholder crée une PlaceholderSource avec des spécifications
en fonction des arguments en entrée et décrit cela comme la nouvelle proxySource.
Notez qu’il n’existe pas de moyen direct de définir un pseudo-élément en tant que
doublure dans l’interface utilisateur ; ce comportement se produit lorsqu’une doublure a
été définie, puis déplacée ou supprimée.
Cette méthode ne conserve pas les paramètres d’interprétation. Une fois que la source de
la doublure a été modifiée, la valeur de useProxy est définie sur true.
Paramètres
name chaîne de texte
width, height dimensions de solide, en pixels [4..30 000]
frameRate images par seconde [1..99]
duration longueur en secondes [0..10 800] (jusqu’à 3 heures)
Renvoi
Aucun.
Description
La méthode setProxy charge la séquence donnée dans une FileSource et l’établit comme
nouvelle source de doublure.
Elle charge la séquence donnée dans une FileSource et l’établit comme nouvelle source de
doublure. Elle ne conserve pas les paramètres d’interprétation et utilise la préférence
utilisateur à la place.
Si le fichier comporte une couche alpha non identifiée et si la préférence utilisateur
spécifie d’afficher un message indiquant quoi faire à l’utilisateur, la création de script
devine l’interprétation alpha au lieu de la demander à l’utilisateur.
Paramètres
File fichier à utiliser en tant que doublure.
forceAlphabetical booléen indiquant si l’option d’ordre alphabétique doit être
utilisée
Renvoi
Aucun.
Description
La méthode setProxyWithSolid crée une SolidSource avec des spécifications en fonction
des arguments en entrée et établit cette SolidSource comme la nouvelle proxySource.
Notez que l’interface utilisateur n’offre aucun moyen de définir un solide comme
doublure ; cette fonction n’est disponible que par le biais de la création de script.
Cette méthode ne conserve pas les paramètres d’interprétation. Une fois que la source de
la doublure a été modifiée, la valeur de useProxy est définie sur true.
Paramètres
color tableau de trois valeurs de virgule flottante comprises dans la
plage [0..1] (valeurs rouge, vert et bleu)
width, height dimension de solide, en pixels [1..30 000]
pixelAspect format des pixels du solide [0.01 .. 100]
Renvoi
Aucun.
Description
L’attribut time correspond à l’instant courant de l’élément lorsqu’il est directement
prévisualisé à partir de la fenêtre de projet.
Vous ne devez pas le définir sur un métrage dont la source principale est fixe (c’est-à-dire
si mainSource.isStill est true).
Type
Valeur de la virgule flottante ; lecture/écriture.
Description
L’attribut usedIn est un tableau contenant tous les CompItems qui utilisent cet AVItem.
Remarque : la valeur renvoyée n’est pas mise à jour automatiquement pour refléter les
changements qui se produisent une fois que vous l’avez extraite. Ainsi, si vous extrayez
usedIn, puis ajoutez cet élément dans une autre composition, vous devez de nouveau
extraire usedIn pour obtenir un tableau incluant la nouvelle composition.
Type
Tableau de CompItem ; lecture seule.
Description
L’attribut useProxy détermine si une doublure doit être utilisée pour l’élément.
Type
Booléen ; lecture/écriture.
Description
L’attribut width spécifie la largeur de l’élément, en pixels. La plage des valeurs autorisées
est [1 ..30 000].
Dans un FootageItem, l’attribut width est lié à la largeur de la source principale ; dans un
CompItem, il est lié à la largeur de la composition. Il est permis de modifier la largeur d’un
CompItem ou d’un FootageItem dont la source principale est une SolidSource. En
revanche, vous ne devez pas modifier la largeur si l’élément est un FootageItem dont la
source principale n’est pas une SolidSource.
Type
Entier ; lecture seule sauf s’il s’agit d’un CompItem.
Objet AVLayer
app.project.layer(index)
Description
L’objet AVLayer fournit une interface aux calques contenant des AVItems (calques de
composition, de métrage, solide, de texte et de son).
AVLayer étant une sous-classe de Layer, toutes les méthodes et tous les attributs de Layer,
outre ceux énumérés ci-dessous, sont disponibles lorsque vous utilisez AVLayer.
Attributs
Méthode
Exemple
Si le premier élément du projet est un CompItem et si le premier calque de ce CompItem
est un AVLayer, le code suivant définit la qualité du calque, son instant de début
(startTime) et son point d’entrée.
var firstLayer = app.project.item(1).layer(1);
firstLayer.quality = LayerQuality.BEST;
firstLayer.startTime = 1;
firstLayer.inPoint = 2;
Description
L’attribut adjustmentLayer renvoie une valeur true si le calque est un calque d’effets.
Type
Booléen ; lecture/écriture.
Description
L’attribut audioActive renvoie une valeur true si le composant audio du calque est actif à
l’instant courant.
Pour que la valeur soit true, audioEnabled doit également être true, aucun autre calque
comportant de l’audio ne doit être en isolation sauf si ce calque l’est aussi, et l’instant
donné doit être compris entre le point d’entrée et le point de sortie de ce calque.
Type
Booléen ; lecture seule.
Description
La méthode audioActiveAtTime informe si le composant audio de ce calque sera actif à
un instant donné.
Pour que la valeur soit true, l’attribut audioEnabled du calque doit également être true,
aucun autre calque contenant de l’audio ne doit être en isolation sauf si ce calque l’est
aussi, et l’instant donné doit être compris entre le point d’entrée et le point de sortie de ce
calque.
Paramètres
time temps, en secondes (valeur de la virgule flottante)
Renvoi
Booléen.
Description
L’attribut audioEnabled est true si l’audio du calque est activé. Cet attribut correspond au
bouton de haut-parleur de l’interface utilisateur.
Type
Booléen ; lecture/écriture.
Description
Le blendingMode est le mode de fusion du calque.
Type
Type énuméré (lecture/écriture) ; l’un des suivants :
BlendingMode.ADD
BlendingMode.ALPHA_ADD
BlendingMode.CLASSIC_COLOR_BURN
BlendingMode.CLASSIC_COLOR_DODGE
BlendingMode.CLASSIC_DIFFERENCE
BlendingMode.COLOR
BlendingMode.COLOR_BURN
BlendingMode.COLOR_DODGE
BlendingMode.DANCING_DISSOLVE
BlendingMode.DARKEN
BlendingMode.DIFFERENCE
BlendingMode.DISSOLVE
BlendingMode.EXCLUSION
BlendingMode.HARD_LIGHT
BlendingMode.HARD_MIX
BlendingMode.HUE
BlendingMode.LIGHTEN
BlendingMode.LINEAR_BURN
BlendingMode.LINEAR_DODGE
BlendingMode.LINEAR_LIGHT
BlendingMode.LUMINESCENT_PREMUL
BlendingMode.LUMINOSITY
BlendingMode.MULTIPLY
BlendingMode.NORMAL
BlendingMode.OVERLAY
BlendingMode.PIN_LIGHT
BlendingMode.SATURATION
BlendingMode.SCREEN
BlendingMode.SILHOUETE_ALPHA
BlendingMode.SILHOUETTE_LUMA
BlendingMode.SOFT_LIGHT
BlendingMode.STENCIL_ALPHA
BlendingMode.STENCIL_LUMA
BlendingMode.VIVID_LIGHT
Description
L’attribut canSetCollapseTransformation renvoie une valeur true s’il est permis de modifier
la valeur de l’attribut collapseTransformation sur ce calque.
Type
Booléen ; lecture seule.
Description
L’attribut canSetTimeRemapEnabled renvoie une valeur true s’il est permis de modifier la
valeur de l’attribut timeRemapEnabled sur ce calque.
Type
Booléen ; lecture seule.
Description
L’attribut collapseTransformation renvoie une valeur true si la condensation des
transformations est activée pour ce calque.
Type
Booléen ; lecture/écriture.
Description
L’attribut effectsActive renvoie une valeur true si les effets du calque sont activés.
Type
Booléen ; lecture/écriture.
Description
L’attribut frameBlending renvoie une valeur true si le mode de fusion est activé.
Type
Booléen ; lecture/écriture.
Description
Cet attribut renvoie une valeur true si le calque est un calque repère.
Type
Booléen ; lecture seule.
Description
L’attribut hasAudio contient une valeur true si le calque contient un composant audio,
qu’il soit en isolation ou que l’attribut audioEnabled soit true.
Type
Booléen ; lecture seule.
Description
L’attribut hasTrackMatte renvoie une valeur true si le calque supérieur à ce calque est
utilisé comme cache par approche sur ce calque. S’il renvoie la valeur true, le
trackMatteType de ce calque définit la façon dont le cache est appliqué.
Type
Booléen ; lecture seule.
Description
L’attribut height correspond à la hauteur du calque, en pixels.
Type
Valeur du la virgule flottante ; lecture seule.
Description
L’attribut isNameFromSource renvoie une valeur true si le calque ne possède pas de nom
explicitement défini, mais contient une source nommée. Dans ce cas, layer.name est
identique à layer.source.name. Il renvoie la valeur false si le calque possède un nom
explicitement défini ou si ni le calque ni la source du calque ne portent un nom.
Type
Booléen ; lecture seule.
Description
L’attribut isTrackMatte renvoie une valeur true si ce calque est utilisé en tant que cache par
approche pour le calque inférieur.
Type
Booléen ; lecture seule.
Description
L’attribut motionBlur renvoie une valeur true si le flou directionnel est activé.
Type
Booléen ; lecture/écriture.
Description
L’attribut preserveTransparency renvoie une valeur true si l’option Préserver la
transparence est activée pour le calque.
Type
Booléen ; lecture/écriture.
Description
L’attribut quality correspond à la qualité d’un calque indiquant comment ce calque doit
paraître.
Type
Type énuméré (lecture/écriture) ; l’un des suivants :
LayerQuality.BEST
LayerQuality.DRAFT
LayerQuality.WIREFRAME
Description
L’attribut source est l’AVItem source pour ce calque.
Dans un calque de texte, la valeur de la source est nulle.
Type
AVItem ; lecture seule.
Description
L’attribut threeDLayer est true s’il s’agit d’un calque 3D.
Type
Booléen ; lecture/écriture.
Description
L’attribut timeRemapEnabled est true si le remappage temporel est activé sur ce calque.
Type
Booléen ; lecture/écriture.
Description
Si ce calque comporte un cache par approche, le trackMatteType spécifie la façon dont le
cache par approche sera appliqué.
Type
Type énuméré (lecture/écriture) ; l’un des suivants :
TrackMatteType.ALPHA
TrackMatteType.ALPHA_INVERTED
TrackMatteType.LUMA
TrackMatteType.LUMA_INVERTED
TrackMatteType.NO_TRACK_MATTE
Description
L’attribut width correspond à la largeur du calque, en pixels.
Type
Valeur du la virgule flottante ; lecture seule.
Objet Collection
Description
Un objet Collection agit comme un tableau donnant accès à ses éléments au moyen d’un
index. De la même façon qu’un tableau, une collection associe un jeu d’objets ou de
valeurs en tant que groupe logique, et fournit un accès aléatoire à ces objets ou valeurs. La
plupart des objets collection sont toutefois en lecture seule. Vous ne leur attribuez pas les
objets vous-même. Leur contenu est automatiquement mis à jour au fil des créations ou
suppressions d’objets.
La numérotation d’index d’une collection commence par 1, et non par 0.
Objets
Attributs
Méthodes
Objet CompItem
app.project.item(index)
Description
L’objet CompItem fournit l’accès aux attributs et méthodes des compositions. Ceux-ci sont
accessibles par le biais de leur numéro d’index.
Attributs
Attributs hérités de l’objet Item et de l’objet AVItem (voir sections « Objet Item »,
page 107 et « Objet AVItem », page 42)
Méthodes
Méthodes héritées de l’objet Item et de l’objet AVItem (voir sections « Objet Item »,
page 107 et « Objet AVItem », page 42)
Exemple
Etant donné que le premier élément du projet est un élément de composition, le code
suivant génèrerait deux alertes. La première afficherait le nombre de calques contenus
dans le CompItem, et la deuxième le nom du dernier calque du CompItem.
var firstComp = app.project.item(1);
alert( "number of layers is " + firstComp.numLayers );
alert( "name of last layer is " + firstComp.layer(firstComp.numLayers).name );
Description
L’attribut activeCamera correspond au calque de caméra au premier plan activé. La valeur
renvoyée est nulle si la composition ne contient aucun calque de caméra activé.
Type
Calque ; lecture seule.
Description
L’attribut bgColor définit la couleur de fond de la composition. La valeur doit être un
tableau contenant trois valeurs de virgule flottante comprises dans la plage [0..1] pour
rouge, vert et bleu.
Type
Tableau de trois valeurs de virgule flottante comprises entre 0 et 1 : [R, V, B) ; lecture/
écriture.
Description
L’attribut displayStartTime correspond à l’heure, en secondes, définie au début de la
composition. Elle est équivalente à la valeur du code temporel initial ou de la première
image définie dans la fenêtre des paramètres de composition, exprimée en secondes.
La plage des valeurs autorisées est [0...86 339] (86 339 correspondant à 25 heures moins
1 seconde).
Type
Valeur de la virgule flottante ; temps, en secondes. Lecture/écriture.
Description
L’attribut draft3d détermine si le mode Ebauche 3D est activé pour la fenêtre de
composition. Sa valeur correspond à celle du bouton draft3d de la fenêtre de composition.
Type
Booléen ; si true, active le mode Ebauche 3D. Lecture/écriture.
Description
La méthode duplicate() crée et renvoie un doublon de cet élément de composition. Le
doublon contient les mêmes calques que l’original.
Paramètres
Aucun.
Renvoi
CompItem.
Description
L’attribut frameBlending détermine si l’interpolation d’images est activée pour cette
composition. Sa valeur correspond à celle du bouton d’interpolation dans la fenêtre de
composition.
Type
Booléen ; si true, l’interpolation d’images est activée ; lecture/écriture.
Description
L’attribut frameDuration renvoie la durée d’une image, exprimée en secondes. Il s’agit de
l’inverse de la cadence (ou images par seconde). Cet attribut est en lecture seule.
Type
Valeur du la virgule flottante ; lecture seule.
Description
L’attribut hideShyLayers détermine si les calques discrets doivent être visibles dans la
fenêtre Montage. Sa valeur correspond à celle du bouton servant à masquer tous les
calques discrets dans la fenêtre de composition.
Si false, seuls les calques pour lesquels « shy » est défini sur false seront affichés. Si true,
tous les calques seront affichés, quelle que soit la valeur de leurs attributs « shy ».
Type
Booléen ; si true, les calques discrets sont visibles. Lecture/écriture.
Description
La méthode layer() renvoie un objet de calque défini.
Utilisée avec la syntaxe layer(int index), cette méthode renvoie le calque avec
l’index donné. L’index donné doit être compris dans la plage [1,numLayers], où numLayers
correspond au nombre de calques de la composition.
Utilisée avec la syntaxe l ayer(Layer otherLayer, int re lIndex), cette méthode renvoie le calque
dont l’index est celui de otherlayer donné ajouté au relindex donné. Relindex doit être
compris dans la plage [(1-otherlayer.index), (numlayers-otherlayer.index)].
Utilisée avec la syntaxe l ayer(S t r i n g n a m e ) , cette méthode renvoie le calque dans le
CompItem dont le nom correspond au nom donné.
Paramètres
Notez qu’il existe trois types d’utilisation distincts possibles avec calque, chacun utilisant
une syntaxe unique :
index numéro d’index du calque défini ; entier
ou
otherLayer numéro d’index du calque auquel un décalage sera appliqué
relIndex position relative du calque ; différence entre les deux numéros
d’index, exprimée par un nombre entier
ou
name nom du numéro spécifié ; chaîne de texte
Renvoi
Objet Layer.
Description
L’attribut layers contient la LayerCollection pour cette composition.
Type
LayerCollection. Lecture seule.
Description
L’attribut motionBlur détermine si le flou directionnel doit être activé pour la composition.
Sa valeur correspond à celle du bouton de flou directionnel de la fenêtre de composition.
Type
Booléen ; si true, le flou directionnel est activé. Lecture/écriture.
Description
L’attribut numLayers correspond au nombre de calques contenus dans le CompItem.
Cette valeur est toujours identique à la longueur de la LayerCollection.
Type
Entier. Lecture seule.
Description
L’attribut preserveNestedFrameRate détermine si la cadence d’images des compositions
imbriquées est préservée dans la composition en cours. Sa valeur correspond à celle de
l’option Préserver la cadence (compositions imbriquées ou en file d’attente de rendu) de
l’onglet Avancé de la boîte de dialogue Paramètres de composition.
Type
Booléen ; si true, la cadence d’image des compositions imbriquées est préservée. Lecture/
écriture.
Description
L’attribut preserveNestedResolution détermine si la résolution des compositions
imbriquées est préservée dans la composition en cours. Sa valeur correspond à celle de
l’option Préserver la résolution (compositions imbriquées) de l’onglet Avancé de la boîte
de dialogue Paramètres de composition.
Type
Booléen ; si true, la cadence d’image des compositions imbriquées est préservée. Lecture/
écriture.
Description
L’attribut resolutionFactor définit la résolution d’échantillonnage de la composition pour
le rendu.
Chacune des deux valeurs du tableau indique le nombre de pixels à ignorer lors de
l’échantillonnage dans l’une des deux directions. Le premier numéro détermine
l’échantillonnage horizontal, le second l’échantillonnage vertical. Chacun des deux entiers
doit être compris dans la plage de valeurs [1..99]. La résolution intégrale est [1,1], la demi-
résolution [2,2] et la résolution d’un quart [4,4]. La valeur par défaut est [1,1].
Type
Tableau de deux entiers, décrivant le facteur de résolution de sous-échantillonnage de x et
y ; lecture/écriture.
Description
Cet attribut génère un tableau contenant tous les calques sélectionnés dans cet
CompItem.
Type
Tableau d’objets Layer ; lecture seule.
Description
Cet attribut génère un tableau contenant tous les objets Property et PropertyGroup
sélectionnés dans cet CompItem.
Type
Tableau d’objets Property et PropertyGroup ; lecture seule.
Description
L’attribut shutterAngle détermine le réglage de l’angle obturateur pour la composition. Ce
réglage correspond à l’angle obturateur défini sur l’onglet Avancé de la boîte de dialogue
Paramètres de composition. La plage des valeurs entières autorisées est 0 - 720.
Type
Valeur entière (comprise entre 0 et 720). Lecture/écriture.
Description
L’attribut shutterPhase détermine le réglage de la phase d’obturateur pour la
composition. Ce réglage correspond à la phase d’obturateur définie sur l’onglet Avancé de
la boîte de dialogue Paramètres de composition. La plage des valeurs entières autorisées
est 0 - 360.
Type
Valeur entière (comprise entre -360 et 360). Lecture/écriture.
Description
L’attribut workAreaDuration détermine la durée, en secondes, de la zone de travail. Cette
valeur correspond à la différence entre le point de début de la zone de travail de
composition et le point de fin.
Type
Valeur de la virgule flottante ; temps, en secondes. Lecture/écriture.
Description
L’attribut workAreaStart détermine le moment, en secondes, où la zone de travail de
composition commence.
Type
Valeur de la virgule flottante ; temps, en secondes. Lecture/écriture.
Classe File
La classe File contient les méthodes et les attributs communs aux objets File. Un objet File
correspond à un fichier disque.
Cette classe inclut également des attributs et des méthodes dans la classe FileSystem, car
ceux-ci s’appliquent aussi bien aux fichiers qu’aux dossiers.
Attributs de classe hérités de l’objet FileSource (voir section « Objet FileSource »,
page 80)
Méthodes
Description
Cette fonction construit un nouvel objet File. Si le nom de chemin donné se rapporte à un
dossier déjà existant, un objet Folder est renvoyé à la place.
La séquence CRLF est prédéfinie avec les valeurs par défaut du système et l’encodage est
prédéfini avec l’encodage système par défaut.
Paramètres
Chemin, exprimé en tant que chaîne. S’il est manquant, un nom temporaire est généré.
Renvoi
File (ou Folder si le chemin fait référence à un dossier existant).
Objet File
File(“path”)
Description
L’objet File contient des méthodes et des attributs communs aux objets File. Un objet
Folder correspond à un dossier.
Cette objet inclut également des attributs et des méthodes dans l’objet FileSystem, car
ceux-ci s’appliquent aussi bien aux fichiers qu’aux dossiers.
Attributs
Attributs hérités de l’objet FileSystem (voir section « Objet FileSystem », page 83)
Méthodes
Méthodes héritées de l’objet FileSystem (voir section « Objet FileSystem », page 83)
Description
La méthode close() ferme le fichier ouvert. La valeur renvoyée est true si le fichier a bien
été fermé ou false en cas d’erreurs d’E/S.
Paramètres
Aucun.
Renvoi
Booléen.
Description
La méthode close() copie le fichier dans l’emplacement donné.
Vous pouvez fournir un nom de chemin URI, ainsi qu’un autre objet File. Si un fichier est
présent à l’emplacement de destination, il est remplacé.
La méthode renvoie la valeur true si la copie s’est déroulée correctement et la valeur false
dans le cas inverse. La méthode résout tous les alias pour trouver le fichier source.
Paramètres
Renvoi
Booléen.
Description
L’attribut creator est le créateur de fichier Macintosh en tant que chaîne de quatre
caractères. Sous Windows, la valeur renvoyée est toujours « ???? ».
Type
Chaîne ; lecture seule.
Description
L’attribut encoding obtient ou définit l’encodage pour les opérations de lecture/écriture
qui suivent.
L’encodage est l’une des différentes constantes prédéfinies qui suivent les noms
d’encodage Internet courants. Les noms valides sont UCS-2, X-SJIS, ISO-8851-9, ASCII ou
similaires.
Un encodeur spécial, BINARY, est utilisé pour lire les fichiers binaires. Cet encodeur stocke
chaque octet du fichier en tant que caractère Unicode, quel que soit l’encodage. Lors de
l’écriture, l’octet inférieur de chaque caractère Unicode est traité en tant qu’octet unique à
écrire. Voir section « Noms d’encodage », page 253 pour obtenir une liste des encodages.
Si un encodage non reconnu est utilisé, l’encodage par défaut du système est appliqué.
Type
Chaîne ; lecture/écriture.
Description
L’attribut File eof possède la valeur true si une tentative de lecture a entraîné la position en
cours après la fin du fichier.
Si le fichier n’est pas ouvert, la valeur est true.
Type
Booléen ; lecture seule.
Description
L’attribut File hidden possède la valeur true si le fichier est invisible. L’attribution d’une
valeur booléenne définit ou efface cet attribut.
Type
Booléen ; lecture/écriture.
Description
L’attribut File length correspond à la taille du fichier en octets. Lors de la définition de la
taille du fichier, le fichier ne doit pas être ouvert.
Type
Nombre ; lecture seule.
Description
L’attribut File lineFeed détermine la façon dont les caractères de changement de ligne
sont écrits. Les trois valeurs possibles sont macintosh, unix ou windows (en réalité, seul le
premier caractère est interprété).
Type
Chaîne (trois possibilités : macintosh, unix, windows) ; lecture/écriture.
Description
La méthode File open() ouvre le fichier pour les opérations de lecture/écriture qui suivent.
Les arguments type et creator sont facultatifs et propres à Macintosh ; ils spécifient le type
de fichier et le créateur en tant que deux chaînes de quatre caractères. Ils sont utilisés si le
fichier est nouvellement créé. Sur les autres plates-formes, ils sont ignorés.
Lorsque open() est utilisé pour ouvrir un fichier en lecture, la méthode tente de détecter
l’encodage du fichier ouvert. Elle lit quelques octets à la position en cours et essaie de
détecter le caractère Byte Order Mark 0xFFFE. Si elle le trouve, la position en cours est
avancée après le caractère détecté et la propriété d’encodage est définie sur l’une des
chaînes UCS-2BE, UCS-2LE, UCS4-BE, UCS-4LE ou UTF-8. Si le caractère marqueur n’est pas
trouvé, la méthode vérifie la présence d’octets zéro à l’emplacement en cours et fait une
supposition sur l’un des formats ci-dessus (sauf UTF-8). Si tout échoue, la propriété
d’encodage est définie à l’encodage système. La méthode résout tous les alias pour
trouver le fichier.
Soyez vigilant si vous essayez d’ouvrir un fichier plusieurs fois. Généralement, le système
d’exploitation permet cette opération, mais si vous commencez à écrire dans le fichier en
utilisant deux objets File, vous risquez de détruire vos données.
La valeur renvoyée est true si le fichier a été ouvert et false dans le cas contraire.
Paramètres
mode r, w ou e :
r (read) Ouvre le fichier en lecture. Si le fichier n’existe pas ou est introuvable,
l’appel échoue.
w (write) Ouvre un fichier vide pour l’écriture. Si le fichier existe, son contenu est
détruit.
e (edit) Ouvre en lecture et écriture un fichier existant.
type Type de fichier Macintosh ; chaîne de caractères de quatre octets ; ignoré sur les
systèmes d’exploitation autres que Macintosh.
creator Créateur de fichier Macintosh ; chaîne de caractères de quatre octets ; ignoré sur
les systèmes d’exploitation autres que Macintosh.
Renvoi
Booléen.
Description
La méthode de classe File.openDialog présente la boîte de dialogue Ouvrir standard de la
plate-forme sur laquelle After Effects est exécuté. Cette méthode fait quelque peu double
emploi avec la fonction globale fileGetDialog(), plus facile à utiliser.
Paramètres
prompt Message d’invite facultatif (exprimé sous forme de chaîne) affiché en tant que
partie intégrante de la boîte de dialogue si celle-ci permet l’affichage d’un
message supplémentaire.
select Argument autorisant la pré-sélection des fichiers affichés par la boîte de
dialogue. Cet argument est différent sur Mac OS et sous Windows.
select La chaîne de sélection Windows est en fait une liste des types de fichiers,
(Win) accompagnés d’un texte explicatif. Cette liste est affichée au bas de la boîte de
dialogue sous la forme d’une zone de liste déroulante pour permettre à
l’utilisateur de sélectionner les types de fichiers à afficher. Les éléments de cette
liste sont séparés par des virgules. Chaque élément commence par le texte
descriptif, suivi du signe deux-points (:) et des masques de recherche de fichier
pour ce texte. Chaque masque de recherche est délimité par un point-virgule.
Une liste de sélection ayant autorisé la sélection de tous les fichiers texte (*.TXT
et *.DOC) ou de tous les fichiers ressemblerait à ceci :
Fichiers texte :*.TXT;*.DOC,Tous les fichiers :*
Le caractère astérisque seul est un pseudo-élément pour tous les fichiers.
select (Mac Sur Mac OS, le deuxième argument facultatif est une fonction de rappel. Cette
OS) fonction prend un seul argument, un objet File. Une fois la boîte de dialogue
définie, elle appelle sa fonction de rappel pour chaque fichier prêt à être affiché.
Si la fonction renvoie autre chose que true, le fichier n’est pas affiché. Cela n’est
vrai que pour la méthode openDialog() ; la méthode saveDialog() ignore cette
méthode de rappel.
Renvoi
Objet File, ou valeur nulle si l’utilisateur annule la boîte de dialogue.
Voir aussi
« Objet FileSource », page 80.
Description
La méthode File read() lit le contenu du fichier à partir de la position en cours. Renvoie une
chaîne contenant jusqu’au nombre de caractères supposés être lus.
Paramètres
Renvoi
Chaîne.
Description
La méthode File readch() lit un seul caractère de texte. Les changements de ligne sont
reconnus en tant que paires CR, LF, CRLF ou LFCR. Si le fichier est encodé, plusieurs octets
peuvent être lus pour créer des caractères Unicode uniques.
Paramètres
Aucun.
Renvoi
Chaîne.
Description
La méthode File readch() lit une ligne de texte. Les changements de ligne sont reconnus
en tant que paires CR, LF, CRLF ou LFCR. Si le fichier est encodé, plusieurs octets peuvent
être lus pour créer des caractères Unicode uniques.
Paramètres
Aucun.
Renvoi
Chaîne.
Description
Une fois défini, l’attribut File readonly empêche le fichier d’être modifié ou supprimé.
Type
Booléen ; lecture/écriture.
Description
La méthode de classe File.openDialog présente la boîte de dialogue Enregistrer standard
de la plate-forme sur laquelle After Effects est exécuté. Cette méthode fait quelque peu
double emploi avec la fonction filePutDialog(), plus facile à utiliser.
Paramètres
Renvoi
Objet File, ou valeur nulle si l’utilisateur annule la boîte de dialogue.
Voir aussi
« Fonction globale filePutDialog() », page 29
Description
La méthode File seek() recherche une position donnée dans le fichier. Cette méthode ne
permet pas la recherche de positions inférieures à 0 ou supérieures à la taille de fichier en
cours.
Paramètres
Renvoi
Booléen ; true si la position a été modifiée.
Description
La méthode File tell() renvoie la position en cours dans le fichier en tant que décalage en
octets.
Paramètres
Aucun.
Renvoi
Entier.
Description
L’attribut File type contient le type de fichier Macintosh en tant que chaîne de quatre
caractères.
Sur Mac OS, renvoie le type de fichier. Sous Windows, renvoie « appl » pour les
fichiers .EXE, « shlb » pour les fichiers .DLL et « TEXT » pour tout autre fichier. Si le fichier
n’existe pas, le type de fichier est « ???? ».
Type
Booléen ; lecture seule.
Description
La méthode File write() écrit une chaîne donnée dans le fichier. Les paramètres de cette
fonction sont concaténés en une seule chaîne. Renvoie true une fois terminé.
Pour les fichiers encodés, l’écriture d’un caractère Unicode unique peut résulter en
l’écriture de plusieurs octets. Veillez à ne pas écrire dans un fichier ouvert dans une autre
application ou un autre objet. Cela risque, en effet, d’entraîner une perte de données,
étant donné qu’une deuxième écriture émise à partir d’un autre objet File peut remplacer
les données existantes.
Paramètres
Renvoi
Booléen.
Description
La méthode File writeIn() écrit une chaîne donnée dans le fichier. Les paramètres de cette
fonction sont concaténés en une seule chaîne, et une séquence de changement de ligne
est ajoutée. Renvoie true une fois terminé.
Si le fichier est encodé, plusieurs octets peuvent être lus pour créer des caractères Unicode
uniques.
Paramètres
Renvoi
Booléen.
Objet FileSource
app.project.item(index).mainSource
app.project.item(index).proxySource
Description
FileSource décrit le métrage issu d’un fichier. Il s’agit d’une sous-classe de FootageSource ;
par conséquent, elle hérite de l’ensemble des attributs et méthodes de la FootageSource.
Attributs
Méthodes
Description
L’attribut FileSource file indique le fichier qui définit cette FileSource. Cet attribut est en
lecture seule.
Notez qu’il existe d’autres moyens de modifier le fichier. Si cette FootageSource est une
proxySource d’un AVItem, vous pouvez appeler setProxy() ou setProxyWithSequence()
pour modifier les fichiers. Si cette FootageSource est une source principale d’un
FootageItem, vous pouvez appeler replace() ou replaceWithSequence() pour changer les
fichiers.
Type
Fichier ; lecture seule.
Description
La méthode FileSource reload() recharge la ressource du fichier. Cette méthode peut
uniquement être appelée sur une mainSource, et non sur une proxySource.
Paramètres
Aucun.
Renvoi
Aucun.
Classe FileSystem
File.
Folder.
Description
La classe FileSystem contient des méthodes et des attributs communs aux objets File et
Folder. Un objet File correspond à un fichier de disque, alors qu’un objet Folder
correspond à un dossier.
Cet attribut et ces méthodes diffèrent de celles se trouvant sous le FileSystemObject par le
fait qu’ils peuvent être appliqués sans faire référence à une instance de fichier ou de
dossier particulière.
Attributs de classe
Méthodes de classe
Méthode de classe Référence Description
decode() voir section « Méthode de décode la chaîne d’entrée à partir
classe FileSystem decode() », de UTF-8
page 82
encode() voir section « Méthode de encode la chaîne d’entrée en UTF-
classe FileSystem encode() », 8
page 82
Description
La méthode de classe decode() de File ou de Folder décode les caractères échappés, puis
les interprète en tant que UTF-8.
Paramètres
Renvoi
Chaîne.
Voir aussi
« Méthode de classe FileSystem encode() », page 82
Description
La méthode de classe encode() de File ou de Folder convertit la chaîne en entrée au format
UTF-8, puis l’encode de manière à ce que tous ses caractères soient utilisables dans une
URI (ou URL).
Paramètres
Renvoi
Chaîne.
Voir aussi
« Attribut FileSystem alias », page 85
Description
L’attribut de classe fs de File ou Folder contient le nom du système de fichiers (système
d’exploitation). Les valeurs possibles sont Windows ou Macintosh.
Type
Chaîne ; lecture seule.
Exemple
write("The local file system is " + File.fs);
Objet FileSystem
File(“path”).
Folder(“path”).
Description
L’objet FileSystem contient des méthodes et des attributs communs aux objets File et
Folder. Un objet File correspond à un fichier de disque, alors qu’un objet Folder
correspond à un dossier. FileSystem est un nom utilisé pour faire référence aux dossiers
comme aux fichiers.
Ces attributs et méthodes diffèrent de celles se trouvant sous la classe FileSystem Class par
le fait qu’elles ne peuvent pas être appliquées sans faire référence à une instance de fichier
ou de dossier particulière, exprimée sous la forme du chemin vers ce fichier ou dossier.
Vous pouvez utiliser les noms de chemin absolus et les noms de chemins relatifs. Les noms
de chemin absolus commencent par une ou deux barres obliques. Ces noms de chemin
décrivent le chemin complet depuis le dossier racine jusqu’au fichier ou dossier dont il est
question. Les noms de chemin relatifs commencent à partir d’un emplacement connu, le
dossier en cours. Un nom de chemin relatif commence soit par un nom de dossier, soit par
l’un des noms spéciaux « . » et « .. ». Le nom « . » fait référence au dossier en cours, et le
nom « .. » au répertoire parent. La barre oblique est utilisée pour délimiter les différents
éléments du chemin. Les caractères spéciaux sont encodés avec la notation UTF-8.
Les objets FileSystem prennent en charge une convention commune. Un nom de volume
peut être la première partie d’un chemin absolu. Les objets savent où rechercher les noms
de volume sur Mac OS et sous Windows, et ils traduisent les noms de volume en
conséquence.
Les noms de chemin peuvent également commencer par le caractère tilde (~). Ce
caractère correspond au répertoire de base de l’utilisateur (Mac OS). Sous Windows, un
répertoire avec la variable d’environnement HOME ou, à défaut, le poste utilisé comme
répertoire de base.
Le tableau suivant illustre la façon dont l’élément racine d’un nom de fichier complet est
utilisé sur différents systèmes de fichiers. Dans ces exemples, l’unité en cours est C: sous
Windows et Macintosh HD sur Mac OS.
Ainsi, si vous devez utiliser un script avec la notation URI sur Mac OS et Windows, essayez
d’utiliser les noms de chemin relatifs ou de dériver vos noms de chemin du répertoire de
base. Si ce n’est pas possible, il est conseillé d’utiliser des alias Mac OS X et des noms UNC
sous Windows, et de stocker les fichiers sur une machine distante de la machine Windows
sur laquelle le script est exécuté.
Attributs
Méthodes
Description
L’attribut absoluteURI de File ou Folder correspond au nom de chemin complet de l’objet
en notation URI.
Type
Chaîne ; lecture seule.
Description
L’attribut alias de File ou Folder renvoie true si l’objet fait référence à un alias de système
de fichiers.
Type
Booléen ; lecture seule.
Description
L’attribut created de File ou Folder correspond à la date de création de l’objet. Si l’objet ne
fait pas référence à un dossier ou à un fichier contenu sur le disque, la valeur est nulle.
Type
Date, ou valeur nulle si l’objet ne fait pas référence à un fichier ou à dossier sur le disque ;
lecture seule.
Description
L’attribut error de File ou Folder contient un message décrivant la dernière erreur du
système de fichiers. Le fait de définir cette valeur efface tout message d’erreur et rétablit le
bit d’erreur pour les fichiers ouverts.
Type
Booléen ; lecture/écriture (l’écriture rétablit le bit d’erreur).
Description
L’attribut exists de File ou Folder renvoie true si le nom de chemin ce cet objet fait
référence à un fichier ou un dossier déjà existant.
Type
Booléen ; lecture seule.
Description
L’attribut fsName de File ou Folder est le nom spécifique au système de fichiers de cet
objet en tant que nom de chemin complet.
Type
Chaîne ; lecture seule.
Description
La méthode getRelativeURI() de File ou Folder calcule et renvoie l’URI relative, pour un
chemin de base donné, en notation URI. Si le chemin de base est omis, le chemin pris en
compte est celui du dossier en cours.
Paramètres
Renvoi
Chaîne.
Description
L’attribut modified de File ou Folder correspond à la date de la dernière modification de
l’objet. Si l’objet ne fait pas référence à un dossier ou à un fichier contenu sur le disque, la
valeur est nulle.
Type
Date, ou valeur nulle si aucun objet FileSystem n’est référencé ; lecture seule.
Description
L’attribut name de File ou Folder correspond au nom de l’objet sans précision de chemin.
Type
Chaîne ; lecture seule.
Description
L’attribut parent de File ou Folder correspond à l’objet folder contenant cet objet. Si l’objet
est déjà le dossier racine d’un volume, la valeur de propriété est nulle.
Type
Dossier, ou valeur nulle si l’objet n’a pas de parent ; lecture seule.
Description
L’attribut path de File ou Folder correspond à la partie chemin de l’URI absolue. Si le nom
n’a pas de chemin, cette propriété contient la chaîne vide.
Type
Chaîne, vide si le nom n’a pas de chemin ; lecture seule.
Description
L’attribut relativeURI de File ou de Folder correspond au nom de chemin de l’objet en
notation URI, relatif au dossier en cours.
Type
Chaîne ; lecture seule.
Description
La méthode remove() de File ou Folder supprime le fichier ou dossier représenté par ce
dossier. Les dossiers doivent être vides avant de pouvoir être supprimés. La valeur
renvoyée est true si le fichier ou dossier a été supprimé.
IMPORTANT : la méthode remove() supprime immédiatement le fichier ou dossier
référencé. Elle ne déplace pas le fichier ou le dossier référencé vers la corbeille système. Les
effets de la méthode remove ne peuvent pas être annulés. Il est conseillé d’afficher un
message demandant à l’utilisateur l’autorisation de supprimer un fichier ou un dossier
avant de le supprimer. La méthode ne résout pas les alias ; elle supprime le fichier alias
même.
Paramètres
Aucun.
Renvoi
Booléen.
Description
La méthode rename() de File ou Folder renomme l’objet avec un nouveau nom. Le
nouveau nom ne doit pas avoir de chemin. Cette méthode renvoie true si l’objet a été
renommé. La méthode ne résout pas les alias ; elle renomme le fichier alias.
Paramètres
Renvoi
Booléen.
Description
La méthode resolve() de File ou Folder tente de résoudre l’alias de système de fichiers vers
lequel pointe vers cet objet. En cas de réussite, un nouvel objet File ou Folder est renvoyé,
pointant sur l’élément de système de fichiers résolu. Si l’objet n’est pas un alias ou si l’alias
n’a pas pu être résolu, la valeur renvoyée est nulle.
Paramètres
Aucun.
Renvoi
Objet FileSystem (File ou Folder) ou valeur nulle en l’absence d’alias.
Classe Folder
Folder.
Description
La classe Folder contient les méthodes et les attributs communs aux objets Folder. Un
objet Folder correspond à un dossier.
Cette classe inclut également tous les attributs et méthodes contenus dans la classe
FileSystem, car ceux-ci s’appliquent aussi bien aux dossiers qu’aux fichiers.
Attributs
Attributs de classe de l’objet FileSystem (voir section « Objet FileSystem », page 83)
Méthodes
Méthodes de classe de l’objet FileSystem (voir section « Objet FileSystem », page 83)
Description
Cette fonction construit un nouvel objet Folder. Si le nom de chemin donné se rapporte à
un fichier de disque déjà existant, un objet File est renvoyé à la place.
Il n’est pas nécessaire que le dossier auquel le nom de chemin se rapporte existe. Si
l’argument est omis, un nom temporaire est généré.
Paramètres
Renvoi
Folder (ou File si le chemin se rapporte à un fichier existant).
Description
L’attribut current de Folder est le dossier en cours. Il est renvoyé en tant qu’objet Folder.
L’attribution d’un objet Folder ou d’une chaîne contenant le nouveau nom de chemin
définit le dossier en cours.
Type
Folder ; lecture/écriture.
Description
La méthode Folder SelectDialog() ouvre une boîte de dialogue vous permettant de
sélectionner un dossier à l’aide de la boîte de dialogue de sélection de dossiers spécifique
à la plate-forme. Les deux arguments sont facultatifs.
Paramètres
Renvoi
Objet Folder pointant vers le dossier sélectionné, ou valeur nulle si l’utilisateur annule la
boîte de dialogue.
Description
L’attribut startup de Folder correspond au dossier contenant l’image exécutable de
l’application en cours d’exécution.
Type
Dossier ; lecture seule.
Description
L’attribut system de Folder correspond au dossier contenant les fichiers du système
d’exploitation.
Type
Dossier ; lecture seule.
Description
L’attribut temp de Folder correspond au dossier par défaut destiné aux fichiers
temporaires.
Type
Dossier ; lecture seule.
Description
L’attribut trash de Folder correspond au dossier contenant les éléments supprimés.
Type
Dossier ; lecture seule.
Objet Folder
Folder(“path”).
Description
L’objet Folder contient les méthodes et les attributs communs aux objets Folder. Un objet
Folder correspond à un dossier.
Cet objet inclut également tous les attributs et méthodes contenus dans l’objet
FileSystem, car ceux-ci s’appliquent aussi bien aux dossiers qu’aux fichiers.
Attributs hérités de l’objet FileSystem (voir section « Objet FileSystem », page 83)
Méthodes
Méthodes héritées de l’objet FileSystem (voir section « Objet FileSystem », page 83)
Description
La méthode create() tente de créer un dossier à l’emplacement vers lequel pointe le nom
de chemin.
Paramètres
Aucun.
Renvoi
Booléen ; true si le dossier a été créé.
Description
La méthode Folder getFiles() renvoie une liste des objets File et Folder contenus dans
l’objet folder. Le paramètre mask correspond au masque de recherche pour les noms de
fichiers, exprimé sous forme de chaîne. Il peut contenir des points d’interrogation et des
astérisques et est prédéfini à * pour rechercher tous les fichiers.
L’autre solution consiste à fournir une fonction. Cette fonction est appelée avec un objet
File ou Folder pour chaque fichier ou dossier contenu dans la recherche de répertoire. Si la
fonction renvoie la valeur true, l’objet est ajouté au tableau.
Sous Windows, tous les alias se terminent par l’extension .lnk. Cette extension est retirée
du nom de fichier afin de préserver la compatibilité avec les autres systèmes
d’exploitation. Vous pouvez toutefois rechercher tous les alias en fournissant le masque de
recherche *.lnk. Cela n’est cependant pas recommandé car il n’est pas transférable.
Paramètres
Renvoi
Tableau d’objets File et Folder ou valeur nulle, si le dossier n’existe pas.
Objet FolderItem
app.project.FolderItem
Description
L’objet FolderItem correspond à tout dossier de votre fenêtre de projet. Il peut contenir
différents types d’éléments (métrage, compositions, solides), ainsi que d’autres dossiers.
Attributs
Méthodes
Exemple
Etant donné que le deuxième élément du projet est un FolderItem, le code suivant génère
une alerte pour chaque élément de niveau supérieur dans le dossier. L’alerte affiche le
nom de chaque élément de niveau supérieur.
var secondItem = app.project.item(2);
if ( !(secondItem instanceof FolderItem) ) {
alert( "problem: second item is not a folder");
} else {
for (i = 1; i <= secondItem.numItems; i++ ) {
alert( "item number " + i + " within the folder is named "
+ secondItem.item(i).name);
}
}
Description
La méthode FolderItem item() renvoie l’élément de niveau supérieur de ce FolderItem
avec l’index donné. Notez que le « niveau supérieur » indique le niveau dans le dossier,
mais pas nécessairement dans le projet.
Paramètres
Renvoi
Elément.
Description
L’attribut items est la ItemCollection qui représente le contenu de ce FolderItem.
Contrairement à la ItemCollection possédée par l’objet Project, la ItemCollection d’un
FolderItem ne contient que les éléments de niveau supérieur dans le FolderItem.
Notez que le « niveau supérieur » indique le niveau dans le dossier, mais pas
nécessairement dans le projet. L’unique cas où les éléments de niveau supérieur du
FolderItem sont également les éléments de niveau supérieur du projet est celui du
rootFolder.
Type
ItemCollection ; lecture seule.
Description
L’attribut numItems est le nombre d’éléments contenus dans le FolderItem.
Ce nombre correspond au nombre d’éléments de niveau supérieur dans le dossier.
Autrement dit, si ce FolderItem contient un autre FolderItem, ce dernier est compté
comme un seul élément, même s’il contient des sous-éléments.
Type
Entier ; lecture seule.
Objet FootageItem
app.project.item(index)
app.project.items[index]
Description
L’objet FootageItem représente un élément de métrage importé dans le projet, qui
apparaît dans la fenêtre de projet.
Attributs
Méthodes
Description
L’attribut file est l’objet File du fichier source du métrage.
Si la source principale d’un FootageItem est une FileSource, ce fichier est le même que
mainSource.file. Sinon, la valeur est nulle.
Type
Objet File (ou valeur nulle si la source principale n’est pas une FileSource) ; lecture seule.
Description
L’attribut footage item mainSource contient tous les paramètres liés à cet élément de
métrage, y compris ceux habituellement accessibles par le biais de la boîte de dialogue
Interpréter un métrage. Voir aussi FootageSource (et ses trois types, c’est-à-dire
SolidSource, FileSource et PlaceholderSource).
Cet attribut est en lecture seule, mais il peut être modifié en appelant l’une des méthodes
FootageItem qui modifient la source du métrage, c’est-à-dire les méthodes replace(),
replaceWithSequence(), replaceWithSolid() et replaceWithPlaceholder().
Type
FootageSource. Lecture seule.
Description
La méthode FootageItem replace() remplace le FootageItem par le fichier indiqué en tant
que paramètre.
Dans After Effects 6.5, outre le chargement du fichier donné, cette méthode effectue les
opérations suivantes :
• Définit la source principale (mainSource) sur une nouvelle valeur reflétant le contenu du
nouveau fichier.
• Définit les attributs name, width, height, frameDuration et duration, définis dans la classe
AVItem de base, en fonction du contenu du fichier.
• Conserve les paramètres d’interprétation de la source principale précédente.
• Identifie la couche alpha si replace() est appelé avec un fichier comportant une couche
alpha non identifiée.
Paramètres
Description
La méthode FootageItem replaceWithSequence() remplace le FootageItem par la
séquence d’image indiquée en tant que paramètre.
Dans After Effects 6.5, outre le chargement du fichier donné, cette méthode effectue les
opérations suivantes :
• Définit la source principale (mainSource) sur une nouvelle valeur reflétant le contenu du
nouveau fichier.
• Définit les attributs name, width, height, frameDuration et duration, définis dans la classe
AVItem de base, en fonction du contenu du fichier.
• Conserve les paramètres d’interprétation de la source principale précédente.
• Identifie la couche alpha si replace() est appelé avec un fichier comportant une couche
alpha non identifiée.
Paramètres
Description
La méthode FootageItem replaceWithSequence() remplace le FootageItem par la
séquence d’image indiquée en tant que paramètre.
Dans After Effects 6.5, outre le chargement du fichier donné, cette méthode effectue les
opérations suivantes :
• Définit la source principale (mainSource) sur une nouvelle valeur reflétant le contenu du
nouveau fichier.
• Définit les attributs name, width, height, frameDuration et duration, définis dans la classe
AVItem de base, en fonction du contenu du fichier.
• Conserve les paramètres d’interprétation de la source principale précédente.
• Identifie la couche alpha si replace() est appelé avec un fichier comportant une couche
alpha non identifiée.
Paramètres
Description
La méthode FootageItem replaceWithSequence() remplace le FootageItem par la
séquence d’image indiquée en tant que paramètre.
Dans After Effects 6.5, outre le chargement du fichier donné, cette méthode effectue les
opérations suivantes :
• Définit la source principale (mainSource) sur une nouvelle valeur reflétant le contenu du
nouveau fichier.
• Définit les attributs name, width, height, frameDuration et duration, définis dans la classe
AVItem de base, en fonction du contenu du fichier.
• Conserve les paramètres d’interprétation de la source principale précédente.
• Identifie la couche alpha si replace() est appelé avec un fichier comportant une couche
alpha non identifiée.
Paramètres
Objet FootageSource
app.project.item(index).mainSource.
app.project.item(index).proxySource.
Description
L’objet FootageSource contient des informations décrivant la source d’un métrage. Il est
utilisé pour contenir la source principale d’un FootageItem ou la source de doublure d’un
AVItem. AVItem est la classe de base de FootageItem et CompItem ; par conséquent, la
source de la doublure apparaît dans ces deux types d’élément.
Attributs
Méthodes
Méthode Référence Description
guessAlphaMode() voir section « Méthode identifie le paramètre alphaMode
FootageSource
guessAlphaMode() »,
page 102
guessPulldown() voir section « Méthode identifie le paramètre
FootageSource pulldownType
guessPulldown() », page 102
Description
L’attribut alphaMode de la footageSource définit la façon dont les informations alpha
contenues dans le métrage doivent être interprétées. Si hasAlpha est false, cet attribut est
sans effet.
Type
Mode Alpha ; l’un des suivants (lecture/écriture) :
AlphaMode.IGNORE
AlphaMode.STRAIGHT
AlphaMode.PREMULTIPLIED
Description
L’attribut conformFrameRate de FootageSource détermine une cadence d’images à
utiliser à la place de la nativeFrameRate. S’il est défini sur 0, la nativeFrameRate sera
utilisée à la place. La plage des valeurs autorisées est [0 .. 99.0].
Vous ne devez pas définir cette valeur si FootageSource.isStill est true. Vous ne devez pas
définir cette valeur sur 0 si removePulldown n’est pas défini sur PulldownPhase.OFF. Si la
valeur est 0 lorsque vous définissez removePulldown sur une valeur différente de
PulldownPhase.OFF, cette valeur sera par défaut équivalente à la nativeFrameRate.
Type
Valeur de la virgule flottante ; lecture/écriture.
Description
L’attribut displayFrameRate de la FootageSource correspond à la cadence d’images réelle
affichée et rendue par After Effects dans les compositions.
Description
L’attribut fieldSeparationType de FootageSource définit la façon dont les trames doivent
être séparées dans un métrage non fixe.
Vous ne devez pas écrire cet attribut si isStill est true. Vous ne devez pas définir cette valeur
sur FieldSeparationType.OFF si removePulldown est différent de PulldownPhase.OFF. Vous
devez remplacer removePulldown par PulldownPhase.OFF, puis définir le
fieldSeparationType sur FieldSeparationType.OFF.
Types énumérés
FieldSeparationType (lecture/écriture) ; l’un des suivants :
AUCUN
UPPER_FIELD_FIRST
LOWER_FIELD_FIRST
Description
La méthode guessAlphaMode() définit alphaMode, premulColor et invertAlpha sur les
identifications les plus proches pour cette source de métrage. Si hasAlpha est false, aucun
changement n’est effectué.
Paramètres
Aucun.
Renvoi
Aucun.
Description
La méthode guessPulldown() définit le fieldSeparationType et la removePulldown sur les
identifications les plus proches pour cette source de métrage. Si isStill est true, aucun
changement n’est effectué.
Paramètres
Types énumérés
Renvoi
Aucun.
Description
L’attribut hasAlpha de FootageSource est true si le métrage possède un composant alpha.
Si true, les attributs alphaMode, invertAlpha et premulColor auront une importance. Si
false, ces trois champs n’ont pas d’importance pour le métrage.
Type
Booléen ; true si alpha existe. Lecture seule.
Description
L’attribut highQualityFieldSeparation de FootageSource indique si After Effects doit
utiliser des algorithmes particuliers pour déterminer la façon d’effectuer la séparation de
trame.
Vous ne devez pas écrire cet attribut si isStill est true. Vous ne devez pas écrire cet attribut
si fieldSeparationType est FieldSeparationType.OFF.
Type
Booléen ; true si la haute qualité est activée. Lecture/écriture.
Description
L’attribut invertAlpha de footageSource détermine si une couche alpha d’une séquence
de métrage ou d’une doublure doit être inversée.
Cet attribut n’est valide qu’en présence d’une couche alpha. Si hasAlpha est false ou si
alphaMode est AlphaMode.IGNORE, cet attribut n’a pas d’importance.
Type
Booléen ; true si la couche alpha est inversée. Lecture/écriture.
Description
L’attribut isStill de footageSource indique si le métrage est fixe ou comporte un
composant temporel.
Les fichiers JPEG, les solides et les pseudo-éléments d’une durée de 0 sont des
métrages fixes. Les fichiers de films, les fichiers son, les séquences et les pseudo-éléments
d’une durée différente de zéro sont des métrages non fixes.
Type
Booléen ; true s’il s’agit d’une image fixe. Lecture seule.
Description
L’attribut loop de footageSource définit le nombre de lectures consécutives du métrage
lors de son utilisation dans une composition.
La plage des valeurs autorisées est [1 .. 9999], où 1 est la valeur par défaut. Vous ne devez
pas écrire cet attribut si isStill est true.
Type
Entier ; nombre de boucles de la séquence. Lecture/écriture.
Description
L’attribut nativeFrameRate de footageSource correspond à la cadence native du métrage.
Type
Valeur de la virgule flottante. Lecture/écriture.
Description
L’attribut premulColor de footageSource détermine la couleur à prémultiplier. Cet attribut
n’est valide que si l’alphaType est défini sur PREMULTIPLIED.
Type
Couleur (tableau de quatre valeurs de virgule flottante comprises entre 0 et 1 : [R, V, B, A]) ;
lecture/écriture.
Description
L’attribut removePulldown des informations de fichier de métrage indique la manière
dont les conversions doivent être supprimées lorsque la séparation de trame est utilisée.
Vous ne devez pas écrire cet attribut si isStill est true. Vous ne devez pas définir cet attribut
sur une valeur différente de PulldownPhase.OFF si le fieldSeparationType est
FieldSeparationType.OFF. Le fieldSeparationType doit d’abord être modifié.
Type énuméré
Phase de conversion (lecture/écriture) ; l’une des suivantes :
RemovePulldown.OFF
RemovePulldown.WSSWW
RemovePulldown.SSWWW
RemovePulldown.SWWWS
RemovePulldown.WWWSS
RemovePulldown.WWSSW
RemovePulldown.WSSWW_24P_ADVANCE
RemovePulldown.SSWWW_24P_ADVANCE
RemovePulldown.SWWWS_24P_ADVANCE
RemovePulldown.WWWSS_24P_ADVANCE
RemovePulldown.WWSSW_24P_ADVANCE
Objet ImportOptions
new ImportOptions();
new ImportOptions(File);
Description
L’objet ImportOptions fournit la possibilité de créer, modifier et accéder aux options de la
méthode importFile(). Vous pouvez créer ImportOptions à l’aide de l’un de deux
constructeurs, l’un prenant des arguments, l’autre n’en prenant pas.
Constructeurs
Si importFile() est défini sans arguments, il contient un « file » qui n’existe pas s’il n’est pas
défini dans une autre instruction :
new ImportOptions().file = new File("myfile.psd");
Sinon, importFile peut être défini avec un seul argument, lequel est un objet File :
var my_io = new ImportOptions( new File( "myfile.psd" ) );
Attributs
Méthodes
Description
La méthode canImportAs() est utilisée pour déterminer si un fichier donné peut être
importé en tant que ImportAsType donné, transmis en tant qu’argument.
Paramètres
ImportAsType ; l’un des suivants :
ImportAsType.COMP
ImportAsType.FOOTAGE
ImportAsType.COMP_CROPPED_LAYERS
ImportAsType.PROJECT
Renvoi
Booléen.
Exemple
var io = new ImportOptions( File(“c:\\foo.psd”));
io.canImportAs( ImportAsType.COMP )
Description
L’attribut file définit le fichier à importer. Utilisé pour obtenir ou modifier le fichier défini
dans le constructeur.
Type
Fichier ; lecture/écriture.
Description
L’attribut forceAlphabetical est un booléen. Une valeur true équivaut à activer l’option
Ordre alphabétique de la boîte de dialogue Fichier > Importer > Fichier.
Type
Booléen ; lecture/écriture.
Description
L’attribut importAs contient le importAsType pour le fichier à importer. Vous pouvez le
spécifier en définissant un fichier du type que vous souhaitez importer en tant
qu’argument.
Type énuméré
ImportAsType ; lecture/écriture. L’un des suivants :
ImportAsType.COMP_CROPPED_LAYERS
ImportAsType.FOOTAGE
ImportAsType.COMP
ImportAsType.PROJECT
Description
L’attribut sequence est un booléen ; il détermine si une séquence ou un fichier seul est
importé.
Type
Booléen ; lecture/écriture.
Objet Item
app.project.item(index)
app.project.items[index]
Description
L’objet Item représente un élément pouvant apparaître dans la fenêtre de projet.
FootageItem, CompItem et FolderItem sont tous des types d’Item.
Méthodes
Exemple
L’exemple suivant obtient le deuxième élément du projet et vérifie que le typeName de
cet élément est « Folder ». Il supprime ensuite de ce dossier tout élément solide de niveau
supérieur n’étant pas actuellement sélectionné. L’exemple vérifie, par ailleurs, que le
parentFolder pour chaque élément du dossier soit correct.
v ar my Folder = app. project.item(2);
if (myFolder.t y p eName != "Folder" ) {
aler t("er ror : second item is not a folder");
}
else {
var numInFolder = my Folder.numItems;
// Always r un loops backwards when deleting thing s:
for(i = numInFolder ; i >= 1; i--) {
var curItem = my Folder.item(i);
if ( curItem.parentFolder != my Folder) {
aler t("er ror w ithin AE: the parentFolder is not set cor rectly");
}
else {
i f ( ! c u r Item . s e l e c te d & & c u r Item . t y p e Na m e = = " Fo o t a g e " ) {
/ / A h a ! a n u n s e l e c te d s o l i d .
curItem.remove();
}
}
}
}
Description
L’attribut item comment est une chaîne contenant un commentaire, d’une taille maximale
de 15 999 octets après toute conversion d’encodage. Ce commentaire est uniquement
destiné à l’utilisateur ; il n’influe aucunement sur l’apparence et le comportement de
l’élément.
Type
Chaîne ; lecture/écriture.
Attribut Item id
app.project.item(index).id
Description
L’attribut item ID est un numéro d’identification unique et persistant utilisé pour identifier
un élément entre les sessions. La valeur de l’ID ne change pas, y compris une fois que le
projet est enregistré dans un fichier et lu ultérieurement.
Un ID est par conséquent effectivement permanent excepté lors de l’importation d’un
projet dans un autre projet, auquel cas les nouveaux ID sont attribués aux nouveaux
éléments importés.
Type
Entier ; lecture seule.
Description
L’attribut item name correspond au nom de l’élément, tel qu’il apparaît dans la fenêtre de
projet.
Type
Chaîne ; lecture/écriture.
Description
L’attribut Parent Folder génère le dossier contenant l’élément sélectionné. Si cet élément
se trouve au niveau supérieur du projet, le parentFolder est le dossier racine du projet
(app.project.rootFolder).
Type
FolderItem ; lecture seule.
Description
La méthode Item remove() supprime cet élément de la fenêtre de projet. Si l’élément est
un FolderItem, tous les éléments contenus dans le dossier sont également supprimés.
Paramètres
Aucun.
Renvoi
Aucun.
Description
L’attribut selected détermine si un élément est sélectionné ou non. Plusieurs éléments
peuvent être sélectionnés simultanément à un moment donné.
L’attribut selected est true si cet élément est actuellement sélectionné. Le fait de définir
cet attribut sur true sélectionne l’élément.
Type
Booléen ; lecture/écriture.
Description
L’attribut typeName est une chaîne représentant un nom du type lisible par l’utilisateur. Il
s’agit par exemple de Folder, Footage et Composition.
Type
Chaîne ; lecture seule.
ItemCollection
app.project.items
Description
L’objet ItemCollection représente une collection d’éléments. La ItemCollection
appartenant à un objet Project représente tous les éléments contenus dans le projet. La
ItemCollection appartenant à un objet FolderItem représente tous les éléments contenus
dans ce dossier.
Attributs
Méthodes
Description
La méthode itemCollection addcomp() crée un nouvel élément de composition et l’ajoute
à l’ItemCollection.
Si l’ItemCollection appartient au projet ou au dossier racine, le parentFolder de la nouvelle
composition est le dossier racine. Sinon, il s’agit du FolderItem possédant l’ItemCollection.
Paramètres
name string nom de la nouvelle composition
width entier largeur de la nouvelle composition [4..
30 000]
height entier hauteur de la nouvelle composition [4..
30 000]
pixelAspect valeur de la virgule format des pixels du solide [0.01..100]
flottante
duration valeur de la virgule durée de la nouvelle composition [0 ..
flottante 10 800 ]
frameRate valeur de la virgule cadence d’images de la nouvelle
flottante composition [1 .. 99]
Renvoi
CompItem.
Objet KeyframeEase
L’objet KeyframeEase définit le paramètre KeyframeEase d’une image clé, lequel est
déterminé par ses paramètres de vitesse et d’influence.
Attributs
Méthode
Description
Ce constructeur crée une valeur KeyframeEase. Les deux paramètres sont requis. Notez
que pour les propriétés 2D et 3D non spatiales, vous devez définir un lissage à l’approche
et un lissage à l’éloignement pour chaque dimension (voir l’exemple ci-dessous). Notez
également qu’il existe deux types de lissage, le temporel et le spatial.
Paramètres
speed Valeur de la virgule flottante ; vitesse de l’image clé
influence Valeur de la virgule flottante comprise dans la plage
[0.1..100.0] ; influence de l’image clé
Renvoi
Aucun.
Exemple
var easeIn = new KeyframeEase(0.5, 50);
var easeOut = new KeyfreameEase(0.75, 85);
myPositionProperty.setTemporalEaseAtKey(2, [easeIn], [easeOut]);
Description
Cet attribut définit la valeur de l’influence de l’image clé. La plage des valeurs autorisées
est 0.1 - 100.0.
Type
Valeur de la virgule flottante ; lecture/écriture.
Description
Cet attribut définit la valeur de la vitesse de l’image clé.
Type
Valeur de la virgule flottante ; lecture/écriture.
Objet Layer
app.project.item(index).layer(index)
Description
L’objet Layer fournit l’accès à un calque contenu dans des compositions. Cet accès est
possible au moyen d’un numéro d’index ou d’une chaîne de nom.
Les calques AV (calques de composition, calques de métrage, etc.) sont représentés en
tant qu’objets AVLayer. AVLayer est une sous-classe de Layer qui contient des méthodes et
des attributs supplémentaires (pour plus d’informations, voir section « Objet AVLayer »,
page 51).
L’objet Layer est dérivé de PropertyGroup. Tous les attributs des objets PropertyBase et
PropertyGroup sont également disponibles sur les Layers.
Attributs
Méthodes
Exemple
Si le premier élément du projet est une composition, l’exemple suivant désactive le
premier calque de cette composition (c’est-à-dire l’icône en forme d’œil) et le renomme
« Lord High Imperial Layer ».
var firstLayer = app.project.item(1).layer(1);
firstLayer.enabled = false;
firstLayer.name = "Lord High Imperial Layer";
Description
L’attribut Layer active est true si le composant vidéo du calque est actif à l’instant courant.
Pour que la valeur soit true, le calque doit être activé ; aucun autre calque ne doit être en
isolation sauf si ce calque l’est aussi, et l’instant donné doit être compris entre le point
d’entrée et le point de sortie de ce calque.
Notez que l’attribut active ne sera pas défini sur true pour un calque audio ; il existe un
attribut audioActive distinct dans l’objet AVLayer.
Type
Booléen ; lecture seule.
Description
La méthode layer activeAtTime informe si ce calque est actif à un instant donné. Pour que
la valeur renvoyée soit true, l’attribut enabled du calque doit également être true, aucun
autre calque ne doit être en isolation sauf si ce calque l’est aussi, et l’instant donné doit
être compris entre le point d’entrée et le point de sortie de ce calque.
Paramètres
time valeur de la virgule temps d’évaluation, en secondes
flottante
Renvoi
Booléen.
Description
La méthode layer copyToComp() copie le calque dans la composition spécifiée par
intoComp. Le calque d’origine reste inchangé.
Paramètres
comp composition de destination où le calque sera supprimé
Renvoi
Aucun.
Description
La méthode layer duplicate duplique le calque. Elle produit le même résultat que la
sélection d’un calque dans l’interface utilisateur suivie de la sélection de la commande
Edition > Dupliquer, excepté que la sélection dans l’interface utilisateur ne change pas
lorsque vous appelez cette méthode.
Paramètres
Aucun.
Renvoi
Calque.
Description
L’attribut Layer enabled est true si le calque est activé, et false dans le cas contraire.
Correspond à la commande d’activation/désactivation dans la fenêtre de calque.
Type
Booléen ; lecture/écriture.
Description
L’attribut Layer hasVideo est true si le calque est activé, et false dans le cas contraire.
Correspond à la commande d’activation/désactivation dans la fenêtre de calque.
Type
Booléen ; lecture seule.
Description
L’attribut Layer index correspond à l’index du calque, compris dans la plage [1,numLayers].
Type
Entier ; lecture seule.
Description
L’attribut Layer inPoint est le point d’entrée du calque, exprimé en temps de composition.
La plage des valeurs autorisées est [-10 800, 10 800].
Type
Valeur de la virgule flottante ; lecture/écriture.
Description
L’attribut Layer locked est true si le calque est verrouillé, et false dans le cas contraire.
Correspond à la commande d’activation/désactivation du verrouillage dans la fenêtre de
calque.
Type
Booléen ; lecture/écriture.
Description
La méthode Layer moveAfter déplace le calque en dessous d’un autre calque déterminé
Paramètres
calque calque cible que ce calque va suivre
Renvoi
Aucun.
Description
La méthode Layer moveAfter déplace le calque au-dessus d’un autre calque ayant été
défini.
Paramètres
calque calque cible que ce calque va précéder
Renvoi
Aucun.
Description
La méthode Layer moveToBeginning déplace le calque vers le dessus de la pile de calques
(premier calque).
Paramètres
Aucun.
Renvoi
Aucun.
Description
La méthode Layer moveToEnd déplace le calque vers le bas de la pile de calques (dernier
calque).
Paramètres
Aucun.
Renvoi
Aucun.
Description
L’attribut Layer name correspond au nom du calque. Il peut être unique et dérivé du nom
de la source (lequel ne peut pas être modifié dans la fenêtre de calque), bien que par
défaut ces noms soient identiques tant qu’ils ne sont pas modifiés.
Type
Chaîne ; lecture/écriture.
Description
L’attribut Layer nullLayer est true si le calque a été créé en tant qu’objet nul, et false dans le
cas contraire.
Type
Booléen ; lecture/écriture.
Description
L’attribut Layer outPoint est le point de sortie du calque, exprimé en temps de
composition (secondes). La plage des valeurs autorisées est [-10 800, 10 800].
Type
Valeur de la virgule flottante ; lecture/écriture.
Description
L’attribut Layer parent correspond au parent de ce calque. Cette valeur peut être nulle et
définie comme telle.
Notez que, de la même façon que dans l’application normale, si vous définissez le parent, il
n’y aura aucun déplacement apparent dans la conversion du calque. Cela s’explique par le
fait que les valeurs de décalage sont calculées de manière à compenser toute conversion
supérieure dans la hiérarchie. Si, par exemple, la rotation du nouveau parent est de
30 degrés, une rotation de -30 degrés doit être appliquée au calque enfant.
Si vous souhaitez définir le parent tout en empêchant les valeurs de conversion du calque
enfant de changer, utilisez la « Méthode Layer setParentWithJump() », page 119.
Type
Calque ; lecture/écriture.
Description
Cette méthode supprime le calque spécifié de la composition.
Paramètres
Aucun.
Description
Cet attribut génère un tableau contenant tous les objets Property et PropertyGroup
sélectionnés dans le calque.
Type
Tableau de PropertyBase ; lecture seule.
Description
La méthode Layer setParentWithJump() établit newParent comme parent de ce calque.
Cette méthode ne modifie pas les valeurs de conversion du calque enfant ; par
conséquent, un déplacement de rotation, de translation ou de mise à l’échelle du calque
enfant peut être apparent.
Si vous ne souhaitez pas que le calque enfant se déplace, définissez l’attribut parent
directement (comme dans "childLayer.parent = newParent;"). Lorsque vous définissez
l’attribut parent directement, un décalage est calculé et défini dans les trames de
conversion du calque enfant, ce qui empêche l’apparition d’un déplacement.
Paramètres
newParent calque parent substitutif
Renvoi
Aucun.
Description
L’attribut Layer shy est true si le calque est discret, et il est par conséquent masqué dans la
fenêtre de calque si l’option de masquage de tous les calques discrets de la composition
est activée.
Type
Booléen ; lecture/écriture.
Description
L’attribut Layer solo est true si un calque est en isolation, et false dans le cas contraire.
Type
Booléen ; lecture/écriture.
Description
L’attribut Layer startTime est l’instant de début du calque, exprimé en temps de
composition. La plage des valeurs autorisées est [-10 800, 10 800] secondes, ce qui
correspond à +/- 3 heures.
Type
Valeur de la virgule flottante ; lecture/écriture.
Description
L’attribut Layer stretch correspond à l’extension temporelle du calque, exprimée en
pourcentage. Une valeur de 100 n’applique aucune extension.
La plage des valeurs autorisées est [-9 900, 9 900]. Les valeurs comprises dans la plage [-1,
1] sont ramenées aux valeurs minimales autorisées. Les valeurs comprises dans la plage [0,
1] sont ramenées à 1, et celles comprises dans la plage [-1, 0] (0 exclus) sont définies sur -1.
Type
Valeur de la virgule flottante ; lecture/écriture.
Description
L’attribut Layer time est l’instant courant du calque, exprimé en temps de composition
(secondes).
Type
Valeur du la virgule flottante ; lecture seule.
Renvoi
Aucun.
LayerCollection
app.project.item(index).lcoll
Description
LayerCollection représente une collection de calques. Chaque objet CompItem contient
une LayerCollection. Les attributs et méthodes LayerCollection fournissent l’accès aux
calques et la possibilité d’en ajouter de nouveaux.
Attributs
Méthodes
Méthode Référence Description
[] (no cross-reference) extrait un ou plusieurs objets de la
collection au moyen du numéro
d’index correspondant
add() voir section « Méthode crée un nouveau AVLayer
LayerCollection add() », contenant l’AVItem fourni et
page 123 l’ajoute à la composition
addNull() voir section « Méthode le calque renvoyé est un nouveau
LayerCollection addNull() », calque de la composition qui
page 124 possède la LayerCollection
addSolid() voir section « Méthode crée un nouveau FootageItem
LayerCollection addSolid() », possédant une SolidSource en
page 124 fonction des paramètres définis et
l’ajoute au projet
addText() voir section « Méthode crée un nouveau calque de texte
LayerCollection addText() », avec le texte source spécifié
page 125
addCamera() voir section « Méthode crée un nouveau calque de caméra
LayerCollection avec le nom et le point central
addCamera() », page 123 spécifiés
addLight() voir section « Méthode crée un nouveau calque de lumière
LayerCollection addLight() », avec le nom et le point central
page 123 spécifiés
byName() voir section « Méthode renvoie le premier calque trouvé
LayerCollection byName() », avec le nom donné
page 125
precompose() voir section « Méthode rassemble les calques auxquels
LayerCollection font référence les indices fournis
precompose() », page 126 dans layerIndices et les place dans
une nouvelle composition avec le
nom fourni
Exemple
Partant du principe que le premier élément du projet est une composition et que le
second est un AVItem, le code suivant montre comment afficher le nombre de calques
dans la collection de calques de la composition, ajouter un nouveau calque basé sur un
AVItem du projet, puis afficher le nouveau nombre de calques dans la collection de
calques.
var firstComp = app.project.item(1);
var layerCollection = firstComp.layers;
alert( "number of layers before is " + layerCollection.length);
var anAVItem = app.project.item(2);
layerCollection.add(anAVItem);
alert( "number of layers after is " + layerCollection.length);
Description
La méthode LayerCollection add() crée un nouvel AVLayer contenant l’AVItem donné et
ajoute le nouvel AVLayer à la composition contenante.
Cette méthode génère une exception si l’élément ne peut pas être ajouté en tant que
calque à cette composition.
Si le paramètre de durée est fourni, cela n’aura d’influence sur la méthode que si l’AVItem
donné contient une partie de métrage fixe ; il n’a aucun effet sur les films, les séquences ou
l’audio. Si la durée est fournie, la durée du nouveau calque correspondra à la valeur
transmise. Si la durée n’est pas fournie, elle sera déterminée par les préférences utilisateur.
Notez que, par défaut, les préférences utilisateur spécifient que la durée définie soit
équivalente à celle de la composition dans laquelle le calque est ajouté. La préférence
peut être remplacée par une durée spécifique. Choisissez Edition > Préférences > Importer
(Windows) ou After Effects > Préférences > Importer, puis sélectionnez les options
désirées dans la zone Métrage fixe.
Paramètres
item AVItem à ajouter
duration valeur de la virgule flottante facultative définissant la
longueur d’un calque fixe
Renvoi
AVLayer.
Description
Cette méthode crée un nouveau calque de caméra dans la LayerCollection.
Paramètres
name chaîne ; nom du nouveau calque
centerPoint tableau de valeurs de virgule flottante ; centre de la nouvelle
caméra
Renvoi
Calque de caméra.
Description
Cette méthode crée un nouveau calque de lumière dans la LayerCollection.
Paramètres
name chaîne ; nom du nouveau calque
centerPoint tableau de valeurs de virgule flottante contenant 2 valeurs ;
centre de la nouvelle lumière
Renvoi
Calque de lumière.
Description
La méthode LayerCollection addNull() renvoie un calque nouvellement créé dans la
composition qui possède la LayerCollection. Cette méthode produit le même résultat que
la sélection de la commande Calque > Créer > Objet nul.
Si la durée est fournie, la durée du nouveau calque correspondra à la valeur transmise. Si la
durée n’est pas fournie, elle sera déterminée par les préférences utilisateur.
Notez que par défaut, les préférences utilisateur spécifient que la durée définie soit
équivalente à celle de la composition dans laquelle le calque est ajouté. Cette préférence
peut être remplacée par une durée spécifique dans la boîte de dialogue Préférences.
Choisissez Edition > Préférences > Importer (Windows) ou After Effects > Préférences >
Importer, puis sélectionnez les options désirées dans la zone Métrage fixe.
Paramètres
duration valeur de virgule flottante facultative définissant la durée du
nouveau calque
Renvoi
AVLayer.
Description
La méthode layerCollection addSolid() crée un nouveau FootageItem dont la source
principale est une SolidSource en fonction des paramètres définis, et l’ajoute au projet.
Cette méthode crée également un nouvel AVLayer comportant ce nouveau FootageItem à
sa source, et ajoute ce calque à la composition contenante.
Notez que, par défaut, les préférences utilisateur spécifient que la durée définie soit
équivalente à celle de la composition dans laquelle le calque est ajouté. Cette préférence
peut être remplacée par une durée spécifique dans la boîte de dialogue Préférences.
Choisissez Edition > Préférences > Importer (Windows) ou After Effects > Préférences >
Importer, puis sélectionnez les options désirées dans la zone Métrage fixe.
Paramètres
color Etablit la couleur du nouveau FootageItem (un solide)
contenu dans le calque. L’argument de couleur doit être un
tableau de trois valeurs de virgule flottante comprises dans
la plage [0..1].
name Etablit le nom du nouveau calque et du nouveau
FootageItem.
width Définit la largeur, en pixels, du nouveau calque et du
nouveau FootageItem. La plage des valeurs autorisées est [1
.. 30 000].
height Définit la hauteur, en pixels, du nouveau calque et du
nouveau FootageItem. La plage des valeurs autorisées est [1
.. 30 000].
pixelAspect Définit le format des pixels pour le nouveau FootageItem.
duration Valeur de virgule flottante facultative définissant la durée
d’un calque fixe.
Renvoi
AVLayer.
Description
Cette méthode crée un nouveau calque de texte dans la LayerCollection.
Paramètres
sourceText chaîne ; facultatif, utilisé comme texte source du nouveau
calque
Renvoi
Calque de texte.
Description
La méthode LayerCollection byName() renvoie le premier calque rencontré portant le
nom donné. Cette méthode renvoie la valeur nulle si aucun calque portant le nom fourni
n’est trouvé.
Paramètres
name chaîne - nom du calque recherché
Renvoi
Calque ; nul si le nom n’est pas trouvé.
Description
La méthode LayerCollection precompose() rassemble les calques auxquels font référence
les indices donnés (premier paramètre) et les placent dans une nouvelle composition
portant le nom donné (second paramètre). Les calques donnés sont supprimés de la
LayerCollection. La nouvelle composition est ajoutée à la LayerCollection et est également
renvoyée par la méthode precompose().
Paramètres
layerIndices indices de calques à rassembler
name établit le nom de la nouvelle composition
moveAllAttributes Booléen facultatif, défini par défaut sur true ; ne peut être
défini sur false que si le tableau layerIndices comporte un
seul index. Sa définition sur true équivaut à sélectionner
l’option Transférer tous les attributs vers la nouvelle
composition de la boîte de dialogue Précomposition. S’il est
défini sur false, cela équivaut à sélectionner l’option Laisser
tous les attributs dans de la boîte de dialogue
Précomposition.
Renvoi
CompItem.
Objet MarkerValue
app.project.item(index).layer(index).MarkerValue
Description
L’objet MarkerValue contient la représentation d’un repère de calque. Il contient quatre
attributs de chaîne, à savoir comment, chapter, url et frameTarget.
Pour plus d’informations sur l’utilisation des repères, consultez la rubrique « Utilisation des
repères » dans l’aide d’After Effects.
Méthodes
Attributs
Exemples
Pour définir un repère indiquant « Fade Up » au repère 2 secondes :
var myMarker = new Marker("Fade Up");
myLayer.property("Marker").setValueAtTime(2, myMarker);
Méthode MarkerValue
app.project.item(index).layer(index).MarkerValue(comment)
app.project.item(index).layer(index).MarkerValue(comment, chapter)
app.project.item(index).layer(index).MarkerValue(comment, chapter, url)
app.project.item(index).layer(index).MarkerValue(comment, chapter, url, frameTarget)
Description
La méthode markerValue définit entre un et quatre attributs particuliers du repère et
renvoie une valeur de repère.
Paramètres
comment string voir section « Attribut MarkerValue
Comment », page 128
chapter string voir section « Attribut MarkerValue
Chapter », page 128
url string voir section « Attribut MarkerValue
URL », page 129
frameTarget string voir section « Attribut MarkerValue
FrameTarget », page 128
Renvoi
MarkerValue (une image clé de repère contenant les quatre valeurs de chaîne ci-dessus).
Description
L’attribut MarkerValue chapter est un lien texte de chapitre associé à un repère de calque
donné. Les liens de chapitre initialisent une liaison avec un chapitre d’un film QuickTime
ou d’un autre format prenant en charge les repères de chapitre (pour plus d’informations
sur les repères, consultez la rubrique « Utilisation des repères » dans l’aide d’After Effects).
Type
Chaîne ; lecture/écriture.
Description
L’attribut MarkerValue comment est un texte de commentaire associé à un repère de
calque donné. Ce commentaire apparaît dans la fenêtre Montage près du repère de
calque (pour plus d’informations sur les repères, consultez la rubrique « Utilisation des
repères » dans l’aide d’After Effects).
Type
Chaîne ; lecture/écriture.
Description
L’attribut MarkerValue frameTarget est un repère d’image texte associé à un repère de
calque donné. Utilisé avec une URL, cet attribut peut cibler une image spécifique d’un
site Web (pour plus d’informations sur les repères, consultez la rubrique « Utilisation des
repères » dans l’aide d’After Effects).
Type
Chaîne ; lecture/écriture.
Description
L’attribut MarkerValue URL est une URL de texte associée à un repère de calque donné.
Cette URL est un lien automatique à un site (pour plus d’informations sur les repères,
consultez la rubrique « Utilisation des repères » dans l’aide d’After Effects).
Type
Chaîne ; lecture/écriture.
Objet MaskPropertyGroup
app.project.item(index).layer(index).mask
Description
L’objet MaskPropertyGroup est dérivé de PropertyGroup et hérite de tous les attributs et
méthodes de PropertyBase et PropertyGroup, ainsi que de ses propres attributs et
méthodes comme suit.
Attributs
Attribut Référence Description
maskMode voir section « Attribut définit le mode de masque pour ce
MaskPropertyGroup masque
maskMode », page 130
inverted voir section « Attribut indique si le masque doit être
MaskPropertyGroup inversé
inverted », page 130
rotoBezier voir section « Attribut indique si la forme du masque doit
MaskPropertyGroup être RotoBézier
rotoBezier », page 131
maskMotionBlur voir section « Attribut définit la manière dont le flou
MaskPropertyGroup directionnel est appliqué à ce
maskMotionBlur », page 130 masque
locked voir section « Attribut true si le masque est verrouillé
MaskPropertyGroup locked »,
page 130
color voir section « Attribut couleur utilisée pour dessiner le
MaskPropertyGroup color », contour du masque dans
page 129 l’interface utilisateur
Description
Cet attribut correspond à la couleur utilisée pour dessiner le contour du masque, tel qu’il
apparaît dans l’interface utilisateur (fenêtre de composition, fenêtre de calque et fenêtre
Montage).
Type
Tableau de trois valeurs de virgule flottante comprises entre 0 et 1 : [R, V, B) ; lecture/
écriture.
Description
Cet attribut est un booléen spécifiant si le masque est inversé.
Type
Booléen ; lecture/écriture.
Description
Cet attribut est un booléen spécifiant si le masque est verrouillé et ne peut pas être édité
dans l’interface utilisateur.
Type
Booléen ; lecture/écriture.
Description
Cet attribut est un type énuméré spécifiant le mode de masque pour ce masque.
Types énumérés
MaskMode.NONE Aucun
MaskMode.ADD Addition
MaskMode.SUBTRACT Soustraction
MaskMode.INTERSECT Intersection
MaskMode.LIGHTEN Eclaircir
MaskMode.DARKEN Obscurcir
MaskMode.DIFFERENCE Ecart
Description
Cet attribut est un type énuméré spécifiant la manière dont le flou directionnel est
appliqué à ce masque.
Type énuméré
MaskMotionBlur.SAME_AS_LAYER Identique au calque
MaskMotionBlur.ON Activé
MaskMotionBlur.OFF Désactivé
Description
Cet attribut est un booléen spécifiant si le masque se trouve en mode RotoBézier.
Type
Booléen ; lecture/écriture.
Objet OutputModule
app.project.renderQueue.item(index).outputModule(index)
Description
L’objet outputModule de renderQueueItem génère un fichier unique ou une séquence
par le biais d’un rendu, et contient les attributs et méthodes associés au fichier pour lequel
le rendu doit être effectué. Il renvoie un module de sortie avec le numéro d’index donné.
Les éléments indexés sont numérotés à partir de 1.
Attributs
Méthodes
OMCollection
app.project.renderQueue.items.outputModules
Description
L’OMCollection contient tous les modules de sortie du projet.
Attributs
Méthodes
Voir aussi
« Objet Collection », page 59
Description
Applique un modèle de module de sortie existant, identifié par nom.
Paramètres
Renvoi
Aucun.
Description
L’attribut file correspond à l’objet File auquel le module de sortie est défini pour le rendu.
Type
Objet File ; lecture-écriture.
Description
L’attribut name est le nom du module de sortie, tel qu’il est présenté à l’utilisateur,
exprimé sous forme de chaîne.
Type
Chaîne ; lecture seule.
Description
L’attribut postRenderAction renvoie l’action Post Render Action (voir la liste ci-dessous).
Type
PostRenderAction (lecture/écriture) ; l’une des suivantes :
postRenderAction.NONE
postRenderAction.IMPORT
postRenderAction.IMPORT_AND_REPLACE_USAGE
postRenderAction.SET_PROXY
Description
Supprime un module de sortie.
Paramètres
Aucun.
Renvoi
Aucun.
Description
Enregistre un module de sortie avec le nom indiqué en tant que paramètre.
Paramètres
Renvoi
Aucun.
Description
L’attribut templates est un tableau de chaînes ; celles-ci correspondent aux noms des
modèles présents dans l’installation locale d’After Effects.
Type
Tableau ; lecture seule.
Objet PlaceholderSource
app.project.item(index).mainSource
app.project.item(index).proxySource
Description
L’objet PlaceholderSource contient des informations décrivant la source du métrage d’un
pseudo-élément. Il s’agit d’une sous-classe de FootageSource ; par conséquent, elle hérite
de l’ensemble des attributs et méthodes de l’objet FootageSource (voir section « Objet
FootageSource », page 99).
L’objet PlaceholderSource ne contient pas d’autres attributs et méthodes que ceux hérités
de l’objet FootageSource.
Objet Project
app.project
Description
L’objet project permet l’accès aux données et à la fonctionnalité dans un projet
After Effects particulier.
Les attributs de l’objet Project fournissent l’accès aux objets spécifiques dans un projet
After Effects, tels que les fichiers importés et le métrage, les compositions, ainsi qu’aux
paramètres du projet comme la base du code temporel.
Les méthodes de l’objet Project permettent d’importer le métrage, de créer des solides,
compositions et dossiers, et d’enregistrer les modifications.
Attributs
Méthodes
Description
L’attribut de projet activeItem renvoie l’élément actif en cours et devant être soumis à une
action, ou une valeur nulle si aucun élément n’est actuellement sélectionné ou si plusieurs
éléments sont sélectionnés.
Type
Elément actif en cours ; lecture seule.
Description
L’attribut bitsPerChannel est un entier décrivant le codage des couleurs du projet en cours
(sur 8 ou 16 bits).
Type
Entier (8 ou 16 uniquement) ; lecture/écriture.
Description
Ferme le projet avec possibilité de sauvegarder les modifications automatiquement, en
invitant l’utilisateur à sauvegarder les modifications ou à fermer sans sauvegarder.
Paramètres
Types énumérés
Renvoi
Booléen. False uniquement dans le cas où le fichier n’a pas été enregistré auparavant ; une
boîte de dialogue Enregistrer s’affiche et l’utilisateur annule l’enregistrement.
Description
Reproduit la fonctionnalité de la commande Consolider tout le métrage.
Paramètres
Aucun.
Renvoi
Entier ; nombre total d’éléments de métrage supprimés.
Description
L’attribut file est un objet File représentant le projet ouvert en cours.
Type
Objet File ou valeur nulle si le projet n’a pas été enregistré ; lecture seule.
Description
Reproduit la fonctionnalité de la boîte de dialogue Importer fichier.
Paramètres
Renvoi
FootageItem
Exemple
app.project.importFile( ImportOptions( File( “sample.psd” ) )
Voir aussi
« Objet ImportOptions », page 105
Description
Reproduit la fonctionnalité de la commande Fichier > Importer > Pseudo-élément ; ajoute
au projet un pseudo-élément de métrage d’un nom, d’une largeur, d’une hauteur, d’une
cadence et d’une durée spécifiés.
Paramètres
Renvoi
FootageItem.
Description
Reproduit la fonctionnalité de la commande Fichier > Importer > Fichier et affiche une
boîte de dialogue d’importation pour l’utilisateur. Contrairement à importFile(),
importWithDialog() ne prend pas d’arguments.
Renvoi
Array of Items created during import; or null if the user cancels the dialog.
Description
Cette méthode renvoie un élément avec le numéro d’index donné.
Paramètres
Renvoi
Elément.
Description
Cet attribut représente tous les éléments contenus dans le projet.
Type
ItemCollection ; lecture seule.
Description
L’attribut numItems représente le nombre total d’éléments contenus dans le projet, y
compris les dossiers et tous les types de métrage.
Type
Entier ; lecture seule.
Exemple
n = app.project.numItems;
alert("There are " + n + " items in this project.")
Description
Reproduit la fonctionnalité de la commande Fichier > Réduire le projet.
Paramètres
Renvoi
Entier ; nombre total d’éléments supprimés.
Exemple
var theItems = new Array();
theItems[theItems.length] = app.project.item(1);
theItems[theItems.length] = app.project.item(3);
app.project.reduceProject(theItems);
Description
Reproduit la fonctionnalité de la commande Fichier > Supprimer le métrage inutilisé.
Paramètres
Aucun.
Renvoi
Entier ; nombre total d’éléments de métrage supprimés.
Description
Cet attribut représente la file d’attente de rendu du projet.
Type
File d’attente de rendu ; lecture seule.
Description
L’attribut rootFolder est le dossier racine contenant le contenu racine du projet ; il s’agit
d’un dossier conceptuel qui contient tous les éléments de la fenêtre de projet, mais pas les
éléments contenus à l’intérieur d’autres dossiers de cette même fenêtre.
Type
FolderItem ; lecture seule.
Description
Enregistre le projet (ou invite l’utilisateur à enregistrer si le fichier n’a jamais été enregistré
auparavant). La transmission d’un objet File équivaut à la commande Enregistrer sous et
vous permet d’enregistrer un projet en tant que nouveau fichier.
Paramètres
Renvoi
Aucun.
Description
Cette méthode affiche la boîte de dialogue Enregistrer pour l’utilisateur. L’utilisateur peut
soit nommer un fichier avec un emplacement et l’enregistrer, soit cliquer sur Annuler et
quitter la boîte de dialogue.
Cette méthode renvoie un booléen défini sur true si le fichier a été enregistré, et sur false
dans le cas contraire.
Paramètres
Aucun.
Renvoi
Booléen ; true si le fichier a été enregistré.
Description
L’attribut selection contient un tableau des éléments sélectionnés dans la fenêtre de
projet.
Type
Tableau ; lecture seule.
Description
Cette méthode affiche ou masque la fenêtre de projet, en fonction de la manière dont ses
arguments sont définis.
Paramètres
Renvoi
Aucun.
Description
L’attribut timecodeBaseType révèle la base du code temporel, telle que définie dans la
boîte de dialogue Paramètres du projet.
Type énuméré
L’un des suivants (lecture/écriture) :
TimecodeBaseType.FPS24
TimecodeBaseType.FPS25
TimecodeBaseType.FPS30
TimecodeBaseType.FPS48
TimecodeBaseType.FPS50
TimecodeBaseType.FPS60
TimecodeBaseType.FPS100
Description
L’attribut timecodeDisplayType décrit la méthode avec laquelle le code temporel est
défini pour l’affichage. Les valeurs énumérées se trouvent dans un menu de la boîte de
dialogue Paramètres du projet.
Type énuméré
L’un des suivants (lecture/écriture) :
TimecodeDisplayType.TIMECODE
TimecodeDisplayType.FRAMES
TimecodeDisplayType.FEET_AND_FRAMES
Description
L’attribut timecodeFilmType décrit le type de film ayant été sélectionné pour l’option
Pieds + images dans la boîte de dialogue Paramètres du projet.
Type énuméré
L’un des suivants (lecture/écriture) :
TimecodeFilmType.MM16
TimecodeFilmType.MM35
Description
L’attribut timecodeNTSCDropFrame décrit comment le code temporel pour un métrage
29,97 i/s est affiché. Correspond aux options de conversion Image compensée ou Image
non compensée du menu NTSC de la boîte de dialogue Paramètres du projet.
Type
Booléen (lecture/écriture) ; true si Image compensée NTSC est définie comme style
d’affichage du projet en cours.
Description
L’attribut transparencyGridThumbnails détermine si les vignettes doivent utiliser le motif
de damier de transparence (oui ou non).
Type
Booléen (lecture/écriture).
Objet Property
app.project.item(index).layer(index).property
Description
L’objet Property contient des informations de valeur, image clé et/ou expression relatives
à une propriété particulière du calque. Une Property peut par exemple être la position, le
zoom ou le contour progressif.
Notez que « propriété » et « attribut » sont des synonymes dans les descriptions JavaScript
standard. Etant donné qu’After Effects faisait une utilisation différente du terme
« propriété » avant l’introduction de la création de script, cette documentation n’utilise le
terme « attribut » que lorsqu’elle fait référence aux valeurs accessibles dans la création de
script. Le terme « propriété » reste utilisé dans ce document et After Effects pour faire
référence aux valeurs associées aux calques, effets et masques.
Attributs
Méthodes
Exemples
1 Obtention et définition de la valeur d’une opacité
L’opacité a pour propertyValueType OneD et est stockée en tant que valeur de virgule
flottante.
var myProperty = myLayer.opacity;
myProperty.setValue(0.5);
// This new variable myOpacity will be a float value.
var myOpacity = myProperty.value;
5 Procédure de vérification qu’une échelle calculée par une expression à l’instant 3.5 est la
valeur attendue de [10,50]
var myProperty = myLayer.scale;
// false value of preExpression means evaluate the expression
var scaleValue = myProperty.valueAtTime(3.5,false);
if (scaleValue[0] == 10 && scaleValue[1] == 50) {
alert("hurray");
else {
alert("oops");
}
7 Modification des valeurs des images clés pour les trois premières images clés d’un texte
source
myProperty = myTextLayer.sourceText;
if (myProperty.numKeys < 3) {
alert("error, I thought there were 3 keyframes");
}
myProperty.setValueAtKey(1, new TextDocument("key number 1");
myProperty.setValueAtKey(2, new TextDocument("key number 2");
myProperty.setValueAtKey(3, new TextDocument("key number 3");
Description
La méthode property addKey ajoute une nouvelle image clé à l’instant donné et renvoie
l’index de la nouvelle image clé.
Paramètres
time valeur de la virgule flottante ; instant auquel l’image clé est ajoutée
Renvoi
Entier ; index de la nouvelle image clé.
Description
L’attribut Property canVaryOverTime est true si cette propriété peut varier au fil du temps,
c’est-à-dire si les valeurs ou expressions des images clés peuvent être enregistrées dans
cette propriété.
Type
Booléen ; lecture seule.
Description
L’attribut Property expression est l’expression pour cette propriété, exprimée sous forme
de chaîne. Cet attribut force une évaluation de la chaîne d’expression donnée. La valeur
est toujours remplacée par la chaîne d’expression donnée si la chaîne n’est pas une
expression valide.
Si la chaîne donnée est une expression valide, expressionEnabled devient true. Si la chaîne
donnée n’est pas une expression valide, une erreur est générée et expressionEnabled est
défini sur false. Si vous définissez l’expression d’une propriété sur la chaîne vide,
expressionEnabled sera défini sur false.
Type
Chaîne ; lecture/écriture.
Description
Si l’attribut Property expressionEnabled est true, il utilise l’expression pour générer la
valeur pour la propriété. Si cet attribut est false, l’expression n’est pas utilisée ; les
informations d’images clés ou la valeur statique de la propriété sont utilisées. Cet attribut
ne peut être défini sur true que si l’expression contient une chaîne d’expression valide.
Type
Booléen ; lecture/écriture.
Description
L’attribut Property expressionError contient, le cas échéant, l’erreur qui est survenue lors
de l’évaluation de la dernière chaîne d’expression donnée à l’attribut de l’expression.
Si aucune chaîne d’expression n’a été donnée à l’expression ou si la dernière chaîne
d’expression donnée à l’expression a été évaluée sans erreur, l’attribut contient la chaîne
vide ("").
Type
Chaîne ; lecture seule.
Description
L’attribut Property hasMax est true s’il existe une valeur maximale autorisée pour cette
propriété.
Type
Booléen ; lecture seule.
Description
L’attribut Property hasMin est true s’il existe une valeur minimale autorisée pour cette
propriété.
Type
Booléen ; lecture seule.
Description
Cette méthode renvoie true si cette propriété peut être interpolée à l’aide du theType.
Paramètres
theType Type d’interpolation d’image clé
Renvoi
Booléen.
Description
L’attribut Property isSpatial est true si la propriété définit une valeur spatiale. Il s’agit par
exemple des réglages de position et de point d’effet.
Type
Booléen ; lecture seule.
Description
L’attribut Property isTimeVarying est true si la propriété varie dans le temps. Une propriété
varie dans le temps si elle comporte des images clés ou une expression activée. Si
isTimeVarying est true, canVaryOverTime doit également être true.
Type
Booléen ; lecture seule.
Description
Ce type énuméré spécifie le type d’interpolation utilisé au niveau d’une image clé.
Types énumérés
Les valeurs autorisées sont les suivantes :
Description
Cette méthode renvoie le type d’interpolation in pour la clé donnée.
Paramètres
keyIndex Entier ; image clé en cours d’évaluation
Renvoi
Type d’interpolation d’image clé.
Description
Cette méthode renvoie la tangente spatiale in pour la clé donnée.
Si le PropertyValueType est TwoD_SPATIAL, la valeur renvoyée contient 2 valeurs de
virgule flottante. Si le PropertyValueType est ThreeD_SPATIAL, la valeur renvoyée contient
3 valeurs de virgule flottante.
Si le PropertyValueType n’est ni TwoD_SPATIAL ni ThreeD_SPATIAL, une exception est
générée.
Paramètres
keyIndex Entier ; image clé en cours d’évaluation
Renvoi
Tableau des valeurs de la virgule flottante.
Description
Cette méthode renvoie le lissage spatial in pour la clé donnée.
La valeur renvoyée est un tableau des objets KeyframeEase. La dimension de ce tableau
dépend de la dimension du keyframeValueType de la propriété. Pour ThreeD, la dimension
du tableau est 3. Pour TwoD, cette dimension est 2. Pour tous les autres
keyframeValueTypes, la dimension est 1.
Paramètres
keyIndex Entier ; image clé en cours d’évaluation
Renvoi
Lissage d’image clé exprimé sous forme de tableau.
Description
Cette méthode renvoie le type d’interpolation out pour la clé donnée.
Paramètres
keyIndex Entier ; l’image clé à évaluer
Renvoi
Type d’interpolation d’image clé.
Description
Cette méthode renvoie la tangente spatiale out pour la clé donnée.
Si le PropertyValueType est TwoD_SPATIAL, la valeur renvoyée contient 2 valeurs de
virgule flottante. Si le PropertyValueType est ThreeD_SPATIAL, la valeur renvoyée contient
3 valeurs de virgule flottante.
Si le PropertyValueType n’est ni TwoD_SPATIAL ni ThreeD_SPATIAL, une exception est
générée.
Paramètres
keyIndex Entier ; image clé en cours de définition
Renvoi
Tableau des valeurs de la virgule flottante.
Description
Cette méthode renvoie le lissage spatial out pour la clé donnée.
La valeur renvoyée est un tableau des objets KeyframeEase. La dimension de ce tableau
dépend de la dimension du keyframeValueType de la propriété. Pour ThreeD, la dimension
du tableau est 3. Pour TwoD, cette dimension est 2. Pour tous les autres
keyframeValueTypes, la dimension est 1.
Paramètres
keyIndex Entier ; image clé en cours de définition
Renvoi
Lissage d’image clé exprimé sous forme de tableau.
Description
Cette méthode informe si l’image clé est itinérante.
Si le PropertyValueType n’est ni TwoD_SPATIAL ni ThreeD_SPATIAL, une exception est
générée.
Paramètres
keyIndex Entier ; image clé en cours d’évaluation
Renvoi
Booléen.
Description
Cette méthode informe si l’image clé est sélectionnée.
Paramètres
keyIndex Entier ; image clé en cours d’évaluation
Renvoi
Booléen.
Description
Cette méthode informe si l’image clé comporte une interpolation Bézier automatique
spatiale.
Si le PropertyValueType n’est ni TwoD_SPATIAL ni ThreeD_SPATIAL, une exception est
générée.
Notez que cette interpolation Bézier automatique agit uniquement sur cette image clé si
keySpatialContinuous(keyIndex) est true.
Paramètres
keyIndex Entier ; image clé en cours d’évaluation
Renvoi
Booléen.
Description
Cette méthode informe si l’image clé comporte une continuité spatiale.
Si le PropertyValueType n’est ni TwoD_SPATIAL ni ThreeD_SPATIAL, une exception est
générée.
Paramètres
keyIndex Entier ; image clé en cours d’évaluation
Renvoi
Booléen.
Description
Cette méthode informe si l’image clé comporte une interpolation Bézier automatique.
Notez que cet interpolation Bézier automatique temporelle agit uniquement sur cette
image clé si le KeyframeInterpolationType est BEZIER pour keyInInterpolation(keyIndex) et
keyOutInterpolation(keyIndex).
Paramètres
keyIndex Entier ; image clé en cours d’évaluation
Renvoi
Booléen.
Description
Cette méthode informe si l’image clé comporte une continuité temporelle.
Notez que cette continuité temporelle agit uniquement sur cette image clé si le
KeyframeInterpolationType est BEZIER pour keyInInterpolation(keyIndex) et
keyOutInterpolation(keyIndex).
Paramètres
keyIndex Entier ; image clé en cours d’évaluation
Renvoi
Booléen.
Description
La méthode property keyTime recherche l’image clé ou le repère spécifié dans les
arguments et renvoie l’instant auquel il ou elle se produit.
Si aucune image clé ou aucun repère ne correspond à l’argument, cette méthode génère
une exception et une erreur s’affiche.
Paramètres
keyIndex entier ; numéro d’index de l’image clé (compris dans la plage
0..numKeys)
markerComment chaîne ; commentaire associé à un repère (voir section « Attribut
MarkerValue Comment », page 128)
Renvoi
Valeur de la virgule flottante ; instant auquel l’image clé ou le repère se produisent.
De s c r i p t io n
La méthode property keyValue recherche l’image clé ou le repère spécifié dans les
arguments et renvoie l’instant auquel il ou elle se produit.
Si aucune image clé ou aucun repère ne correspond à l’argument, cette méthode génère
une exception et une erreur s’affiche.
Paramètres
keyIndex entier ; numéro d’index de l’image clé (compris dans la plage
0..numKeys)
markerComment chaîne ; commentaire associé à un repère (voir section « Attribut
MarkerValue Comment », page 128)
Renvoi
Valeur de la virgule flottante ; instant auquel l’image clé ou le repère se produisent.
Description
L’attribut Property maxValue contient la valeur maximale autorisée pour la propriété. Si
l’attribut hasMax est false, une exception se produit et une erreur est générée.
Type
Valeur du la virgule flottante ; lecture seule.
Description
L’attribut Property minValue contient la valeur minimale autorisée pour la propriété. Si
l’attribut hasMin est false, une exception se produit et une erreur est générée.
Type
Valeur du la virgule flottante ; lecture seule.
Description
La méthode property nearestKeyIndex renvoie l’image clé la plus proche de l’instant
donné.
Paramètres
time valeur de la virgule flottante ; instant auquel l’image clé la plus proche
doit être recherchée
Renvoi
Entier ; index de l’image clé la plus proche.
Description
L’attribut Property numKeys contient le nombre d’images clés de cette propriété. Si la
valeur de cet attribut est 0, aucune image clé est définie pour cette propriété.
Type
Entier ; lecture seule.
Description
L’attribut Property numKeys contient le type de valeur stockée dans cette propriété.
Le type énuméré associé à cet attribut possède une valeur pour chaque type de données
pouvant être stockée dans une propriété et en être extraite. Tous les objets property
stockent les données entrant dans l’une de ces catégories.
Chaque type de données est stocké et extrait dans une structure de type différent. Par
exemple, une propriété spatiale 3D (telle qu’une position de calque) est stockée en tant
que tableau de trois valeurs de virgule flottante. Lors de la définition d’une valeur pour la
position, un tableau de ce type serait utilisé, comme dans l’exemple suivant :
mylayer.property("position").setValue([10,20,0]);
Prenons un autre exemple, où une propriété de forme (telle que la forme de masque d’un
calque) serait stockée en tant qu’objet Shape. Lors de la définition d’une valeur pour une
forme, un passage serait effectué dans un objet shape, comme suit :
var myShape = new Shape();
myShape.vertices = [[0,0],[0 100],[100 100],[100,0]];
var myMask = mylayer.property("ADBE Mask Parade").property(1);
myMask.property("ADBE Mask Shape").setValue(myShape);
Types énumérés
Description
La méthode property removeKey supprime une image clé avec le keyIndex donné. S’il
n’existe aucune image clé avec ce keyIndex, cette méthode génère une exception et une
erreur s’affiche.
Paramètres
keyIndex entier ; index de l’image clé en cours de suppression
Renvoi
Aucun.
Description
L’attribut Property selectedKeys génère un tableau d’indices de toutes les images clés
sélectionnées dans cette propriété. Si aucune clé n’est sélectionnée ou si la propriété ne
comporte aucune image clé, un tableau vide est renvoyé.
Type
Tableau d’entiers ; lecture seule.
Description
Cette méthode définit les types d’interpolation in et out pour l’image clé donnée.
Si aucun outType n’est fourni, outType sera identique à inType.
Paramètres
inType KeyframeInterpolationType ; type d’interpolation d’approche
outType KeyframeInterpolationType (facultatif ) ; type d’interpolation
d’éloignement
Renvoi
Aucun.
Description
Cette méthode spécifie si l’image clé est itinérante.
Si le PropertyValueType n’est ni TwoD_SPATIAL ni ThreeD_SPATIAL, une exception est
générée.
Remarque : la première et la dernière clé d’une propriété ne sont jamais itinérantes. La
définition sur true est ignorée, et la valeur reste false.
Paramètres
keyIndex Entier ; image clé en cours de définition
Renvoi
Aucun.
Description
Cette méthode spécifie si l’image clé est sélectionnée.
Paramètres
keyIndex Entier ; image clé en cours de spécification
Renvoi
Aucun.
Description
Cette méthode spécifie si l’image clé comporte une continuité spatiale.
Si le PropertyValueType n’est ni TwoD_SPATIAL ni ThreeD_SPATIAL, une exception est
générée.
Paramètres
keyIndex Entier ; image clé en cours de définition
Renvoi
Aucun.
Description
Cette méthode spécifie si l’image clé comporte une continuité spatiale.
Si le PropertyValueType n’est ni TwoD_SPATIAL ni ThreeD_SPATIAL, une exception est
générée.
Paramètres
keyIndex Entier ; image clé en cours de définition
Renvoi
Aucun.
Description
Cette méthode définit les vecteurs de tangente in et out pour l’image clé donnée.
Renvoi
Aucun.
Description
Cette méthode spécifie si l’image clé doit comporter une interpolation Bézier
automatique temporelle.
Notez que cette interpolation Bézier automatique temporelle agit uniquement sur cette
image clé si keySpatialContinuous(keyIndex) est true.
Paramètres
keyIndex Entier ; image clé en cours de définition
Renvoi
Aucun.
Description
Cette méthode spécifie si l’image clé doit comporter une continuité temporelle.
Notez que cette continuité temporelle agit uniquement sur cette image clé si le
KeyframeInterpolationType est BEZIER pour keyInInterpolation(keyIndex) et
keyOutInterpolation(keyIndex).
Paramètres
keyIndex Entier ; image clé en cours de définition
Renvoi
Aucun.
Description
Cette méthode définit le lissage temporel in et out pour l’image clé donnée.
Si outTemporalEase n’est pas fourni, outTemporalEase est identique à inTemporalEase.
InTemporalEase et outTemporalEase sont des tableaux d’objets KeyframeEase. La
dimension de ce tableau dépend de la dimension du keyframeValueType de la propriété.
Pour ThreeD, la dimension du tableau est 3. Pour TwoD, cette dimension est 2. Pour tous
les autres keyframeValueTypes, y compris les types TwoD_SPATIAL et ThreeD_SPATIAL,
cette dimension est 1.
Paramètres
keyIndex Entier ; image clé en cours de définition
Renvoi
Aucun.
Description
La méthode property setValue définit la valeur statique de la propriété.
Si la propriété comporte des images clés, cette méthode ne peut pas être utilisée ; voir la
« Méthode Property setValueAtTime() », page 163 ou la « Méthode Property
setValueAtKey() », page 163 à la place. Si elle est utilisée avec une propriété comportant
des images clés, cette méthode génère une exception, et une erreur est affichée.
Le type de valeur à utiliser comme argument dépend du propertyValueType.
Paramètres
newValue propertyValueType ; valeur appropriée pour le type de propriété défini
Renvoi
Aucun.
Description
La méthode property setValueAtKey cherche l’image clé ayant le keyIndex donné et
définit la valeur sur keyframe.
Si la propriété ne comporte aucune image clé ou aucune image clé ayant le keyIndex
donné, cette méthode génère une exception et une erreur s’affiche.
Le type de valeur à utiliser comme argument dépend du propertyValueType.
Paramètres
keyIndex entier ; index de l’image clé devant recevoir une valeur
newValue propertyValueType ; valeur appropriée pour le type de propriété défini
Renvoi
Aucun.
Description
La méthode property setValueAtTime crée une image clé à l’instant donné (s’il n’en existe
pas) et définit la valeur sur cet image clé.
Si aucune image clé n’existe, cette méthode crée et définit la première image clé à l’instant
donné. Si aucune image clé n’existe à l’instant donné, cette méthode en crée une. Si une
image clé existe à l’instant donné, cette méthode définit sa valeur.
Le type de valeur à utiliser comme argument dépend du propertyValueType.
Paramètres
time valeur de la virgule flottante ; instant auquel définir une image clé
newValue propertyValueType ; valeur appropriée pour le type de propriété défini
Renvoi
Aucun.
Description
La méthode property setValuesAtTimes crée les images clés à une série d’instants donnés
(les instants où aucune image clé n’existe) et définit les valeurs de ces images clés.
Si aucune image clé n’existe, cette méthode crée un ensemble d’images clés et définit la
première image clé sur l’instant donné. Si aucune image clé n’existe à l’instant donné,
cette méthode en crée une. Si une image clé existe à l’instant donné, cette méthode
définit sa valeur.
Les instants et les valeurs sont exprimés sous forme de tableaux. Le type de valeur à
utiliser comme argument dépend du propertyValueType.
Paramètres
[times] valeur de la virgule flottante ; tableau des instants auxquels définir les
images clés
[newValues] propertyValueType ; tableau des valeurs appropriées pour le type de
propriété en cours de définition
Renvoi
Aucun.
Description
L’attribut Property unitsText est un texte de description des unités dans lesquelles la
valeur est exprimée.
Type
Chaîne ; lecture seule.
Description
L’attribut Property value contient la valeur de la propriété à l’instant courant. Si
expressionEnabled est true, value renvoie la valeur de l’expression évaluée ; si des images
clés sont présentes, value renvoie la valeur des ces images clés à l’instant courant ; dans
tous les autres cas, value renvoie la valeur statique de la propriété.
Le type de valeur renvoyé dépend du propertyValueType du flux.
Type
Dépendant du flux en cours d’évaluation ; lecture seule.
Exemples
Voir sections « Obtention et définition de la valeur d’une opacité », page 147, « Obtention
et définition de la valeur d’une position », page 147 et « Redéfinition de la valeur d’une
forme de masque de fermée à ouverte », page 147 au paragraphe Exemples de
l’objet Property.
Description
La méthode property valueAtTime renvoie la valeur de la propriété telle qu’évaluée à
l’instant donné. L’instant est exprimé en secondes, zéro correspondant au début de la
composition.
Renvoi
Valeur (dont le type dépend du propertyValueType).
Objet PropertyBase
app.project.item(index).layer(index).propertyBase
Description
PropertyBase est la classe de base de PropertyGroup et de Property, de sorte que les
attributs et méthodes PropertyBase sont également disponibles pour PropertyGroup et
Property. Etant donné que PropertyGroup est la classe de base pour Layer, ses attributs et
méthodes sont également disponibles pour les calques.
Attributs
Méthodes
Description
Cet attribut indique si la propriété est active. Pour un calque, cela correspond au
paramètre de l’icône en forme d’œil. Pour un effet et toutes les propriétés, il s’agit de
l’équivalent de l’attribut enabled.
Cet attribut ne peut être écrit que si canSetEnabled est true.
Type
Booléen ; lecture/écriture (lecture seule si canSetEnabled est false).
Description
Cet attribut spécifie si vous pouvez écrire et également lire l’attribut activé. En tant que
règle empirique, cet attribut est défini sur true si l’interface utilisateur affiche une icône en
forme d’œil pour cette propriété (il est ainsi true pour tous les calques).
Type
Booléen ; lecture seule.
Description
La méthode PropertyBase duplicate duplique la PropertyBase et renvoie le doublon.
Cette méthode n’est valide que pour les enfants des groupes indexés ; s’ils ne le sont pas,
une exception est générée et une erreur s’affiche.
Paramètres
Aucun.
Renvoi
PropertyBase ; le doublon.
Description
Cet attribut détermine si cette propriété est élidée dans l’interface utilisateur. Le cas
échéant, cette propriété est simplement un groupe utilisé pour organiser d’autres
propriétés. La propriété n’est pas affichée dans l’interface utilisateur, et ses propriétés
enfant ne sont pas indentées dans la fenêtre Montage.
Type
Booléen ; lecture seule.
Exemple
Dans le cas d’un calque de texte comportant deux animations et aucune propriété
indentée, vous verriez :
• Texte
• Options de chemin
• Autres options
• Animation 1
• Animation 2
Toutefois, Animation 1 et Animation 2 sont en réalité contenues dans une PropertyBase
appelée « Animations de texte », qui n’apparaît pas dans l’interface utilisateur ; par
conséquent, ces deux propriétés ne sont pas indentées dans la fenêtre Montage.
Description
Cet attribut détermine si cette propriété est activée. Elle correspond au paramètre de
l’icône en forme d’œil, si celle-ci est présente.
En l’absence d’icône en forme d’œil, cet attribut est défini par défaut sur true ; vous ne
pouvez écrire cet attribut que si canSetEnabled est true.
Si vous essayez d’écrire cet attribut alors que canSetEnabled est false, une exception est
générée.
Type
Booléen ; lecture/écriture (lecture seule si canSetEnabled est false).
Description
Cet attribut spécifie si cette propriété est un PropertyGroup d’effets (auquel cas, il est
défini sur true).
Type
Booléen ; lecture seule.
Description
Cet attribut spécifie si cette propriété est un PropertyGroup de masque (auquel cas, il est
défini sur true).
Type
Booléen ; lecture seule.
Description
L’attribut PropertyBase isModified renvoie true si la PropertyBase a été modifiée depuis sa
création.
Type
Booléen ; lecture seule.
Description
L’attribut PropertyBase matchName est un nom spécial pour la propriété utilisée pour
créer des noms de chemin d’accès uniques. Ce nom permet d’identifier que cette
propriété fait partie d’une classification unique.
Chaque propriété possède un identificateur matchName unique. Les MatchNames sont
stables d’une version à une autre, quel que soit leur « nom » dans l’interface utilisateur ou
les modifications apportées à l’application. Les matchNames ne sont pas directement
visibles dans l’interface utilisateur. Cependant, vous pouvez vous y référer par le biais de la
création de script et déterminer leur valeur en examinant la valeur de cet attribut.
Remarque : contrairement aux noms, les matchNames ne changent pas en fonction de la
langue de l’interface utilisateur d’After Effects (anglais/français/allemand/japonais).
Les enfants des PropertyGroups INDEXED_GROUP (voir section « Attribut PropertyBase
propertyType », page 171) n’ont pas toujours de « nom », lequel est par défaut une chaîne
vide. Ils ont cependant un matchName dans tous les cas.
Type
Chaîne ; lecture seule.
Description
La méthode PropertyBase moveTo déplace la PropertyBase vers le newIndex spécifié dans
son PropertyGroup.
Cette méthode n’est valide que pour les enfants des groupes indexés ; s’ils ne le sont pas
ou si newIndex n’est pas valide, une exception est générée et une erreur s’affiche.
Paramètres
newIndex entier ; index contenu dans le même PropertyGroup que celui vers
lequel la PropertyBase doit être déplacée.
Renvoi
Aucun.
Description
L’attribut PropertyBase name correspond au nom de la propriété.
Vous ne devez pas définir le nom si la propriété n’est pas une propriété enfant d’un
INDEXED_GROUP.
Type
Chaîne ; lecture/écriture.
Description
L’attribut PropertyBase parentProperty renvoie le PropertyGroup parent de cette
PropertyBase, ou la valeur nulle si cette PropertyBase est un calque.
Type
PropertyGroup ; lecture seule.
Description
L’attribut PropertyBase propertyDepth est défini sur 0 pour un calque. Ajoutez 1 (un) pour
chaque niveau de PropertyGroup parent au-dessus de cette PropertyBase jusqu’à ce que
le calque ait été atteint.
Type
Chaîne ; lecture seule.
Description
La méthode PropertyBase propertyGroup renvoie le PropertyGroup parent, atteint en se
déplaçant vers le haut de la hiérarchie d’autant de niveaux que spécifié par le nombre
countUp.
countUp est facultatif et prend par défaut la valeur 1, s’il n’est pas fourni. La plage des
valeurs autorisées pour countUp est [1 ...propertyDepth]. Renvoie une valeur nulle si
countUp parvient jusqu’au parent du calque contenant cette propertyBase.
Paramètres
countUp entier (facultatif ) ; défini par défaut sur 1 ; nombre de niveaux à gravir
dans la plage 1..propertyDepth.
Renvoi
PropertyGroup. Valeur nulle si countUp atteint le parent du calque.
Description
L’attribut PropertyBase propertyIndex est l’index d’une PropertyBase dans son
ParentGroup.
Notez que certaines propriétés, telles que Layers ou « position » ne disposent pas de
propertyIndex. D’autres propriétés, telles que les effets individuels ou les masques,
comportent un index dans leur PropertyGroup parent.
Type
Entier ; lecture seule.
Description
L’attribut PropertyBase propertyType renvoie le PropertyType décrivant cette
PropertyBase.
Types énumérés
PropertyType est un type énuméré renvoyé par propertyType (lecture seule). Il spécifie un
type particulier de PropertyBase, comme suit :
Description
La méthode PropertyBase remove supprime PropertyBase de son groupe parent. Si la
PropertyBase est un PropertyGroup, elle supprime également les propriétés enfant.
Cette méthode n’est valide que pour les enfants des groupes indexés ; s’ils ne le sont pas,
une exception est générée et une erreur s’affiche.
Cette méthode peut être appelée sur une propriété d’animation de texte (c’est-à-dire
toute animation ayant été définie à un calque de texte).
Paramètres
Aucun.
Renvoi
Aucun.
Description
Cet attribut spécifie si cette PropertyBase est sélectionnée. La définition de selected sur
true sélectionne la propriété ; la valeur false la désélectionne.
La valeur de cet attribut peut être lue pour toute Property, tout PropertyGroup ou tout
Layer. La valeur ne peut être écrite sur un PropertyGroup que s’il s’agit d’un effet ou d’un
masque ; la définition de cet attribut pour tout autre type de PropertyGroup génère une
exception.
Notez que l’échantillonnage de cet attribut peut ralentir les performances du système s’il
est utilisé à plusieurs reprises pour échantillonner de nombreuses propriétés. Pour lire
l’ensemble complet des propriétés selected pour une composition ou un calque, utilisez
l’attribut selectedProperties de Comp ou Layer.
Type
Booléen ; lecture/écriture.
Objet PropertyGroup
app.project.item(index).layer(index).propertyGroup
Description
L’objet PropertyGroup représente un groupe d’objets PropertyBase, (c’est-à-dire des
objets Property et/ou des objets PropertyGroup). Les PropertyGroups peuvent être
imbriqués pour former une chaîne du calque supérieur à une simple propriété (telle que le
contour progressif du troisième masque).
Attributs
Méthodes
Description
Cette méthode ajoute à ce groupe une propriété portant le nom donné.
Les propriétés ne peuvent être ajoutées qu’à un PropertyGroup dont le propertyType est
PropertyType.INDEXED_GROUP. La seule exception à cette règle est une propriété
d’animation de texte, laquelle est contenue dans un NAMED_GROUP.
Cette méthode génère une exception si une propriété ne peut pas être créée avec le nom
donné ; il est donc préférable d’appeler la méthode PropertyGroup canAdd Property()
avant la vérification (voir section « Méthode PropertyGroup canAddProperty() »,
page 173).
Les noms suivants sont pris en charge :
• Tout matchName d’une propriété peut être ajouté normalement à l’aide de l’interface
utilisateur. Par exemple, ADBE Mask Atom, ADBE Paint Atom, ADBE Text Position, ADBE
Text Anchor Point.
• Lors de l’ajout à une parade ADBE Mask Parade : ADBE Mask Atom, Mask.
• Lors de l’ajout à une parade d’effets ADBE Effects Parade, tout effet par nom de
correspondance, tel que ADBE Bulge, ADBE Glo2, APC Vegas.
• Tout effet par nom d’affichage, tel que Renflement, Lueur diffuse, Vegas.
• Pour les animations et sélecteurs de texte, l’animation de texte s’associe avec
l’animateur de texte ADBE (Text Animator), le sélecteur de plage s’associe avec le
sélecteur de texte ADBE (ADBE Text Selector), le sélecteur de tremblement s’associe
avec le sélecteur de tremblement de texte ADBE (Text Wiggly Selector), et le sélecteur
d’expressions s’associe avec le sélecteur d’expressions de texte ADBE (Text Expressible
Selector).
Paramètres
name chaîne ; nom à ajouter au PropertyGroup
Renvoi
PropertyBase.
Description
Cette méthode renvoie true si une propriété portant le nom donné peut être ajoutée à ce
PropertyGroup.
Paramètres
name chaîne ; nom à ajouter au PropertyGroup
Renvoi
Booléen.
Exemple
Le maskGroup peut ajouter des masques uniquement. Les seuls arguments d’entrée
autorisés sont les suivants :
• mask
• ADBE Mask Atom
Aucun autre argument n’est autorisé. Par conséquent :
• maskGroup.canAddProperty("mask") renvoie true
• maskGroup.canAddProperty("ADBE Mask Atom") renvoie true
Toute autre entrée pour l’argument maskGroup est false. Par exemple,
maskGroup.canAddProperty("blend") renvoie false.
Description
Cet attribut représente le nombre de propriétés indexées dans ce groupe.
Remarque : pour Layers uniquement, cela peut porter à confusion, la valeur renvoyée
étant 3. Elles correspondent aux groupes de masques, d’effets et de suivi de trajectoire
contenus dans le calque. Toutefois, les calques comportent également de nombreuses
autres propriétés uniquement accessibles par nom (voir section « Méthode PropertyGroup
property() », page 174).
Type
Entier ; lecture seule.
Description
Cette méthode cherche et renvoie la PropertyBase enfant, d’après son propertyIndex ou
son nom.
Si vous utilisez une chaîne pour fournir l’argument name, vous pouvez utiliser l’une des
suivantes :
• Tout nom utilisé dans la syntaxe « de style parenthèse » des expressions, c’est-à-dire le
nom d’affichage ou le nom anglais compact
Propriétés accessibles par leur nom • "X Rotation" ou "xRotation" ou "Rotation X" ou
depuis un calque 3D, de lumière ou de "rotationX"
caméra • "Y Rotation" ou "yRotation" ou "Rotation Y" ou
"rotationY"
• "Orientation" ou "orientation"
Propriétés accessibles par leur nom • "Source Text" ou "sourceText" ou "Text" ou "text"
depuis un calque de texte
Paramètres
index entier ; propertyIndex de la PropertyBase cible, compris dans la plage
[1..numProperties]
name chaîne ; nom de la PropertyBase cible, qui est un enfant de la
PropertyBase en cours.
Renvoi
PropertyBase ; ou valeur nulle si aucune propriété avec le nom de chaîne donné n’est
trouvée.
Exemples
1 Si un calque (myLayer, par exemple) comporte un effet Flou de la bordure (Box Blur),
vous pouvez extraire l’effet de l’une des façons suivantes :
myLayer.property(“Effects”).property(“Box Blur”);
myLayer.property(“Effects”).property(“boxBlur”);
myLayer.property(“Effects”).property(“ADBE Box Blur”);
2 Si un calque (myLayer, par exemple) comporte un masque nommé Mask 1, vous pouvez
l’extraire comme suit :
myLayer.property(“Masks”).property(“Mask 1”);
3 Pour obtenir une valeur du centre d’un effet de renflement, vous pouvez procéder de
l’une des façons suivantes :
myLayer.property(“Effects”).property(“Bulge”).property(“Bulge Center”);
myLayer.property(“Effects”).property(“Bulge”).property(“bulgeCenter”);
Objet RenderQueue
app.project.renderQueue
Description
L’objet RenderQueue permet l’accès aux données et à la fonctionnalité dans la zone File
d’attente de rendu d’un projet After Effects particulier. Cette objet est essentiel à
l’automatisation du rendu.
Les attributs de l’objet RenderQueue fournissent l’accès aux éléments contenus dans la
file d’attente de rendu et à leur état de rendu.
Les méthodes de l’objet RenderQueue peuvent démarrer, interrompre et arrêter le
processus de rendu.
L’objet RenderQueueItem fournit l’accès aux paramètres spécifiques d’un élément pour
lequel effectuer le rendu.
Attributs
Méthodes
Description
Cette méthode renvoie un élément de file d’attente de rendu ayant le numéro d’index
donné.
Paramètres
Renvoi
RenderQueueItem.
Description
L’attribut items de renderQueue fournit sous forme de collection l’ensemble des éléments
contenus dans la file d’attente de rendu.
Type
RQItemCollection ; lecture seule.
Voir aussi
« RQItemCollection », page 180
Description
L’attribut numItems indique le nombre total d’éléments de file d’attente de rendu
contenus dans la file d’attente de rendu.
Type
Entier ; lecture seule.
Description
Interrompt la file d’attente de rendu ; équivaut à utiliser le bouton Pause dans la fenêtre
File d’attente de rendu pendant un rendu.
Paramètres
pause booléen ; défini sur true, il interrompt le rendu ; défini sur false, il poursuit un
rendu interrompu
Renvoi
Aucun.
Description
Démarre la file d’attente de rendu ; équivaut à utiliser le bouton Rendu de la fenêtre File
d’attente de rendu. Ne renvoie rien tant que le rendu n’est pas terminé.
Définissez app.onError si vous souhaitez être averti des erreurs pendant le processus de
rendu.
Définissez l’attribut RenderQueueItem.onStatusChanged d’un RenderQueueItem
particulier pour obtenir des mises à jour pendant le traitement du rendu.
Paramètres
Aucun.
Renvoi
Aucun.
Voir aussi
« Méthode Application open() », page 38
Description
L’attribut rendering indique si le rendu est en cours. Attribut en lecture seule ; utilisez les
méthodes render() et stopRendering() pour le contrôler. Si le rendu est interrompu, cet
attribut est défini à true.
Type
Booléen ; lecture seule.
Description
La méthode showWindow de RenderQueue est un booléen ; si true, affiche la fenêtre File
d’attente de rendu, si false, masque la fenêtre.
Paramètres
Renvoi
Aucun.
Description
Interrompt la file d’attente de rendu ; équivaut à utiliser le bouton Arrêter dans la fenêtre
File d’attente de rendu pendant un rendu. Utile pour appeler l’événement d’un rappel
onStatusChanged.
Paramètres
Aucun.
Renvoi
Aucun.
Voir aussi
« Attribut RenderQueueItem onStatusChanged », page 184.
RQItemCollection
app.project.renderQueue.items
Description
RQItemCollection contient tous les éléments de file d’attente de rendu. Equivaut à
l’ensemble des éléments se trouvant dans la fenêtre File d’attente de rendu d’un projet
donné.
Attributs
Méthodes
Voir aussi
« Objet Collection », page 59
Objet RenderQueueItem
app.project.renderQueue.item(index)
Description
L’objet RenderQueueItem est un élément individuel dans la file d’attente de rendu.
Attributs
Méthodes
Description
La méthode applyTemplate de renderQueueItem applique un modèle Paramètres de
rendu à l’élément.
Paramètres
Renvoi
Aucun.
Description
L’attribut comp renvoie l’objet CompItem à rendre par cet élément de file d’attente de
rendu. Attribut en lecture seule ; pour modifier la composition, l’élément de file d’attente
de rendu doit être supprimé et recréé.
Type
CompItem ; lecture seule.
Description
L’attribut elapsedSeconds affiche le temps écoulé en secondes pour le rendu de l’élément.
Type
Entier, ou valeur nulle si l’élément n’a pas été rendu ; lecture seule.
Description
L’attribut logType renvoie l’un des types de compte-rendus (énumérés ci-dessous).
Type énuméré
LogType (lecture/écriture) ; l’un des suivants :
LogType.ERRORS_ONLY
LogType.ERRORS_AND_SETTINGS
LogType.ERRORS_AND_PER_FRAME_INFO
Description
L’attribut numOutputModules représente le nombre total de modules de sortie affectés à
un élément de file d’attente de rendu donné.
Type
Entier ; lecture seule.
Description
L’attribut onStatusChanged est invoqué chaque fois que la valeur de l’attribut
RenderQueueItem.status est modifiée.
Notez qu’il est impossible de modifier les éléments de file d’attente de rendu (ou
l’application) pendant le rendu (y compris lorsque le rendu est interrompu). Ceci reflète la
fonctionnalité de l’application normale.
Type
Fonction.
Exemple
function myStatusChanged() {
alert(app.project.renderQueue.item(1).status)
}
app.project.renderQueue.item(1).onStatusChanged = myStatusChanged();
app.project.renderQueue.item(1).render = false; //shows dialog
Description
L’attribut outputModules renvoie l’ensemble des modules de sortie pour l’élément.
Type
OMCollection ; lecture seule.
Description
Cette méthode renvoie un module de sortie avec l’index donné.
Paramètres
index entier ; index du module de sortie
Renvoi
OutputModule.
Description
La méthode remove de renderQueueItem supprime l’élément référencé de la file
d’attente de rendu.
Paramètres
Aucun.
Renvoi
Aucun.
Description
L’attribut render détermine si un élément sera rendu au démarrage de la file d’attente.
Type
Booléen ; lecture/écriture.
Description
La méthode saveAsTemplate de RenderQueueItem enregistre les paramètres de rendu en
cours des éléments en tant que nouveau modèle portant le nom transmis comme
paramètre.
Paramètres
Renvoi
Aucun.
Description
L’attribut skipFrames spécifie le nombre d’images à ignorer lors du rendu. Il est utilisé pour
obtenir des tests de rendu plus rapides qu’un rendu complet. La durée totale reste
inchangée.
Une valeur égale à 0 signifie qu’aucune image n’est ignorée et produit un rendu régulier
de toutes les images. Une valeur égale à 1 signifie qu’une image sur deux doit être
ignorée. Plus la valeur est élevée, plus le nombre d’images ignorées est important. Si, par
exemple, skip prend la valeur 1, la moitié du nombre d’images sera produite pour une
sortie de séquence alors que pour une sortie de film, la durée de chaque image sera
doublée.
La plage des valeurs skipFrames autorisées est [0..99].
Type
Entier. Lecture/écriture.
Description
L’attribut startTime renvoie un objet Date affichant le jour et l’heure de début du rendu de
l’élément.
Type
Date ; valeur nulle si le rendu de l’élément n’est pas commencé. Lecture seule.
Description
L’attribut status représente l’état de rendu en cours de l’élément.
Type énuméré
RQItemStatus - l’un des attributs suivants :
Description
L’attribut templates renvoie un tableau des noms de modèles de paramètres de rendu
disponibles pour l’élément. Attribut en lecture seule.
Type
Tableau ; lecture seule.
Description
L’attribut timeSpanDuration détermine la durée, en secondes, de la composition à rendre.
Il produit le même effet que la définition d’une heure de fin personnalisée dans la boîte de
dialogue Paramètres de rendu, bien que la durée soit déterminée en déduisant l’heure de
début de l’heure de fin.
Type
Valeur de la virgule flottante ; lecture/écriture.
Description
L’attribut timeSpanStart détermine, en secondes, le moment de commencement du
rendu dans la composition. Cela équivaut à définir une heure de début personnalisée dans
la boîte de dialogue Paramètres de rendu.
Type
Valeur de la virgule flottante ; lecture/écriture.
Objet Settings
Description
L’objet Settings fournit un moyen aisé de gérer les paramètres pour les scripts. Les
paramètres sont perpétués entre les lancements d’application et sont enregistrés dans le
fichier des préférences d’After Effects.
Méthodes
Description
La méthode getSetting extrait un paramètre trouvé dans le fichier des préférences.
Paramètres
Renvoi
Chaîne représentant la valeur du paramètre.
Exemple
var n = app.settings.getSetting("Eraser - Paint Settings", "Aligned Clone");
alert("The setting is " + n);
Voir aussi
« Méthode Settings haveSetting() », page 188
« Méthode Settings saveSetting() », page 189
Description
La méthode haveSetting est utilisée pour déterminer si un paramètre a été affecté à un
nom de section donné et au nom de la clé.
Renvoi
Booléen.
Voir aussi
« Méthode Settings getSetting() », page 188
« Méthode Settings saveSetting() », page 189
Description
La méthode saveSetting permet d’enregistrer une valeur par défaut pour un élément de
préférences de création de script.
Paramètres
Voir aussi
« Méthode Settings getSetting() », page 188
« Méthode Settings haveSetting() », page 188
Objet Shape
app. p ro j e c t . i t e m ( i n d e x ) . l ay e r ( i n d e x ) . p rop e r t y ( 1 ) . p rop e r t y ( i n d e x ) . p rop e r t y( " m a s k S h a p e " ) . v a lu e
Description
L’objet Shape contient des informations décrivant la forme du contour d’un masque.
Attributs
Méthodes
Exemples
1 Création d’un masque carré
Un carré est une forme fermée constituée de quatre points. Par défaut, les inTangents et
outTangents des segments de droite reliés sont toujours 0. Les valeurs par défaut
correspondant à celles que vous souhaitez ici, vous n’avez pas besoin de les définir.
var myShape = new Shape();
myShape.vertices = [ [0,0], [0,1], [1,1], [1,0] ];
myShape.closed = true;
Description
Cet attribut spécifie si la forme est une courbe fermée Si true, le premier et le dernier
sommets sont reliés pour former une courbe fermée. Si false, le segment de fermeture ne
sera pas tracé.
Type
Booléen ; lecture/écriture.
Description
Cet attribut décrit un tableau de paires de valeurs de virgule flottante spécifiant les
vecteurs de tangente (poignées directrices) associés aux sommets de la forme.
Chaque paire de virgule flottante spécifie une inTangent. Une inTangent et une
outTangent sont associées à chaque sommet du tableau de sommets. Toutefois, lors de la
création d’une forme à définir en tant que valeur d’image clé, vous pouvez laisser
inTangent et/ou outTangent nuls ou ne pas renseigner les entrées ; elles seront
automatiquement remplies avec des zéros. Sans mode RotoBézier, cela produit des
segments de droite ; en mode RotoBézier, les zéros sont ignorés et les inTangents/
outTangents sont calculées automatiquement.
Chaque sommet de la forme comporte deux poignées directrices. L’inTangent est la
poignée directrice associée au segment de droite approchant du sommet depuis le
sommet précédent de la forme.
Les inTangents sont les coordonnées x, y spécifiées relatives au sommet associé. Par
exemple, une inTangent de [-1,-1] se situe au-dessus et à gauche du sommet et présente
une pente de 45 degrés, quelle que soit la position réelle du sommet. Plus une poignée est
longue, plus sa portée est grande. Ainsi, un segment de forme s’approche de plus près du
vecteur de tangente pour une inTangent de [-2,-2] que pour une inTangent de [-1,-1], bien
que les deux s’approchent du sommet en provenant de la même direction.
Si une forme est ouverte, l’inTangent du premier sommet et l’outTangent du sommet final
sont ignorées. Sinon, ces deux vecteurs doivent spécifier les poignées directrices du
segment de connexion final s’éloignant du sommet final et revenant vers le premier
sommet.
Notez que si une forme est utilisée dans un masque RotoBézier, les valeurs de tangente
sont ignorées lors de l’écriture (c’est-à-dire pendant la définition de la nouvelle forme), car
les masques RotoBézier calculent automatiquement leurs tangentes. Cela signifie que,
pour les masques RotoBézier, vous pouvez construire une forme en définissant
uniquement l’attribut de sommet et en définissant les inTangents et outTangents à une
valeur nulle. Si vous définissez la forme sans tangentes, redéfinissez ensuite la forme ; les
valeurs de tangente de la nouvelle forme correspondent aux valeurs de tangentes
calculées automatiquement.
Type
Tableau de paires de valeurs de virgule flottante ; lecture/écriture.
Description
Cet attribut décrit un tableau de paires de valeurs de virgule flottante spécifiant les
vecteurs de tangente (poignées directrices) associés aux sommets de la forme.
Chaque paire de virgule flottante spécifie une inTangent. Une inTangent et une
outTangent sont associées à chaque sommet du tableau de sommets. Toutefois, lors de la
création d’une forme à définir en tant que valeur d’image clé, vous pouvez laisser
inTangent et/ou outTangent nuls ou ne pas renseigner les entrées ; elles seront
automatiquement remplies avec des zéros. Sans mode RotoBézier, cela produit des
segments de droite ; en mode RotoBézier, les zéros sont ignorés et les inTangents/
outTangents sont calculées automatiquement.
Description
Cette méthode est le constructeur permettant de créer une nouvelle forme. Après avoir
construit une forme avec cette méthode, définissez les différents attributs un à un pour
remplir la forme avec les valeurs de votre choix.
Paramètres
Aucun.
Renvoi
Forme.
Objet SolidSource
app.project.item(index).mainSource
app.project.item(index).proxySource
Description
L’objet SolidSource contient des informations décrivant une source de métrage de couleur
unie. Il s’agit d’une sous-classe de FootageSource ; par conséquent, elle hérite de
l’ensemble des attributs et des méthodes de l’ « Objet FootageSource », page 99.
Attributs
Description
L’attribut color de SolidSource définit la couleur du solide. Cette valeur est un tableau de
trois valeurs de virgule flottante pour le rouge, le vert et le bleu, ces valeurs devant être
comprises dans la plage [0..1].
Type
Tableau de trois valeurs de virgule flottante comprises entre 0 et 1 : [R, V, B]) ; lecture/
écriture.
Objet System
system
Description
L’objet System fournit l’accès aux attributs trouvés sur le système de l’utilisateur, tels que
le nom utilisateur ou le nom et la version du système d’exploitation.
Attributs
Description
L’attribut machineName spécifie le nom de la machine sur laquelle le programme est
exécuté, et est exprimé sous forme de chaîne de texte.
Type
Chaîne ; lecture seule.
Exemple
alert ( "Your machine is called " + system.machineName + ".");
Description
L’attribut osName spécifie le nom du système d’exploitation sur lequel le programme est
exécuté et est exprimé sous forme de chaîne de texte.
Type
Chaîne ; lecture seule.
Exemple
alert ( "Your OS is " + system.osname + ".");
Description
L’attribut osVersion spécifie la version du système d’exploitation local en cours et
s’exprime sous forme de chaîne de texte.
Type
Chaîne ; lecture seule.
Exemple
alert ( "Your OS is " + system.osname + " running version " + system.osversion);
Description
L’attribut userName spécifie le nom de l’utilisateur connecté au système et s’exprime sous
forme de chaîne de texte.
Type
Chaîne ; lecture seule.
Exemple
confirm( "You are: " + system.userName + " running on " + system.machineName + ".");
Objet TextDocument
Description
L’objet TextDocument contient un attribut de chaîne « text » utilisé pour stocker les
valeurs de la propriété Texte source d’un calque de texte.
Attributs
Méthodes
Exemples
1 Définition d’une valeur d’un texte source, suivie de l’affichage d’une alerte indiquant la
nouvelle valeur :
var myTextDocument = new TextDocument("Happy Cake");
myTextLayer.property("Source Text").setValue(myTextDocument);
alert(myTextLayer.property("Source Text").getValue());
2 Définition de valeurs d’image clé pour un texte qui affichera différents mots dans le
temps :
var textProp = myTextLayer.property("Source Text");
textProp.setValueAtTime(0, new TextDocument("Happy"));
textProp.setValueAtTime(.33, new TextDocument("cake"));
textProp.setValueAtTime(.66, new TextDocument("is"));
textProp.setValueAtTime(1, new TextDocument("yummy!"));
Description
Chaîne de texte stockée dans ce TextDocument.
Type
Chaîne ; lecture/écriture.
Description
Cette méthode est le constructeur d’un nouveau TextDocument.
Paramètres
docText chaîne ; texte contenu dans le TextDocument
Renvoi
TextDocument
Exemples
Des exemples des scripts contenus sur le CD-ROM sont fournis ci-dessous, accompagnés
d’une explication générale de ce qu’il permettent de faire et d’une description détaillée de
leur fonctionnement. Loin d’être exhaustive, cette série d’exemples démontre cependant
certaines des fonctionnalités de création de script les plus complexes. Elle présente
également certaines constructions type de programmation JavaScript applicables à la
création de scripts.
Pour obtenir des exemples propres à l’utilisation de l’interface utilisateur, reportez-vous à
la section « Création d’éléments pour l’interface utilisateur », page 215. Pour obtenir
davantage d’exemples fournis par Adobe ou d’autres utilisateurs d’After Effects, visitez le
site Adobe Studio Exchange à l’adresse http://share.studio.adobe.com, puis choisissez
Scripting dans la zone Adobe After Effects.
/ / s e t t h e p a r a m e ter v a l u e s
the_layer("Effects")("Fast Blur").blur r iness.setValue(10);
t h e_ l ayer("E ffects")("Fa st B l u r"). rep e a t E d ge P i xe ls . s e t Va lu e ( t r u e ) ;
a d d e d It = t r u e ;
}
}
/ / Re t u r n a b o o l e a n s ay i n g w h e t h e r we a d d e d t h e e f f e c t
re tur n a d d e d It ;
}
/ / G e t t h e a c t ive com p
v a r a c t ive Ite m = a p p. p ro j e c t . a c t ive Item ;
i f ( a c t ive Item ! = nu l l & & ( a c t ive Item i n s t a n ce o f Com p Item ) ) {
v a r a c t iveCom p = a c t iveIte m ;
/ / t r y to a p p l y to e ve r y s e l e c te d l ayer
v a r s e l e c te d L ayer s = a c t iveCom p. s e l e c te d L ayer s ;
f o r ( v a r i = 0 ; i < s e l e c te d L ayer s . l e n g t h ; i + + ) {
v a r c u r L ayer = s e l e c te d L ayer s [ i ] ;
/ / T h e m e t h o d re t u r n s t r u e i f i t a d d s t h e e f f e c t , f a l s e o t h e r w i s e .
if (applyFastBlurToLayer(curLayer) == t r ue) {
numLayersChanged++;
}
}
}
// Pr in t a messa g e i f n o l ayers were af f e c te d
if (numLayersChanged == 0) {
a l e r t ( " P l e a s e s e l e c t a n AV l ayer o r l ayer s a n d r u n s c r i p t a g a i n " ) ;
}
app. endUndoGroup();
}
/ / G e t t h e a c t ive com p
v a r a c t ive Ite m = a p p. p ro j e c t . a c t ive Item ;
i f ( a c t ive Item ! = nu l l & & ( a c t ive Item i n s t a n ce o f Com p Item ) ) {
v a r a c t iveCom p = a c t iveIte m ;
/ / t r y to a p p l y to e ve r y s e l e c te d l ayer
v a r s e l e c te d L ayer s = a c t iveCom p. s e l e c te d L ayer s ;
f o r ( v a r i = 0 ; i < s e l e c te d L ayer s . l e n g t h ; i + + ) {
v a r c u r L ayer = s e l e c te d L ayer s [ i ] ;
app. endUndoGroup();
}
Ensuite, si le projet a déjà été sauvegardé au moins une fois, des variables sont définies
pour pointer vers le nom du fichier et vers le numéro et l’extension de fichier à y ajouter. Le
code JavaScript lastIndexOf() recherche une chaîne vers l’arrière (de la fin vers le début) et,
dans ce cas, recherche le point séparant le nom de l’extension.
} else {
var currFile = app.project.file;
var currFileName = currFile.name;
var extPos = currFileName.lastIndexOf(".");
var ext = "";
La variable currFileName est ensuite définie avec le nom en cours, avant le point.
if (extPos != -1) {
ext = currFileName.substring(extPos, currFileName.length);
currFileName = currFileName.substring(0, extPos);
}
Le script définit alors une variable qui incrémentera les versions en commençant à 0, puis
vérifie s’il existe un caractère de soulignement à une distance de quatre caractères de la
fin du currFileName. Le cas échéant, le script conclut que l’incrémenteur a déjà été
exécuté étant donné que sa tâche consiste à attribuer un suffixe de 3 chiffres à la suite
d’un caractère de soulignement incrémenté d’un chiffre de plus que le dernier suffixe.
Dans ce cas, l’incrémenteur est défini sur la chaîne numérique en cours, et le nom est
extrait sans cette extension numérique.
var incrementer = 0;
Le script ajoute alors une boucle d’incrémentation et vérifie si le numéro est passé à deux
ou trois chiffres (par exemple, si le numéro a atteint _010 ou au-delà, ou _100 ou au-delà)
et attribue un zéro pour chacun dans le cas contraire.
incrementer++;
var istring = incrementer + "";
if (incrementer < 10) {
istring = "0" + istring;
}
if (incrementer < 100) {
istring = "0" + istring;
}
Enfin, le script crée un nouveau fichier utilisant le nom et l’extension mis à jour, affiche un
message d’alerte informant l’utilisateur du nouveau nom de fichier sauvegardé et
enregistre le projet sous le nouveau nom de fichier.
var newFile = File(currFile.path + "/" + currFileName + "_" + istring + ext);
alert(newFile.fsName);
app.project.save(newFile);
}
if (app.settings.haveSetting(sectionName, keyName)) {
searchString = app.settings.getSetting(sectionName, keyName);
}
Le script vérifie immédiatement que l’utilisateur a bien entré un nouvel emplacement (et
n’a pas annulé le message). Une boucle est ensuite créée pour chaque élément de file
d’attente de rendu sélectionné. Si cet élément est placé en file d’attente, le script prend
l’emplacement de rendu en cours, lui attribue un nouveau nom et un nouvel
emplacement, puis affiche un message d’alerte indiquant le nouveau chemin du fichier.
if (newLocation) { //boolean to see if the user cancelled
for (i = 1; i <= app.project.renderQueue.numItems; ++i) {
var curItem = app.project.renderQueue.item(i);
if (curItem.status == RQItemStatus.QUEUED) {
for (j = 1; j <= curItem.numOutputModules; ++j) {
var curOM = curItem.outputModule(j);
var oldLocation = curOM.file;
curOM.file = new File(newLocation.toString() + "/" + oldLocation.name);
alert(curOM.file.fsName);
}
}
}
}
Une fonction est alors ajoutée pour vérifier si un fichier donné fait partie d’une séquence.
Celle-ci utilise des expressions régulières, lesquelles constituent un type spécial de
JavaScript destiné à réduire le nombre d’étapes requises pour évaluer une chaîne. La
première vérifie la présence de chiffres séquentiels à tout endroit du nom de fichier. La
suivante s’assure que les fichiers séquentiels ne sont pas d’un type ne pouvant pas être
importé en tant que séquence (fichiers d’image mobiles).
Les fichiers adjacents sont ensuite vérifiés pour savoir s’il existe une séquence. Cette
vérification s’arrête à dix fichiers pour limiter le temps de traitement.
function testForSequence (files){
var searcher = new RegExp ("[0-9]+");
var movieFileSearcher = new RegExp ("(mov|avi|mpg)$", "i");
var parseResults = new Array;
parseResults[parseResults.length] = currentResult[0];
}
else {
parseResults[parseResults.length] = null;
}
}
else {
parseResults[parseResults.length] = null;
}
}
A présent, si tous les fichiers venant d’être évalués indiquaient qu’ils font partie d’une
séquence numérique, le script conclut qu’il y a une séquence et renvoie le premier fichier
de cette séquence. Sinon, la fonction est terminée.
var result = null;
for (i = 0; i < parseResults.length; ++i) {
if (parseResults[i]) {
if (! result) {
result = files[i];
}
} else {
//case in which a file name did not contain a number
result = null;
break;
}
}
return result;
}
Une fonction est alors ajoutée pour afficher des messages d’erreur en cas de problème
avec tout fichier que le script tente d’importer.
function importSafeWithError (importOptions) {
try {
app.project.importFile (importOptions);
} catch (error) {
alert(error.toString() + importOptions.file.fsName);
}
}
Une fonction intervient alors pour réellement importer toute séquence d’image détectée
à l’aide de testForSequence(), ci-dessus. Notez que le script contient une option placée en
commentaire permettant de forcer l’ordre alphabétique dans les séquences. Pour forcer
l’ordre alphabétique, annulez le statut de commentaire de la ligne
"importOptions.forceAlphabetical = true" en supprimant les deux barres obliques en
début de ligne.
function processFolder(theFolder) {
var files = theFolder.getFiles();
//Get an array of files in the target folder
//test whether theFolder contains a sequence
var sequenceStartFile = testForSequence(files);
//if it does contain a sequence, import the sequence
if (sequenceStartFile) {
var importOptions = new ImportOptions (sequenceStartFile);
//create a variable containing ImportOptions
importOptions.sequence = true;
//importOptions.forceAlphabetical = true;
//un-comment this if you want to force alpha order by default
importSafeWithError (importOptions);
}
processFolder(targetFolder);
}
RQItemStatus.QUEUED) {
safeToRunScript = true;
break;
}
}
if (! safeToRunScript) {
alert ("You do not have any items set to render.");
}
}
Le script vérifie dans un deuxième temps si les paramètres de courrier électronique sont
déjà sauvegardés dans les préférences. Le cas échéant, aucun message n’apparaît. Sinon,
le script email_setup.jsx est exécuté. L’utilisateur doit alors indiquer la passerelle de
messagerie, ainsi que les adresses de l’expéditeur et du destinataire. Si vous devez
modifier des paramètres enregistrés, vous pouvez toujours exécuter email_setup.jsx pour
créer de nouveaux paramètres qui remplaceront ceux existant.
if (safeToRunScript) {
Le rendu peut à présent être effectué. Une fois le rendu terminé, le script crée une chaîne
de texte pour le message électronique. Elle contient l’heure de début du rendu, l’heure du
rendu de chaque élément de la file d’attente et la durée totale du rendu.
myQueue.render();
Enfin, une erreur est émise si, pour une raison quelconque, le message ne peut pas être
envoyé.
var serverSetting = settings.getSetting("Email Settings", "Mail
Server");
var fromSetting = settings.getSetting("Email Settings", "Reply-
to Address");
var toSetting = settings.getSetting("Email Settings", "Render
Report Recipient");
var myMail = new EmailSocket(serverSetting);
if (! myMail.send (fromSetting, toSetting, "AE Render Completed", myMessage) ) {
alert("Sending mail failed");
}
}
}
}
// functions:
// send (fromAddress, toAddress, subject, text) - send an email
// auth (name, pass) - do an authorization via POP3
// both functions return false on errors
// sample:
// e = new EmailSocket ("mail.host.com");
// authorize via POP3 (not all servers require authorization)
// e.auth ("myname", "mypass");
// send the email
// e.send ("me@my.com", "you@you.com", "My Subject", "Hi there!")
// This script makes use of the Socket object, and creates a new class
// called EmailSocket that is derived from Socket. For more information on
EmailSocket.prototype.__proto__ = Socket.prototype;
EmailSocket.prototype.toString = function() {
return "[object Email]";
}
// write and writeLn will write to the info tab with or without a
//'newline'
// at the end.
if (pfile == null){
alert("No project file selected. Aborting.");
} else {
// Open that file. It becomes the current project.
var my_project = app.open( pfile );
var default_text_filename;
var suffix_index = pfile.name.lastIndexOf(".aep");
if (suffix_index != -1){
default_text_filename = pfile.name.substring(0,suffix_index);
}else {
default_text_filename = pfile.name;
}
default_text_filename += "_compnames.txt";
// Create another file object for the file we'll write out.
// First argument is the prompt, second is a default file name, third is
//the file type.
var text_file = filePutDialog("Select a file to output your results",
default_text_filename, "TEXT txt");
if (text_file == null){
alert("No output file selected. Aborting.");
} else {
// opens file for writing. First argument is mode ("w" for writing),
// second argument is file type (for mac only),
// third argument is creator (mac only, "????" is no specific app).
text_file.open("w","TEXT","????");
text_file.close();
alert("All done!");
}
}
Interface IU JavaScript
Cette section propose une description du modèle de programmation d’interface
utilisateur pour script.
Objets IU
L’interface utilisateur pour script définit des objets Window contenant des fenêtres natives
et divers éléments d’options (Buttons, StaticText, etc.), lesquels englobent des options
natives simples. Ces objets partagent des méthodes communes comme « demander le
type de l’élément », « déplacer les éléments » et « définir le titre, la légende ou le
contenu ». Pour obtenir une liste exhaustive des propriétés et méthodes, reportez-vous à
la section « Référence », page 25.
Les fenêtres nouvellement créées sont initialement invisibles ; la méthode show() les rend visibles.
Eléments conteneurs
Toutes les fenêtres sont des conteneurs, ce qui signifie qu’elles contiennent d’autres
éléments tels des panneaux, des boutons et des cases à cocher.
A l’intérieur d’une fenêtre, vous pouvez créer d’autres types d’éléments conteneurs et leur
ajouter des composants d’interface, en procédant de la même manière que pour ajouter
des éléments à une fenêtre. Les éléments ajoutés à un conteneur sont considérés comme
des enfants de celui-ci, et certaines opérations effectuées sur un conteneur s’appliquent
également à ses enfants. Par exemple, appeler la méthode hide() du conteneur rend le
conteneur invisible ainsi que tous ses enfants.
De la même manière, appeler la méthode show() du conteneur rend le conteneur visible
ainsi que tous les enfants qui étaient visibles avant que celui-ci ne soit masqué. Les
propriétés et méthodes de conteneurs suivantes s’appliquent également à tous les
enfants de ce conteneur : visible, enabled, hide(), show().
Ajout d’éléments
Pour ajouter des éléments à une fenêtre ou à un autre conteneur, utilisez la méthode add()
du conteneur. Cette méthode accepte le type de l’élément à créer ainsi que certains
paramètres facultatifs, en fonction du type d’élément. La valeur renvoyée correspond à
l’objet IU créer ou à nul (null) en cas d’erreur. La valeur de la propriété visible de l’élément
est définie par défaut sur « true ». L’élément est initialement visible, mais il reste invisible
tant que son objet parent est invisible.
Un second paramètre (facultatif ) peut être utilisé pour spécifier les limites initiales. Les
limites sont relatives à la zone de travail de son conteneur parent. Pour des éléments
affichant le texte, celui-ci peut être spécifié comme le troisième paramètre (facultatif ) --
d’autres types d’éléments ont des sémantiques différentes pour un troisième argument.
Pour plus d’informations sur l’interprétation des paramètres facultatifs de chaque type
d’élément, reportez-vous à la section « Référence IU JavaScript », page 233. Ces
paramètres facultatifs étant positionnels, vous devez proposer un autre argument pour le
second paramètre de manière à fournir une valeur pour le troisième paramètre (text) si
vous voulez spécifier du texte pour un élément sans tenir compte de ses limites. Vous
pouvez ignorer un paramètre positionnel en spécifiant la valeur « undefined » comme
valeur d’argument. Dans l’exemple ci-dessous, un élément Button est crée avec une valeur
text initiale, mais sans valeur bounds.
d l g . b t n Pn l = d l g . a d d (‘p a n e l ’, [15 3 3 0 3 6 5 3 7 5 ] , ‘ Bu i ld i t’ ) ;
d l g . b t n Pn l . testB t n = d l g . b t n Pn l . a d d ( ‘ but ton’, u n defi n e d , ‘ Te s t’ ) ;
La création dynamique d’une propriété telle que btnPnl pour référencer l’objet de
contrôle renvoyé par add() n’est pas nécessaire mais peut faciliter un renvoi ultérieur au
contrôle. Pour plus d’informations, reportez-vous à la section « Accès aux éléments
enfants », page 218.
Propriétés de création
Certains types d’élément possèdent des attributs qui peuvent uniquement être spécifiés
lors de la création de l’élément. Ceux-ci ne sont pas des propriétés normales de l’élément,
du fait qu’ils ne peuvent pas être modifiés au cours de la durée de vie de celui-ci et qu’ils
ne sont nécessaires qu’une seule fois. Pour ces types d’élément, un argument facultatif
creation properties peut être ajouté à la méthode add() -- cet argument est un objet doté
d’une ou plusieurs propriétés qui contrôlent des éléments (l’apparence de l’élément, par
exemple) ou des fonctions spéciales (« lecture seule » pour un élément de texte
modifiable).
Tous les éléments IU disposent d’une propriété de création appelée name, qui peut être
utile pour attribuer un nom en vue de l’identification de cet élément. Dans l’exemple
suivant, le nouvel élément Button est attribué au nom « ok » :
d l g . b t n Pn l . bu i l d B t n = d l g . b t n Pn l . a d d ( ‘ but ton’, [ 1 2 5 , 1 5 , 2 2 5 , 3 5 ] , ‘ Bu i ld ’,
{n a me: ’o k’});
Le nombre d’éléments enfants d’une fenêtre est égal à la valeur de la propriété length de
l’ensemble children. Dans l’exemple suivant, la panneau « msgPnl » étant le premier
élément créé dans dlg, le texte du titre du panneau peut être défini comme suit :
v ar d l g = n e w Win dow(' d i a l o g ' , ' Aler t B ox Bu i lder ' , [ 1 0 0 1 0 0 4 8 0 2 4 5 ] ) ;
d l g . ms g Pn l = d l g . a d d (' p a n e l ' , [25, 1 5 , 3 5 5 , 1 3 0 ] ) ;
d l g . chil d ren [0]. text = ' Messa ges' ;
d lg .show();
Grâce aux propriétés de création, un nom peut être attribué à un élément nouvellement
créé. Dans ce cas, il est possible de faire référence à un enfant par son nom. Par exemple,
l’élément Button, nommé « ok » dans l’exemple de la section précédente, pourrait
maintenant être adressé comme suit :
d l g . b t n Pn l . chil d ren [‘o k’]. text = “ Bu i ld ” ;
Un moyen plus simple de faire référence à un élément enfant nommé consiste à utiliser
son nom comme propriété de son élément parent. Il est également possible de faire
référence à l’élément Button de l’exemple précédent comme suit :
d l g . b t n Pn l . o k . text = “ Bu i l d ” ;
La valeur d’une propriété name interne d’un élément est utilisée par l’interface utilisateur
pour script lorsqu’un script accède à une propriété de l’objet parent de l’élément qui ne
correspond à aucune des propriétés prédéfinies.
Dans ce cas, la structure recherche les noms de l’enfant de l’élément parent pour voir si
une correspondance existe et si, dans ce cas, une référence est renvoyée à l’objet enfant
correspondant.
Type d’éléments IU
Cette section introduit les types d’éléments d’interface utilisateur que vous pouvez créer
au sein d’un élément Window ou d’un autre type d’élément conteneur.
L’élément Panel
L’élément Panel est le seul type de conteneur non fenêtré actuellement défini. Les
éléments Panel sont habituellement utilisés pour organiser visuellement des options
associées.
Vous pouvez également utiliser des panneaux comme séparateurs : les panneaux dont la
largeur est égale à 0 s’affichent comme lignes verticales et ceux dont la hauteur est égale
à 0 s’affichent comme lignes horizontales. Lorsque vous créez un panneau, vous pouvez
spécifier une propriété facultative borderStyle (réservée à la création) pour contrôler
l’apparence de la bordure du panneau.
v ar d l g = n e w Win dow(' d i a l o g ' , ' Aler t B ox Bu i lder ' , [ 1 0 0 1 0 0 4 8 0 2 4 5 ] ) ;
L’élément EditText
Les éléments EditText sont habituellement utilisés pour permettre aux utilisateurs d’entrer
du texte destiné au script lorsque la boîte de dialogue est fermée. Le texte des éléments
EditText peut être sélectionné par un utilisateur, puis copié ou collé. La propriété text peut
être attribuée pour afficher du texte dans l’élément et peut être lue pour obtenir la valeur
de texte actuelle.
La propriété textselection peut être attribuée pour remplacer la sélection actuelle par un
nouveau texte ou pour insérer du texte à l’emplacement indiqué par le curseur (point
d’insertion). Elle peut être lue pour obtenir la sélection actuelle, le cas échéant.
A partir du panneau représenté ci-dessus, des éléments EditText ayant des valeurs initiales
pouvant être acceptées ou remplacées par l’utilisateur sont maintenant ajoutés dans
l’exemple suivant :
v ar d l g = n e w Win dow(' d i a l o g ' , ' Aler t B ox Bu i lder ' , [ 1 0 0 1 0 0 4 8 0 2 4 5 ] ) ;
d l g . ms g Pn l = d l g . a d d (' p a n e l ' , [25, 1 5 , 3 5 5 , 1 3 0 ] , ' Me s s a ge s ' ) ;
d l g . ms g Pn l . t i tl eS t = d l g . ms g Pn l . a dd ( ' s t a t i c tex t ' , [ 1 5 , 1 5 , 1 0 5 , 3 5 ] ,
' Al er t b ox t i tl e: ' );
d l g . ms g Pn l . t i tl eEt = d l g . ms g Pn l . a d d ( ' e d i t tex t ' , [ 1 1 5 , 1 5 , 3 1 5 , 3 5 ] , ' S a m p le Aler t ' ) ;
d l g . ms g Pn l . ms g S t = d l g . ms g Pn l . a d d ( ' s t a t i c tex t ' , [ 1 5 , 6 5 , 1 0 5 , 8 5 ] , ' Aler t m e s s a g e : ' ) ;
d l g . ms g Pn l . ms g Et = d l g . ms g Pn l . a d d ( ' e d i t tex t ' , [ 1 1 5 , 4 5 , 3 1 5 , 1 0 5 ] ,
' <messa g e>' , {mu l t i l in e: t r u e}) ;
d l g . show();
Notez la propriété de création sur le second champ EditText, où multiline:true est spécifié.
multiline:true indique que le texte dans l’élément doit être renvoyé à la ligne suivante. En
d’autres termes, il spécifie un champ dans lequel une longue chaîne de texte peut être
saisie et apparaître sur plusieurs lignes.
L’élément Button
Les éléments Button sont habituellement utilisés pour initier certaines actions à partir d’un
élément Window lorsqu’un utilisateur clique avec le pointeur de la souris sur le bouton ;
par exemple, le fait d’accepter des paramètres courants d’une boîte de dialogue, d’annuler
une boîte de dialogue, d’en appeler une nouvelle, etc. La propriété text fournit un libellé
pour identifier une fonction de l’élément Button :
v ar d l g = n e w Win dow(' d i a l o g ' , ' Aler t B ox Bu i lder ' , [ 1 0 0 1 0 0 4 8 0 2 4 5 ] ) ;
d l g . b t n Pn l = d l g . a d d (' p a n e l ' , [15, 5 0 , 3 6 5 , 9 5 ] , ' Bu i ld i t ' ) ;
d l g . b t n Pn l . testB t n = d l g . b t n Pn l . a d d ( ' but ton ' , [ 1 5 , 1 5 , 1 1 5 , 3 5 ] , ' Te s t ' ) ;
d l g . b t n Pn l . bu i l d B t n = d l g . b t n Pn l . a d d ( ' but ton ' , [ 1 2 5 , 1 5 , 2 2 5 , 3 5 ] ,
' Bu il d ' , {n a me: ' o k ' });
d l g . b t n Pn l . ca n ce l B t n = d l g . b t n Pn l . a d d ( ' but ton ' , [ 2 3 5 , 1 5 , 3 3 5 , 3 5 ] ,
' Ca n ce l ' , {n a me: ' ca n ce l ' });
d l g . show();
L’élément Slider
Les éléments Slider sont habituellement utilisés pour sélectionner une plage de valeurs,
permettant à l’utilisateur de maintenir le pointeur de la souris sur un indicateur
positionnel mobile situé sur un curseur et de faire glisser cet indicateur dans la portée du
curseur. Si vous cliquez avec le pointeur de la souris sur un point situé sur la barre du
curseur, l’indicateur se positionnera à cet emplacement.
Un élément Slider possède une propriété value qui reflète la position de l’indicateur
mobile, ainsi que des propriétés minvalue et maxvalue définissant les extrémités de la
plage de valeurs du curseur.
Pour qu’une option de curseur ressemble à celles présentées dans After Effects, réglez la
hauteur de l’option jusqu’à ce que la barre du curseur s’affiche comme une ligne unique.
L’élément Scrollbar
Les éléments Scrollbar sont similaires aux éléments Slider, en cela qu’ils sont souvent
utilisés pour sélectionner une plage de valeurs et qu’ils possèdent un indicateur de
position mobile. Ils disposent de toutes les propriétés des curseurs et, en outre, sont
équipés de boutons à chaque extrémité de la barre de défilement permettant de déplacer
l’indicateur de position par étapes de taille déterminée.
Vous pouvez contrôler la taille de chaque « étape » en définissant la propriété stepdelta. Le
fait de cliquer devant ou derrière l’indicateur de position déplace ce dernier d’un nombre
de valeurs donné jusqu’au point d’insertion du curseur. Vous pouvez contrôler la taille de
ce déplacement en définissant la propriété jumpdelta.
Vous pouvez créer des barres de défilement à orientation horizontale ou verticale ; si la
largeur est supérieure à la hauteur, l’orientation est horizontale, sinon elle est verticale.
L’exemple suivant crée un élément Scrollbar avec des éléments StaticText et EditText
associés au sein d’un panneau :
d l g . si zePn l = d l g . a d d (‘p a n e l ’, [60 2 4 0 3 2 0 3 1 5 ] , ‘ D i m en s i on s’ ) ;
d l g . si zePn l . w i d thS t = d l g . si zePn l . a d d ( ‘s t a t i c tex t’, [ 1 5 , 1 5 , 6 5 , 3 5 ] ,
‘Wi d th: ’;
d l g . si zePn l . w i d thS cr l = d l g . si zePn l. a d d ( ‘s c rol lb a r ’,
[75, 15, 195, 35], 300, 300, 800) ;
d l g . si zePn l . w i d thEt = d l g . sizePn l . a d d ( ‘e d i t tex t’, [ 2 0 5 , 1 5 , 2 4 5 , 3 5 ] ) ;
Notez que les 3 derniers arguments de la méthode add() qui crée la barre de défilement
définissent les valeurs des propriétés value, minvalue et maxvalue. Les éléments Scrollbar
sont souvent créés en association avec un champ EditText pour afficher la valeur actuelle
de la barre de défilement et permettre le paramétrage de la position de la barre de
défilement sur une valeur donnée.
Remarque : pour créer un élément IU, le nom de classe de la définition namedObject ci-
dessus peut être tout nom de classe d’élément référencé dans la section « Types d’éléments
d’interface », page 215. Par exemple :
“d i a l o g { \
tex t : ‘ From Re s o u rce’, b o u n d s : [ 1 0 , 1 0 , 2 1 0 , 1 1 0 ] , \
b ox : Pa n e l { \
bounds: [10, 10, 190, 90], \
o k : But to n { \
tex t : ‘O K ’, b o u n d s : [ 4 0 , 3 0 , 1 4 0 , 5 0 ] , \
} \
} \
}” ;
// T he Bu i l d a n d Ca n ce l button s cl os e t h i s d i a lo g
w i th (d l g . b t n Pn l ) {
bu i l d B t n . on Cl i ck =
fu n c t i on () { thi s. p a ren t. p a ren t . clos e ( 1 ) ; } ;
ca n ce l B t n . on Cl i ck =
fu n c t i on () { thi s. p a ren t. p a ren t . clos e ( 2 ) ; } ;
};
Les fonctions de rappel d’événement fonctionnant comme des méthodes de l’objet pour
lequel elles sont définies, ces fonctions ont accès à l’objet par le biais du mot clé JavaScript
« this ». Dans les exemples ci-dessus, « this » se rapportant à l’objet IU pour lequel un
rappel donné est défini, les propriétés de l’objet IU sont alors accessibles par « this ». Par
exemple, chaque objet IU ayant une propriété parent servant de référence pour son objet
conteneur, this.parent devient une référence pour l’objet parent de l’objet.
Pour approfondir ce point, un élément button( ) est contenu dans un panneau, lequel est
contenu dans une fenêtre, tout cet ensemble étant finalement clos. La progression va du
plus petit au plus grand déplacement IU, de gauche à droite.
buildBtn.onClick = function () {this.parent.parent.close(1);};
bouton
panneau
boîte de dialogue
Notez que vous pouvez simuler des actions utilisateurs en envoyant une notification
d’événement directement à un élément IU, par le biais de la méthode notify() de l’élément.
De cette manière, un script peut générer des événements dans les options d’une fenêtre,
comme si un utilisateur cliquait sur des boutons, entrait du texte, déplaçait une fenêtre,
etc.
Des éléments radiobutton et checkbox ont une propriété value booléenne ; l’utilisation de
notify() pour simuler un clic sur ces éléments modifie également la valeur de cette
propriété, comme si l’on cliquait sur cet élément. Si, par exemple, la valeur d’un élément
checkbox « hasBtnsCb » dans notre exemple ci-dessus est true, l’exemple suivant modifie la
valeur par false :
if (d l g . ha sB t n sC b. v a lu e == t r u e)
d l g . ha sB t n sC b. n o t i fy ();
// d l g . ha sB t n sC b. v a lu e is n ow fa l se
Pour obtenir une description complète des différentes méthodes de rappel d’événement
et de notify(), reportez-vous à la section « Méthodes communes et gestionnaires
d’événements », page 238.
du code dans des fonctions de rappel d’événements simples, tout en reportant l’exécution
logique du script primaire jusqu’à ce que la boîte de dialogue soit fermée.
Eléments Default et Cancel
Les boîtes de dialogue modales peuvent habituellement être fermées au moyen de
certains raccourcis clavier. En plus de cliquer sur les boutons « OK » ou « Annuler », le fait
d’appuyer sur la touche « Entrée » ou « Echap. » équivaut normalement à cliquer sur le
bouton « OK » (ou par défaut) ou « Annuler ». Dans chaque cas, le raccourci clavier est le
même que si votre script avait appelé la méthode notify() pour l’élément Button associé. Le
concepteur des boîtes de dialogue bénéficie d’une gestion explicite des éléments Button
qui sont notifiés par ces raccourcis clavier ; une boîte de dialogue nouvellement créée
possède des propriétés defaultElement et cancelElement initialement indéfinies. Ce
concepteur peut définir ces propriétés pour les objets représentant les boutons qui
devraient être notifiés lorsque le raccourci clavier respectif est actionné.
L’interface utilisateur pour script fournit des paramètres par défaut raisonnables si les
propriétés defaultElement et cancelElement sont encore indéterminées lorsque le premier
affichage de la boîte de dialogue est imminent.
Des valeurs par défaut pour la propriété defaultElement sont déterminées par l’algorithme
suivant :
• L’interface utilisateur pour script recherche les boutons de la boîte de dialogue pour un
bouton dont la propriété name possède la valeur de chaîne « ok » (le cas importe peu).
Si un objet est trouvé, defaultElement est défini sur ce dernier.
• Dans le cas contraire, l’interface utilisateur pour script recherche les boutons de la boîte
de dialogue pour un bouton dont la propriété text possède la valeur de chaîne « ok » (le
cas importe peu). Si un objet est trouvé, defaultElement est défini sur ce dernier.
Des valeurs par défaut pour la propriété cancelElement sont déterminées par l’algorithme
suivant :
• L’interface utilisateur pour script recherche les boutons de la boîte de dialogue pour un
bouton dont la propriété name prend la valeur de chaîne « cancel » (quel que soit le
cas). Si un objet est trouvé, cancelElement est défini sur celui-ci.
• Dans le cas contraire, l’interface utilisateur pour script recherche les boutons de la boîte
de dialogue pour un bouton dont la propriété text prend la valeur de chaîne « cancel »
(quel que soit le cas). Si un objet est trouvé, cancelElement est défini sur celui-ci.
Ces algorithmes traitent la plupart des boîtes de dialogue sans que le concepteur n’ait à
définir explicitement ces propriétés. Lorsque vous ajoutez des boutons à une boîte de
dialogue pour fermer cette même boîte, utilisez creation properties pour définir la
propriété name de ces boutons sur « ok » ou « cancel », selon la sémantique voulue ; cette
précaution permet à l’algorithme ci-dessus de fonctionner correctement même si le texte
de tels boutons est localisé. Si l’interface utilisateur pour script ne peut trouver un bouton
correspondant pour chaque cas, la propriété respective est définie sur null, ce qui signifie
que des raccourcis clavier pour la valeur par défaut ou pour annuler ne notifieront aucun
élément.
Exemple IU JavaScript
Après avoir étudié les composants de script individuels dont est constituée l’interface
utilisateur, nous allons maintenant les examiner assemblés en code JavaScript réel pour
former une interface utilisateur fonctionnelle complète.
L’exemple de code IU JavaScript décrit ci-dessous comprend les fonctions permettant de
créer une fenêtre de constructeur d’interface utilisateur simple comportant divers
panneaux, cases à cocher, boutons et options. Lors de l’exécution du générateur, le
message d’alerte est créé.
• createBuilderDialog() -- Crée une boîte de dialogue vide près du coin supérieur gauche
de l’écran et ajoute un panneau de titre, une case à cocher, un panneau d’options et un
panneau avec des boutons pour tester les paramètres et créer la spécification du
message d’alerte.
• initializeBuilder() -- Définit des états d’option initiaux et lie des fonctions de rappel
d’événement à des options.
• runBuilder() -- Exécute la boîte de dialogue du générateur, puis renvoie l’interface
utilisateur du message d’alerte résultante.
• createResource() -- Crée et renvoie une chaîne contenant une spécification de ressource
de boîte de dialogue qui crée l’interface utilisateur du message d’alerte à partir des
paramètres entrés.
• stringProperty() -- Renvoie une chaîne formatée.
• arrayProperty() -- Renvoie un tableau formaté.
• createTestDialog() -- Crée une boîte de dialogue de test.
Ces fonctions sont assemblées dans un script principal, représenté par la boîte de
dialogue de message d’alerte finale.
createBuilderDialog
La plupart des difficultés relatives aux composants visuels de l’exemple de code IU
JavaScript se présentent avec la fonction createBuilderDialog(), où les principaux
composants de la boîte de dialogue sont configurés, comme affichés ci-dessous.
fon c t i on crea teBui lder D i a lo g()
{
/ /Crea te a n emp t y di a lo g w i ndow nea r the u pp er left of the scre en
v ar d lg = new Wi ndow(' di a lo g' , ' Aler t B ox Bu ilder', [ 100 100 480 490] ) ;
1
/ /Add a pa ne l to h old t i tle a nd ' messa ge text' st r ing s
d l g .ms gPnl = d lg .a dd(' pa ne l' , [2 5 ,1 5 ,3 55,130] , 'Messages') ;
d l g .ms gPnl.t i tleS t = d lg .ms gPnl.a dd(' s t at ic text', [ 15,15,105,35] , 'Aler t b ox t itle:') ;
d l g .ms gPnl.t i tleEt = d lg .ms gPnl.a dd(' e dittext', [ 115,15,315,35] , 'S am ple Aler t') ;
d l g .ms gPnl.ms gS t = d lg .ms gPnl.a dd(' s tat ic text', [ 15,65,105,85] , 'Aler t m essage:') ;
d l g .ms gPnl.ms gEt = d lg .ms gPnl.a dd(' e dittext', [ 115,45,315,105] , '<you r m essage here>',
{ mult i li ne:t r ue});
/ /Add a ch e ckb ox to cont rol th e pres ence of buttons to dism iss the aler t b ox
d l g .h a sBt ns Cb = d lg .a dd(' ch e ckb ox ' , [125 145 255 165] , 'Has aler t buttons?') ; 2
/ /Add pa ne l to de ter mi ne a li g nment of buttons on the aler t b ox
d l g .a ler tBt ns Pnl = d lg .a dd(' pa ne l' , [45 180 335 225] , 'Button alig nm ent') ;
d l g .a ler tBt ns Pnl.a li g nLeftRb = d lg .a ler tB t nsPnl.a dd( 'r a diobutton', [ 15,15,95,35] , 'Left') ;
d l g .a ler tBt ns Pnl.a li g nCenter Rb = d lg .a ler tB t nsPnl.a dd( 'r a diobutton', [ 105,15,185,35] , 'Center') ;
d l g .a ler tBt ns Pnl.a li g nRi g h tRb = d lg .a ler tB t nsPnl.a dd( 'r a diobutton', [ 195,15,275,35] , 'Rig ht') ;
/ /Add a pa ne l w i th buttons to test pa r a m e ters and c reate the aler t b ox sp e c ific at ion
d l g .b t nPnl = d lg .a dd(' pa ne l' , [15 3 3 0 365 375] , 'Bu ild it') ;
d l g .b t nPnl.tes tBt n = d lg .b t nPnl.a dd(' button', [ 15,15,115,35] , 'Test') ;
d l g .b t nPnl.bui ldBt n = d lg .b t nPnl.a dd(' button', [ 125,15,225,35] , 'Bu ild', { nam e:'ok'} ) ;
4
d l g .b t nPnl.ca nce lBt n = d lg .b t nPnl.a dd('button', [ 235,15,335,35] , 'Cance l', { nam e:'c ance l'} ) ;
re tur n d lg;
Cet extrait de code, une fois décomposé en plus petits segments et exécuté dans le
contexte d’un exemple de code IU entier, produit la succession de boîtes de dialogue ci-
dessous, combinées dans une seule fenêtre finale de message d’alerte.
Boîte de dialogue
finale créée
Pour que la boîte de dialogue s’affiche tout en prenant en charge du code pour
l’initialisation et l’exécution, il convient d’inclure le générateur des messages d’alerte,
comme illustré ci-dessous.
function i ni t i a li zeBui lder (bui lder )
{
//S e t up i ni t i a l cont rol sta tes
w i th (bui lder ) {
h a s Bt ns Cb.v a lue = t r ue;
a ler tBt ns Pnl.a li g nCenter Rb.v alu e = t r u e;
w i th (si zePnl) {
w i dth Et.tex t = w i dth S cr l.v alu e;
/*' h a s buttons ' ch e ckb ox ena bles or disables the pane l that
de ter mi nes th e just i fica t i on of the 'aler t' button g rou p */
//D efine th e a ler t mes s a ge sta t i c text e lem ent, s i z i n g i t to the aler t b ox
v a r ma r g i n = 1 5 ; v a r l, t;
v a r ms gWi dth , ms gHei g h t;
v a r h a s Buttons = bui lder.h a sBt ns C b.v alu e;
v a r b t nsHei g h tUs e d = h a s Buttons ? 20 + m arg in : 0 ;
ms gHei g h t = 60;
ms gWi dth = d lgWi dth - (ma r g i n * 2) ;
l = ma r g i n;
t = (d lgHei g h t - ms gHei g h t - b t nsHeig htUse d) / 2;
re s + = " m s g: S t a t i cTex t { " +
st r i ngProp er t y (" tex t" , bui lder.m s gPnl.m s gEt.text) +
a r r ay Prop er t y (" b ounds" , l, t , l + m s gWidth, t + m s gHeig ht) +
" jus t i fy :' center ' , prop er t i es :{mu lt iline:t r u e} } ";
// Al l done!
res + = " \n}" ;
re tur n res ;
}
• Afficher une zone d’édition de texte multiligne, comme présentée dans le panneau de
message de la boîte de dialogue.
• Illustrer comment des zones de texte statiques peuvent être associées à des zones de
texte modifiables et du texte statique à d’autres types d’options.
• Présenter le fonctionnement de simples fonctions de rappel d’événement et comment
associer des fonctions de gestion d’événement à des options pouvant générer des
événements.
• Décrire comment activer ou désactiver des jeux d’options. Si, par exemple,
vous désactivez la case d’alerte, tout élément dans le champ d’alignement du bouton
devient grisé.
• Illustrer comment fermer une boîte de dialogue modale avec un bouton OK et Annuler.
• Démontrer que vous pouvez encore lire des valeurs de propriété de la boîte de
dialogue et de ses options, une fois celle-ci fermée.
Exemple de code de spécification de ressource
Pour exécuter ce code IU JavaScript à l’aide d’une spécification de ressource, modifiez les
lignes indiquées ci-dessous, puis intégrez l’exemple de code de spécification de ressource.
Pour plus d’informations sur des spécifications de ressource, reportez-vous à la section
« Création d’une fenêtre à l’aide des spécifications des ressources de fenêtre », page 222.
Remarque : ceci est un exemple complet d’une chaîne de spécification de ressource. Le
code alertBuilderResource() affiché ci-dessous est un moyen de créer la même boîte de
dialogue principale créée par la fonction createBuilderDialog().
Référence IU JavaScript
L’interface utilisateur JavaScript définit les éléments globaux des propriétés et de l’objet
Window ainsi que des méthodes de toutes les classes IU.
alert (text)
Affiche la chaîne spécifiée dans un message d’alerte utilisateur proposant un bouton OK.
Le message d’alerte n’est pas prévu pour des messages longs. Lorsque l’argument de
chaîne de la méthode d’alerte est trop long, le message d’alerte est tronqué.
confirm (text)
Checkbox
Scrollbar
Window
EditText
Button
Slider
Panel
active x x x x x x x
bounds x x x x x x x x x
children x x x x x x x x x
enabled x x x x x x x x x
jumpdelta x
justify x x x x x x x
maxvalue x x
minvalue x x
parent x x x x x x x x x
stepdelta x
RadioButton
StaticText
Checkbox
Scrollbar
Window
EditText
Button
Slider
Panel
text x x x x x x x
textselection x
type x x x x x x x x x
value x x x x
visible x x x x x x x x x
Propriétés
Les propriétés définies pour chaque type d’élément répertorié ci-dessus sont les
suivantes :
Propriété Type Description
active Booléen Contient la valeur true si l’objet est actif, et la valeur false
dans le cas contraire. Une boîte de dialogue flottante
active se trouve être la boîte de dialogue en premier plan.
Une boîte de dialogue modale visible est par définition la
boîte de dialogue active. Une option active est celle qui
accepte des raccourcis claviers ou, dans le cas d’un
élément Button, d’être activée (par un clic) lorsque
l’utilisateur entre un renvoi. Une définition sur true
permet d’obtenir une option ou une boîte de dialogue
donnée active.
bounds Limites Contient un objet Bounds décrivant l’emplacement et la
taille de l’élément sous forme de valeurs de tableau
représentant les coordonnées des coins supérieur
gauche et inférieur droit de l’élément : [left, top, right,
bottom]. Il s’agit des coordonnées d’écran pour les
éléments de fenêtre, et des coordonnées relatives aux
fenêtres pour les autres éléments. Reportez-vous à la
section « Taille et emplacement des éléments »
pour obtenir une définition de l’objet Bounds.
children Objet Collection des éléments IU contenue par l’objet IU. Il
s’agit d’un tableau indexé par un numéro ou une chaîne
contenant un nom d’élément. La propriété length de ce
tableau correspond au nombre d’éléments enfants pour
les éléments conteneurs et à zéro pour les options ; des
implémentations futures peuvent renvoyer des éléments
supplémentaires pour des options composites. Lecture
seule.
Un objet Bounds est utilisé pour délimiter un élément Window ou un élément IU dans son
espace de coordonnées. Vous ne pouvez pas créer directement un objet Bounds ; celui-ci est
créé lorsque vous définissez une propriété bounds pour un élément. La lecture de la propriété
bounds produit toujours un objet Bounds. Bounds contient un tableau décrivant la position et la
taille d’un élément IU. Les valeurs du tableau représentent les coordonnées des coins
supérieur gauche et inférieur droit de l’élément : [left, top, right, bottom]. Il s’agit de
coordonnées d’écran pour les éléments de fenêtre, et ses valeurs sont relatives à l’espace de
coordonnées de l’élément (conteneur) parent pour d’autres types d’éléments.
Vous pouvez définir une propriété bounds pour un élément et créer indirectement un objet
Bounds de l’une des
façons suivantes :
e.bounds = Object
L’objet doit contenir des propriétés nommées left, top, right, bottom ou x, y, width, height,
où chaque propriété possède une valeur de coordonnée entière.
e.bounds = Array
Le tableau doit disposer de valeurs de coordonnées entières dans l’ordre [left, top, right,
bottom].
e.bounds = String
La chaîne doit être une déclaration d’objet texte JavaScript exécutable, contenant les
mêmes noms de propriété que pour le cas d’objet décrit précédemment.
Reportez-vous à la section « Taille et emplacement des éléments », page 217 pour des
exemples.
On peut accéder à un objet Bounds comme à un tableau. En outre, il prend en charge les
propriétés suivantes :
Propriété Type Description
left Valeur Valeur de la coordonnée « x » du bord gauche de
numérique l’élément.
top Valeur Valeur de la coordonnée « y » du bord supérieur de
numérique l’élément.
right Valeur Valeur de la coordonnée « x » du bord droit de l’élément.
numérique
bottom Valeur Valeur de la coordonnée « y » du bord inférieur de
numérique l’élément.
x Valeur Identique à left.
numérique
y Valeur Identique à top.
numérique
width Valeur right - left.
numérique
height Valeur bottom - top.
numérique
Checkbox
Scrollbar
Window
EditText
Button
Slider
Panel
add() x x
center() x
close() x
hide() x x x x x x x x x
notify() x x x x x x
RadioButton
StaticText
Checkbox
Scrollbar
Window
EditText
Button
Slider
Panel
show() x x x x x x x x x
onChange() x x x
onClick() x x x
onClose() x
onMove() x
onResize() x
Méthodes
Les descriptions des méthodes et gestionnaires d’événements communs répertoriés ci-
dessus sont les suivantes :
Méthode Renvoi Description
add (type [, bounds, text, { Objet Crée un élément IU et l’ajoute au
<creation tableau enfant de son élément parent
properties> } ]); Window ou Panel. Le paramètre
facultatif bounds est un objet Bounds
décrivant sa position et sa taille. Il peut
également s’agir d’un tableau à quatre
éléments. Le paramètre facultatif text
est attribué à l’élément IU comme texte
ou titre initial. L’élément IU décide lui-
même de l’utilisation de cette chaîne ;
elle peut être ignorée.
onResize() aucune
valeur Cette méthode est appelée lors du
renvoyée redimensionnement d’un élément
Window. Si vous êtes intéressé par le
traitement de cet événement,
définissez une fonction de ce nom dans
l’objet Window.
L’élément Panel
Pour ajouter un élément Panel à une fenêtre w :
Méthode Renvoi Description
w.add (“panel” [, bounds, text, Objet Le paramètre facultatif bounds définit la
{<creation properties>} ]); position et la taille de l’élément. Le
paramètre facultatif text correspond au
texte affiché dans la bordure du
panneau. Le paramètre facultatif
<creation properties> correspond à un
objet pouvant contenir l’une des
propriétés suivantes :
L’option edittext
Pour ajouter un élément EditText à une fenêtre :
Méthode Renvoi Description
w.add (“edittext” [, bounds, text, Objet Le paramètre facultatif bounds définit la
{<creation properties>}]); position et la taille de l’élément. Le
paramètre facultatif text correspond au
texte initial affiché par l’option. Le
paramètre facultatif <creation
properties> correspond à un objet
contenant l’une des propriétés
suivantes :
L’option checkbox
Pour ajouter un élément Checkbox à une fenêtre w :
Méthode Renvoi Description
w.add (“checkbox” [, bounds, Objet Le paramètre facultatif bounds définit la
text]); position et la taille de l’élément. Le
paramètre facultatif text correspond au
texte affiché en regard de l’option
Checkbox.
Une fois le code ci-dessus exécuté, la variable homepage contient le contenu de la page
d’accueil Adobe et un en-tête de réponse HTTP.
L’établissement d’un serveur Internet est un peu plus compliqué. Un programme serveur
type attend les connexions entrantes et les traite lorsqu’elles arrivent. En général, vous ne
souhaiteriez pas que votre application s’exécute dans une boucle sans fin, dans l’attente
de toute demande de connexion entrante. Aussi, vous avez la possibilité de demander un
objet Socket pour une connexion entrante en appelant la méthode poll() d’un
objet Socket. Cet appel ne fait que vérifier les connexions entrantes, puis revient
immédiatement. En présence d’une demande de connexion, l’appel de poll() renvoie un
autre objet Socket contenant la toute nouvelle connexion. Utilisez cet objet de connexion
pour dialoguer avec le client appelant ; une fois cela fait, fermez la connexion et supprimez
l’objet de connexion.
Pour qu’un objet Socket puisse vérifier la présence de connexions entrantes, un port
d’écoute précis doit lui être indiqué, comme le port 80 pour les demandes HTTP, par
exemple. Pour ce faire, appelez la méthode listen() à la place de la méthode open().
L’exemple suivant correspond à un serveur Web très simple. Le serveur écoute sur le
port 80 et attend afin de détecter toute demande entrante. L’en-tête HTTP est supprimé,
et une page HTML fictive est transmise à l’appelant.
conn = new Socket;
// listen on port 80
if conn.listen (80)) {
// wait forever for a connection
var incoming;
do incoming = conn.poll();
while (incoming == null);
// discard the request
read();
// Répond avec un en-tête HTTP
incoming.writeln ("HTTP/1.0 200 OK");
incoming.writeln ("Content-Type: texte/html");
incoming.writeln();
// Transmit a dummy homepage
incoming.writeln ("<html><body><h1>Page d’accueil</h1></body></html>");
// done!
incoming.close();
delete incoming;
}
Il est fréquent que le point final distant mette fin à la connexion, une fois les données
transmises. Pour cette raison, une propriété connected contient true tant que la
connexion existe. Si la propriété connected renvoie la valeur false, la connexion est fermée
automatiquement.
En cas d’erreur, la propriété error de l’objet Socket contient un court message décrivant le
type de l’erreur.
L’objet Socket permet de mettre en œuvre facilement des logiciels communiquant entre
eux par Internet. Par exemple, vous pouvez laisser deux applications Adobe échanger des
documents et des données simplement en écrivant et en exécutant des programmes
JavaScript.
Référence JavaScript
Propriétés
connected Booléen Contient la valeur true si la connexion est encore active. Lecture
seule.
eof Booléen Contient la valeur true si le tampon de réception est vide.
Lecture seule.
error Chaîne Contient un message décrivant la dernière erreur. Le fait de
définir cette valeur efface tout message d’erreur.
host Chaîne Contient le nom de l’ordinateur distant lorsqu’une connexion
est établie. Si la connexion est fermée ou n’existe pas, la
propriété contient la chaîne vide. Lecture seule.
Méthodes
[new] Socket ();
Met fin à la connexion ouverte. Renvoie la valeur true si la connexion a été fermée et la
valeur false en cas d’erreurs d’E/S. La suppression de la connexion produit le même
résultat. Notez cependant que JavaScript supprime l’objet de la mémoire à un moment
nul, et que la connexion risque de rester ouverte plus longtemps que vous ne le souhaitez
si vous ne la fermez pas explicitement.
Renvoi
Booléen.
listen (Number port [, String encoding]);
port Valeur Numéro de port sur lequel écouter. Les numéros de port valides
numérique vont de 1 à 65535.
encoding Chaîne Encodage à utiliser pour la connexion. Les valeurs types sont
« ASCII », « binary » ou « UTF-8 ». Par défaut, ce paramètre est
défini à ASCII.
Renvoi
Booléen.
open (String computer [, String encoding]);
Ouvre la connexion pour les opérations lecture/écriture qui suivent. Le nom d’ordinateur
correspond au nom ou à l’adresse IP, suivi du signe deux-points (:) et du numéro de port
auquel se connecter. Le numéro de port est facultatif. Un nom d’ordinateur valide sera par
exemple « www.adobe.com:80 » ou « 192.150.14.12:80 ». Ce paramètre d’encodage est
facultatif ; à ce jour, il peut s’agir de « ASCII », « binary » ou « UTF-8 ». Les appels de open()
et de listen() sont mutuellement exclusifs.
Paramètres
Renvoi
Booléen.
poll();
Vérifie un objet à l’écoute pour une nouvelle connexion entrante. Si une demande de
connexion a été détectée, la méthode renvoie un nouvel objet Socket qui représente la
nouvelle connexion. Utilisez cet objet de connexion pour communiquer avec l’ordinateur
distant. Après utilisation, fermez la connexion et supprimez l’objet JavaScript. Si aucune
nouvelle demande de connexion n’a été détectée, la méthode renvoie la valeur nulle.
Renvoi
Un nouvel objet Socket ou une valeur nulle.
read ([Number count]);
Lit jusqu’au nombre donné de caractères à partir de la connexion. Renvoie une chaîne
contenant jusqu’au nombre de caractères supposés être lus. Si aucun compte n’est fourni,
la connexion tente de lire autant de caractères qu’elle peut obtenir jusqu’à ce que le
serveur distant ferme la connexion ou qu’un dépassement de délai se produise.
Paramètres
Renvoi
Chaîne.
readln();
Lit une ligne de texte jusqu’au changement de ligne suivant. Les changements de ligne
sont reconnus en tant que paires CR, LF, CRLF ou LFCR.
Renvoi
Chaîne.
write (String text, …);
Ecrit la chaîne donnée vers la connexion. Les paramètres de cette fonction sont
concaténés en une seule chaîne. Renvoie true une fois terminé.
Paramètres
text Chaîne Tous les arguments sont concaténés pour former la chaîne à
écrire.
Renvoi
Booléen.
writeln (String text, …);
text Chaîne Tous les arguments sont concaténés pour former la chaîne à
écrire.
Renvoi
Booléen.
function chatClient() {
var connection = new Socket;
// connect to sample server
if (connection.open ("remote-pc.corp.adobe.com:1234")) {
// then chat with server
chat (connection);
connection.close();
delete connection;
}
}
L’encodeur ASCII génère des erreurs pour les caractères supérieurs à 127 et l’encodeur
BINARY effectue simplement une conversion des octets en caractères Unicode en utilisant
les 8 bits inférieurs. Cet encodeur est utile pour la lecture et l’écriture des données
binaires.
Encodages supplémentaires
Sous Windows, tous les encodages utilisent ce qu’on appelle des pages de code. Des
valeurs numériques sont attribuées à ces pages de code. Le jeu de caractères occidentaux
(Western) courant utilisé par Windows est, par exemple, la page de code 1252. Les pages
de code Windows peuvent être sélectionnées en faisant précéder le numéro de page de
code par CP ou WINDOWS-, comme CP1252 pour la page de code 1252. L’objet File
possède de nombreux autres noms d’encodage intégrés correspondant aux numéros de
page de code prédéfinis. Si une page de code manque, l’encodage ne peut pas être
sélectionné.
Sur Mac OS, les encodeurs peuvent être sélectionnés par nom, plutôt que par numéro de
page de code. L’objet File demande directement un encodeur à Mac OS. Si les jeux de
caractères Mac OS sont identiques aux pages de code Windows, Mac OS connaît
également les numéros de page de code Windows.
ISO-2022-JP
ISO-2022-KR
===========================================================================
AlphaMode enum
---------------------------------------------------------------------------
AlphaMode.IGNORE
AlphaMode.PREMULTIPLIED
AlphaMode.STRAIGHT
---------------------------------------------------------------------------
===========================================================================
Application object
---------------------------------------------------------------------------
beginSuppressDialogs() no return
beginUndoGroup(string undoName) no return
buildName : string : readOnly
buildNumber : integer : readOnly
endSuppressDialogs(boolean showAlert) no return
endUndoGroup() no return
endWatchFolder() no return
exitAfterLaunchAndEval : boolean : read/write
exitCode : integer : read/write
isProfessionalVersion : boolean : readOnly
isRenderEngine : boolean : readOnly
isUISuppressed : boolean : readOnly
isWatchFolder : boolean : readOnly
language : Language : readOnly
newProject() no return
open([File file]) returns Project
pauseWatchFolder(boolean doPause) no return
project : Project : readOnly
purge(PurgeTarget target) no return
quit() no return
registeredCompany : string : readOnly
registeredName : string : readOnly
serialNumber : string : readOnly
setMemoryUsageLimits(float imageCachePercent,
float maximumMemoryPercent) no return
setSavePreferencesOnQuit(boolean doSave) no return
settings : Settings : readOnly
version : string : readOnly
watchFolder(File file) no return
onError(string errorString,
string severity) no return
---------------------------------------------------------------------------
===========================================================================
AVLayer object
---------------------------------------------------------------------------
(integer propertyIndex) returns PropertyBase
(string propertyName) returns PropertyBase
Page 256
active : boolean : readOnly
activeAtTime(float atTime) returns boolean
addProperty(string propertyName) returns PropertyBase
adjustmentLayer : boolean : read/write
audioActive : boolean : readOnly
audioActiveAtTime(float atTime) returns boolean
audioEnabled : boolean : read/write
blendingMode : BlendingMode : read/write
canAddProperty(string propertyName) returns boolean
canSetCollapseTransformation : boolean : readOnly
canSetEnabled : boolean : readOnly
canSetTimeRemapEnabled : boolean : readOnly
collapseTransformation : boolean : read/write
copyToComp(CompItem intoComp) no return
duplicate() returns AVLayer
effectsActive : boolean : read/write
elided : boolean : readOnly
enabled : boolean : read/write
frameBlending : boolean : read/write
guideLayer : boolean : read/write
hasAudio : boolean : readOnly
hasTrackMatte : boolean : readOnly
hasVideo : boolean : readOnly
height : float : readOnly
inPoint : float : read/write
index : integer : readOnly
isEffect : boolean : readOnly
isMask : boolean : readOnly
isModified : boolean : readOnly
isNameFromSource : boolean : readOnly
isTrackMatte : boolean : readOnly
locked : boolean : read/write
matchName : string : readOnly
motionBlur : boolean : read/write
moveAfter(Layer otherLayer) no return
moveBefore(Layer otherLayer) no return
moveTo(integer index) no return
moveToBeginning() no return
moveToEnd() no return
name : string : read/write
nullLayer : boolean : readOnly
numProperties : integer : readOnly
outPoint : float : read/write
parent : Layer : read/write
parentProperty : PropertyGroup : readOnly
preserveTransparency : boolean : read/write
property(integer propertyIndex) returns PropertyBase
property(string propertyName) returns PropertyBase
propertyDepth : integer : readOnly
propertyGroup([integer countUp]) returns PropertyGroup
propertyType : PropertyType : readOnly
quality : LayerQuality : read/write
remove() no return
selected : boolean : read/write
Page 257
selectedProperties : Array of PropertyBase: readOnly
setParentWithJump(Layer newParent) no return
shy : boolean : read/write
solo : boolean : read/write
source : AVItem : readOnly
startTime : float : read/write
stretch : float : read/write
threeDLayer : boolean : read/write
time : float : readOnly
timeRemapEnabled : boolean : read/write
trackMatteType : TrackMatteType : read/write
width : float : readOnly
---------------------------------------------------------------------------
===========================================================================
BlendingMode enum
---------------------------------------------------------------------------
BlendingMode.ADD
BlendingMode.ALPHA_ADD
BlendingMode.CLASSIC_COLOR_BURN
BlendingMode.CLASSIC_COLOR_DODGE
BlendingMode.CLASSIC_DIFFERENCE
BlendingMode.COLOR
BlendingMode.COLOR_BURN
BlendingMode.COLOR_DODGE
BlendingMode.DANCING_DISSOLVE
BlendingMode.DARKEN
BlendingMode.DIFFERENCE
BlendingMode.DISSOLVE
BlendingMode.EXCLUSION
BlendingMode.HARD_LIGHT
BlendingMode.HARD_MIX
BlendingMode.HUE
BlendingMode.LIGHTEN
BlendingMode.LINEAR_BURN
BlendingMode.LINEAR_DODGE
BlendingMode.LINEAR_LIGHT
BlendingMode.LUMINESCENT_PREMUL
BlendingMode.LUMINOSITY
BlendingMode.MULTIPLY
BlendingMode.NORMAL
BlendingMode.OVERLAY
BlendingMode.PIN_LIGHT
BlendingMode.SATURATION
BlendingMode.SCREEN
BlendingMode.SILHOUETE_ALPHA
BlendingMode.SILHOUETTE_LUMA
BlendingMode.SOFT_LIGHT
BlendingMode.STENCIL_ALPHA
BlendingMode.STENCIL_LUMA
BlendingMode.VIVID_LIGHT
---------------------------------------------------------------------------
Page 258
===========================================================================
CloseOptions enum
---------------------------------------------------------------------------
CloseOptions.DO_NOT_SAVE_CHANGES
CloseOptions.PROMPT_TO_SAVE_CHANGES
CloseOptions.SAVE_CHANGES
---------------------------------------------------------------------------
===========================================================================
CompItem object
---------------------------------------------------------------------------
activeCamera : Layer : readOnly
bgColor : Array of float : read/write
comment : string : read/write
displayStartTime : float : read/write
draft3d : boolean : read/write
duplicate() returns CompItem
duration : float : read/write
footageMissing : boolean : readOnly
frameBlending : boolean : read/write
frameDuration : float : read/write
frameRate : float : read/write
hasAudio : boolean : readOnly
hasVideo : boolean : readOnly
height : integer : read/write
hideShyLayers : boolean : read/write
id : integer : readOnly
layer(integer layerIndex) returns Layer
layer(string layerName) returns Layer
layer(Layer otherLayer, integer relativeIndex) returns Layer
layers : LayerCollection: readOnly
motionBlur : boolean : read/write
name : string : read/write
numLayers : integer : readOnly
parentFolder : FolderItem : readOnly
pixelAspect : float : read/write
preserveNestedFrameRate : boolean : read/write
preserveNestedResolution : boolean : read/write
proxySource : FootageSource : readOnly
remove() no return
resolutionFactor : Array of integer : read/write
selected : boolean : read/write
selectedLayers : Array of Layer : readOnly
selectedProperties : Array of PropertyBase: readOnly
setProxy(File proxyFile) no return
setProxyToNone() no return
setProxyWithPlaceholder(string name,
integer width,
integer height,
float frameRate,
float duration) no return
setProxyWithSequence(File proxyFile,
Page 259
boolean forceAlphabetical) no return
setProxyWithSolid(ArrayOfFloat color,
string name,
integer width,
integer height,
float pixelAspecRatio) no return
shutterAngle : integer : read/write
shutterPhase : integer : read/write
time : float : read/write
typeName : string : readOnly
useProxy : boolean : read/write
usedIn : Array of CompItem : readOnly
width : integer : read/write
workAreaDuration : float : readOnly
workAreaStart : float : readOnly
---------------------------------------------------------------------------
===========================================================================
FieldSeparationType enum
---------------------------------------------------------------------------
FieldSeparationType.LOWER_FIELD_FIRST
FieldSeparationType.OFF
FieldSeparationType.UPPER_FIELD_FIRST
---------------------------------------------------------------------------
===========================================================================
FileSource object
---------------------------------------------------------------------------
alphaMode : AlphaMode : read/write
conformFrameRate : float : read/write
displayFrameRate : float : readOnly
fieldSeparationType : FieldSeparationType : readOnly
file : File : readOnly
guessAlphaMode() no return
guessPulldown(PulldownMethod pulldownMethod) no return
hasAlpha : boolean : readOnly
highQualityFieldSeparation : boolean : read/write
invertAlpha : boolean : read/write
isStill : boolean : readOnly
loop : integer : read/write
nativeFrameRate : float : readOnly
premulColor : Array of float : read/write
reload() no return
removePulldown : PulldownPhase : readOnly
---------------------------------------------------------------------------
===========================================================================
FolderItem object
---------------------------------------------------------------------------
comment : string : read/write
id : integer : readOnly
Page 260
item(integer itemIndex) returns Item
items : ItemCollection : readOnly
name : string : read/write
numItems : integer : readOnly
parentFolder : FolderItem : readOnly
remove() no return
selected : boolean : read/write
typeName : string : readOnly
---------------------------------------------------------------------------
===========================================================================
FootageItem object
---------------------------------------------------------------------------
comment : string : read/write
duration : float : readOnly
file : File : readOnly
footageMissing : boolean : readOnly
frameDuration : float : readOnly
frameRate : float : readOnly
hasAudio : boolean : readOnly
hasVideo : boolean : readOnly
height : integer : read/write
id : integer : readOnly
mainSource : FootageSource : readOnly
name : string : read/write
parentFolder : FolderItem : readOnly
pixelAspect : float : read/write
proxySource : FootageSource : readOnly
remove() no return
replace(File proxyFile) no return
replaceWithPlaceholder(string name,
integer width,
integer height,
float frameRate,
float duration) no return
replaceWithSequence(File proxyFile,
boolean forceAlphabetical) no return
replaceWithSolid(ArrayOfFloat color,
string name,
integer width,
integer height,
float pixelAspecRatio) no return
selected : boolean : read/write
setProxy(File proxyFile) no return
setProxyToNone() no return
setProxyWithPlaceholder(string name,
integer width,
integer height,
float frameRate,
float duration) no return
setProxyWithSequence(File proxyFile,
boolean forceAlphabetical) no return
setProxyWithSolid(ArrayOfFloat color,
Page 261
string name,
integer width,
integer height,
float pixelAspecRatio) no return
time : float : readOnly
typeName : string : readOnly
useProxy : boolean : read/write
usedIn : Array of CompItem : readOnly
width : integer : read/write
---------------------------------------------------------------------------
===========================================================================
ImportAsType enum
---------------------------------------------------------------------------
ImportAsType.COMP
ImportAsType.COMP_CROPPED_LAYERS
ImportAsType.FOOTAGE
ImportAsType.PROJECT
---------------------------------------------------------------------------
===========================================================================
ImportOptions object
---------------------------------------------------------------------------
new ImportOptions(File fileToImport) returns ImportOptions
canImportAs(ImportAsType asType) returns boolean
file : File : read/write
forceAlphabetical : boolean : read/write
importAs : ImportAsType : read/write
sequence : boolean : read/write
---------------------------------------------------------------------------
===========================================================================
ItemCollection object
---------------------------------------------------------------------------
addComp(string name,
integer width,
integer height,
float pixelAspectRatio,
float duration,
float frameRate) returns CompItem
---------------------------------------------------------------------------
===========================================================================
KeyframeEase object
---------------------------------------------------------------------------
new KeyframeEase(float speed,
float influence) returns KeyframeEase
influence : float : read/write
speed : float : read/write
---------------------------------------------------------------------------
Page 262
===========================================================================
KeyframeInterpolationType enum
---------------------------------------------------------------------------
KeyframeInterpolationType.BEZIER
KeyframeInterpolationType.HOLD
KeyframeInterpolationType.LINEAR
---------------------------------------------------------------------------
===========================================================================
Language enum
---------------------------------------------------------------------------
Language.ENGLISH
Language.FRENCH
Language.GERMAN
Language.JAPANESE
---------------------------------------------------------------------------
===========================================================================
Layer object
---------------------------------------------------------------------------
(integer propertyIndex) returns PropertyBase
(string propertyName) returns PropertyBase
active : boolean : readOnly
activeAtTime(float atTime) returns boolean
addProperty(string propertyName) returns PropertyBase
canAddProperty(string propertyName) returns boolean
canSetEnabled : boolean : readOnly
copyToComp(CompItem intoComp) no return
duplicate() returns Layer
elided : boolean : readOnly
enabled : boolean : read/write
hasVideo : boolean : readOnly
inPoint : float : read/write
index : integer : readOnly
isEffect : boolean : readOnly
isMask : boolean : readOnly
isModified : boolean : readOnly
locked : boolean : read/write
matchName : string : readOnly
moveAfter(Layer otherLayer) no return
moveBefore(Layer otherLayer) no return
moveTo(integer index) no return
moveToBeginning() no return
moveToEnd() no return
name : string : read/write
nullLayer : boolean : readOnly
numProperties : integer : readOnly
outPoint : float : read/write
parent : Layer : read/write
parentProperty : PropertyGroup : readOnly
Page 263
property(integer propertyIndex) returns PropertyBase
property(string propertyName) returns PropertyBase
propertyDepth : integer : readOnly
propertyGroup([integer countUp]) returns PropertyGroup
propertyType : PropertyType : readOnly
remove() no return
selected : boolean : read/write
selectedProperties : Array of PropertyBase: readOnly
setParentWithJump(Layer newParent) no return
shy : boolean : read/write
solo : boolean : read/write
startTime : float : read/write
stretch : float : read/write
time : float : readOnly
---------------------------------------------------------------------------
===========================================================================
LayerCollection object
---------------------------------------------------------------------------
add(AVItem theItem,
[float duration]) returns AVLayer
addCamera(string name,
ArrayOfFloat centerPoint) returns Layer
addLight(string name,
ArrayOfFloat centerPoint) returns Layer
addNull([float duration]) returns AVLayer
addSolid(ArrayOfFloat color,
string name,
integer width,
integer height,
float pixelAspectRatio,
[float duration]) returns AVLayer
addText([TextDocument textDoc]) returns AVLayer
addText(string text) returns AVLayer
byName(string name) returns Layer
precompose(ArrayOfInteger layerIndices,
string name,
[boolean moveAllAttributes]) returns CompItem
---------------------------------------------------------------------------
===========================================================================
LayerQuality enum
---------------------------------------------------------------------------
LayerQuality.BEST
LayerQuality.DRAFT
LayerQuality.WIREFRAME
---------------------------------------------------------------------------
===========================================================================
LogType enum
---------------------------------------------------------------------------
Page 264
LogType.ERRORS_AND_PER_FRAME_INFO
LogType.ERRORS_AND_SETTINGS
LogType.ERRORS_ONLY
---------------------------------------------------------------------------
===========================================================================
MarkerValue object
---------------------------------------------------------------------------
new MarkerValue(string comment,
[string chapter],
[string url],
[string frameTarget]) returns MarkerValue
chapter : string : read/write
comment : string : read/write
frameTarget : string : read/write
url : string : read/write
---------------------------------------------------------------------------
===========================================================================
MaskMode enum
---------------------------------------------------------------------------
MaskMode.ADD
MaskMode.DARKEN
MaskMode.DIFFERENCE
MaskMode.INTERSECT
MaskMode.LIGHTEN
MaskMode.NONE
MaskMode.SUBTRACT
---------------------------------------------------------------------------
===========================================================================
MaskMotionBlur enum
---------------------------------------------------------------------------
MaskMotionBlur.OFF
MaskMotionBlur.ON
MaskMotionBlur.SAME_AS_LAYER
---------------------------------------------------------------------------
===========================================================================
MaskPropertyGroup object
---------------------------------------------------------------------------
(integer propertyIndex) returns PropertyBase
(string propertyName) returns PropertyBase
active : boolean : readOnly
addProperty(string propertyName) returns PropertyBase
canAddProperty(string propertyName) returns boolean
canSetEnabled : boolean : readOnly
color : Array of float : read/write
duplicate() returns MaskPropertyGroup
elided : boolean : readOnly
Page 265
enabled : boolean : readOnly
inverted : boolean : read/write
isEffect : boolean : readOnly
isMask : boolean : readOnly
isModified : boolean : readOnly
locked : boolean : read/write
maskMode : MaskMode : read/write
maskMotionBlur : MaskMotionBlur : read/write
matchName : string : readOnly
moveTo(integer index) no return
name : string : read/write
numProperties : integer : readOnly
parentProperty : PropertyGroup : readOnly
property(integer propertyIndex) returns PropertyBase
property(string propertyName) returns PropertyBase
propertyDepth : integer : readOnly
propertyGroup([integer countUp]) returns PropertyGroup
propertyIndex : integer : readOnly
propertyType : PropertyType : readOnly
remove() no return
rotoBezier : boolean : read/write
selected : boolean : read/write
---------------------------------------------------------------------------
===========================================================================
OMCollection object
---------------------------------------------------------------------------
add() returns OutputModule
---------------------------------------------------------------------------
===========================================================================
OutputModule object
---------------------------------------------------------------------------
applyTemplate(string templateName) no return
file : File : read/write
name : string : readOnly
postRenderAction : PostRenderAction : read/write
remove() no return
saveAsTemplate(string templateName) no return
templates : Array of string: readOnly
---------------------------------------------------------------------------
===========================================================================
PlaceholderSource object
---------------------------------------------------------------------------
alphaMode : AlphaMode : read/write
conformFrameRate : float : read/write
displayFrameRate : float : readOnly
fieldSeparationType : FieldSeparationType : read/write
guessAlphaMode() no return
guessPulldown(PulldownMethod pulldownMethod) no return
Page 266
hasAlpha : boolean : readOnly
highQualityFieldSeparation : boolean : read/write
invertAlpha : boolean : read/write
isStill : boolean : readOnly
loop : integer : read/write
nativeFrameRate : float : readOnly
premulColor : Array of float : read/write
removePulldown : PulldownPhase : read/write
---------------------------------------------------------------------------
===========================================================================
PostRenderAction enum
---------------------------------------------------------------------------
PostRenderAction.IMPORT
PostRenderAction.IMPORT_AND_REPLACE_USAGE
PostRenderAction.NONE
PostRenderAction.SET_PROXY
---------------------------------------------------------------------------
===========================================================================
Project object
---------------------------------------------------------------------------
activeItem : Item : readOnly
bitsPerChannel : integer : read/write
close(CloseOptions closeOptions) returns boolean
consolidateFootage() returns integer
file : File : readOnly
importFile(ImportOptions importOptions) returns Item
importFileWithDialog() returns ArrayOfItem
importPlaceholder(string itemName,
integer itemWidth,
integer itemHeight,
float frameRate,
float duration) returns FootageItem
item(integer itemIndex) returns Item
items : ItemCollection : readOnly
numItems : integer : readOnly
reduceProject(ArrayOfItem itemsToPreserve) returns integer
removeUnusedFootage() returns integer
renderQueue : RenderQueue : readOnly
rootFolder : FolderItem : readOnly
save(File toFile) returns boolean
saveWithDialog() returns boolean
selection : Array of Item : readOnly
showWindow(boolean doShow) no return
timecodeBaseType : TimecodeBaseType : read/write
timecodeDisplayType : TimecodeDisplayType : read/write
timecodeFilmType : TimecodeFilmType : read/write
timecodeNTSCDropFrame : boolean : read/write
transparencyGridThumbnails : boolean : read/write
---------------------------------------------------------------------------
Page 267
===========================================================================
Property object
---------------------------------------------------------------------------
active : boolean : readOnly
addKey(float atTime) returns integer
canSetEnabled : boolean : readOnly
canVaryOverTime : boolean : readOnly
duplicate() returns Property
elided : boolean : readOnly
enabled : boolean : readOnly
expression : string : read/write
expressionEnabled : boolean : read/write
expressionError : string : readOnly
hasMax : boolean : readOnly
hasMin : boolean : readOnly
isEffect : boolean : readOnly
isInterpolationTypeValid(
KeyframeInterpolationType type) returns boolean
isMask : boolean : readOnly
isModified : boolean : readOnly
isSpatial : boolean : readOnly
isTimeVarying : boolean : readOnly
keyInInterpolationType(integer keyIndex) returns
KeyframeInterpolationType
keyInSpatialTangent(integer keyIndex) returns ArrayOfFloat
keyInTemporalEase(integer keyIndex) returns
ArrayOfKeyframeEase
keyOutInterpolationType(integer keyIndex) returns
KeyframeInterpolationType
keyOutSpatialTangent(integer keyIndex) returns ArrayOfFloat
keyOutTemporalEase(integer keyIndex) returns
ArrayOfKeyframeEase
keyRoving(integer keyIndex) returns boolean
keySelected(integer keyIndex) returns boolean
keySpatialAutoBezier(integer keyIndex) returns boolean
keySpatialContinuous(integer keyIndex) returns boolean
keyTemporalAutoBezier(integer keyIndex) returns boolean
keyTemporalContinuous(integer keyIndex) returns boolean
keyTime(integer keyIndex) returns float
keyTime(string markerName) returns float
keyValue(integer keyIndex) returns type-stored-in-
property
keyValue(string markerName) returns type-stored-in-
property
matchName : string : readOnly
moveTo(integer index) no return
name : string : readOnly
nearestKeyIndex(float atTime) returns integer
numKeys : integer : readOnly
parentProperty : PropertyGroup : readOnly
propertyDepth : integer : readOnly
propertyGroup([integer countUp]) returns PropertyGroup
propertyType : PropertyType : readOnly
Page 268
propertyValueType : PropertyValueType : readOnly
remove() no return
removeKey(integer keyIndex) no return
selected : boolean : read/write
selectedKeys : Array of integer : readOnly
setInterpolationTypeAtKey(integer keyIndex,
KeyframeInterpolationType inType,
[KeyframeInterpolationType outType]) no return
setRovingAtKey(integer keyIndex,
boolean isRoving) no return
setSelectedAtKey(integer keyIndex,
boolean isSelected) no return
setSpatialAutoBezierAtKey(integer keyIndex,
boolean isAutoBezier) no return
setSpatialContinuousAtKey(integer keyIndex,
boolean isContinuous) no return
setSpatialTangentsAtKey(integer keyIndex,
ArrayOfFloat inTangent,
[ArrayOfFloat outTangent]) no return
setTemporalAutoBezierAtKey(integer keyIndex,
boolean isAutoBezier) no return
setTemporalContinuousAtKey(integer keyIndex,
boolean isContinuous) no return
setTemporalEaseAtKey(integer keyIndex,
ArrayOfKeyframeEase inEase,
[ArrayOfKeyframeEase outEase]) no return
setValue(type-stored-in-property newValue) no return
setValueAtKey(integer keyIndex,
type-stored-in-property newValue) no return
setValueAtTime(float atTime,
type-stored-in-property newValue) no return
setValuesAtTimes(ArrayOfFloat atTimes,
ArrayOf-type-stored-in-property newValues) no return
unitsText : string : readOnly
value : type-stored-in-property: readOnly
valueAtTime(float atTime,
bool preExpression) returns type-stored-in-
property
---------------------------------------------------------------------------
===========================================================================
PropertyGroup object
---------------------------------------------------------------------------
(integer propertyIndex) returns PropertyBase
(string propertyName) returns PropertyBase
active : boolean : readOnly
addProperty(string propertyName) returns PropertyBase
canAddProperty(string propertyName) returns boolean
canSetEnabled : boolean : readOnly
duplicate() returns PropertyGroup
elided : boolean : readOnly
enabled : boolean : readOnly
isEffect : boolean : readOnly
Page 269
isMask : boolean : readOnly
isModified : boolean : readOnly
matchName : string : readOnly
moveTo(integer index) no return
name : string : readOnly
numProperties : integer : readOnly
parentProperty : PropertyGroup : readOnly
property(integer propertyIndex) returns PropertyBase
property(string propertyName) returns PropertyBase
propertyDepth : integer : readOnly
propertyGroup([integer countUp]) returns PropertyGroup
propertyIndex : integer : readOnly
propertyType : PropertyType : readOnly
remove() no return
selected : boolean : readOnly
---------------------------------------------------------------------------
===========================================================================
PropertyType enum
---------------------------------------------------------------------------
PropertyType.INDEXED_GROUP
PropertyType.NAMED_GROUP
PropertyType.PROPERTY
---------------------------------------------------------------------------
===========================================================================
PropertyValueType enum
---------------------------------------------------------------------------
PropertyValueType.COLOR
PropertyValueType.CUSTOM_VALUE
PropertyValueType.LAYER_INDEX
PropertyValueType.MARKER
PropertyValueType.MASK_INDEX
PropertyValueType.NO_VALUE
PropertyValueType.OneD
PropertyValueType.SHAPE
PropertyValueType.TEXT_DOCUMENT
PropertyValueType.ThreeD
PropertyValueType.ThreeD_SPATIAL
PropertyValueType.TwoD
PropertyValueType.TwoD_SPATIAL
---------------------------------------------------------------------------
===========================================================================
PulldownPhase enum
---------------------------------------------------------------------------
PulldownPhase.OFF
PulldownPhase.SSWWW
PulldownPhase.SWWWS
PulldownPhase.SWWWW_24P_ADVANCE
PulldownPhase.WSSWW
Page 270
PulldownPhase.WSWWW_24P_ADVANCE
PulldownPhase.WWSSW
PulldownPhase.WWSWW_24P_ADVANCE
PulldownPhase.WWWSS
PulldownPhase.WWWSW_24P_ADVANCE
PulldownPhase.WWWWS_24P_ADVANCE
---------------------------------------------------------------------------
===========================================================================
PulldownMethod enum
---------------------------------------------------------------------------
PulldownMethod.ADVANCE_24P
PulldownMethod.PULLDOWN_3_2
---------------------------------------------------------------------------
===========================================================================
PurgeTarget enum
---------------------------------------------------------------------------
PurgeTarget.ALL_CACHES
PurgeTarget.IMAGE_CACHES
PurgeTarget.SNAPSHOT_CACHES
PurgeTarget.UNDO_CACHES
---------------------------------------------------------------------------
===========================================================================
RenderQueue object
---------------------------------------------------------------------------
item(integer itemIndex) returns RenderQueueItem
items : RQItemCollection : readOnly
numItems : integer : readOnly
pauseRendering(boolean doPause) no return
render() no return
rendering : boolean : readOnly
showWindow(boolean doShow) no return
stopRendering() no return
---------------------------------------------------------------------------
===========================================================================
RenderQueueItem object
---------------------------------------------------------------------------
applyTemplate(string templateName) no return
comp : CompItem : readOnly
elapsedSeconds : float : readOnly
logType : LogType : read/write
numOutputModules : integer : readOnly
outputModule(integer outputModuleIndex) returns OutputModule
outputModules : OMCollection : readOnly
remove() no return
render : boolean : read/write
saveAsTemplate(string templateName) no return
Page 271
skipFrames : integer : read/write
startTime : float : readOnly
status : RQItemStatus : readOnly
templates : Array of string: readOnly
timeSpanDuration : float : read/write
timeSpanStart : float : read/write
onStatusChanged() no return
---------------------------------------------------------------------------
===========================================================================
RQItemCollection object
---------------------------------------------------------------------------
add(CompItem compToAdd) returns RenderQueueItem
---------------------------------------------------------------------------
===========================================================================
RQItemStatus enum
---------------------------------------------------------------------------
RQItemStatus.DONE
RQItemStatus.ERR_STOPPED
RQItemStatus.NEEDS_OUTPUT
RQItemStatus.QUEUED
RQItemStatus.RENDERING
RQItemStatus.UNQUEUED
RQItemStatus.USER_STOPPED
RQItemStatus.WILL_CONTINUE
---------------------------------------------------------------------------
===========================================================================
Settings object
---------------------------------------------------------------------------
getSetting(string sectionName,
string sectionKey) returns string
haveSetting(string sectionName,
string sectionKey) returns boolean
saveSetting(string sectionName,
string sectionKey,
string newValue) no return
---------------------------------------------------------------------------
===========================================================================
Shape object
---------------------------------------------------------------------------
new Shape() returns Shape
closed : boolean : read/write
inTangents : Array of float[2] : read/write
outTangents : Array of float[2] : read/write
vertices : Array of float[2] : read/write
---------------------------------------------------------------------------
Page 272
===========================================================================
SolidSource object
---------------------------------------------------------------------------
alphaMode : AlphaMode : read/write
color : Array of float : read/write
conformFrameRate : float : readOnly
displayFrameRate : float : readOnly
fieldSeparationType : FieldSeparationType : readOnly
guessAlphaMode() no return
guessPulldown(PulldownMethod pulldownMethod) no return
hasAlpha : boolean : readOnly
highQualityFieldSeparation : boolean : readOnly
invertAlpha : boolean : read/write
isStill : boolean : readOnly
loop : integer : readOnly
nativeFrameRate : float : readOnly
premulColor : Array of float : read/write
removePulldown : PulldownPhase : readOnly
---------------------------------------------------------------------------
===========================================================================
System object
---------------------------------------------------------------------------
machineName : string : readOnly
osName : string : readOnly
osVersion : string : readOnly
userName : string : readOnly
---------------------------------------------------------------------------
===========================================================================
TextDocument object
---------------------------------------------------------------------------
new TextDocument(string text) returns TextDocument
text : string : read/write
---------------------------------------------------------------------------
===========================================================================
TimecodeBaseType enum
---------------------------------------------------------------------------
TimecodeBaseType.FPS100
TimecodeBaseType.FPS24
TimecodeBaseType.FPS25
TimecodeBaseType.FPS30
TimecodeBaseType.FPS48
TimecodeBaseType.FPS50
TimecodeBaseType.FPS60
---------------------------------------------------------------------------
===========================================================================
Page 273
TimecodeDisplayType enum
---------------------------------------------------------------------------
TimecodeDisplayType.FEET_AND_FRAMES
TimecodeDisplayType.FRAMES
TimecodeDisplayType.TIMECODE
---------------------------------------------------------------------------
===========================================================================
TimecodeFilmType enum
---------------------------------------------------------------------------
TimecodeFilmType.MM16
TimecodeFilmType.MM35
---------------------------------------------------------------------------
===========================================================================
TrackMatteType enum
---------------------------------------------------------------------------
TrackMatteType.ALPHA
TrackMatteType.ALPHA_INVERTED
TrackMatteType.LUMA
TrackMatteType.LUMA_INVERTED
TrackMatteType.NO_TRACK_MATTE
---------------------------------------------------------------------------
Page 274