ほぼ個人用。Premiere Proはスクリプト書く度に調べ回る事になるのでTIPSでまとめておくことにする。
外部スクリプト取り込み
//@include 'functions.jsx'
現在のシーケンスを取得 app.project.activeSequence
var seq = app.project.activeSequence;
var seqH = seq.frameSizeHorizontal;//幅
var seqV = seq.frameSizeVertical;//高さ
シーケンス設定取得 getSettings()
var seq = app.project.activeSequence;
var Pwidth = seq.getSettings(); //セッティング一覧
var Pwidth = seq.getSettings().previewFrameWidth; //プレビュー幅
var Phigh = seq.getSettings().previewFrameHeight;//ブレビュー高さ
var Vwidth = seq.getSettings().videoFrameWidth;//ビデオ幅
var Vhigh = seq.getSettings().videoFrameHeight;//ビデオ高
シーケンス設定変更 setSettings
//シーケンスのビデオ幅と高さ設定変更
var seqSettings = seq.getSettings();
seqSettings.videoFrameWidth = 1280;
seqSettings.videoFrameHeight = 720;
seq.setSettings(seqSettings);
現在選択中のビデオトラックとクリップを取得
var seq = app.project.activeSequence;//現在のシーケンス
for (var i = 0; i < seq.videoTracks.length; i++) {
var videoTrack = seq.videoTracks[i];//ビデオ選択
for (var j = 0; j < videoTrack.clips.length; j++) {
var clip = videoTrack.clips[j];//クリップ選択
if (clip.isSelected()) {//選択したクリップ、videoTrackは現在のビデオ、clipは現在のクリップ
}
}
}
エフェクト取得と設定
for (var k = 0; k < clip.components.numItems; k++) {
component = clip.components[k];
if (component.displayName.match(/テキスト/)) {//クリップエフェクト項目
for (var l = 0; l < component.properties.numItems; l++) {
componentPropaty = component.properties[l];
if (componentPropaty.displayName.match(/スケール/)) {//クリップエフェクト内項目名
componentPropaty.setValue(100, true);
}
}
}
}
書き出す文字列が文字化けする時の対処
premiereProで出力するファイルは文字コードがShiftJisで、PremiereProではUTF-8を読み込むので、ファイルの文字コードを変更する。
flag = fileObj.open("w");
if (flag == true) {
fileObj.encoding = "UTF-8"
fileObj.write(text);
fileObj.close();
}
アイテムの時間を設定する。
clipのstartに秒数を足してendに入れる。この時、time形式にする必要がある。
var myTime = new Time();
myTime.seconds = clip.start.seconds + 15;
clip.end = myTime;