#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);