File d'attente de Rendu
L'objet renderQueue
L'objet renderQueue permet d'accéder aux informations relatives à la file d'attente de rendu d'un projet.
Cet objet est une collection d'items, comme l'étaient les items de la fenêtre de projet
ou en encore les calques d'une composition.
On pourra ajouter un élément dans la file grâce à la méthode add().
Nous n'ajouterons pas directement un élément à la file mais plutôt à sa collection d'items; cette collection s'appelle items.
Prenons un exemple, supposons que l'on veuille ajouter la composition active à la file de rendu, nous pourrions écrire cela :
myProj = app.project;
myComp = myProj.activeItem;
myRenderQueue = myProj.renderQueue;
myQueueItem = myRenderQueue.items.add(myComp);
Notre composition vient d'être ajoutée dans la file avec les paramètres par défaut.
Paramètres de rendu
Une fois que l'élément a été ajouté à la file d'attente, il devient un item de sa collection. L'attribut numItems indiquera le nombre d'éléments se trouvant dans la file et on pourra accèder à un
item de la file par la méthode item() en lui précisant l'index de l'élément (i.e. une valeur entre 1 et numItems).
On aurait également pu ajouter notre élément dans la file et le récupérer de la manière suivante :
myRenderQueue.items.add(myComp);
myQueueItem = myRenderQueue.item(1);
Nous pouvons maintenant régler ses paramètres de rendu.
applyTemplate() :
La méthode applyTemplate() permet de choisir un modèle que l'on aurait défini nous-même.
Si nous avons un modèle de paramètres de rendu que nous aimerions utiliser, on se servira
alors de cette méthode en lui donnant le nom du modèle à appliquer.
Pour indiquer le modèle de paramètres qui s'appelle par exemple "best", nous écrirons :
myQueueItem.applyTemplate("best");
outputModules et outputModule() :
L'objet outputModules renvoit l'ensemble des modules de sortie pour un élément de la file. On rappelle ici
qu'un seul rendu peut avoir plusieurs modules de sortie (on peut ajouter un module de sortie en sélectionnnant l'élément dans la file
et en choisissant "Ajouter un modèle de sortie" dans le menu "Composition"). L'attribut numOutputModules représentera le nombre total de modules de sortie pour un item de la file (en général il sera égal à 1).
La méthode outputModule() renvoit quant à elle le modèle de sortie dont on précise l'index en paramètre.
Supposons que nous ayons un modèle de module de sortie nommé "QT_sorenson3_high" et que nous voulions l'appliquer pour notre rendu. Nous pourrons écrire :
myOM = myQueueItem.outputModule(1);
myOM.applyTemplate("QT_sorenson3_high");
logType :
Bien que l'option de compte-rendu (CR) ne soit en général pas d'une grande utilité,
il est possible de la paramétrer par l'intermédiaire de l'attribut logType.
Sa valeur est un type énuméré qui peut être LogType.ERRORS_ONLY, LogType.ERRORS_AND_SETTINGS ou LogType.ERRORS_AND_PER_FRAME_INFO (respectivement Erreurs uniquement, Paramètres supplémentaires ou
Informations supplémentaires par image).
myQueueItem.logType = LogType.ERRORS_AND_SETTINGS;
file :
Pour définir le nom du fichier en sortie, on utilisera la méthode new File(). Il faut lui préciser en paramètre le chemin du fichier à créer ainsi que son nom.
Pour déterminer le dossier de destination, on peut le faire par exemple par l'intermédiaire d'une boîte de dialogue proposée à l'utilisateur ("folderGetDialog()").
Pour le nom du fichier de sortie, supposons que nous
souhaitions le nom de la composition suivie de sa taille, nous pourrions écrire :
myPath = folderGetDialog("Choisir un dossier de destination");
myOM.file = new File(myPath.toString() + "/[compName]_[width]x[height].[fileExtension]");

timeSpanStart et timeSpanDuration :
L'attribut timeSpanStart nous permet de définir l'instant de commencement du rendu dans la composition et timeSpanDuration la durée.
Ils s'expriment en secondes. L'instant de fin est calculé en additionnant la durée et l'instant de départ.
myQueueItem.timeSpanStart = 2;
myQueueItem.timeSpanDuration = 5;
status :
Il est également possible d'avoir accès au statut d'un item dans la file. On utilise pour cela l'attribut status dont la valeur est un type énuméré
(on consultera le guide pour connaître l'ensemble des valeurs possibles).
if(myQueueItem.status == RQItemStatus.QUEUED)
alert("L'élément est prêt pour le rendu.");
Le rendu
Pour lancer un rendu nous utiliserons la méthode render(). Les items en attente seront rendus les uns après les autres
en respectant l'ordre dans lequel ils se trouvent dans la file.
myRenderQueue.render();
Si nous souhaitons supprimer un item de la file nous utiliserons la méthode remove() ( myQueueItem.remove(); ).
Il existe aussi l'attribut rendering qui indique si oui ou non un rendu est en cours et
si cela est nécessaire on pourra également contrôler le rendu pour l'interrompre ou le mettre en pause en utilisant
la méthode stopRendering() ou pauseRendering(). On passera à cette dernière un paramètre de valeur
'true' pour qu'elle soit effective. Et enfin, on pourrait aussi utiliser à l'attribut startTime pour obtenir la date et l'heure de début du rendu.
|