module inscription newsletter haut de page forum mobile

Ateliers et Formations

[CommentFaire?] Script : connaître l'index de l'item courant

Discussion in 'Archives moteurs' started by stranger, Apr 2, 2011.

Tags:
  1. stranger

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    1,000
    Likes Received:
    0
    Messages:
    386
    Salut à tous,

    Je cherche à mettre au point un script tout simple, idiot même, mais qui ne marche pas en l'état...
    Il s'agirait de connaître l'index de l'élément actif dans la fenêtre de projet. Aussi étonnant que ça puisse paraître, il n'y a pas à ma connaissance de fonction dans AE pour obtenir cette info. Pire, l'activeItem dans app.project ne renvoie qu'un index non défini.

    Voici mon code en l'état (très simple, vous en conviendrez) :
    Code:
    var myItem = app.project.activeItem;
    clearOutput();
    writeLn ("L'item courant est ''" + myItem.name + "''");
    writeLn ("et a pour index : " + myItem.index + " (/" + app.project.numItems + ")");
    Bien sûr je pourrais récupérer l'id (et non l'index) de l'item courant mais ce ne sera pas aussi utile pour scripter par la suite...

    Si l'un de vous connait un moyen de contourner cette limitation, je suis preneur. :-)

    D'avance merci,
     
  2. kraschtm

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    300
    Likes Received:
    1
    Messages:
    2
    je pense que ca devrait faire l'affaire :

    Code:
    var myItem = app.project.activeItem;
    var myItemName = app.project.activeItem.name;
    for(i=1;i<=app.project.items.length;i++)
    if (app.project.activeItem.id==app.project.item(i).id)
    {clearOutput();
    	writeLn ("L'item courant est ''" + myItem.name + "''");
    	writeLn ("et a pour index : " + i + " (/" + app.project.numItems + ")");
    	break}
    
     
    • Je recommande ! Je recommande ! x 1
  3. stranger

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    1,000
    Likes Received:
    0
    Messages:
    386
    Tu es grand ! :-)
     
  4. mkalt0235

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    1,650
    Likes Received:
    2
    Messages:
    506
    par index, tu veux dire bien l'ordre courant dans la timeline ?
    J'ai jamais scripté mais pour les expressions, j'utilise simplement "index".
     
  5. stranger

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    1,000
    Likes Received:
    0
    Messages:
    386
    Non là il s'agit de l'ordre des éléments (footages, compos...) dans la fenêtre de projet. Un script JSX ne peut appeler un élément dans un projet After que par son numéro d'index, qui est indiqué nulle part. Autant dire que quand tu as un gros projet, s'il faut tout compter à la main à chaque fois, tu te tires une balle... ;-)

    Sinon, je n'ai peut-être pas bien compris ce que tu as écrit mais, dans la timeline, l'index de chaque calque est lui bien indiqué (colonne #).
     
  6. mkalt0235

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    1,650
    Likes Received:
    2
    Messages:
    506
    Comme je le disais précédemment, je ne sais pas si ça peut s'appliquer au script.
    J'utilise par exemple une expression pour répartir des frames d'une précomp dans une nouvelle comp pour en faire une image fixe où chacune des préframes est visible.
    Pour faire une timeremap automatique en fonction de l'ordre des calques, j'utilise:
    Code:
    framesToTime(index-1 )
    mais bon ça marche placé sur un calque spécifique mais je ne sais pas comment ça s'appliquerait à un élément actif.
    layer.index peut être ?
     
Loading...

Share This Page

Vous souhaitez annoncer sur le Repaire ? Contactez-nous