スポンサーサイト

 --, -- --:--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

指定したフレーム番号だけ別クリップのフレームを挿入する関数 (2)

 11, 2014 23:22
修正版です。
Replace 関数必須なので合わせて利用してください。

今回の修正に伴い、下記の表記形式でも正常に動作することを確認しました。

TrimBlend(v1,v2,"""
0,
1,
2,
2156
""")


以下の修正点があります。
・引数 list に改行コードが含まれている場合のバグ修正
・引数 list にフレーム番号 1 が含まれていた時にフレーム数が倍になるバグ修正

function TrimBlend(clip v1, clip v2, string list) {
list=Replace(list, chr(10), "")
list=RightStr(list, 1)=="," ? LeftStr(list,StrLen(list)-1) : list
list=FindStr(list, ",")==0 ? "" : MidStr(list, FindStr(list, ",")+1)
numstr=FindStr(list, ",")==0 ? list : LeftStr(list, FindStr(list, ",")-1)
num=Floor(value(numstr))
v1=num==0 ? v2.Trim(0,-1)++v1.Trim(1,0) : v1
v1=num==1 ? v1.Trim(0,-1)++v2.Trim(1,1)++v1.Trim(2,0) : v1
v1=num>=2 && num < FrameCount(v1)-1 ? v1.Trim(0,num-1)++v2.Trim(num,num)++v1.Trim(num+1,0) : v1
v1=num==FrameCount(v1)-1 ? v1.Trim(0,num-1)++v2.Trim(num,num) : v1
return StrLen(list)==0 ? v1 : TrimBlend(v1, v2, list)
}

function Replace(string str, string a, string b) {
str=FindStr(str, a)==0 ? str : LeftStr(str, FindStr(str, a)-1)+b+MidStr(str, FindStr(str, a)+1, StrLen(str)-FindStr(str, a))
return FindStr(str, a)==0 ? str : Replace(str, a, b)
}



関連記事
指定したフレーム番号だけ別クリップのフレームを挿入する関数



twitter
↑参考になったという方は、是非記事のツイートをお願いします


スポンサーサイト

Tag:Trim クリップ ブレンド 結合

COMMENT - 1

Sat
2015.01.24
03:25

 #-

URL

例にあるTrimBlend(v1,v2,"2,5,10")の場合、v2のフレーム番号2は挿入されない。
TrimBlend(v1,v2,",2,5,10")とした場合、v2のフレーム番号2は挿入される。

Edit | Reply | 



WHAT'S NEW?

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。