2016-03-19 8 views
0

次の拡張スクリプト(json2.js)を使用して、ローカルJSONファイルを読み込んで、プロジェクトのテキストレイヤーを変更しました。このスクリプトを修正して、実行時にディレクトリに追加された新しいJSONファイルを継続的に監視し、残りのスクリプトを実行できるようにするにはどうすればよいですか?オブジェクトモデルでAfter EffectsでJSON /テキストファイルを監視するためのフォルダを設定するにはどうすればよいですか?

#include "json2.js" // jshint ignore:line 
var script_file = File($.fileName); // get the location of the script file 
var script_file_path = script_file.path; // get the path 

var file_to_read = File(script_file_path + "/unique-job-id.json"); 
var my_JSON_object = null; // create an empty variable 
var content; // this will hold the String content from the file 
    if(file_to_read !== false){// if it is really there 
    file_to_read.open('r'); // open it 
    content = file_to_read.read(); // read it 
    my_JSON_object = JSON.parse(content);// now evaluate the string from the file 
    //alert(my_JSON_object.arr[1]); // if it all went fine we have now a JSON Object instead of a string call length 
    var theComposition = app.project.item(1); 
    var theTextLayer = theComposition.layers[1]; 
    theTextLayer.property("Source Text").setValue(my_JSON_object.arr[2]); 
    file_to_read.close(); // always close files after reading 
    }else{ 
    alert("Error reading JSON"); // if something went wrong 
    } 
+0

私はバックグラウンドで永続的に実行するスクリプトを持つことが可能ではないと思います。スクリプトは、現在実行中のUIスレッドをブロックします。 After Effectsのプラグイン開発について調べることができます。 [adobe.com/devnet/aftereffects](http://www.adobe.com/devnet/aftereffects.html) – fabianmoronzirfas

答えて

0

ルック: アプリケーションscheduleTask()メソッド app.scheduleTask(stringToEのXECUTE、遅延、リピート) 説明: スケジュール遅延実行のために指定されたJavaScript。

のでapp.scheduleTask(文字列、遅延、真)は、あなたがこのfor.Like探している正確に何である:

app.schduleTask('taskToWatchFile()',1000,true); 

function taskToWatchFile(){ 
/* 
*Add your code here 
*/ 
} 
関連する問題