module inscription newsletter haut de page forum mobile

Rejeter la notice

ateliers live resolve avec forest

Ateliers Live Resolve - Formez-vous en ligne tous les mois avec Forest !
Faites rapidement évoluer la qualité de vos étalonnage avec nos ateliers mensuels de 3h.
Toutes les infos
Rejeter la notice

Nouvelle Formation Prise de son : les inscriptions sont ouvertes !
Maîtrisez la qualité de vos prises de son avec notre formation théorique et pratique de 3 jours ! Du 14 au 16 mai 2024 à Paris.

[CommentFaire?] Renommer une compo par expression

Discussion dans 'Adobe After Effects' créé par f.comme.phab, 5 Mars 2019.

  1. f.comme.phab

    Points Repaire:
    1 300
    Recos reçues:
    2
    Messages:
    96
    Appréciations:
    +13 / 46 / -0
    Bonjour les Effets d'Après,

    Existe-t-il une expression qui renomme une compo en utilisant un calque texte (et non le contraire) ?
    Exp : j'écris dans un calque texte "Ma_vidéo_2019" et dans la fenêtre projet la compo prend la mème appellation.

    Merci,
    Phab
     
  2. f.comme.phab

    Points Repaire:
    1 300
    Recos reçues:
    2
    Messages:
    96
    Appréciations:
    +13 / 46 / -0
    Apparemment non, les expressions sont réservées aux calques.
    Pour interagir avec AE il faudrait programmer en scripts...
     
  3. LiquidPro

    So

    Points Repaire:
    15 325
    Recos reçues:
    290
    Messages:
    2 697
    Appréciations:
    +277 / 848 / -3
    J'avais répondu mais ma réponse a disparue...

    Je n'ai rien trouvé dans le langage de script d'AE permettant de faire cela. Il existe des scripts qui renomment les objets par lot selon des règles, mais pas les compositions (on ne peut que lire leur nom, pas le changer).
     
  4. f.comme.phab

    Points Repaire:
    1 300
    Recos reçues:
    2
    Messages:
    96
    Appréciations:
    +13 / 46 / -0
    Merci LiquidPro pour cette précision
     
  5. giroudf

    So

    Points Repaire:
    15 400
    Recos reçues:
    442
    Messages:
    17 963
    Appréciations:
    +728 / 3 063 / -30
    comme ca ?
    //version 1.9 brings code up-to-date to work as dockable, if desired, and makes window more compact
    var vers = '1.9';

    function buildUI(this_obj_) {
    var win = (this_obj_ instanceof Panel)
    ? this_obj_
    : new Window('palette', 'Rename Project Items (v' + vers + ')',[300,100,524,362+22]);

    win.nameSearchLabel = win.add('statictext', [14,15,314,37], 'Search in Names:');
    win.nameSearchT = win.add('edittext', [25,40,325-125,62], '');
    win.nameReplaceLabel = win.add('statictext', [14,73,314,95], 'Replace with:');
    win.nameReplaceT = win.add('edittext', [25,98,325-125,120], '');
    win.typePnl = win.add('panel', [16,138,206,243], 'Rename Type:');

    win.repRad = win.typePnl.add('radiobutton', [14,13,174,35], 'Search and Replace');
    win.repRad.value = true;
    win.repRad.onClick = function () {
    doTextChange(win.nameSearchLabel, 'Search in Names:');
    doTextChange(win.nameReplaceLabel, 'Replace with:');
    };
    win.appRad = win.typePnl.add('radiobutton', [14,39,174,61], 'Append');
    win.appRad.onClick = function () {
    doTextChange(win.nameSearchLabel, 'Append Head with:');
    doTextChange(win.nameReplaceLabel, 'Append Tail with:');
    };
    win.remRad = win.typePnl.add('radiobutton', [14,65,174,87], 'Remove # of Characters');
    win.remRad.onClick = function () {
    doTextChange(win.nameSearchLabel, 'Remove from head (number):');
    doTextChange(win.nameReplaceLabel, 'Remove from tail (number):');
    };
    //[16,138,206,243]
    win.okBtn = win.add('button', [140,253,140+66,253+20], 'OK', {name:'OK'});
    win.okBtn.onClick = function () { doRenaming(this.parent); };

    win.cancBtn = win.add('button', [16,253,16+77,253+20], 'Close', {name:'Cancel'});
    win.cancBtn.onClick = function () {this.parent.close(1)};
    win.cancBtn.visible = false;

    return win
    }
    var w = buildUI(this);
    if (w.toString() == "[object Panel]") {
    w;
    } else {
    w.show();
    w.cancBtn.visible = true;
    }

    function doTextChange(target, newText) {
    target.text = newText;
    }

    function splitReplace(st, ss, rs) {
    var stArray = st.split(ss);
    var patchedString = "";
    var i = 0;
    while (i < (stArray.length)) {
    if (i == (stArray.length-1)) {rs = "";}
    patchedString = (patchedString + (stArray + rs) );
    i = (i + 1);
    }
    return patchedString
    }

    function doRenaming(theDialog) {
    // make sure comps are selected
    var everyItem = app.project.items;
    selectedObs = new Array();
    for (var i = everyItem.length; i >= 1; i--) {
    eyeTem = everyItem;
    if (eyeTem.selected) {
    selectedObs[selectedObs.length] = eyeTem;
    }
    }

    if ( selectedObs.length == 0 ) {
    alert("No Project Items selected.");
    } else {
    var s = selectedObs;
    var selNum = s.length;

    app.beginUndoGroup("the renaming of project items");
    var inputError = false;

    for (var n = (selNum-1); n >= 0; n--) {
    if ( ! inputError ) {
    item = s[n];
    oldName = item.name;
    sear = theDialog.nameSearchT.text;
    repl = theDialog.nameReplaceT.text
    newName = oldName;

    if (theDialog.repRad.value) {
    newName = splitReplace(newName, sear, repl);
    if ((parseFloat(app.version) < 9.0)) {newName=(newName.substr(0,31));}
    } else if (theDialog.appRad.value) {
    newName=(sear + oldName + repl );
    } else if (theDialog.remRad.value) {

    if (sear == "") {sear = 0;}
    if (repl == "") {repl = 0;}
    sear = ( parseFloat(sear) );
    repl = ( parseFloat(repl) );
    if ( (isNaN(sear)) || (isNaN(repl)) ) {
    alert('Error: Not a number?');
    inputError = true;
    } else {
    newName=(newName.substr( sear, oldName.length ));
    newName=(newName.substr( 0, newName.length-repl ));
    sear="";
    repl="";
    }

    }
    //////////////////////
    try {
    item.name = newName;
    } catch (error ) {
    // just ignore errors; if it can't be named, what the hay
    }
    sear="";
    repl="";
    //////////////////////
    }
    }
    app.endUndoGroup();
    }
    }
     
  6. f.comme.phab

    Points Repaire:
    1 300
    Recos reçues:
    2
    Messages:
    96
    Appréciations:
    +13 / 46 / -0
    Merci giroudf ;)

    Du coup, j'ai réalisé un tuto sur le sujet en utilisant les expressions :)


    Bonne visualisation,
     
Chargement...

Partager cette page

Dernières Occasions

 
Vous souhaitez annoncer sur le Repaire ? Contactez-nous