スポンサーサイト

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

普段使っている雑多関数

 25, 2015 06:12
#先頭、末尾のフレームコピー簡略
function Copy(clip c, int "startend", int "count"){
startend=default(startend,0)
count=default(count,1)
return startend==0?c.FreezeFrame(0,0+count-1,abs(count)): \
startend==1?c.FreezeFrame(c.framecount-1-abs(count),c.framecount-1,c.framecount-1-abs(count)):c
}

#最終フレーム片フィールド
function EraseLOGO2(clip clip, string "logofile", string "logoname", int "start", int "end", int "pos_x", int "pos_y", int "depth", int "yc_y", int "yc_u", int "yc_v") {
clip=clip.EraseLOGO(logofile=logofile, logoname=logoname, start=start, end=end-1, pos_x=pos_x, pos_y=pos_y, depth=depth, yc_y=yc_y, yc_u=yc_u, yc_v=yc_v)
clip=clip.DwShift(true).EraseLOGO(logofile=logofile, logoname=logoname, start=end*2, end=end*2, pos_x=pos_x, pos_y=pos_y, depth=depth, yc_y=yc_y, yc_u=yc_u, yc_v=yc_v).UnDwShift(false)
return clip
}

#関数の適応回数をintで指定
function AppendFunc(string clip, string func, int limit, int "cnt") {
cnt=default(cnt,0)
cnt=cnt+1
clip=limit==cnt?clip:clip+"."+func
return limit==cnt?clip:AppendFunc(clip, func, limit, cnt)
}

#スレッドショートカット
function Thread(clip clip) {
return clip.ThreadRequest(3,3,5)
}

#関数の適応度微調整(保護)
function Dilute(clip clip, string func, int "rate") {
rate=default(rate,50)
return overlay(clip,eval("clip."+func),mode="blend",opacity=float(rate)/100)
}

#クリップを並べる(サイズ違いも可)
function addClip(clip a, clip b,int "mode") {
mode=default(mode,0)
Assert(mode==0||mode==1,"out of range. (int mode)'")
diff=mode==0? \
a.height!= b.height?a.height-b.height:0: \
a.width!= b.width?a.width-b.width:0
b=mode==0? \
diff!=0?b.AddBorders(0,0,0,diff):b: \
diff!=0?b.AddBorders(0,0,diff,0):b
return (mode==0?StackVertical(a,b).crop(0,0,0,-diff):StackHorizontal(a,b).crop(0,0,-diff,0))
}

#文字置換
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)
}

#文字埋め(右)
function rpad(string a, string b, int cnt){
a=strlen(a)<cnt?a+b:a
return strlen(a)<cnt?rpad(a,b,cnt):a
}

#文字埋め(左)
function lpad(string a, string b, int cnt){
a=strlen(a)<cnt?b+a:a
return strlen(a)<cnt?lpad(a,b,cnt):a
}

#iの範囲を指定
function minmax(float i, float "min", float "max") {
max=default(max,1.0)
min=default(min,0.0)
return i>max?max:i<min?min:i
}

#subtitleショートカット
function Text(clip clip, string "val") {
val=default(val,"empty")
return clip.subtitle(val, size=96)
}

#ConvertToYV12ショートカット
function YV12(clip clip, bool "bt709") {
bt709=default(bt709,false)
return bt709==true?clip.ConvertToYV12(matrix="bt709"):clip.ConvertToYV12()
}

#AssumeFPS()ショートカット
function FPS(clip clip, int "fps") {
fps=default(fps,24)
return clip.assumefps(fps*1000,1001)
}
スポンサーサイト

COMMENT - 0



WHAT'S NEW?

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