Adobe создает сценарии странного поведения при применении эффектов в adobe primer pro

#javascript #effects #effect #adobe-premiere

Вопрос:

Хорошо, у меня проблема! Я хочу всегда применять 2 определенных эффекта к последнему клипу, который я добавляю в определенную дорожку в своем проекте.

Но что-то странное происходит, когда у меня в треке больше одного клипа!

Когда я применяю 2 эффекта , и у меня есть только 1 клип в треке , все работает нормально , но когда у меня 2 клипа, только первый эффект применяется ко второму клипу, а другой получает ошибку, и когда у меня 3 клипа, первый эффект применяется к 3-му клипу со всеми параметрами, но второй эффект добавляется ко 2-му клипу без параметров, также с ошибкой, и когда у меня 5 клипов, первый эффект применяется к 5-му клипу со всеми параметрами, но второй эффект добавляется к 3-му клипу без параметров, также с ошибкой!!!! Вот мой код

 #target premierepro


app.enableQE();

app.project.activeSequence.getPlayerPosition();

var project =   app.project;
var sequence= project.activeSequence;
var tracks = sequence.videoTracks;

var nameOfEffectToApply = "Color Key";

var trackTraget = 14;

var numOfClips =(app.project.activeSequence.videoTracks[trackTraget].clips.numItems);

var clip = qe.project.getActiveSequence().getVideoTrackAt(trackTraget).getItemAt(numOfClips);



clip.addVideoEffect(qe.project.getVideoEffectByName(nameOfEffectToApply));

var mainTrack = tracks [trackTraget] ;

var clips =mainTrack.clips;

var mainClip = clips[numOfClips-1];

var components = mainClip.components;
var effect1 ;

for (var i =0 ; i<components.numItems; i  ){
    if(components[i].displayName == "Motion"){
        effect1 = components[i];
        }
    }

effect1.properties[1].setValue(21 , true);

var effect2 ;

for (var i =0 ; i<components.numItems; i  ){
    if(components[i].displayName == "Color Key"){
        effect2 = components[i];
        }
    }


effect2.properties[0].setValue(000000  , true);
effect2.properties[1].setValue(0  , true);
effect2.properties[2].setValue(-5  , true);
effect2.properties[3].setValue(100  , true);