0

タイムラインにマーカーを追加し、各マーカーの静止画を一度にエクスポートできる Premiere pro のスクリプトを作成しています。ただし、静止画が以前に作成されているかどうかを確認する関数を作成すると、関数は以前に作成された静止画を見つけたが、それでも新しい静止画を作成することを通知します。基本的に: 関数は true を返しますが、else{} を実行します。

    //checks if the frame that is about to be exported already exists 
        if(checkIfExist(app.project.rootItem, outputFile)){
            alert("frame already exists");
        }else{
        //This is where the actual still gets created and imported
            activeSequence.exportFramePNG(time, outputFileName);
        //here the previously created item gets moved to the appropriate bin (This is working great ATM)
            moveToBin(outputFile);
       }
    }
}
//This function is meant to check if an item exists in the project bin. It does this by looping though all the items in the array from the start. 
function checkIfExist(currentItem, name){
    for(var i = 0; i<currentItem.children.numItems; i++){
        currentChild = currentItem.children[i];
        if(currentChild.name.toUpperCase() === name.toUpperCase()){
            alert("Found:   " + currentChild.name);
            return true;
        }if(currentChild.type == ProjectItemType.BIN){
            checkIfExist(currentChild, name);
        }
    }
    return false;
}
4

1 に答える 1