Guide des scripts d’After Effects® d’Adobe® Creative Suite 3
Remarque : toutes les informations contenues dans le présent document sont la propriété d’Adobe Systems Incorporated. Toute
reproduction ou diffusion du présent document (que ce soit au format électronique ou sous une forme imprimée), en tout ou partie, sous
quelque forme ou par quelque moyen que ce soit, électronique, mécanique, photocopie, enregistrement ou autre, sans l’autorisation écrite
préalable d’Adobe Systems Incorporated, est strictement interdite. Le logiciel décrit dans ce document est cédé sous licence et ne peut être
utilisé et/ou copié que conformément aux conditions de cette licence.
Ce document et les informations qu’il contient sont fournis TELS QUELS, peuvent être modifiés sans préavis et ne constituent pas un
engagement de la part d’Adobe Systems Incorporated. Adobe Systems Incorporated ne peut être tenu pour responsable des erreurs ou
des inexactitudes, n’apporte aucune garantie (expresse, implicite ou statutaire) concernant cette publication et rejette expressément toute
garantie de qualité marchande, d’adaptation à un objectif donné et de non-respect des droits de tiers.
Toute référence à des noms de société dans les exemples n’a qu’une valeur explicative et n’a pas pour objet de citer des organisations réelles.
Adobe, le logo Adobe, After Effects, Photoshop et Bridge sont des marques ou des marques déposées d’Adobe Systems Incorporated aux
Etats-Unis et/ou dans d’autres pays.
Apple, Mac, Macintosh et Mac OS sont des marques d’Apple Computer, Inc., déposées aux Etats-Unis et dans d’autres pays. Microsoft et
Windows sont des marques ou des marques déposées de Microsoft Corporation aux Etats-Unis et dans d’autres pays. JavaScript et toutes
les marques contenant Java sont des marques ou des marques déposées de Sun Microsystems, Inc. aux Etats-Unis et dans d’autres pays.
UNIX est une marque déposée de The Open Group.
Toutes les autres marques appartiennent à leurs propriétaires respectifs.
Si ce guide accompagne un logiciel assorti d’un contrat de licence, le guide et le logiciel dont il traite sont cédés sous licence et ne peuvent
être copiés ou utilisés que conformément aux conditions générales de cette licence. Sauf autorisation spécifiée dans la licence, aucune partie
de ce guide ne peut être reproduite, enregistrée ou transmise sous quelque forme que ce soit, par quelque moyen que ce soit, électronique,
mécanique, enregistrement ou autre, sans l’autorisation écrite préalable d’Adobe Systems Incorporated. Nous attirons votre attention sur le
fait que le contenu du présent guide est protégé par les lois sur la propriété intellectuelle et ce, même s’il n’accompagne pas un logiciel
assorti d’un contrat de licence.
Les informations contenues dans ce guide sont données à titre purement indicatif. Elles peuvent être modifiées sans préavis et ne
constituent pas un engagement de la part d’Adobe Systems Incorporated. Adobe Systems Incorporated ne peut être tenu pour responsable
des erreurs ou des inexactitudes apparaissant dans les informations fournies par ce guide.
Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, Etats-Unis.
Présentation
Le Guide des scripts d’After Effects explique comment gérer vos projets After Effects en créant des procédures à
l’aide de scripts. Cet ensemble de fonctions est disponible dans Adobe® After Effects® CS3 Professional.
La cré atio n de scr ipt a u nivea u sys tèm e per met de s impl ifi er v otr e st ruct ure de r end u et d’é vite r le s nom breuse s
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 percevrez rapidement l’étendue des possibilités offertes par la création
de script dans l’application After Effects. Avec un peu de pratique et une bonne connaissance du langage
JavaScript, vous pouvez prendre le contrôle de votre structure graphique.
Si vous êtes novice en matière de création de script
After Effects est un outil visuel comportant une interface graphique utilisateur dont les éléments vous sont
familiers, notamment les menus, les panneaux et les icônes. Cette interface est le moyen le plus accessible
de travailler avec l’application. La création de script est conçue pour les situations dans lesquelles cette
méthodologie implique une répétition fastidieuse ou de lourdes opérations de recherche et de tri qui
pourraient être automatisées. La création de script permet d’automatiser les tâches rébarbatives et répétitives.
Elle est également utile pour tirer parti de la puissance du rendu en réseau dans les cas où le dossier de contrôle
est moins puissant (et moins pratique à configurer). Pour obtenir des exemples d’actions pouvant être
effectuées par les scripts, reportez-vous à la section « Exemples », page 175.
Si vous êtes novice en matière de création de script, consultez le manuel Adobe Introduction to Scripting, qui
présente les concepts de base de la création de script et décrit les différents langages disponibles, y compris
JavaScript. JavaScript et les autres langages de création de script sont orientés objet ; ce manuel expose ainsi
les concepts de base de la programmation orientée objet et des modèles d’objet de document.
Même si vous n’avez aucunement l’intention d’apprendre le langage JavaScript, vous pouvez néanmoins
exploiter la puissance de la création de script par le biais de solutions tierces telles que Rush Network Render
Queue, une interface graphique utilisateur permettant de configurer des rendus distribués depuis tout
ordinateur du réseau sans devoir les configurer sur les machines de manière individuelle.
Les utilisateurs qui créent des scripts peuvent par ailleurs partager leurs scripts avec les autres utilisateurs
pour une mise en commun efficace des ressources. Il est fréquent que les grands studios emploient ce type
d’utilisateurs maîtrisant la création de script. Les utilisateurs plus novices peuvent quant à eux visiter des
forums tels que ceux accessibles à l’adresse suivante :
www.adobeforums.com.
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.
3
PrésentationEdition de scripts
4
Le cœur d’une application scriptable est le modèle d’objet. Lorsque vous utilisez Adobe 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 ter mino log ie de cré atio n de scri pt, c hac un de ces élé men ts es t un obje t. C e gui de d écr it le s obj ets Jav aSc ript
définis pour des projets After Effects.
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é.
Le modèle d’objet d’After Effects est composé d’un projet, 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
d’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.
La création de script dans After Effects repose sur ECMAScript (plus précisément, sur la 3e édition de la
norme ECMA-262). Pour plus d’informations sur cette norme, consultez le site www.ecma-international.org. Pour
exploiter le potentiel de la création de script, vous devez également comprendre la rédaction de script au niveau
système (pour une intégration avec AppleScript ou l’application en ligne de commande Terminal sur Mac OS et les
scripts de ligne de commande sur les systèmes Windows) et posséder une connaissance préalable de JavaScript.
REMARQUE : 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 du terme « propriété » propre à After Effects (une valeur animable
d’un effet, d’un masque ou d’une transformation dans un calque spécifique).
Expressions
Bien que les expressions et l’interface de création de script d’After Effects utilisent toutes les deux le langage
JavaScript et aient accès à chacune des propriétés des calques, il s’agit de deux entités complètement différentes.
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.
Etant donné que les expressions et la création de script utilisent toutes les deux le langage JavaScript, la
connaissance de l’une de ces fonctions facilite la compréhension de l’autre.
Equations
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 le rebond d’une balle 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 permettant d’animer une balle rebondissante et un calque d’ombre au moyen de critères entrés
par l’utilisateur.
Edition de scripts
After Effects inclut un éditeur JavaScript. Pour le démarrer, choisissez Fichier > Scripts > Ouvrir l’éditeur de
script. Cet éditeur et débogueur de script, appelé ExtendScript Toolkit, fournit une interface conviviale vous
permettant de créer et de tester vos propres scripts.
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).
4
PrésentationActivation des fonctionnalités complètes de création de script
5
• Les applications Windows utiles pour l’édition de scripts incluent EM Editor ou le Bloc-notes (assurez-vous
de définir le codage 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 d’ExtendScript
After Effects prend en charge ExtendScript, l’implémentation étendue de JavaScript d’Adobe. ExtendScript est
utilisé par toutes les applications Adobe qui disposent d’une interface de script. Outre l’implémentation du
langage JavaScript conformément aux spécifications ECMA 262 et E4X ECMA 357, ExtendScript offre des
fonctionnalités et utilitaires supplémentaires :
ExtendScript Toolkit : Pour vous aider à développer, déboguer et tester vos scripts, ExtendScript offre un
environnement interactif de développement et de test, ExtendScript Toolkit. Cet environnement définit
également un objet de débogage global, l’objet dollar ($), ainsi qu’un utilitaire de génération de rapports pour
les éléments ExtendScript, l’interface Reflection d’ExtendScript.
Objets File et Folder : Dans la mesure où la syntaxe des chemins varie considérablement d’un système
d’exploitation à l’autre, Adobe ExtendScript définit des objets
indépendant de la plate-forme au système de fichiers sous-jacent.
File et Folder permettant d’offrir un accès
Module d’interface utilisateur ScriptUI : Le module ScriptUI d’ExtendScript permet de créer des éléments
d’interface utilisateur et d’interagir avec ces derniers. ScriptUI offre un modèle d’objet pour les fenêtres et les
éléments de contrôle d’interface utilisateur que vous pouvez utiliser pour créer une interface utilisateur pour
vos scripts.
Outils et utilitaires : ExtendScript comporte également des outils et des fonctionnalités tels qu’un utilitaire
de localisation qui permet de spécifier des chaînes d’interface utilisateur en plusieurs langues, ainsi que des
fonctions globales d’affichage de messages brefs dans des boîtes de dialogue (
Communication interapplication : ExtendScript met en place un environnement commun de création de script
alert, confirm et prompt).
pour l’ensemble des applications Adobe et permet les communications interapplication par le biais des scripts.
Communication externe : ExtendScript offre un objet Socket qui vous permet de communiquer avec des
systèmes distants à partir de vos scripts After Effects.
Ces fonctionnalités, ainsi que plusieurs autres, sont décrites en détail dans le manuel JavaScript Tools Guide,
fourni avec After Effects et disponible à partir du Pôle de développement Adobe (http://www.adobe.fr/devnet/
Les fichiers de script ExtendScript portent l’extension
.jsx, une variation de l’extension .js standard qui
caractérise normalement les fichiers JavaScript. Les scripts After Effects doivent être dotés de l’extension de
.jsx pour pouvoir être correctement reconnus par l’application. Tout fichier texte au format UTF-8 et
fichier
portant l’extension
.jsx est admis en tant que fichier ExtendScript.
Vous pouvez utiliser ExtendScript Toolkit pour exporter une version binaire d’un fichier ExtendScript portant
l’extension
.jsxbin. Ce fichier binaire ne sera pas forcément utilisable avec toutes les fonctionnalités
d’intégration de script proposées par After Effects.
).
Activation des fonctionnalités complètes de création de script
Pour des raisons de sécurité, les fonctionnalités de création de script opérant en dehors de l’application
After Effects (telles que l’ajout et la suppression de fichiers et de dossiers sur des volumes, ou l’accès au réseau)
sont désactivées par défaut.
5
PrésentationAccès aux scripts et écriture des scripts
6
Pour activer ces fonctionnalités, choisissez Préférences > Général, puis sélectionnez « Autoriser les scripts
à écrire des fichiers et à accéder au réseau ». Vous pouvez alors effectuer les opérations suivantes :
• écrire dans des fichiers ;
• créer des dossiers et définir le dossier actif ;
• créer une connexion par socket (pour plus d’informations sur cet utilitaire JavaScript, consultez le manuel
JavaScript Tools Guide).
Adobe met à votre disposition un débogueur JavaScript complet, appelé ExtendScript Toolkit. Ce dernier est
désactivé par défaut de façon à ce que les utilisateurs non expérimentés ne le rencontrent pas. Lors de l’édition
ou de l’écriture de scripts, Toolkit permet de diagnostiquer les problèmes de script plus rapidement. Pour
activer Toolkit sur la machine locale en cas d’erreur de script, choisissez Préférences > Général, puis cochez
la case Activer le débogage JavaScript. Pour obtenir des informations détaillées sur ExtendScript Toolkit,
consultez le manuel JavaScript Tools Guide.
Toolkit ne fonctionne que lors de l’exécution d’un script, pas avec les expressions, même si les expressions
utilisent également JavaScript.
Accès aux scripts et écriture des scripts
Pour créer et modifier des scripts pour After Effects, vous pouvez utiliser ExtendScript Toolkit ou une
application externe d’édition de texte créant des fichiers avec l’encodage de texte Unicode UTF-8. Evitez
les applications telles que Microsoft Word qui ajoutent par défaut des informations d’en-tête aux fichiers ;
ces informations créent des erreurs de ligne 0 dans les scripts, ce qui empêche leur exécution.
Un script peut résider à tout endroit, mais pour apparaître dans le menu Scripts, il doit être sauvegardé
dans le dossier Scripts, lui-même situé dans le dossier de l’application After Effects.
L’application n’intègre pas de méthode permettant l’enregistrement dans un script d’une série d’actions
réalisées dans After Effects, comme cela est possible avec les scripts Adobe Photoshop®. Les scripts sont créés
en dehors d’After Effects, puis exécutés à l’intérieur ou à l’extérieur de ce programme au moyen d’une ligne
de commande, d’ExtendScript Toolkit ou d’un logiciel de gestion de rendu tiers.
Menu et dossier Scripts
Les scripts After Effects résident dans le dossier Scripts, situé dans le même dossier que votre fichier
d’application After Effects. Bien qu’un fichier de script puisse résider à un autre endroit, seuls les scripts
contenus dans ce dossier Scripts lors du démarrage de l’application figurent automatiquement dans le
menu Scripts.
Pour exécuter un script n’apparaissant pas dans le menu Scripts, sélectionnez Fichier > Scripts > Exécuter
le fichier de script, puis choisissez le script dans la boîte de dialogue Ouvrir. Une autre solution consiste à
envoyer un script à After Effects à partir d’ExtendScript Toolkit, d’une ligne de commande (sous Windows)
ou d’AppleScript (sous Mac OS).
Pour apparaître dans la boîte de dialogue Ouvrir, votre script doit être doté de l’extension de fichier
.jsx.
Dossiers Shutdown (arrêt) et Startup (démarrage)
Le dossier Scripts contient deux sous-dossiers appelés Startup et Shutdown. After Effects exécute
automatiquement, dans l’ordre alphabétique, les scripts contenus dans ces dossiers lors du démarrage
et de la fermeture de l’application.
Vous pouvez placer dans le dossier Startup les scripts que vous souhaitez exécuter au démarrage de
l’application. Une fois l’application initialisée, ces scripts seront exécutés et tous les modules seront chargés.
6
PrésentationAccès aux scripts et écriture des scripts
7
La création de script partageant un environnement global, tout script exécuté au démarrage peut définir
des variables et des fonctions disponibles pour tous les scripts. Dans tous les cas de figure, les variables et les
fonctions, une fois définies en exécutant un script les contenant, sont conservées dans les scripts suivants au
cours de la même session After Effects. Une fois l’application fermée, toutes ces variables et fonctions définies
au niveau global sont supprimées. Il est essentiel de nommer les variables de façon unique afin de ne pas
remplacer par erreur une variable globale, censée être préservée pendant toute une session.
Des attributs peuvent également être ajoutés aux objets existants tels que l’objet Application (voir la section
« Objet Application », page 19) pour étendre l’application à d’autres scripts.
Les scripts contenus dans le dossier Shutdown sont exécutés au moment de la fermeture de l’application.
Ces exécutions sont réalisées une fois le projet fermé, mais avant la fermeture de toute autre application.
Menu Fenêtre et dossier ScriptUI Panels (panneaux ScriptUI)
Dans le dossier Scripts, vous pouvez créer un autre dossier nommé ScriptUI Panels. Utilisez ce dossier pour
les scripts dont l’interface utilisateur apparaît dans un panneau natif (et non dans une palette flottante, une
boîte de dialogue ou une fenêtre). L’avantage d’un panneau réside dans sa capacité à être ancré dans d’autres
panneaux, comme les panneaux Projet, Composition et Navigation, ce qui lui permet de paraître ainsi mieux
intégré à l’application. Tout comme les panneaux natifs, les scripts du dossier ScriptUI Panels sont accessibles
à partir du menu Fenêtre.
Au lieu de créer un objet Window et d’y intégrer des commandes, les scripts du dossier ScriptUI Panels
utilisent l’objet « this » représentant le panneau. Par exemple, le code suivant ajoute un bouton à un panneau :
Si votre script crée son interface utilisateur dans une fonction, vous ne pouvez pas utiliser l’objet « this »
pu isq u’il s e rap por te à l a fo ncti on e lle- mêm e et n on a u pa nne au. D ans ce c as, vou s de vez util ise r l’ obj et « th is »
en tant qu’argument de votre fonction. Par exemple :
Vous ne pouvez pas utiliser la commande de menu Fichier > Scripts > Exécuter le fichier de script pour
exécuter un script renvoyant à un objet « this ». Pour permettre à votre script de fonctionner avec un objet
Window (accessibl e à pa rtir du menu Fichier > Scripts) ou ave c un p anneau nat if (accessible à partir du menu
Fenêtre), vérifiez que l’objet « this » est bien un objet Panel. Par exemple :
function createUI(thisObj) {
var myPanel = (thisObj instanceof Panel) ? thisObj : new Window("palette", "My Tools",
PrésentationEnvoi d’un script à After Effects à partir du système
8
Envoi d’un script à After Effects à partir du système
Si vous savez comment exécuter un script à partir de la ligne de commande sous Windows ou avec AppleScript,
vous pouvez envoyer un script directement à l’application After Effects ouverte pour que celle-ci l’exécute
automatiquement.
Inclusion de la création de script After Effects dans une ligne de commande (Windows)
Voici plusieurs exemples de commandes pour la ligne de commande Windows qui envoient un script
After Effects à l’application sans passer par l’interface utilisateur After Effects.
Dans le premier exemple, vous devez copier et coller votre script After Effects directement dans la ligne de
commande puis l’exécuter. Le texte du script s’affiche entre guillemets après la commande
afterfx.exe -s "alert("You just sent an alert to After Effects")"
Une autre solution consiste à spécifier l’emplacement du fichier JSX à exécuter. Par exemple :
afterfx.exe -r "c:\myDocuments\Scripts\Script Name with Spaces.jsx"
afterfx.exe -s :
Inclusion de la création de script After Effects dans un AppleScript (Mac OS)
Voici trois exemples de scripts AppleScript envoyant un fichier JSX existant contenant un script After Effects
à l’application sans utiliser l’interface utilisateur After Effects pour exécuter le script.
Dans le premier exemple, vous devez copier votre script After Effects directement dans l’éditeur de script puis
l’exécuter. Le texte du script s’affiche entre guillemets après la commande DoScript ; par conséquent, tout
guillemet contenu dans cette chaîne doit être précédé d’une barre oblique inversée servant de caractère
d’échappement, tel qu’indiqué ci-dessous :
tell application "Adobe After Effects CS3"
DoScript "alert(\"You just sent an alert to After Effects\")"
end tell
Une autre solution consiste à afficher une boîte de dialogue demandant l’emplacement du fichier JSX à
exécuter, tel qu’indiqué ci-dessous :
set theFile to choose file
tell application "Adobe After Effects CS3"
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 spécifier
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, tapez ce qui s’en approche le plus à la place de « TextEdit », et AppleScript vous
invitera à la localiser.
8
PrésentationEssais et dépannage
9
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.
*)
tell application "TextEdit"
set the_script to selection as text
end tell
tell application "Adobe After Effects CS3"
activate
DoScript the_script
end tell
Pour plus d’informations sur l’utilisation d’AppleScript, reportez-vous au manuel AppleScript: the Definitive Guide de Matt Neuberg (éditions O’Reilly & Associates) ou AppleScript 1-2-3 de Sal Soghoian (éditions
Peachpit Press).
Essais et dépannage
Tout script After Effects contenant une erreur empêchant son exécution complète génère un message d’erreur
dans 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 de détails sur l’activation et l’utilisation
du débogueur, consultez la section relative à ExtendScript Toolkit du manuel JavaScript Tools Guide.
Autres ressources d’apprentissage de la création de script
Il existe de nombreuses ressources permettant d’approfondir ses connaissances de la création de script selon
la norme ECMA.
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.
Les ouvrages traitant de JavaScript 1.2 sont également utiles à la compréhension du fonctionnement de la création
de script dans After Effects. L’ouvrage JavaScript, The Definitive Guide de David Flanagan (éditions O’Reilly)
constitue, en quelque sorte, une bible pour les utilisateurs de JavaScript. Une autre source tout à fait
recommandable est l’ouvrage JavaScr ipt: A Beginner’s Guide de John Pollock (éditions Osborne). Ces deux ouvrages
contiennent des informations concernant en particulier les extensions de JavaScript pour les navigateurs Internet,
tout en offrant également des explications détaillées des principes de base de la création de script.
Il existe également des ouvrages sur l’utilisation d’AppleScript et la création de scripts de ligne de commande
Windows, ces deux solutions pouvant être utilisées pour envoyer des scripts à After Effects.
9
PrésentationAutres ressources d’apprentissage de la création de script
10
Variables JavaScript
La création de script partageant un environnement global, tout script exécuté au démarrage peut définir
des variables et des fonctions disponibles pour tous les scripts. Dans tous les cas de figure, les variables et les
fonctions, une fois définies en exécutant un script les contenant, sont conservées dans les scripts suivants au
cours de la même session After Effects. Une fois l’application fermée, toutes ces variables et fonctions définies
au niveau global sont supprimées. Il est essentiel de nommer les variables de façon unique de façon à ne pas
remplacer par erreur une variable globale, censée être préservée pendant toute une session.
Mots-clés et syntaxe d’instructions JavaScript
Bien qu’il ne soit pas possible de fournir une ressource exhaustive décrivant l’utilisation de JavaScript, les
tableaux ci-après présentent les mots-clés, les instructions, les opérateurs, la priorité et l’associativité.
Le tableau ci-dessous énumère et décrit tous les mots-clés et instructions reconnus par le moteur de création
de script After Effects.
Tableau 1Mots-clés et syntaxe d’instructions
Mot-clé/InstructionDescription
break
continue
case
default
do...while
false
for
for...in
function
if/if...else
new
null
return
switch
this
JavaScript standard ; quitte la boucle en cours d’exécution.
JavaScript standard ; arrête l’exécution de l’itération de la boucle en cours.
Libellé utilisé dans une instruction switch.
Libellé utilisé dans une instruction switch lorsqu’un libellé case est introuvable.
Construction JavaScript standard. Similaire à la boucle while, excepté que l’évaluation de la
condition de boucle est effectuée à la fin de la boucle.
Littéral correspondant au booléen false.
Construction de boucle JavaScript standard.
Construction JavaScript standard. Fournit un moyen aisé d’appliquer une boucle à travers les
propriétés d’un objet.
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.
Moyen JavaScript standard de renvoyer une valeur à partir d’une fonction ou de quitter une fonction.
Moyen JavaScript standard d’évaluer une express ion et de tenter de faire correspondre la valeur de
l’expression à un libellé case.
Méthode JavaScript standard utilisée pour indiquer l’objet en cours.
true
undefined
var
while
with
Littéral correspondant au booléen true.
Indique que la variable, l’élément de tableau ou la propriété d’objet n’a pas encore reçu de valeur.
Syntaxe JavaScript standard utilisée pour déclarer une variable locale.
Construction JavaScript standard. Similaire à la boucle do...while, excepté que l’évaluation de la
condition de boucle est effectuée au début de la boucle.
Construction JavaScript standard utilisée pour spécifier un objet à utiliser dans les instruc tions dont
elle est suivie.
10
PrésentationAutres ressources d’apprentissage de la création de script
11
Opérateurs JavaScript
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 2Description des opérateurs
OpérateursDescription
new
delete
typeof
void
.
[]
()
++
––
–
~
!
*
/
%
+
<<
Alloue un objet.
Annule l’allocation d’un objet.
Renvoie le type de données.
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).
11
PrésentationAutres ressources d’apprentissage de la création de script
12
OpérateursDescription
=
+=
–=
*=
/=
%=
<<=
>>=
>>>=
&=
^=
|=
,
Attribution.
Attribution avec l’opération d’addition.
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 de division 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 de décalage vers la droite non signée 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.
Tableau 3Priorité des opérateurs
Opérateurs (de la priorité la plus élevée à la plus faible)Associativité
peuvent être l’un des trois types d’élément suivants :
peuvent être l’un des trois types d’élément suivants :
Ce chapitre énumère et décrit les classes, objets, méthodes, attributs et fonctions globales définis par After Effects.
Le moteur de création de script After Effects prend en charge ExtendScript, la version étendue de JavaScript
d’Adobe, qui implémente 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
suivante : www.ecma-international.org/publications/standards/Ecma-262.htm
des mots-clés et instructions les plus courants disponibles en ECMA-262, reportez-vous à la section « Motsclés et syntaxe d’instructions JavaScript », page 10.
Modèle d’objet d’After Effects
Au fil de votre lecture de cette section de référence, qui reprend les objets par ordre alphabétique, vous pouvez
vous reporter aux schémas suivants pour avoir une vue générale de la position des différents objets dans la
hiérarchie et de leur correspondance dans l’interface utilisateur.
ECMA-262.pdf, disponible à l’adresse
. Pour avoir une vue générale
Schéma hiérarchique des principaux objets de création de scripts After Effects
Notez que les objets File, Folder et Socket sont définis par ExtendScript et présentés dans le manuel JavaScript
Tools Gu id e . ExtendScript définit également le module ScriptUI, jeu d’objets de contrôle d’interface utilisateur
et de fenêtres, auquel peuvent accéder les scripts After Effects. Ces objets de contrôle sont également présentés
dans le manuel JavaScript Tools Guide.
La hiérarchie d’objets pour la création de script correspond à la hiérarchie de l’interface utilisateur.
L’application contient un panneau Projet qui affiche un projet. Le projet contient des compositions, contenant
elles-mêmes des calques. La source d’un calque peut être un fichier de métrage, un pseudo-élément ou un solide,
et figure également dans le panneau Projet. Chaque calque contient des paramètres appelés propriétés, qui
peuvent contenir des repères et des images clés. La file d’attente de rendu contient des éléments de file d’attente de rendu, ainsi que des paramètres de rendu et des modules de sortie. Dans le contexte de la création de script,
toutes ces entités sont représentées par des objets.
REMARQUE : dans ce guide, pour éviter toute ambiguïté, le terme « attribut » fait référence aux propriétés des
objets JavaScript et le terme « propriété » ou « propriété AE » fait référence aux propriétés de calque After Effects.
Liste des objets
Le tableau suivant répertorie tous les objets par ordre alphabétique et renvoie aux pages correspondantes.
ObjetDescription
« Fonctions globales », page 16Fonctions disponibles au niveau global. Elles vous permettent d’afficher du texte destiné
« Objet Application », page 19Objet global unique, disponible via son nom (
« Objet AVItem », page 32Représente les fichiers audiovisuels importés dans After Effects.
« Objet AVLayer », page 39Représente les calques qui contiennent des objets AVItem (calques de composition,
« Objet CameraLayer », page 50Représente un calque de caméra dans une composition.
au débogage de script et aident à convertir des secondes en images.
app). Il donne accès aux paramètres
des objets et des applications au sein de l’application After Effects.
de métrage, de solide, de texte et de son).
« Objet Collection », page 51Associe un jeu d’objets ou de valeurs en tant que groupe logique, et donne accès à ces
« Objet CompItem », page 52Représente une composition, vous permet de la manipuler et d’obtenir des informations
« Objet FileSource », page 60Décrit le métrage issu d’un fichier.
« Objet FolderItem », page 62Représente un dossier du panneau Projet.
« Objet FootageItem », page 64Représente un élément de métrage importé dans un projet, qui apparaît dans le
« Objet FootageSource », page 67Décrit la source du fichier d’un métrage.
« Objet ImportOptions », page 73Incorpore des options pour l’importation de fichiers dans After Effects.
« Objet Item », page 76Représente un élément dans un projet qui apparaît dans le panneau Projet.
« Objet ItemCollection », page 79Rassemble des éléments dans un projet.
« Objet KeyframeEase », page 81Incorpore des valeurs de lissage d’images clés dans une propriété After Effects.
« Objet Layer », page 83Classe de base pour les classes de calques.
« Objet LayerCollection », page 92Rassemble des calques dans un projet.
« Objet LightLayer », page 97Représente un calque de lumière dans une composition.
« Objet MarkerValue », page 98Incorpore des valeurs de repère dans une propriété After Effects.
« Objet MaskPropertyGroup », page 102Incorpore des attributs de masque dans un calque.
« Objet OMCollection », page 105Rassemble des modules de sortie dans une file d’attente de rendu.
« Objet OutputModule », page 106Représente un module de sortie pour une file d’attente de rendu.
sur elle.
panneau Projet.
« Objet PlaceholderSource », page 109Décrit un pseudo-élément pour métrage.
« Objet Project », page 110Représente un projet After Effects.
« Objet Property », page 119Représente une propriété After Effects.
« Objet PropertyBase », page 141Classe de base pour des classes de propriétés et de groupes de propriétés After Effects.
« Objet PropertyGroup », page 148Représente un groupe de propriétés After Effects.
« Objet RenderQueue », page 153Représente la file d’attente de rendu After Effects.
« Objet RenderQueueItem », page 156Représente un élément de rendu dans une file d’attente de rendu.
« Objet RenderQueueItem », page 156Rassemble des éléments de file d’attente de rendu dans une file d’attente de rendu.
« Objet RQItemCollection », page 163Donne accès aux paramètres et préférences de l’application.
« Objet Shape », page 166Incorpore la forme du contour d’un masque.
« Objet ShapeLayer », page 169Représente un calque de forme dans une composition.
« Objet SolidSource », page 170Décrit une couleur unie correspondant à la source d’un métrage.
« Objet System », page 171Donne accès au système d’exploitation à partir de l’application.
« Objet TextDocument », page 173Incorpore le texte dans un calque de texte.
« Objet TextLayer », page 174Représente un calque de texte dans une composition.
15
Référence JavaScriptFonctions globales
16
Fonctions globales
Ces fonctions, disponibles au niveau global, sont spécifiques à After Effects. Tout objet ou fonction JavaScript peut
appeler ces fonctions. Elles vous permettent d’afficher du texte JavaScript dans une zone de petite taille (3 lignes) du
panneau Info et de convertir des valeurs temporelles numériques en valeurs de type chaîne, et inversement.
Fonction globaleDescription
clearOutput()
currentFormatToTime()
timeToCurrentFormat()
write()
writeLn()
Des fonctions globales supplémentaires pour les E/S utilisateur standard (
Efface le texte du panneau Info.
Convertit une valeur temporelle de type chaîne en valeur temporelle numérique.
Convertit une valeur temporelle numérique en valeur temporelle de type chaîne.
Ecrit du texte dans le panneau Info, sans ajout de saut de ligne.
Ecrit du texte dans le panneau Info, en ajoutant un saut de ligne à la fin.
alert, confirm et prompt) et
des fonctions statiques pour les E/S de fichier sont définies par ExtendScript. Pour plus d’informations,
reportez-vous au Guide de référence JavaScript d’Adobe Bridge®.
REMARQUE : les fonctions globales d’After Effects pour les boîtes de dialogue standard et les E/S de fichier sont
toujours prises en charge dans cette version, mais sont désormais obsolètes et ne seront pas prises en charge dans
les prochaines versions. Pour plus d’informations, reportez-vous à la documentation relative à After Effects 6.5.
Convertit une chaîne formatée d’instant d’image en nombre de secondes, selon une cadence d’image spécifiée.
Par exemple, si l’instant de l’image formatée est 0:00:12 (le format de chaîne exact est déterminé par un
paramètre de projet) et que la cadence d’image est de 24 i/s, l’instant sera 0,5 seconde (12/24). Si la cadence
d’image est de 30 i/s, l’instant sera 0,4 seconde (12/30).
Si l’instant est une durée, le décompte des images commence à partir de zéro (0). Sinon, les images sont décomptées
à partir de la première image du projet (voir la section « Attribut Project displayStartFrame », page 113).
16
Référence JavaScriptFonctions globales
17
Paramètres
formattedTime
fps
isDuration
Renvoi
Valeur d’instant de l’image, chaîne spécifiant un nombre d’images selon le format d’affichage de l’instant
actuel du projet.
Nombre d’images par seconde, valeur à virgule flottante.
Facultatif. Lorsque ce paramètre est défini sur true, l’instant est une durée (mesurée à partir de l’image 0).
Lorsqu’il est défini sur false (valeur par défaut), l’instant est calculé à partir de la première image du projet.
Valeur à virgule flottante, nombre de secondes.
Fonction globale timeToCurrentFormat()
timeToCurrentFormat(time, fps, isDuration)
Description
Convertit une valeur temporelle numérique (un nombre de secondes) en valeur temporelle d’image, c’est-àdire en une chaîne formatée qui indique l’image correspondant à cet instant, selon la cadence spécifiée. Par
exemple, si l’instant est 0,5 seconde et que la cadence d’image est de 24 i/s, l’image est 0:00:12 (lorsque le projet
est défini sur Display Timecode). Si la cadence est de 30 i/s, l’image est 00:00:15. Le format de la chaîne de code
temporel est défini par un paramètre de projet.
Si l’instant est une durée, le décompte des images commence à partir de zéro (0). Sinon, les images sont décomptées
à partir de la première image du projet (voir la section « Attribut Project displayStartFrame », page 113).
Paramètres
time
fps
isDuration
Renvoi
Nombre de secondes, valeur à virgule flottante.
Nombre d’images par seconde, valeur à virgule flottante.
Facultatif. Lorsque ce paramètre est défini sur true, l’instant est une durée (mesurée à partir de l’image 0).
Lorsqu’il est défini sur false (valeur par défaut), l’instant est calculé à partir de la première image du projet.
Chaîne dans le format d’affichage de l’instant actuel du projet.
Fonction globale write()
write(text)
Description
Ecrit la sortie dans le panneau Info, sans ajout de saut de ligne.
Paramètres
text
Renvoi
Aucun.
Chaîne à afficher. Elle est tronquée lorsqu’elle est trop longue pour être affichée dans le panneau Info.
17
Référence JavaScriptFonctions globales
18
Exemple
write("This text appears in Info panel ");
write("with more on same line.");
Fonction globale writeLn()
writeLn(text)
Description
Ecrit la sortie dans le panneau Info, en ajoutant un saut de ligne à la fin.
Paramètres
text
Renvoi
Chaîne à afficher.
Aucun.
Exemple
writeln("This text appears on first line");
writeln("This text appears on second line");
18
Référence JavaScriptObjet Application
19
Objet Application
app
Description
Donne accès aux paramètres des objets et des applications au sein de l’application After Effects. L’objet global
unique est toujours disponible via son nom,
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 un projet, ouvrir un projet existant, 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.
« Attribut Application onError », page 26 Fonction de rappel appelée lorsqu’une erreur survient
« Attribut Application exitCode »,
page 24
Projet After Effects en cours.
Langue dans laquelle l’application est exécutée.
Nom de cette compilation de l’application.
Numéro de cette compilation de l’application.
Lorsque cet attribut est défini sur true, l’application
locale est exécutée en mode Dossier de contrôle.
Lorsque cet attribut est défini sur true, l’application
After Effects locale est exécutée en tant que moteur
de rendu.
Paramètres de l’application pouvant être définis par le
biais de la création de script.
dans l’application.
Code numérique d’état utilisé lors de l’exécution d’un
script en externe (c’est-à-dire à partir d’une ligne de
commande ou d’AppleScript). Zéro (0) indique qu’aucune
erreur n’est survenue. Un nombre positif indique qu’une
erreur est survenue lors de l’exécution du script.
Lorsque cet attribut est défini sur true, l’application doit
rester ouverte après l’exécution d’un script à partir de la
ligne de commande sous Windows.
Lorsque cet attribut est défini sur true, le projet est
enregistré au cas où l’application viendrait à se fermer
de façon inattendue.
Mémoire utilisée par cette application.
19
Référence JavaScriptObjet Application
20
Méthodes
MéthodeRéférenceDescription
newProject()
open()
quit()
watchFolder()
pauseWatchFolder()
endWatchFolder()
purge()
beginUndoGroup()
endUndoGroup()
beginSuppressDialogs()
endSuppressDialogs()
setMemoryUsageLimits()
setSavePreferencesOnQuit()
activate()
scheduleTask()
cancelTask()
parseSwatchFile()
« Méthode Application newProject() »,
page 25
« Méthode Application open() », page 26Ouvre un projet ou une boîte de dialogue
Démarre le mode Dossier de contrôle ; ne renvoie
rien tant que ce mode n’est pas désactivé.
Interrompt temporairement le processus de
dossier de contrôle en cours.
Met fin au processus de dossier de contrôle en
cours.
mémoire cache (reproduit les options de la
commande Purger du menu Edition).
Regroupe les actions qui la suivent en une
seule étape pouvant être annulée.
Termine un groupe d’annulation ; nécessaire
seulement lorsqu’un script contient plusieurs
groupes d’annulation.
Commence la suppression des boîtes de
dialogue dans l’interface utilisateur.
Met fin à la suppression de boîtes de dialogue
dans l’interface utilisateur.
Définit les limites d’utilisation de mémoire,
telles que spécifiées dans les préférences
Mémoire et cache.
Indique si les préférences doivent être
enregistrées lors de la fermeture de l’application.
premier plan.
Planifie un script JavaScript pour une exécution
ultérieure.
Annule une tâche planifiée.
Charge un échantillon de couleur à partir d’un
fichier Adobe Swatch Exchange (ASE).
Méthode Application activate()
app.activate()
Description
Ouvre la fenêtre principale de l’application, si elle apparaît sous forme réduite ou d’icône, et l’affiche au
premier plan.
Paramètres
Aucun.
Renvoi
Aucun.
20
Référence JavaScriptObjet Application
21
Méthode Application beginSuppressDialogs()
app.beginSuppressDialogs()
Description
Lance la suppression des boîtes de dialogue d’erreur de script dans l’interface utilisateur. Pour reprendre
l’affichage des boîtes de dialogue d’erreur, utilisez
Application endSuppressDialogs() », page 22.
Paramètres
Aucun.
Renvoi
Aucun.
Méthode Application beginUndoGroup()
app.beginUndoGroup(undoString)
endSuppressDialogs(). Voir la section « Méthode
Description
Marque le début d’un groupe d’annulation qui permet à un script de regrouper de façon logique toutes ses
actions sous la forme d’une seule action pouvant être annulée (via les options de menu Edition > Annuler/
Rétablir). Pour marquer la fin du groupe, utilisez la méthode
endUndoGroup(). (Voir la section « Méthode
Application endUndoGroup() », page 22.)
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 ce cas, les noms des
groupes internes sont ignorés.
Paramètres
undoString
Renvoi
Texte qui apparaîtra pour la commande Annuler dans le menu Edition (c’est-à-dire « Annuler <undoString> »).
Aucun.
Attribut Application buildName
app.buildName
Description
Nom de la compilation d’After Effects en cours d’exécution. Adobe utilise ce nom en interne à des fins d’essais
et de dépannage.
Typ e
Chaîne ; lecture seule.
21
Référence JavaScriptObjet Application
22
Attribut Application buildNumber
app.buildNumber
Description
Numéro de la compilation d’After Effects en cours d’exécution. Adobe utilise ce numéro en interne à des fins
d’essais et de dépannage.
Typ e
Entier ; lecture seule.
Méthode Application cancelTask()
app.cancelTask(taskID)
Description
Supprime la tâche spécifiée de la file d’attente des tâches planifiées pour une exécution ultérieure.
Paramètres
taskID
Renvoi
Entier qui identifie la tâche, telle qu’elle est renvoyée par la méthode app.scheduleTask().
Aucun.
Méthode Application endSuppressDialogs()
app.endSuppressDialogs(alert)
Description
Met fin à la suppression des boîtes de dialogue d’erreur de script dans l’interface utilisateur. Les boîtes de dialogue
d’erreur s’affichent par défaut. Appelez cette méthode uniquement si la méthode
Booléen ; lorsque ce paramètre est défini sur true, les erreurs survenues après l’appel de la méthode
beginSuppressDialogs() s’affichent dans une boîte de dialogue.
Aucun.
Méthode Application endUndoGroup()
app.endUndoGroup()
Description
Marque la fin d’un 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.
22
Référence JavaScriptObjet Application
23
Le fait d’appeler cette méthode sans avoir défini de méthode beginUndoGroup() génère une erreur.
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
-s est utilisé, l’application exécute un script (à partir d’un fichier ou 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.
Cet attribut n’a d’effet que si After Effects est exécuté à partir d’une ligne de commande Windows. Il n’a aucun
effet sous Mac OS.
Typ e
Booléen ; lecture/écriture.
-r ou
23
Référence JavaScriptObjet Application
24
Attribut Application exitCode
app.exitCode
Description
Code numérique d’état utilisé lors de l’exécution d’un script en externe (c’est-à-dire à partir d’une ligne de
commande ou d’AppleScript).
• Sous Windows, lorsque After Effects est lancé à partir de la ligne de commande (à l’aide de la commande
afterfx ou afterfx –m) et qu’un script est spécifié à l’aide de l’option –r ou –s, la valeur est renvoyée sur la
ligne de commande.
• Sous Mac OS, la valeur est renvoyée en tant que résultat de la commande AppleScript DoScript pour
chaque script.
Sous Mac OS comme sous Windows, la valeur est définie sur 0 (
évaluation de script. En cas d’erreur lors de l’exécution du script, celui-ci peut définir cette valeur sur un
nombre entier positif indiquant l’erreur qui s’est produite.
Typ e
Entier ; lecture/écriture.
EXIT_SUCCESS) au début de chaque
Exemple
app.exitCode = 2; //on quit, if value is 2, an error has occurred
Attribut Application isRenderEngine
app.isRenderEngine
Description
Cet attribut a la valeur true si l’application After Effects est exécutée en tant que moteur de rendu.
Typ e
Booléen ; lecture seule.
Attribut Application isWatchFolder
app.isWatchFolder
Description
Cet attribut a la valeur true 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.
Typ e
Booléen ; lecture seule.
Attribut Application language
app.language
Description
Langue dans laquelle After Effects est exécuté.
24
Référence JavaScriptObjet Application
25
Typ e
Vale u r én u m ér é e Language ; lecture seule. L’une des suivantes :
Language.ENGLISH
Language.FRENCH
Language.GERMAN
Language.ITALIAN
Language.JAPANESE
Language.SPANISH
Exemple
var lang = app.language;
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 not running in English or French.");
Attribut Application memoryInUse
app.memoryInUse
Description
Nombre d’octets de mémoire actuellement utilisés par cette application.
Typ e
Nombre ; lecture seule.
Méthode Application newProject()
app.newProject()
Description
Crée un nouveau projet dans After Effects, en reproduisant la commande de menu Fichier > Créer > Nouveau
projet.
Si le projet en cours a été modifié, l’utilisateur est invité à l’enregistrer. Si l’utilisateur ferme la boîte de dialogue
Enregistrer sans enregistrer, le nouveau projet n’est pas créé et la méthode renvoie une valeur nulle. Utilisez
app.project.close(CloseOptions.DO_NOT_SAVE_CHANGES) pour fermer le projet en cours avant d’en
ouvrir un nouveau. Voir la section « Méthode Project close() », page 112.
Paramètres
Aucun.
Renvoi
Un nouvel objet Project ou une valeur nulle si aucun nouveau projet n’est créé.
Nom d’une fonction de rappel qui est appelée lorsqu’une erreur se produit. En créant une fonction et en
l’attribuant à cet attribut, il est possible de réagir aux erreurs systématiquement. Vous pouvez, par exemple,
fermer et redémarrer l’application, et noter l’erreur dans un fichier journal si elle est survenue en cours de
rendu. Voir la section « Méthode RenderQueue render() », page 154.
La chaîne d’erreur et une chaîne de gravité sont transmises à la fonction de rappel. Aucune valeur ne doit être
renvoyée.
Typ e
Chaîne de nom de fonction ou valeur nulle si aucune fonction n’est attribuée ; lecture/écriture.
Exemple
function err(errString) {
alert(errString);
}
app.onError = err;
Méthode Application open()
app.open()
app.open(file)
Description
Ouvre un projet.
Paramètres
file
Renvoi
Un nouvel objet Project pour le projet spécifié ou une valeur nulle si l’utilisateur ferme la boîte de dialogue
Ouvrir sans effectuer de sélection.
Exemple
var my_file = new File("../my_folder/my_test.aep");
if (my_file.exists){
new_project = app.open(my_file);
if (new_project){
alert(new_project.file.name);
}
}
Facultatif. Objet ExtendScript File pour le fichier de projet à ouvrir. S’il n’est pas fourni, la méthode invite
l’utilisateur à sélectionner un fichier de projet.
26
Référence JavaScriptObjet Application
27
Méthode Application parseSwatchFile()
app.parseSwatchFile(file)
Description
Charge des données d’échantillon de couleur à partir d’un fichier Adobe Swatch Exchange (ASE).
Paramètres
file
Renvoi
Spécification du fichier, qui est un objet ExtendScript File.
Les données de l’échantillon, au format suivant :
data.majorVersion
data.minorVersion
data.values
SwatchValue.type
SwatchValue.r
SwatchValue.g
SwatchValue.b
SwatchValue.c
SwatchValue.m
SwatchValue.y
SwatchValue.k
SwatchValue.L
SwatchValue.a
SwatchValue.b
SwatchValue.value
Numéro de version ASE.
Tableau de valeurs SwatchValue.
L’un des types suivants : RGB, CMYK, LAB, Gray
Lorsque type = "RGB", les valeurs de couleur comprises dans la plage [0.0..1.0].
0, 0, 0 correspond à la valeur Black.
Lorsque type = "CMYK", les valeurs de couleur comprises dans la plage [0.0..1.0].
0, 0, 0, 0 correspond à la valeur White.
Lorsque type = "LAB", les valeurs de couleur.
L est compris dans la plage [0.0..1.0]. a et b sont compris dans la plage [-128.0..+128.0]
0, 0, 0 correspond à la valeur Black.
Lorsque type = "Gray", value est compris dans la plage [0.0..1.0].
0.0 correspond à la valeur Black.
Méthode Application pauseWatchFolder()
app.pauseWatchFolder(pause)
Description
Interrompt temporairement ou reprend la recherche d’éléments de rendu dans le dossier de contrôle cible.
Projet en cours. Voir la section « Objet Project », page 110.
Typ e
Objet Project ; lecture seule.
Méthode Application purge()
app.purge(target)
Description
Purge de la mémoire les données inutilisées des types spécifiés. Reproduit les options de la commande Purger
du menu Edition.
Paramètres
target
Type d’élément à purger de la mémoire ; valeur énumérée PurgeTarget, l’une des suivantes :
• PurgeTarget.ALL_CACHES : purge toutes les données qu’After Effects a mises en mémoire
cache dans la mémoire physique.
• PurgeTarget.UNDO_CACHES : purge toutes les données enregistrées dans le cache d’annulation.
• PurgeTarget.SNAPSHOT_CACHES : purge toutes les données mises en cache en tant
qu’instantanés de composition/calque.
• PurgeTarget.IMAGE_CACHES : purge toutes les données d’image enregistrées.
Renvoi
Aucun.
Méthode Application quit()
app.quit()
Description
Ferme l’application After Effects.
Paramètres
Aucun.
Renvoi
Aucun.
28
Référence JavaScriptObjet Application
29
Attribut Application saveProjectOnCrash
app.saveProjectOnCrash
Description
Lorsque cet attribut est défini sur true (valeur par défaut), After Effects tente d’afficher une boîte de dialogue
qui vous permet d’enregistrer le projet en cours lorsqu’une erreur provoquant la fermeture inopinée de
l’application se produit. Lorsqu’il est défini sur false, cette boîte de dialogue disparaît et l’application se ferme
sans que le projet ne soit enregistré.
Typ e
Booléen ; lecture/écriture.
Méthode Application scheduleTask()
app.scheduleTask(stringToExecute, delay, repeat)
Description
Planifie le JavaScript spécifié pour une exécution ultérieure.
Paramètres
stringToExecute
delay
repeat
Renvoi
Chaîne contenant le JavaScript à exécuter.
Durée d’attente (en millisecondes) avant l’exécution du JavaScript. Valeur à virgule flottante.
Lorsque ce paramètre est défini sur true, répète l’exéc ution du script, en respectant le délai spécifié entre
chaque exécution. Lorsqu’il est défini sur false, le script n’est exécuté qu’une seule fois.
Nombre entier, identificateur unique de cette tâche, pouvant permettre d’annuler la tâche via la méthode
Définit les limites d’utilisation de mémoire, telles que spécifiées dans les préférences Mémoire et cache.
Pour les deux valeurs, si la mémoire vive installée est inférieure à une quantité donnée (n giga-octets), la
valeur correspond à un pourcentage de la mémoire vive installée ; sinon, elle correspond à un pourcentage de n.
La valeur de n est : 2 Go pour Windows 32 bits, 4 Go pour Windows 64 bits, 3,5 Go pour Mac OS.
Paramètres
imageCachePercentage
maximumMemoryPercentage
Renvoi
Aucun.
Valeur à virgule flottante ; pourcentage de mémoire assigné au cache image.
Valeur à virgule flottante ; pourcentage d’utilisation maximale de mémoire.
29
Référence JavaScriptObjet Application
30
Méthode Application setSavePreferencesOnQuit()
app.setSavePreferencesOnQuit(doSave)
Description
Définit ou supprime l’indicateur qui détermine si les préférences doivent être enregistrées à la fermeture de
l’application.
Paramètres
doSave
Renvoi
Lorsque ce paramètre est défini sur true, les préférences sont enregistrées à la
fermeture de l’application. Lorsqu’il est défini sur false, elles ne sont pas enregistrées.
Aucun.
Attribut Application settings
app.settings
Description
Paramètres en cours. Voir la section « Objet Settings », page 164.
Typ e
Objet Settings ; lecture seule.
Attribut Application version
app.version
Description
Chaîne alphanumérique indiquant la version d’After Effects en cours d’exécution.
Typ e
Chaîne ; lecture seule.
Exemple
var ver = app.version;
alert("This machine is running version " + ver + " of After Effects.");
Méthode Application watchFolder()
app.watchFolder(folder_object_to_watch)
Description
Démarre un processus de dossier de contrôle (rendu en réseau) pointant vers un dossier spécifié.
Paramètres
folder_object_to_watch
Objet ExtendScript Folder que le dossier doit contrôler.
L’objet AVItem fournit l’accès aux attributs et aux méthodes des fichiers audiovisuels importés dans After Effects.
• AVItem est une sous-classe d’Item. Toutes les méthodes et tous les attributs d’Item, outre ceux énumérés
ci-dessous, sont disponibles lorsque vous utilisez AVItem. Voir la section « Objet Item », page 76.
• AVItem est la classe de base de CompItem et de FootageItem, de sorte que les attributs et les méthodes
AVItem sont également disponibles lors de l’utilisation des objets CompItem et FootageItem. Voir les
sections « Objet CompItem », page 52 et « Objet FootageItem », page 64.
Attributs
AttributRéférenceDescription
name
width
height
pixelAspect
frameRate
frameDuration
duration
useProxy
proxySource
time
usedIn
hasVideo
hasAudio
footageMissing
« Attribut AVItem name », page 35Nom de l’objet, tel qu’affiché dans le panneau Projet.
« Attribut AVItem width », page 38Largeur de l’élément.
« Attribut AVItem height », page 34Hauteur de l’élément.
« Attribut AVItem pixelAspect », page 35Format des pixels de l’élément.
« Attribut AVItem frameRate », page 34Cadence d’image de l’élément.
« Attribut AVItem frameDuration », page 33Durée d’image de l’élément.
« Attribut AVItem duration », page 33Durée totale de l’élément.
« Attribut AVItem useProxy », page 38Lorsque cet attribut est défini sur true, une source de
doublure est utilisée pour cet élément.
« Attribut AVItem proxySource », page 35Objet FootageItem utilisé en tant que doublure pour
l’élément.
« Attribut AVItem time », page 38Instant actuel de l’élément.
« Attribut AVItem usedIn », page 38Objets CompItem qui utilisent cet élément.
« Attribut AVItem hasVideo », page 34Lorsque cet attrib ut est défini sur true, l’élément possède
un composant vidéo.
« Attribut AVItem hasAudio » , page 34Lorsque cet attribut est défini sur true, l’élément possède
un composant audio.
« Attribut AVItem footageMissing », page 33Lorsque cet attribut est défini sur true, l’élément est
introuvable ou il s’agit d’un pseudo-élément.
Méthodes
MéthodeRéférenceDescription
setProxy()
setProxyWithSequence()
setProxyWithSolid()
setProxyWithPlaceholder()
setProxyToNone()
« Méthode AVItem setProxy() », page 36Définit une doublure pour l’élément.
« Méthode AVItem setProxyToNone() », page 36 Supprime la doublure pour l’élément.
Définit une séquence comme doublure
pour l’élément.
Définit un solide comme doublure pour
l’élément.
Définit un pseudo-élément comme
doublure pour l’élément.
32
Référence JavaScriptObjet AVItem
33
Attribut AVItem duration
app.project.item(index).duration
Description
Renvoie la durée, en secondes, de l’élément. Les éléments de métrage fixe ont une durée de 0.
• Dans un objet CompItem, la valeur est liée à la durée de la composition. Elle est accessible en lecture/écriture.
• Dans un objet FootageItem, la valeur est liée à la durée de l’objet mainSource. Elle est accessible en lecture seule.
Typ e
Valeur à virgule flottante comprise dans la plage [0.0..10800.0] ; lecture/écriture pour un objet CompItem ;
lecture seule dans les autres cas.
Attribut AVItem footageMissing
app.project.item(index).footageMissing
Description
Lorsque cet attribut est défini sur true, l’AVItem est un pseudo-élément ou représente un métrage avec
un fichier source introuvable. Dans ce cas, le chemin du fichier source manquant se trouve dans l’attribut
missingFootagePath de l’objet du fichier source de l’élément de métrage. Voir les sections « Attribut
Renvoie la longueur, en secondes, d’une image pour cet AVItem. Réciproque de frameRate. Lorsque cet
attribut est défini, la réciproque est automatiquement définie comme une nouvelle valeur de
Cet attribut renvoie la réciproque de
frameRate, qui est susceptible d’être différente d’une valeur que vous
avez définie, si cette valeur n’est pas divisible régulièrement par 1,0 (par exemple, 0,3). En raison de limitations
numériques, (1 / ( 1 / 0,3)) est proche de 0,3 mais n’est pas égal à 0,3.
Si l’AVItem est un FootageItem, cette valeur est liée à l’objet
modifier, définissez l’attribut
frameRate et frameDuration du FootageItem.
Typ e
conformFrameRate de l’objet mainSource. Cela permet de définir les valeurs
mainSource, et est en lecture seule. Pour la
Valeur à virgule flottante comprise dans la plage [1/99.. 1.0] ; lecture seule pour un FootageItem, lecture/écriture
dans les autres cas.
frameRate.
33
Référence JavaScriptObjet AVItem
34
Attribut AVItem frameRate
app.project.item(index).frameRate
Description
Cadence d’image de l’AVItem, en nombre d’images par seconde. Réciproque de l’attribut frameDuration.
Lorsque cet attribut est défini, sa réciproque est automatiquement définie comme une nouvelle valeur
frameDuration.
• Dans un CompItem, la valeur est liée à l’attribut frameRate de la composition et est en lecture/écriture.
• Dans un FootageItem, la valeur est liée à l’attribut frameRate de l’objet mainSource et est en lecture seule.
Pour la modifier, définissez l’attribut
frameRate et frameDuration du FootageItem.
valeurs
Typ e
Valeur à virgule flottante comprise dans la plage [1.0..99.0] ; lecture seule pour un FootageItem, lecture/écriture
dans les autres cas.
Attribut AVItem hasAudio
app.project.item(index).hasAudio
conformFrameRate de l’objet mainSource. Cela permet de définir les
Description
Lorsque cet attribut a la valeur true, l’AVItem possède un composant audio.
• Dans un CompItem, la valeur est liée à la composition.
• Dans un FootageItem, la valeur est liée à l’objet mainSource.
Typ e
Booléen ; lecture seule.
Attribut AVItem hasVideo
app.project.item(index).hasVideo
Description
Lorsque cet attribut a la valeur true, l’AVItem possède un composant audio.
• Dans un CompItem, la valeur est liée à la composition.
• Dans un FootageItem, la valeur est liée à l’objet mainSource.
Typ e
Booléen ; lecture seule.
Attribut AVItem height
app.project.item(index).height
Description
Hauteur de l’élément, en pixels.
• Dans un CompItem, la valeur est liée à la composition. Elle est en lecture/écriture.
• Dans un FootageItem, la valeur est liée à l’objet mainSource. Elle est en lecture/écriture uniquement si
mainSource est un SolidSource. Dans les autres cas, elle est en lecture seule.
l’objet
Typ e
Nombre entier compris dans la plage de valeurs [1...30000] ; lecture/écriture, sauf dans les cas indiqués.
34
Référence JavaScriptObjet AVItem
35
Attribut AVItem name
app.project.item(index).name
Description
Nom de l’élément, tel qu’affiché dans le panneau Projet.
• Dans un FootageItem, la valeur est liée à l’objet mainSource. Si l’objet mainSource est un FileSource, cette
valeur contrôle le nom d’affichage qui apparaît dans le panneau Projet, mais n’affecte pas le nom de fichier.
Typ e
Chaîne ; lecture/écriture.
Attribut AVItem pixelAspect
app.project.item(index).pixelAspect
Description
Format des pixels de l’élément.
• Dans un CompItem, la valeur est liée à la composition.
• Dans un FootageItem, la valeur est liée à l’objet mainSource.
Certaines valeurs
valeurs sont celles de la série
pixelAspect sont connues d’After Effects et sont stockées/extraites avec précision. Ces
{1, 0.9, 1.2, 1.07, 1.42, 2, 0.95, 1.9}. Les autres valeurs peuvent présenter de
légères erreurs d’arrondi lorsque vous les définissez ou que vous 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.
Typ e
Valeur à virgule flottante comprise dans la plage [0.01..100.0] ; lecture/écriture.
Attribut AVItem proxySource
app.project.item(index).proxySource
Description
FootageSource utilisé comme doublure. L’attribut est en lecture seule. Pour le modifier, appelez l’une des méthodes
AVItem qui modifient la source de la doublure :
setProxyWithPlaceholder().
Typ e
Objet FootageSource ; lecture seule.
setProxy(), setProxyWithSequence(), setProxyWithSolid() ou
35
Référence JavaScriptObjet AVItem
36
Méthode AVItem setProxy()
app.project.item(index).setProxy(file)
Description
Définit un fichier comme doublure de cet AVItem. Charge le fichier spécifié dans un nouvel objet FileSource,
définit celui-ci comme la valeur de l’attribut
conserve pas les paramètres d’interprétation mais utilise les préférences utilisateur. Si le fichier comporte une
couche alpha non identifiée et si la préférence utilisateur spécifie d’afficher un message demandant à l’utilisateur
ce qu’il souhaite faire, la méthode évalue l’interprétation alpha au lieu de la demander à l’utilisateur.
Cette action est différente de ce qui se produit lorsque vous définissez la source principale d’un FootageItem,
mais ces deux actions s’effectuent comme dans l’interface utilisateur.
Paramètres
proxySource et définit useProxy sur true. Cette méthode ne
file
Renvoi
Objet ExtendScript File pour le fichier à utiliser en tant que doublure.
Aucun.
Méthode AVItem setProxyToNone()
app.project.item(index).setProxyToNone()
Description
Supprime la doublure de cet AVItem, définit proxySource sur une valeur nulle et useProxy sur false.
Crée un objet PlaceholderSource avec les valeurs spécifiées, définit celui-ci en tant que valeur de l’attribut
proxySource et définit useProxy sur true. Cette méthode ne conserve pas les paramètres d’interprétation mais
utilise les préférences utilisateur.
REMARQUE : 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.
Paramètres
name
width, height
frameRate
duration
Renvoi
Aucun.
Chaîne contenant le nom du nouvel objet.
Dimensions du pseudo-élément, en pixels. Nombre entier compris dans la plage [4..30000].
Nombre d’images par seconde. Nombre entier compris dans la plage [1..99].
Durée totale, en secondes (3 heures max.). Nombre entier compris dans la plage [0.0..10800.0].
Définit une séquence de fichiers en tant que doublure de cet AVItem, avec l’option permettant de forcer l’ordre
alphabétique. Charge la séquence de fichiers spécifiée dans un nouvel objet FileSource, définit celui-ci comme
la valeur de l’attribut
d’interprétation mais utilise les préférences utilisateur. Si un fichier comporte une couche alpha non identifiée
et si la préférence utilisateur spécifie d’afficher un message demandant à l’utilisateur ce qu’il souhaite faire, la
méthode évalue l’interprétation alpha au lieu de la demander à l’utilisateur.
Paramètres
proxySource et définit useProxy sur true. Cette méthode ne conserve pas les paramètres
file
forceAlphabetical
Renvoi
Objet ExtendScript File pour le premier fichier de la séquence.
Lorsque ce paramètre est true, l’option Ordre alphabétique doit être utilisée.
Crée un objet SolidSource avec les valeurs spécifiées, définit celui-ci en tant que valeur de l’attribut
proxySource et définit useProxy sur true. Cette méthode ne conserve pas les paramètres d’interprétation
mais utilise les préférences utilisateur.
REMARQUE : 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.
Paramètres
color
name
width, height
Couleur du solide, tableau de trois valeurs à virgule flottante, [R, V, B], comprises dans la plage [0.0..1.0].
Chaîne contenant le nom du nouvel objet.
Dimensions du pseudo-élément, en pixels. Nombre entier compris dans la plage [1...30000].
pixelAspect
Renvoi
Aucun.
Format des pixels du solide. Valeur à virgule flottante comprise dans la plage [0.01... 100.0].
37
Référence JavaScriptObjet AVItem
38
Attribut AVItem time
app.project.item(index).time
Description
Instant courant de l’élément lorsqu’il est prévisualisé directement à partir du panneau Projet. Cette valeur
correspond à un nombre de secondes. Utilisez la méthode globale
en une valeur de type chaîne exprimant l’instant en termes d’images. Voir la section « Fonction globale
timeToCurrentFormat() », page 17.
Ne définissez pas cette valeur pour un FootageItem dont la valeur
est true).
Typ e
Valeur à virgule flottante ; lecture/écriture.
Attribut AVItem usedIn
app.project.item(index).usedIn
Description
Toutes les compositions qui utilisent cet AVItem.
Veuillez noter que la valeur du tableau est copiée suite à une extraction. Par conséquent, elle n’est pas
automatiquement mise à jour. Si vous récupérez cette valeur, puis que vous l’ajoutez dans une autre
composition, vous devez de nouveau extraire la valeur pour obtenir un tableau incluant le nouvel élément.
timeToCurrentFormat pour la convertir
mainSource est fixe (item.mainSource.isStill
Typ e
Tableau d’objets CompItem ; lecture seule.
Attribut AVItem useProxy
app.project.item(index).useProxy
Description
Lorsque cet attribut est true, une doublure est utilisée pour l’élément. Il est défini sur true par toutes les
méthodes
Typ e
SetProxy et sur false par la méthode SetProxyToNone().
Booléen ; lecture/écriture.
Attribut AVItem width
app.project.item(index).width
Description
Largeur de l’élément, en pixels.
• Dans un CompItem, la valeur est liée à la composition. Elle est en lecture/écriture.
• Dans un FootageItem, la valeur est liée à l’objet mainSource. Elle est en lecture/écriture uniquement si
l’objet
mainSource est un SolidSource. Dans les autres cas, elle est en lecture seule.
Typ e
Nombre entier compris dans la plage de valeurs [1...30000] ; lecture/écriture, sauf dans les cas indiqués.
38
Référence JavaScriptObjet AVLayer
39
Objet AVLayer
app.project.item(index).layer(index)
Description
L’objet AVLayer fournit une interface aux calques contenant des objets AVItem (calques de composition, de
métrage, de solide, de texte et de son).
• AVLayer est une sous-classe de Layer. Toutes les méthodes et tou s les a tt ribu ts de L aye r, o utre ceux énumé rés
ci-dessous, sont disponibles lorsque vous utilisez AVLayer. Voir la section « Objet Layer », page 83.
• AVLayer est une classe de base de TextLayer. Ainsi, les attributs et les méthodes AVLayer sont disponibles
lorsque vous utilisez des objets TextLayer. Voir la section « Objet TextLayer », page 174.
Propriétés AE
Les différents types de calque ont des propriétés AE différentes. AVLayer possède les propriétés et groupes de
propriétés suivants :
Marker
Time Remap
Motion Trackers
Masks
Effects
Transform
Anchor Point
Position
Scale
Orientation
X Rotation
Y Rotation
Rotation
Opacity
Layer Styles
Material Options
Casts Shadows
Light Transmission
Accepts Shadows
Accepts Lights
Ambient
Diffuse
Specular
Shininess
Metal
Audio
Audio Levels
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é (
var firstLayer = app.project.item(1).layer(1);
firstLayer.quality = LayerQuality.BEST;
firstLayer.startTime = 1;
firstLayer.inPoint = 2;
quality) du calque, son instant de début (startTime) et son point d’entrée (inPoint).
39
Référence JavaScriptObjet AVLayer
40
Attributs
AttributRéférenceDescription
source
isNameFromSource
height
width
audioEnabled
motionBlur
effectsActive
adjustmentLayer
guideLayer
threeDLayer
threeDPerChar
canSetCollapseTransformation
collapseTransformation
frameBlending
frameBlendingType
canSetTimeRemapEnabled
timeRemapEnabled
hasAudio
audioActive
blendingMode
preserveTransparency
trackMatteType
isTrackMatte
« Attribut AVLayer source », page 47Elément source pour ce calque.
« Attribut AVLayer isNameFromSource »,
page 46
« Attribut AVLayer height », page 46Hauteur du calque.
« Attribut AVLayer width », page 49Largeur du calque.
« Attribut AVLayer audioEnabled »,
page 42
« Attribut AVLayer motionBlur »,
page 46
« Attribut AVLayer effectsActive »,
page 44
« Attribut AVLayer adjustmentLayer »,
page 41
« Attribut AVLayer guideLayer », page 45 Lorsque cet attribut est true, il s’agit d’un
Renvoie true si le composant audio de ce calque est actif à l’instant spécifié.
Pour que cette méthode renvoie true,
de l’audio ne doit être isolé sauf si ce calque l’est aussi, et l’instant donné doit être compris entre le
d’entrée
Paramètres
Renvoi
et le point de sortie de ce calque.
time
L’instant, en secondes. Valeur à virgule flottante.
audioEnabled doit également être true, aucun autre calque comportant
point
Booléen.
Attribut AVLayer audioEnabled
app.project.item(index).layer(index).audioEnabled
Description
Lorsque cet attribut est true, l’audio du calque est activé. Cette valeur correspond à la commande d’activation/
désactivation du composant audio dans le panneau Montage.
Typ e
Booléen ; lecture/écriture.
Attribut AVLayer autoOrient
app.project.item(index).layer(index).autoOrient
Description
Il s’agit du type d’orientation automatique à appliquer au calque.
Typ e
Vale u r én u m ér é e AutoOrientType ; lecture/écriture. L’une des suivantes :
AutoOrientType.ALONG_PATH
AutoOrientType.CAMERA_OR_POINT_OF_INTEREST
AutoOrientType.NO_AUTO_ORIENT
Attribut AVLayer blendingMode
app.project.item(index).layer(index).blendingMode
Description
Mode de fusion du calque.
42
Référence JavaScriptObjet AVLayer
43
Typ e
Vale u r én u m ér é e BlendingMode ; lecture/écriture. L’une des suivantes :
pour adapter les expressions à la nouvelle source, false dans le cas contraire. Notez que
True
cette fonctionnalité peut solliciter de nombreuses ressources ; utilisez-la uniquement en fin
d’opération en cas de remplacement d’une grande quantité de métrage. Voir aussi « Méthode
Project autoFixExpressions() », page 111.
Aucun.
Attribut AVLayer source
app.project.item(index).layer(index).source
Description
AVItem source pour ce calque. La valeur est nulle dans un calque de texte. Utilisez AVLayer.replaceSource()
pour modifier la valeur.
Extrait les limites du rectangle du calque à l’index d’instant spécifié, corrigées selon le contenu du calque de texte
ou de forme. Utilisez cette méthode pour écrire du texte correctement aligné sur la ligne de base, par exemple.
47
Référence JavaScriptObjet AVLayer
48
Paramètres
timeT
extents
Renvoi
Index d’instant, en secondes. Valeur à virgule flottante.
True
pour inclure les extensions, false dans le cas contraire. Les extensions s’appliquent aux
calques de forme et servent à augmenter la taille des limites du calque si nécessaire.
Un objet JavaScript avec quatre attributs, [top, left, width, height].
True si l’option d’activation de la projection 3D caractère par caractère est définie pour ce calque, ce qui
permet d’animer ses caractères indépendamment du plan du calque de texte. S’applique uniquement aux
calques de texte.
Si le calque comporte un cache par approche, spécifie la manière dont ce dernier sera appliqué.
Typ e
Vale u r én u m ér é e TrackMatteType ; lecture/écriture. L’une des suivantes :
TrackMatteTy p e . ALPHA
TrackMatteTy p e . ALPHA_ I N V E RTED
TrackMatteTy p e . LUM A
TrackMatteType.LUMA_INVERTED
TrackMatteTy p e . NO_T RACK_MAT T E
Attribut AVLayer width
app.project.item(index).layer(index).width
Description
Largeur du calque, en pixels.
Typ e
Virgule flottante ; lecture seule.
49
Référence JavaScriptObjet CameraLayer
50
Objet CameraLayer
app.project.item(index).layer(index)
Description
L’objet CameraLayer représente un calque de caméra dans une composition. Vous pouvez le créer en utilisant
la méthode
page 93. Pour accéder à cet objet dans la collection de calques d’un élément, vous pouvez utiliser son numéro
d’index ou encore une chaîne de nom.
• CameraLayer est une sous-classe de Layer. Toutes les méthodes et tous les attributs de Layer sont disponibles
lorsque vous utilisez CameraLayer. Voir la section « Objet Layer », page 83.
Propriétés AE
CameraLayer ne définit aucun autre attribut, mais possède des propriétés AE différentes de celles des autres
types de calque. Il dispose des propriétés et des groupes de propriétés suivants :
Marker
Transform
Point of Interest
Position
Scale
Orientation
X Rotation
Y Rotation
Rotation
Opacity
Camera Options
Zoom
Depth of Field
Focus Distance
Blur Level
addCamera de l’objet LayerCollection ; voir la section « Méthode LayerCollection addCamera() »,
50
Référence JavaScriptObjet Collection
51
Objet Collection
De la même façon qu’un tableau, une collection regroupe un jeu d’objets ou de valeurs en tant que groupe
logique, et fournit un accès à ces objets ou valeurs via un index. 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
ObjetRéférenceDescription
ItemCollection
LayerCollection
OMCollection
RQItemCollection
Attributs
length
Méthodes
[]
« Objet ItemCollection », page 79Tous les éléments (fichiers importés, dossiers, solides, etc.) se
« Objet LayerCollection », page 92Tous les calques d’une composition.
« Objet OMCollection », page 105Tous les éléments de modules de sortie du projet.
« Objet RenderQueueItem »,
page 156
Nombre d’objets contenus dans la collection.
Extrait un objet de la collection par le biais de son numéro d’index. Le premier objet se situe
à l’index 1.
trouvant dans le panneau Projet.
Tous les éléments de file d’attente de rendu du projet.
51
Référence JavaScriptObjet CompItem
52
Objet CompItem
app.project.item(index)
app.project.items[index]
Description
L’objet CompItem représente une composition et vous permet de la manipuler et d’obtenir des informations
sur elle. Accédez aux objets d’un projet en utilisant leur numéro d’index dans la collection d’éléments
• CompItem est une sous-classe d’AVItem, lui-même sous-classe d’Item. Toutes les méthodes et tous les
attributs d’AVItem et d’Item, outre ceux énumérés ci-dessous, sont disponibles lorsque vous utilisez
CompItem. Voir les sections « Objet AVItem », page 32 et « Objet Item », page 76.
Exemple
Etant donné que le premier élément du projet est un CompItem, le code suivant affiche deux alertes.
La première affiche 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);
Item.
Attributs
AttributRéférenceDescription
frameDuration
workAreaStart
workAreaDuration
numLayers
hideShyLayers
motionBlur
draft3d
frameBlending
preserveNestedFrameRate
preserveNestedResolution
« Attribut CompItem frameDuration »,
page 55
« Attribut CompItem workAreaStart »,
page 59
« Attribut CompItem
workAreaDuration », page 59
« Attribut CompItem numLayers »,
page 56
« Attribut CompItem hideShyLayers »,
page 55
« Attribut CompItem motionBlur »,
page 56
« Attribut CompItem draft3d », page 54 Lorsque cet attribut est true, le mode Ebauche 3D est
Modifie l’affichage de l’heure de début dans le
panneau Montage.
Facteur par lequel la résolution x et y du panneau
Composition est sous-échantillonnée.
Angle obturateur de la caméra.
Phase d’obturateur de la caméra.
Calques de la composition.
Calques sélectionnés de la composition.
Propriétés sélectionnées de la composition.
Module externe de rendu à utiliser pour le rendu de
cette composition.
Ensemble des modules externes de rendu disponibles.
duplicate()
layer()
« Méthode CompItem duplicate() », page 54Crée et renvoie un doublon de cette composition.
« Méthode CompItem layer() », page 55Obtient un calque à partir de cette composition.
Attribut CompItem activeCamera
app.project.item(index).activeCamera
Description
Il s’agit de la caméra active, c’est-à-dire du calque de caméra activé se trouvant au premier plan. La valeur
renvoyée est nulle si la composition ne contient aucun calque de caméra activé.
Typ e
Objet CameraLayer ; lecture seule.
Attribut CompItem bgColor
app.project.item(index).bgColor
Description
Couleur de fond de la composition. Les trois valeurs du tableau définissent les composantes rouge, vert et bleu
de la couleur.
Typ e
Tableau contenant trois valeurs à virgule flottante, [R, V, B], comprises dans la plage [0.0..1.0] ; lecture/écriture.
53
Référence JavaScriptObjet CompItem
54
Attribut CompItem displayStartTime
app.project.item(index).displayStartTime
Description
Heure définie en tant que début de la composition, en secondes. Elle est équivalente à la valeur Code temporel
initial ou Première image définie dans la boîte de dialogue Paramètres de composition.
Typ e
Valeur à virgule flottante comprise dans la plage [0.0...86339.0] (25 heures moins 1 seconde) ; lecture/écriture.
Attribut CompItem draft3d
app.project.item(index).draft3d
Description
Lorsque cet attribut est true, le mode Ebauche 3D est activé pour le panneau Composition. Sa valeur correspond
à celle du bouton Ebauche 3D du panneau Composition.
Typ e
Booléen ; lecture/écriture.
Méthode CompItem duplicate()
app.project.item(index).duplicate()
Description
Crée et renvoie un doublon de cette composition, contenant les mêmes calques que l’original.
Paramètres
Aucun.
Renvoi
Objet CompItem.
Attribut CompItem frameBlending
app.project.item(index).frameBlending
Description
Lorsque cet attribut est true, l’interpolation est activée pour cette composition. Sa valeur correspond à celle
du bouton d’interpolation dans le panneau Composition.
Typ e
Booléen ; si true, l’interpolation d’images est activée ; lecture/écriture.
54
Référence JavaScriptObjet CompItem
55
Attribut CompItem frameDuration
app.project.item(index).frameDuration
Description
Durée d’une image, exprimée en secondes. Il s’agit de l’inverse de la valeur frameRate (images par seconde).
Typ e
Virgule flottante ; lecture/écriture.
Attribut CompItem hideShyLayers
app.project.item(index).hideShyLayers
Description
Lorsque cet attribut est true, seuls les calques pour lesquels shy est défini sur false s’affichent dans le panneau
Montage. Lorsqu’il est false, tous les calques sont visibles, y compris ceux pour lesquels la valeur
Correspond à la valeur du bouton Masquer calques discrets du panneau Composition.
Renvoie un objet Layer, pouvant être spécifié à l’aide d’un nom, d’une position d’index dans ce calque ou
d’une position d’index relative à un autre calque.
Paramètres
index
—ou—
otherLayer
relIndex
Numéro d’index du calque souhaité dans cette composition. Nombre entier compris dans la
plage [1...numLayers], où numLayers correspond au nombre de calques de la composition.
Objet Layer dans cette composition. La valeur relIndex est ajoutée à la valeur d’index de
ce calque afin de trouver la position du calque souhaité.
Position du calque souhaité, relative à otherLayer. Nombre entier compris dans la plage
[1–
otherLayer.index...numLayers–otherLayer.index], où numLayers correspond
au nombre de calques de la composition.
Cette valeur est ajoutée à la valeur
renvoyer.
otherLayer afin d’obtenir l’index absolu du calque à
—ou—
name
Chaîne contenant le nom du calque souhaité.
55
Référence JavaScriptObjet CompItem
56
Renvoi
Objet Layer.
Attribut CompItem layers
app.project.item(index).layers
Description
Objet LayerCollection qui contient tous les objets Layer des calques de cette composition. Voir la section « Objet
LayerCollection », page 92.
Typ e
Objet LayerCollection ; lecture seule.
Attribut CompItem motionBlur
app.project.item(index).motionBlur
Description
Lorsque cet attribut est true, le flou directionnel est activé pour la composition. Sa valeur correspond à celle
du bouton Flou directionnel du panneau Composition.
Typ e
Booléen ; lecture/écriture.
Attribut CompItem numLayers
app.project.item(index).numLayers
Description
Nombre de calques contenus dans la composition.
Typ e
Entier ; lecture seule.
Attribut CompItem preserveNestedFrameRate
app.project.item(index).preserveNestedFrameRate
Description
Lorsque cet attribut est true, la cadence d’image des compositions imbriquées est préservée dans la
composition en cours. Correspond à la valeur 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.
Typ e
Booléen ; lecture/écriture.
56
Référence JavaScriptObjet CompItem
57
Attribut CompItem preserveNestedResolution
app.project.item(index).preserveNestedResolution
Description
Lorsque cet attribut est true, la résolution des compositions imbriquées est préservée dans la composition en
cours. Correspond à la valeur 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.
Typ e
Booléen ; lecture/écriture.
Attribut CompItem renderer
app.project.item(index).renderer
Description
Module externe de rendu à utiliser pour le rendu de cette composition, comme indiqué dans l’onglet Avancé de
la boîte de dialogue Paramètres de composition. Les valeurs autorisées sont les membres de
compItem.renderers.
Typ e
Chaîne ; lecture/écriture.
Attribut CompItem renderers
app.project.item(index).renderers
Description
Modules externes de rendu disponibles. Les chaînes des membres correspondent aux modules installés,
comme indiqué dans l’onglet Avancé de la boîte de dialogue Paramètres de composition.
Typ e
Tableau de chaînes ; lecture seule.
Attribut CompItem resolutionFactor
app.project.item(index).resolutionFactor
Description
Facteurs de résolution de sous-échantillonnage de x et y pour le rendu de la composition.
Les deux valeurs du tableau indiquent le nombre de pixels à ignorer lors de l’échantillonnage. Le premier
numéro détermine l’échantillonnage horizontal, le second l’échantillonnage vertical. 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].
Typ e
Tableau de deux entiers compris dans la plage de valeurs [1..99] ; lecture/écriture.
57
Référence JavaScriptObjet CompItem
58
Attribut CompItem selectedLayers
app.project.item(index).selectedLayers
Description
Tous les calques sélectionnés de cette composition. Il s’agit d’un tableau qui a zéro (0) pour base (le premier
objet se situe à l’index 0).
Typ e
Tableau d’objets Layer ; lecture seule.
Attribut CompItem selectedProperties
app.project.item(index).selectedProperties
Description
Toutes les propriétés sélectionnées (objets Property et PropertyGroup) dans cette composition. La première
propriété se situe à l’index 0.
Typ e
Tableau d’objets Property et PropertyGroup ; lecture seule.
Attribut CompItem shutterAngle
app.project.item(index).shutterAngle
Description
Réglage de l’angle obturateur pour la composition. Ce réglage correspond au paramètre Angle obturateur de
l’onglet Avancé de la boîte de dialogue Paramètres de composition.
Typ e
Nombre entier compris dans la plage [0...720] ; lecture/écriture.
Attribut CompItem shutterPhase
app.project.item(index).shutterPhase
Description
Réglage de la phase d’obturateur pour la composition. Ce réglage correspond au paramètre Phase d’obturateur
de l’onglet Avancé de la boîte de dialogue Paramètres de composition.
Typ e
Nombre entier compris dans la plage [–360...360] ; lecture/écriture.
58
Référence JavaScriptObjet CompItem
59
Attribut CompItem workAreaDuration
app.project.item(index).workAreaDuration
Description
Durée de la zone de travail, en secondes. Il s’agit de la différence entre l’instant du point de début et l’instant
du point de fin de la zone de travail Composition.
Typ e
Virgule flottante ; lecture/écriture.
Attribut CompItem workAreaStart
app.project.item(index).workAreaStart
Description
Moment, en secondes, où la zone de travail Composition commence.
Typ e
Virgule flottante ; lecture/écriture.
59
Référence JavaScriptObjet FileSource
60
Objet FileSource
app.project.item(index).mainSource
app.project.item(index).proxySource
Description
L’objet FileSource décrit le métrage issu d’un fichier.
• FileSource est une sous-classe de FootageSource. Toutes les méthodes et tous les attributs de FootageSource,
outre ceux énumérés ci-dessous, sont disponibles lorsque vous utilisez FileSource. Voir la section « Objet
FootageSource », page 67.
Attributs
AttributRéférenceDescription
file
missingFootagePath
Méthodes
MéthodeRéférenceDescription
reload()
« Attribut FileSource file », page 60Fichier qui définit cette ressource.
Recharge la ressource du fichier. Cette méthode peut uniquement être appelée sur un mainSource, et non sur
proxySource.
un
Paramètres
Aucun.
Renvoi
Aucun.
61
Référence JavaScriptObjet FolderItem
62
Objet FolderItem
app.project.FolderItem
Description
L’objet FolderItem correspond à un dossier de votre panneau Projet. Il peut contenir différents types
d’éléments (métrage, compositions, solides), ainsi que d’autres dossiers.
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, en affichant son nom.
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);
}
}
Attributs
AttributRéférenceDescription
items
numItems
Méthodes
MéthodeRéférenceDescription
item()
« Attribut FolderItem items », page 63Contenu de ce dossier.
« Attribut FolderItem numItems », page 63Nombre d’éléments contenus dans ce dossier.
« Méthode FolderItem item() », page 62Récupère un élément du dossier.
Méthode FolderItem item()
app.project.item(index).item
Description
Renvoie l’élément de niveau supérieur de ce dossier à la position d’index spécifiée. Notez que la notion de
« niveau supérieur » fait référence aux niveaux à l’intérieur du dossier, mais pas nécessairement dans le projet.
Paramètres
index
Nombre entier, numéro d’index de l’élément à récupérer. Le premier élément se situe à l’index 1.
Renvoi
Objet Item.
62
Référence JavaScriptObjet FolderItem
63
Attribut FolderItem items
app.project.item(index).items
Description
Objet ItemCollection qui contient un objet Item représentant le contenu de niveau supérieur de ce dossier.
Contrairement à ItemCollection dans l’objet Project, cette collection contient uniquement les éléments de
niveau supérieur du dossier. Le niveau supérieur dans le dossier ne correspond pas au niveau supérieur dans
le projet. Seuls les éléments situés au niveau supérieur du dossier racine se retrouvent également au niveau
supérieur dans le projet.
Typ e
Objet ItemCollection ; lecture seule.
Attribut FolderItem numItems
app.project.item(index).numItems
Description
Nombre d’éléments contenus dans la collection d’éléments (folderItem.items.length).
Si le dossier contient un autre dossier, seul le FolderItem pour ce dossier est pris en compte. Les sous-éléments
qu’il contient sont ignorés.
Typ e
Entier ; lecture seule.
63
Référence JavaScriptObjet FootageItem
64
Objet FootageItem
app.project.item(index)
app.project.items[index]
Description
L’objet FootageItem représente un élément de métrage importé dans un projet, qui apparaît dans le panneau
Projet. Il est possible d’accéder à ces objets dans la collection d’éléments
numéro d’index.
• FootageItem est une sous-classe d’AVItem, lui-même sous-classe d’Item. Toutes les méthodes et tous les
attributs d’AVItem et d’Item, outre ceux énumérés ci-dessous, sont disponibles lorsque vous utilisez
FootageItem. Voir les sections « Objet AVItem », page 32 et « Objet Item », page 76.
Attributs
AttributRéférenceDescription
Item d’un projet en utilisant leur
file
mainSource
Méthodes
MéthodeRéférenceDescription
replace()
replaceWithPlaceholder()
replaceWithSequence()
replaceWithSolid()
« Attribut FootageItem file », page 64Fichier source du métrage.
« Attribut FootageItem mainSource », page 65Tous les paramètres liés à l’élément de métrage.
Remplace un fichier de métrage par un autre fichier
de métrage.
Remplace un fichier de métrage par un objet
pseudo-élément.
Remplace un fichier de métrage par une séquence
d’images.
Remplace un fichier de métrage par un solide.
Attribut FootageItem file
app.project.item(index).file
Description
Objet ExtendScript File pour le fichier source du métrage.
mainSource du FootageItem est un FileSource, ce fichier est le même que FootageItem.mainSource.file.
Si le
Sinon, la valeur est nulle.
Typ e
Objet File ; lecture seule.
64
Référence JavaScriptObjet FootageItem
65
Attribut FootageItem mainSource
app.project.item(index).mainSource
Description
Source du métrage, objet qui 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. L’attribut est en lecture
seule. Pour modifier sa valeur, appelez l’une des méthodes FootageItem « replace ».
Reportez-vous à la section « Objet FootageSource », page 67 et aux trois types d’objets différents :
• « Objet SolidSource », page 170
• « Objet FileSource », page 60
• « Objet PlaceholderSource », page 109
S’il s’agit d’un objet FileSource et que la valeur de
métrage manquant se trouve dans l’attribut
AVItem footageMissing », page 33 et « Attribut FileSource missingFootagePath », page 60.
Typ e
Objet FootageSource ; lecture seule.
footageMissing est true, le chemin d’accès au fichier de
FileSource.missingFootagePath. Voir les sections « Attribut
Méthode FootageItem replace()
app.project.item(index).replace(file)
Description
Remplace la source de ce FootageItem par le fichier spécifié. En plus de charger le fichier, la méthode crée
un nouvel objet FileSource pour le fichier et définit
elle définit les attributs
name, width, height, frameDuration et duration (voir la section « Objet AVItem »,
mainSource sur cet objet. Dans le nouvel objet source,
page 32) en fonction du contenu du fichier.
La méthode préserve les paramètres d’interprétation de l’objet
mainSource précédent. Si le fichier spécifié
comporte une couche alpha non identifiée, la méthode évalue l’interprétation alpha.
Paramètres
file
Objet ExtendScript File pour le fichier à utiliser en tant que source principale du métrage.
Remplace la source de ce FootageItem par le pseudo-élément spécifié. Crée un nouvel objet
PlaceholderSource, définit ses valeurs à partir des paramètres et définit
mainSource sur cet objet.
Paramètres
name
width
height
Chaîne contenant le nom du pseudo-élément.
Largeur du pseudo-élément, en pixels. Nombre entier compris dans la plage [4..30000].
Hauteur du pseudo-élément, en pixels. Nombre entier compris dans la plage [4..30000].
65
Référence JavaScriptObjet FootageItem
66
frameRate
duration
Cadence du pseudo-élément. Valeur à virgule flottante comprise dans la plage [1.0..99.0].
Durée du pseudo-élément, en secondes. Valeur à virgule flottante comprise dans la plage [0.0..10800.0].
Remplace la source de ce FootageItem par la séquence d’images spécifiée. En plus de charger le fichier, la
méthode crée un nouvel objet FileSource pour le fichier et définit
objet source, elle définit les attributs
name, width, height, frameDuration et duration (voir la section « Objet
mainSource sur cet objet. Dans le nouvel
AVItem », page 32) en fonction du contenu du fichier.
La méthode préserve les paramètres d’interprétation de l’objet
mainSource précédent. Si le fichier spécifié
comporte une couche alpha non identifiée, la méthode évalue l’interprétation alpha.
Paramètres
file
forceAlphabetical
Objet ExtendScript File pour le premier fichier de la séquence à utiliser en tant que source
principale du métrage.
Lorsque ce paramètre est true, l’option Ordre alphabétique doit être utilisée.
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.
Typ e
Vale u r én u m ér é e AlphaMode ; lecture/écriture. L’une des suivantes :
Lorsque cet attribut est défini sur true, After Effects utilise des algorithmes particuliers pour déterminer la
façon d’effectuer une séparation de trame haute qualité.
Vous ne devez pas définir cet attribut si
FieldSeparationType.OFF.
Typ e
isStill a la valeur true ou si fieldSeparationType est
Booléen ; lecture/écriture.
Attribut FootageSource invertAlpha
app.project.item(index).mainSource.invertAlpha
app.project.item(index).proxySource.invertAlpha
Description
Lorsque cet attribut est true, 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
AlphaMode.IGNORE, cet attribut est ignoré.
est
Typ e
hasAlpha a la valeur false ou que alphaMode
Booléen ; lecture/écriture.
Attribut FootageSource isStill
app.project.item(index).mainSource.isStill
app.project.item(index).proxySource.isStill
Description
Lorsque cet attribut est défini sur true, le métrage est fixe. Lorsqu’il est défini sur false, le métrage possède un
composant temporel.
70
Référence JavaScriptObjet FootageSource
71
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.
Typ e
Booléen ; lecture seule.
Attribut FootageSource loop
app.project.item(index).mainSource.loop
app.project.item(index).proxySource.loop
Description
Nombre de lectures consécutives du métrage lors de son utilisation dans une composition.
Vous ne devez pas définir cet attribut si
Typ e
isStill est true.
Nombre entier compris dans la plage [1.. 9999] ; la valeur par défaut est 1 ; lecture/écriture.
Le constructeur prend un paramètre facultatif, un objet ExtendScript File pour le fichier. S’il n’est pas fourni,
vous devez définir explicitement la valeur de l’attribut
Par exemple :
new ImportOptions().file = new File("myfile.psd");
Attributs
AttributsRéférenceDescription
file avant d’utiliser l’objet avec la méthode importFile.
« Attribut ImportOptions file », page 74 Fichier à importer ou premier fichie r de la séquence à importer.
« Méthode ImportOptions
canImportAs() », page 73
Type de fichier à importer.
Lorsque cet attribut est défini sur true, importe une séquence
de fichiers plutôt qu’un seul fichier.
Lorsque cet attribut est défini sur true, l’option Ordre
alphabétique est définie.
Limite l’entrée à un type de fichier particulier.
Méthode ImportOptions canImportAs()
importOptions.canImportAs(type)
Description
Indique si le fichier peut être importé en tant que source d’un type d’objet particulier. Si la méthode renvoie
true, vous pouvez définir le type donné en tant que valeur de l’attribut
ImportOptions importAs », page 74.
importAs. Voir la section « Attribut
Paramètres
type
Renvoi
Booléen.
Type de fichier pouvant être importé. Valeur énumérée ImportAsType ; l’une des suivantes :
ImportAsType.COMP
ImportAsType.FOOTAGE
ImportAsType.COMP_CROPPED_LAYERS
ImportAsType.PROJECT
73
Référence JavaScriptObjet ImportOptions
74
Exemple
var io = new ImportOptions(File(“c:\\myFile.psd”));
if io.canImportAs(ImportAsType.COMP);
io.importAs = ImportAsType.COMP;
Attribut ImportOptions file
importOptions.file
Description
Fichier à importer. Si un fichier est défini dans le constructeur, vous pouvez y accéder via cet attribut.
Typ e
Objet ExtendScript File ; lecture/écriture.
Attribut ImportOptions forceAlphabetical
importOptions.forceAlphabetical
Description
Lorsque cet attribut est défini sur true, produit le même effet que lorsque l’option Ordre alphabétique de la
boîte de dialogue Fichier > Importer > Fichier est activée.
Typ e
Booléen ; lecture/écriture.
Attribut ImportOptions importAs
importOptions.importAs
Description
Type d’objet pour lequel le fichier importé sert de source. Avant de le définir, utilisez canImportAs pour vérifier
qu’un fichier donné peut être importé en tant que source du type d’objet donné. Voir la section « Méthode
ImportOptions canImportAs() », page 73.
Typ e
Vale u r én u m ér é e ImportAsType ; lecture/écriture. L’une des suivantes :
ImportAsType.COMP_CROPPED_LAYERS
ImportAsType.FOOTAGE
ImportAsType.COMP
ImportAsType.PROJECT
74
Référence JavaScriptObjet ImportOptions
75
Attribut ImportOptions sequence
importOptions.sequence
Description
Lorsque cet attribut est défini sur true, une séquence est importée ; sinon, un fichier seul est importé.
Typ e
Booléen ; lecture/écriture.
75
Référence JavaScriptObjet Item
76
Objet Item
app.project.item(index)
app.project.items[index]
Description
L’objet Item représente un élément pouvant apparaître dans le panneau Projet.
Le premier élément se situe à l’index 1.
• Item est la classe de base d’AVItem et de FolderItem, eux-mêmes classes de base de plusieurs autres types
d’élément. Ainsi, les attributs et les méthodes Item sont disponibles lorsque vous utilisez ces types
d’élément. Voir les sections « Objet AVItem », page 32 et « Objet FolderItem », page 62.
Attributs
AttributsRéférenceDescription
name
comment
id
parentFolder
selected
typeName
« Attribut Item name », page 77Nom de l’objet, tel qu’affiché dans le panneau Projet.
« Méthode Item remove() », page 78Supprime l’élément du projet.
L’exemple suivant obtient le deuxième élément du projet et vérifie qu’il s’agit d’un dossier. Il supprime ensuite
du dossier tout élément de niveau supérieur n’étant pas actuellement sélectionné. Il vérifie par ailleurs, pour
chaque élément du dossier, que le parent est correctement défini sur le dossier adéquat.
var myFolder = app.project.item(2);
if (myFolder.typeName != "Folder") {
alert("error: second item is not a folder");
}
else {
var numInFolder = myFolder.numItems;
// Always run loops backwards when deleting things:
for(i = numInFolder; i >= 1; i--) {
var curItem = myFolder.item(i);
if ( curItem.parentFolder != myFolder) {
alert("error within AE: the parentFolder is not set correctly");
}
else {
if ( !curItem.selected && curItem.typeName == "Footage") {
//found an unselected solid.
curItem.remove();
}
}
}
}
76
Référence JavaScriptObjet Item
77
Attribut Item comment
app.project.item(index).comment
Description
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.
Typ e
Chaîne ; lecture/écriture.
Attribut Item id
app.project.item(index).id
Description
Numéro d’identification unique et persistant utilisé en interne pour identifier un élément entre les sessions.
La valeur de l’ID ne change pas lorsque le projet est enregistré dans un fichier et rechargé ultérieurement.
Toutefois, lorsque vous importez ce projet dans un autre projet, de nouveaux ID sont attribués à tous les
éléments du projet importé. L’ID ne s’affiche pas n’importe où dans l’interface utilisateur.
Typ e
Entier ; lecture seule.
Attribut Item name
app.project.item(index).name
Description
Nom de l’élément, tel qu’affiché dans le panneau Projet.
Typ e
Chaîne ; lecture/écriture.
Attribut Item parentFolder
app.project.item(index).parentFolder
Description
Objet FolderItem du dossier qui contient cet élément. Si cet élément se trouve au niveau supérieur du projet,
il s’agit du dossier racine du projet (
d’ItemCollection pour ajouter un nouveau dossier et définir cette valeur pour placer des éléments dans le
nouveau dossier. Voir la section « Méthode ItemCollection addFolder() », page 80.
app.project.rootFolder). Vous pouvez utiliser la méthode addFolder
Typ e
Objet FolderItem ; lecture/écriture.
77
Référence JavaScriptObjet Item
78
Exemple
Le script suivant crée un nouvel objet FolderItem dans le panneau Projet et y place des compositions.
// create a new FolderItem in project, with name “comps”
var compFolder = app.project.items.addFolder(“comps”);
// move all compositions into new folder by setting
// compItem’s parentFolder to “comps” folder
for(var i = 1; i <= app.project.numItems; i++) {
if(app.project.item(i) instanceof CompItem)
app.project.item(i).parentFolder = compFolder;
}
Méthode Item remove()
app.project.item(index).remove()
Description
Supprime cet élément du projet et du panneau Projet. Si l’élément est un FolderItem, tous les éléments contenus
dans le dossier sont également supprimés du projet. Aucun fichier ou dossier n’est supprimé du disque.
Paramètres
Aucun.
Renvoi
Aucun.
Attribut Item selected
app.project.item(index).selected
Description
Lorsque cet attribut est défini sur true, cet élément est sélectionné. Plusieurs éléments peuvent être
sélectionnés simultanément. Définissez cet attribut sur true pour que le programme sélectionne l’élément
ou sur false pour qu’il le désélectionne.
Typ e
Booléen ; lecture/écriture.
Attribut Item typeName
app.project.item(index).typeName
Description
Nom du type d’élément lisible par l’utilisateur ; par exemple : « Folder », « Footage » ou « Composition ».
Typ e
Chaîne ; lecture seule.
78
Référence JavaScriptObjet ItemCollection
79
Objet ItemCollection
app.project.items
Description
L’objet ItemCollection représente une collection d’éléments. L’ItemCollection appartenant à un objet Project
contient tous les objets Item correspondant aux éléments du projet. L’ItemCollection appartenant à un objet
FolderItem contient tous les objets Item correspondant aux éléments de ce dossier.
• ItemCollection est une sous-classe de Collection. Toutes les méthodes et tous les attributs de Collection, outre
ceux énumérés ci-dessous, sont disponibles lorsque vous utilisez ItemCollection. Voir la section « Objet
Collection », page 51.
Méthodes
MéthodeRéférenceDescription
addComp()
addFolder()
« Méthode ItemCollection addComp() »,
page 79
« Méthode ItemCollection addFolder() »,
page 80
Crée un nouvel objet CompItem et l’ajoute à la collection.
Crée un nouvel objet FolderItem et l’ajoute à la collection.
Crée une nouvelle composition. Crée et renvoie un nouvel objet CompItem et l’ajoute à cette collection.
Si l’ItemCollection appartient au projet ou au dossier racine, le
racine. Si l’ItemCollection appartient à n’importe quel autre dossier, le
FolderItem.
Paramètres
name
width
height
pixelAspect
Chaîne contenant le nom de la composition.
Largeur de la composition, en pixels. Nombre entier compris dans la plage [4..30000].
Hauteur de la composition, en pixels. Nombre entier compris dans la plage [4..30000].
Format des pixels de la composition. Valeur à virgule flottante comprise dans la plage [0.01..100.0].
parentFolder du nouvel élément est le dossier
parentFolder du nouvel élément est ce
duration
frameRate
Renvoi
Objet CompItem.
Durée de la composition, en secondes. Valeur à virgule flottante comprise dans la plage [0.0..10800.0].
Cadence d’image de la composition. Valeur à virgule flottante comprise dans la plage [1.0..99.0]
79
Référence JavaScriptObjet ItemCollection
80
Méthode ItemCollection addFolder()
app.project.itemCollection.addFolder(name)
Description
Crée un nouveau dossier. Crée et renvoie un nouvel objet FolderItem et l’ajoute à cette collection.
Si l’ItemCollection appartient au projet ou au dossier racine, le
racine. Si l’ItemCollection appartient à n’importe quel autre dossier, le
FolderItem.
ce
Pour placer des éléments dans le dossier, définissez l’attribut
parentFolder du nouveau dossier est le dossier
parentFolder du nouveau dossier est
parentFolder de l’objet Item ; voir la section
« Attribut Item parentFolder », page 77.
Paramètres
name
Renvoi
Chaîne contenant le nom du dossier.
Objet FolderItem.
Exemple
Le script suivant crée un nouvel objet FolderItem dans le panneau Projet et y place des compositions.
// create a new FolderItem in project, with name “comps”
var compFolder = app.project.items.addFolder(“comps”);
// move all compositions into new folder by setting
// compItem’s parentFolder to “comps” folder
for(var i = 1; i <= app.project.numItems; i++) {
if(app.project.item(i) instanceof CompItem)
app.project.item(i).parentFolder = compFolder;
}
80
Référence JavaScriptObjet KeyframeEase
81
Objet KeyframeEase
myKey = new KeyframeEase(speed, influence);
Description
L’objet KeyframeEase incorpore les paramètres de lissage d’image clé de la propriété AE d’un calque. Le lissage
d’image clé est déterminé par les valeurs de vitesse et d’influence définies à l’aide de la méthode
setTemporalEaseAtKey de la propriété. Voir la section « Méthode Property setTemporalEaseAtKey() », page 137.
Le constructeur crée un objet KeyframeEase. Les deux paramètres sont requis.
• speed : valeur à virgule flottante. Définit l’attribut speed.
• influence : valeur à virgule flottante comprise dans la plage [0.1..100.0]. Définit l’attribut influence.
Exemple
L’exemple suivant suppose que la propriété spatiale Position possède plus de deux images clés.
var easeIn = new KeyframeEase(0.5, 50);
var easeOut = new KeyframeEase(0.75, 85);
var myPositionProperty = app.project.item(1 ) .layer(1).property("Po sition")
L’exemple suivant définit Scale, propriété temporelle à deux ou trois dimensions. Pour les propriétés 2D et 3D,
vous devez définir une valeur de lissage à l’approche (
easeOut) pour chaque dimension.
(
var easeIn = new KeyframeEase(0.5, 50);
var easeOut = new KeyframeEase(0.75, 85);
var myScaleProperty = app.project.item(1).layer(1).property("Scale")
Valeur de l’influence de l’image clé, comme indiqué dans la boîte de dialogue Vélocité d’image clé.
Typ e
Valeur à virgule flottante comprise dans la plage [0.1..100.0] ; lecture/écriture.
81
Référence JavaScriptObjet KeyframeEase
82
Attribut KeyframeEase speed
myKey.speed
Description
Valeur de la vitesse de l’image clé. Les unités dépendent du type de l’image clé et s’affichent dans la boîte de
dialogue Vélocité d’image clé.
Typ e
Valeur à virgule flottante ; lecture/écriture.
82
Référence JavaScriptObjet Layer
83
Objet Layer
app.project.item(index).layer(index)
Description
L’objet Layer fournit l’accès aux calques contenus dans des compositions. Il est accessible à partir de la
collection de calques d’un élément, via un numéro d’index ou une chaîne de nom.
• Layer est la classe de base de CameraLayer, TextLayer, LightLayer et AVLayer. Ainsi, les attributs et les
méthodes Layer sont disponibles lorsque vous utilisez les différents types de calque. Voir les sections « Objet
AVLayer », page 39, « Objet CameraLayer », page 50, « Objet LightLayer », page 97 et « Objet TextLayer »,
page 174.
Les calques contiennent des propriétés AE, en plus de leurs attributs et méthodes JavaScript. Pour des
exemples d’accès aux propriétés dans des calques, reportez-vous à la section « Objet PropertyBase », page 141.
Exemple
Si le premier élément du projet est un CompItem, l’exemple suivant désactive le premier calque de cette
composition et le renomme. Il peut par exemple permettre de désactiver une icône de la composition.
var firstLayer = app.project.item(1).layer(1);
firstLayer.enabled = false;
firstLayer.name = "Disabled Layer";
Attributs
AttributRéférenceDescription
index
name
parent
time
startTime
stretch
inPoint
outPoint
enabled
solo
shy
locked
hasVideo
active
nullLayer
selectedProperties
comment
« Attribut Layer index », page 87Position d’index du calque.
« Attribut Layer name », page 89Nom du calque.
« Attribut Layer parent », page 89Parent de ce calque.
« Attribut Layer time », page 91Instant courant du calque.
« Attribut Layer startTime », page 91Instant de début du calque.
« Attribut Layer stretch », page 91Extension temporelle du calque, en pourcentage.
« Attribut Layer inPoint », page 87Point d’entrée du calque.
« Attribut Layer outPoint », page 89Point de sortie du calque.
« At tribut Layer enabled », pa ge 86Lorsque cet attribut est défini sur true, le calque est activé.
« Attribut Layer solo », page 91Lorsque cet attribut est défini sur true, le calque est isolé.
« Attribut Layer shy », page 90Lorsque cet attribut est défini sur true, le calque est
discret.
« Attribut Layer locked », page 87Lorsque cet attribut est défini sur true, le calque est
verrouillé.
« Attribut Layer hasVideo », page 87Lorsque cet attribut est défini sur true, le calque
contient un composant vidéo.
« Attribut Layer active », page 84Lorsque cet attribut est défini sur true, le calque est
actif à l’instant courant.
« Attribut Layer nullLayer », page 89Lorsque cet attribut est défini sur true, il s’agit d’un
calque nul.
« Attribut Layer selectedProperties », page 90Toutes les propriétés AE sélectionnées dans le calque.
« Attribut Layer comment », page 85Commentaire descriptif pour le calque.
83
Référence JavaScriptObjet Layer
84
AttributRéférenceDescription
containingComp
isNameSet
Méthodes
MéthodeRéférenceDescription
« Attribut Layer containingComp », page 85Composition contenant ce calque.
« Attribut Layer isNameSet », page 87Lorsque cet attribut est défini sur true, le nom du
calque a été explicitement défini.
remove()
moveToBeginning()
moveToEnd()
moveAfter()
moveBefore()
duplicate()
copyToComp()
activeAtTime()
setParentWithJump()
applyPreset()
« Méthode Layer remove() », page 90Supprime le calque de la composition.
« Méthode Layer moveToBeginning() »,
page 88
« Méthode Layer moveToEnd() »,
page 88
« Méthode Layer moveAfter() », page 88 Déplace le calque sous un autre calque.
« Méthode Layer moveBefore() »,
page 88
« Méthode Layer duplicate() », page 86Duplique le calque.
« Méthode Layer copyToComp() »,
page 86
« Méthode Layer activeAtTime() »,
page 85
« Méthode Layer
setParentWithJump() », page 90
« Méthode Layer applyPreset() »,
page 85
Attribut Layer active
app.project.item(index).layer(index).active
Déplace le calque vers le haut de la composition (en
position de premier calque).
Déplace le calque vers le bas de la composition (en position
de dernier calque).
Déplace le calque au-dessus d’un autre calque.
Copie le calque vers le haut (le début) d’une autre
composition.
Indique si ce calque est actif à un instant donné.
Définit un nouveau parent pour ce calque.
Applique au calque une collection nommée de paramètres
d’animation.
Description
Lorsque cet attribut est défini sur true, le composant vidéo du calque est actif à l’instant courant.
Pour que sa valeur soit true, le calque doit être activé, aucun autre calque ne doit être isolé, sauf si ce calque
l’est aussi, et l’instant donné doit être compris entre le point d’entrée (
inPoint) et le point de sortie (outPoint)
de ce calque.
Dans un calque audio, cette valeur n’est jamais true ; il existe un attribut
Renvoie true si ce calque est actif à l’instant spécifié. Pour que la valeur soit true, le calque doit être activé,
aucun autre calque ne doit être isolé, sauf si ce calque l’est aussi, et l’instant donné doit être compris entre le
point d’entrée (
Paramètres
inPoint) et le point de sortie (outPoint) de ce calque.
Applique au calque la collection spécifiée de paramètres d’animation (une animation prédéfinie). Les fichiers
d’animation prédéfinie se trouvent dans le dossier Presets. Les utilisateurs peuvent créer de nouvelles
animations prédéfinies via l’interface utilisateur.
Paramètres
presetName
Renvoi
Objet ExtendScript File du fichier contenant l’animation prédéfinie.
Copie le calque dans la composition spécifiée. Le calque d’origine reste inchangé. Crée un nouvel objet Layer
avec les mêmes valeurs que ce dernier, et place ce nouvel objet au début de la collection de calques (
dans l’objet CompItem cible. Extrayez la copie en utilisant
intoComp.layer(1).
Effectuer une copie dans un calque modifie les positions d’index des calques déjà présents dans la composition
de destination. Cela équivaut à copier et coller un calque via l’interface utilisateur.
Paramètres
layers)
intoComp
Renvoi
Composition de destination et objet CompItem.
Aucun.
Méthode Layer duplicate()
app.project.item(index).layer(index).duplicate()
Description
Duplique le calque. Crée un nouvel objet Layer dans lequel toutes les valeurs sont identiques à celles de ce
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
Objet Layer.
Attribut Layer enabled
app.project.item(index).layer(index).enabled
Description
Lorsque cet attribut est défini sur true, le calque est activé ; sinon, sa valeur est false. Correspond à l’état du
bouton Vidéo correspondant au calque dans le panneau Montage.
Typ e
Booléen ; lecture/écriture.
86
Référence JavaScriptObjet Layer
87
Attribut Layer hasVideo
app.project.item(index).layer(index).hasVideo
Description
Lorsque cet attribut est défini sur true, le calque possède un bouton Vidéo (icône en forme d’œil) dans le
panneau Montage ; sinon, sa valeur est false.
Typ e
Booléen ; lecture seule.
Attribut Layer index
app.project.item(index).layer(index).index
Description
Position d’index du calque.
Typ e
Nombre entier compris dans la plage [1..numLayers] ; lecture seule.
Attribut Layer inPoint
app.project.item(index).layer(index).inPoint
Description
Point d’entrée du calque, exprimé en secondes.
Typ e
Valeur à virgule flottante comprise dans la plage [-10800.0..10800.0] (+/- 3 heures) ; lecture/écriture.
Attribut Layer isNameSet
app.project.item(index).layer(index).isNameSet
Description
True si la valeur de l’attribut Name a été définie explicitement et non automatiquement à partir de la source.
Typ e
Booléen ; lecture seule.
Attribut Layer locked
app.project.item(index).layer(index).locked
Description
Lorsque cet attribut est défini sur true, le calque est verrouillé ; sinon, sa valeur est false. Correspond à la
commande d’activation/de désactivation du verrouillage dans le panneau Calque.
Déplace ce calque à la toute première position de la pile de calques (premier calque).
Paramètres
Aucun.
Renvoi
Aucun.
Méthode Layer moveToEnd()
app.project.item(index).layer(index).moveToEnd()
Description
Déplace ce calque à la toute dernière position de la pile de calques (dernier calque).
Paramètres
Aucun.
Renvoi
Aucun.
88
Référence JavaScriptObjet Layer
89
Attribut Layer name
app.project.item(index).layer(index).name
Description
Nom du calque. Par défaut, il s’agit du même nom que celui de la source (lequel ne peut pas être modifié dans
le panneau Calque), mais vous pouvez le modifier.
Typ e
Chaîne ; lecture/écriture.
Attribut Layer nullLayer
app.project.item(index).layer(index).nullLayer
Description
Lorsque cet attribut est défini sur true, le calque a été créé en tant qu’objet nul ; sinon, sa valeur est false.
Typ e
Booléen ; lecture seule.
Attribut Layer outPoint
app.project.item(index).layer(index).outPoint
Description
Point de sortie du calque, exprimé en secondes.
Typ e
Valeur à virgule flottante comprise dans la plage [-10800.0..10800.0] (+/- 3 heures) ; lecture/écriture.
Attribut Layer parent
app.project.item(index).layer(index).parent
Description
Parent de ce calque ; peut être nul.
Les valeurs de décalage sont calculées de manière à compenser toute transformation supérieure dans
la hiérarchie. Ainsi, lorsque vous définissez le parent, il n’y a aucun déplacement apparent dans la
transformation du calque. Si, par exemple, la rotation du nouveau parent est de 30 degrés, une rotation
de -30 degrés est appliquée au calque enfant.
Pour définir le parent sans modifier les valeurs de transformation du calque enfant, utilisez la méthode
Définit le parent de ce calque sur le calque spécifié, sans modifier les valeurs de transformation du calque
enfant. Un déplacement de rotation, de translation ou de mise à l’échelle du calque enfant peut être apparent,
car les valeurs de transformation de ce calque sont combinées à celles de ses prédécesseurs.
Si vous ne souhaitez pas que le calque enfant se déplace, définissez l’attribut
parent directement. Dans ce cas,
un décalage est calculé et défini dans les trames de transformation du calque enfant afin d’empêcher le
déplacement de se produire.
Paramètres
newParent
Renvoi
Objet Layer dans la même composition.
Aucun.
Attribut Layer shy
app.project.item(index).layer(index).shy
Description
Lorsque cet attribut est défini sur true, le calque est discret, ce qui signifie qu’il est masqué dans le panneau
Calque si l’option Masquer calques discrets de la composition est activée.
Typ e
Booléen ; lecture/écriture.
90
Référence JavaScriptObjet Layer
91
Attribut Layer solo
app.project.item(index).layer(index).solo
Description
Lorsque cet attribut est défini sur true, le calque est isolé ; sinon, sa valeur est false.
Typ e
Booléen ; lecture/écriture.
Attribut Layer startTime
app.project.item(index).layer(index).startTime
Description
Heure de début du calque, exprimée en secondes.
Typ e
Valeur à virgule flottante comprise dans la plage [-10800.0..10800.0] (+/- 3 heures) ; lecture/écriture.
Attribut Layer stretch
app.project.item(index).layer(index).stretch
Description
Extension temporelle du calque, exprimée en pourcentage. Une valeur de 100 n’applique aucune extension.
Les valeurs comprises entre 0 et 1 sont définies sur 1. Les valeurs comprises entre -1 et 0 (0 exclus) sont
définies sur -1.
Typ e
Valeur à virgule flottante comprise dans la plage [-9900.0..9900.0] ; lecture/écriture.
Attribut Layer time
app.project.item(index).layer(index).time
Description
Instant courant du calque, exprimé en secondes.
Typ e
Valeur à virgule flottante ; lecture seule.
91
Référence JavaScriptObjet LayerCollection
92
Objet LayerCollection
app.project.item(index).layers
Description
L’objet LayerCollection représente un ensemble de calques. La LayerCollection appartenant à un objet
CompItem contient tous les objets Layer pour les calques de la composition. Les méthodes de l’objet
Collection vous permettent de manipuler la liste des calques.
• LayerCollection est une sous-classe de Collection. Toutes les méthodes et tous les attributs de Collection, outre
ceux énumérés ci-dessous, sont disponibles lorsque vous utilisez LayerCollection. Voir la section « Objet
Collection », page 51.
Exemple
Partant du principe que le premier élément du projet est un CompItem et que le second est un AVItem, le code
suivant permet d’afficher le nombre de calques dans la collection de calques de CompItem, d’ajouter un
nouveau calque basé sur un AVItem du projet et d’afficher le nouveau nombre 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);
Méthodes
MéthodeRéférenceDescription
add()
addNull()
addSolid()
addText()
addCamera()
addLight()
addShape()
byName()
precompose()
« Méthode LayerCollection add() »,
page 93
« Méthode LayerCollection addNull() »,
page 94
« Méthode LayerCollection addSolid() »,
page 94
« Méthode LayerCollection addText() »,
page 95
« Méthode LayerCollection
addCamera() », page 93
« Méthode LayerCollection addLight() »,
page 93
« Méthode LayerCollection
addShape() », page 94
« Méthode LayerCollection byName() »,
page 95
« Méthode LayerCollection
precompose() », page 96
Crée un nouveau AVLayer et l’ajoute à cette collection.
Crée un nouveau calque nul et l’ajoute à cette collection.
Crée un nouveau calque, un FootageItem avec un SolidSource, et
l’ajoute à cette collection.
Crée un nouveau calque de texte et l’ajoute à cette collection.
Crée un nouveau calque de caméra et l’ajoute à cette collection.
Crée un nouveau calque de lumière et l’ajoute à cette collection.
Crée un nouveau calque de forme et l’ajoute à cette collection.
Extrait l’objet calque portant le nom spécifié.
Rassemble les calques spécifiés dans une nouvelle composition.
Crée un nouvel objet AVLayer contenant l’élément spécifié et l’ajoute à cette collection.
Cette méthode génère une exception si l’élément ne peut pas être ajouté en tant que calque à cette composition.
Paramètres
item
duration
Renvoi
Objet AVItem de l’élément à ajouter.
Facultatif, durée en secondes d’un calque fixe, valeur à virgule flottante. Utilisé uniquement si l’élément
contient une partie de métrage fixe. N’affecte ni les films, ni les séquences, ni l’audio.
Défini, ce paramètre détermine la durée du nouveau calque. Sinon, la durée est définie en fonction des
préférences utilisateur. Par défaut, la durée est identique à celle du CompItem. Pour spécifier une valeur
préférée, choisissez Edition > Préférences > Importer ( Windows) ou After Effects > Préférences > Importer
(Mac OS), puis sélectionnez les options désirées dans la zone Métrage fixe.
Crée un nouveau calque de caméra et ajoute l’objet CameraLayer à cette collection.
Paramètres
name
centerPoint
Chaîne contenant le nom du nouveau calque.
Centre de la nouvelle caméra, tableau de valeurs à virgule flottante [x, y]. Permet de définir les valeurs
initiales x et y de la propriété Point ciblé de la nouvelle caméra. La valeur z est égale à 0.
Crée un nouveau calque de lumière et ajoute l’objet LightLayer à cette collection.
Paramètres
name
centerPoint
Renvoi
Objet LightLayer.
Chaîne contenant le nom du nouveau calque.
Centre de la nouvelle lumière, tableau de valeurs à virgule flottante [x, y].
93
Référence JavaScriptObjet LayerCollection
94
Méthode LayerCollection addNull()
app.project.item(index).layers.addNull(duration)
Description
Crée un nouveau calque nul et ajoute l’objet AVLayer à cette collection. Cela revient à sélectionner la
commande Calque > Créer > Objet nul.
Paramètres
duration
Renvoi
Facultatif, durée en secondes d’un calque fixe, valeur à virgule flottante.
Défini, ce paramètre détermine la durée du nouveau calque. Sinon, la durée est définie en fonction des
préférences utilisateur. Par défaut, la durée est identique à celle du CompItem. Pour spécifier une valeur préférée,
choisissez Edition > Préférences > Importer (Windows) ou After Effects > Préférences > Importer (Mac OS), puis
sélectionnez les options désirées dans la zone Métrage fixe.
Objet AVLayer.
Méthode LayerCollection addShape()
app.project.item(index).layers.addShape()
Description
Crée un nouvel objet ShapeLayer pour un nouveau calque de forme vide. Utilisez l’objet ShapeLayer pour
ajouter des propriétés, telles qu’une forme, un fond, un contour et des filtres de contour.
Cela revient au même que d’utiliser un outil de forme en mode « L’outil crée une forme ». Les outils ajoutent
automatiquement un groupe de vecteurs incluant un fond et un contour définis dans les options des outils.
Crée un nouvel objet SolidSource, avec les valeurs spécifiées ; définit le nouveau SolidSource comme la valeur
mainSource d’un nouvel objet FootageItem et ajoute le FootageItem au projet. Crée un nouvel objet AVLayer,
définit le nouveau FootageItem comme
Paramètres
color
name
width
Couleur du solide, tableau de quatre valeurs à virgule flottante [R, V, B, A], comprises dans la plage [0.0..1.0].
Chaîne contenant le nom du solide.
Largeur du solide, en pixels. Nombre entier compris dans la plage [4..30000].
source et ajoute le calque à cette collection.
94
Référence JavaScriptObjet LayerCollection
95
height
pixelAspect
duration
Renvoi
Hauteur du solide, en pixels. Nombre entier compris dans la plage [4..30000].
Format des pixels du solide. Valeur à virgule flottante comprise dans la plage [0.01..100.0].
Facultatif, durée en secondes d’un calque fixe, valeur à virgule flottante.
Défini, ce paramètre détermine la durée du nouveau calque. Sinon, la durée est définie en fonction des
préférences utilisateur. Par défaut, la durée est identique à celle du CompItem. Pour spécifier une valeur
préférée, choisissez Edition > Préférences > Importer (Windows) ou After Effects > Préférences > Importer
(Mac OS), puis sélectionnez les options désirées dans la zone Métrage fixe.
Crée un nouveau calque de texte et ajoute le nouvel objet TextLayer à cette collection.
Paramètres
sourceText
Facultatif ; chaîne contenant le tex te source du nouveau calque ou objet TextDocument contenant
le texte source du nouveau calque. Voir la section « Objet TextDocument », page 173.
Renvoi
Objet TextLayer.
Méthode LayerCollection byName()
app.project.item(index).layers.byName(name)
Description
Renvoie le premier calque (calque supérieur) trouvé dans cette collection avec le nom spécifié, ou une valeur
nulle si aucun calque portant le nom spécifié n’a été trouvé.
Crée un nouvel objet CompItem et déplace les calques spécifiés dans sa collection de calques. Les calques
individuels sont alors supprimés de cette collection et le nouveau CompItem y est ajouté.
Paramètres
layerIndices
name
moveAllAttributes
Renvoi
Objet CompItem.
Index de position des calques à récupérer. Tableau d’entiers.
Nom du nouvel objet CompItem.
Facultatif. Si la valeur est true (par défaut), tous les attributs de la nouvelle
composition sont conservés. Cela revient à sélecti onner l’option « Transférer tous
les attributs vers la nouvelle composition » de la boîte de dialogue
Précomposition.
Vous pouvez définir cette valeur sur false uniquement s’il n’existe qu’un seul
index dans le tableau layerIndices. Cela revient à sélectionner l’option
« Laisser tous les attributs dans » de la boîte de dialogue Précomposition.
96
Référence JavaScriptObjet LightLayer
97
Objet LightLayer
app.project.item(index).layer(index)
Description
L’objet LightLayer représente un calque de lumière dans une composition. Vous pouvez le créer à l’aide de
la méthode
page 93. Pour accéder à cet objet dans la collection de calques d’un élément, vous pouvez utiliser son numéro
d’index ou encore une chaîne de nom.
• LightLayer est une sous-classe de Layer. Toutes les méthodes et tous les attributs de Layer sont disponibles
lorsque vous utilisez LightLayer. Voir la section « Objet Layer », page 83.
Propriétés AE
LightLayer ne définit pas d’attribut supplémentaire, mais possède des propriétés AE qui diffèrent des autres
types de calques. Il dispose des propriétés et des groupes de propriétés suivants :
Marker
Transform
Point of Interest
Position
Scale
Orientation
X Rotation
Y Rotation
Rotation
Opacity
Light Options
Intensity
Color
Cone Angle
Cone Feather
Casts Shadows
Shadow Darkness
Shadow Diffusion
addLight de l’objet LayerCollection ; voir la section « Méthode LayerCollection addLight() »,
97
Référence JavaScriptObjet MarkerValue
98
Objet MarkerValue
new MarkerValue(comment, chapter, url, frameTarget, cuePointName, params)
Description
L’objet MarkerValue représente un repère de calque qui associe un commentaire, et éventuellement un point
de référence d’un chapitre, un lien vers une page Web ou un signal de départ vidéo Flash, à un point particulier
d’un calque. Vous le créez à l’aide du constructeur ; tous les arguments à l’exception de
facultatifs. Tous les arguments sont des chaînes définies dans les attributs correspondants de l’objet
MarkerValue renvoyé, sauf
ensuite par le biais des méthodes
params. Il s’agit d’un tableau comprenant des paires de valeurs clés, accessibles
getParameters() et setParameters(). Un script peut définir un nombre
indifférent de paires de paramètres ; leur ordre ne reflète pas l’ordre d’affichage dans l’application.
Pour associer un repère à un calque, définissez l’objet MarkerValue dans la propriété AE
Pour plus d’informations sur l’utilisation des repères, consultez la rubrique « Utilisation des repères » dans
l’aide d’After Effects.
Attributs
AttributRéférenceDescription
comment
chapter
cuePointName
eventCuePoint
url
frameTarget
« Attribut MarkerValue comment »,
page 99
« Attribut MarkerValue chapter »,
page 99
« Attribut Mar kerValue cuePointName »,
page 99
« Attribut MarkerValue eventCuePoint »,
page 99
« Attribut MarkerValue url », page 101URL de la page Web à associer au calque.
« Attribut MarkerValue frameTarget »,
page 99
Commentaire sur le calque associé.
Point de référence d’un lien de chapitre pour le calque associé.
Nom du signal de départ vidéo Flash.
Indique si le signal de départ vidéo Flash s’applique à un
événement ou à la navigation.
Image cible sur la page Web spécifiée par url.
comment sont
Marker du calque.
Méthodes
MéthodeRéférenceDescription
getParameters()
setParameters()
Exemples
« Méthode MarkerValue
getParameters() », page 100
« Méthode MarkerValue
setParameters() », page 100
Extrait les paires de valeurs clés associées à la valeur du repère.
Définit les paires de valeurs clés associées à la valeur du repère.
• Pour définir un repère indiquant « Fade Up » au repère 2 secondes :
var myMarker = new MarkerValue("Fade Up");
myLayer.property("Marker").setValueAtTime(2, myMarker);
• Pour obtenir des valeurs comment d’un repère particulier :
var commentOfFirstMarker = app.project.item(1).layer(1).property("Marker").keyValue(1).comment;
var commentOfMarkerAtTime4 =
app.project.item(1).layer(1).property("Marker").valueAtTime(4.0,true).comment
var markerProperty = app.project.item(1).layer(1).property("Marker");
var markerValueAtTimeClosestToTime4 =
markerProperty.keyValue(markerProperty.nearestKeyIndex(4.0));
var commentOfMarkerClosestToTime4 = markerValueAtTimeClosestToTime4.comment;
Lien texte de chapitre pour ce repère. Les liens de chapitre déclenchent un saut vers un chapitre d’un film
QuickTime ou d’un autre format prenant en charge les repères de chapitre.
Associe un ensemble de paires de valeurs clés pour les paramètres de signal de départ vidéo Flash, pour un
signal de départ associé à cette valeur de repère. Un signal de départ peut contenir un nombre indifférent de
paramètres, mais vous pouvez seulement en ajouter trois via l’interface utilisateur ; utilisez cette méthode
pour ajouter plus de trois paramètres.
Paramètres
keyValuePairs
Renvoi
Objet contenant les paires de valeurs clés en tant qu’attributs et valeurs. La méthode toString()
de l’objet est appelée pour affecter la valeur de chaîne de chaque attribut à la clé nommée.
Aucun.
Exemple
var mv = new MarkerValue("My Marker");
var parms = new Object;
parms.timeToBlink = 1;
parms.assignMe = "A string"
mv.setParameters(parms);
myLayer.property("Marker").setValueAtTime(2, mv);
100
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.