1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Premiere Pro のAPI、Scripts TIPS

Last updated at Posted at 2022-01-09

ほぼ個人用。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;
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?