既然都是下面这样字符串重复,但数字有序的代码(avs又无法写循环,所以只有这样写),那么如何去简便这一步骤呢?复制还要改数字很麻烦,于是咱受某虾用php生成ass的启发,尝试用avs去生成类似于下面这样的代码,于是EPAVSMaker就这样诞生了,当然...目前还未完善,处于测试与调整阶段
EPAVSMaker已经停止开发
这可能是暂时性的,也可能是永久性的
如果您有继续开发的意向,请随意
代码: 全选
clip2 = Default(clip2, nop)
clip3 = Default(clip3, nop)
clip4 = Default(clip4, nop)
clip5 = Default(clip5, nop)
clip6 = Default(clip6, nop)
clip7 = Default(clip7, nop)
clip8 = Default(clip8, nop)
clip9 = Default(clip9, nop)
下面是EPAVSMaker beta的代码,请各位来测试讨论下这个脚本的开发思路更新日志
2010/10/20 EPAVSMaker v0.10 Final
EPAVSMaker停止开发
2010/10/06 EPAVSMaker v0.10 beta
修正了倒序的问题(感谢cunhan)
优化了一点点代码
2010/10/04 EPAVSMaker beta
EPAVSMaker beta诞生
代码: 全选
#输出递归字符串的核心脚本
function EPAVSMK(int ep1, string "s1", string "e1", string "s2", string "e2", int "ep2", int "x1", int "x2")
{
s1 = Default(s1, "")
e1 = Default(e1, "")
s2 = Default(s2, "")
e2 = Default(e2, "")
ep2 = Default(ep2, ep1)
x1 = Default(x1, 1)
x2 = Default(x2, x1)
Assert(x1 >= 0 && x2 >= 0, "x1 x2不能为负数 | 'x1' 'x2' can not be negative")
hc = "
"
#判断算法
epp =
\ ep1 < ep2 ? Eval("ep1 > x1-1") :
\ ep1 > ep2 ? Eval("ep2 > x2-1") : Eval("ep1 > x1-1")
#按顺序做递归返回字符串
org1 = s1 + string(ep1) + e1
org2 = s2 + string(ep2) + e2 + hc
org3 = org1 + org2
end = epp ? EPAVSMK(ep1-1,s1,e1,s2,e2,ep2-1,x1,x2) + org3 : ""
return end
}
#输出文件用脚本
function EPAVSMaker(int ep1, string "s1", string "e1", string "s2", string "e2" , string "outavs", int "ep2", int "x1", int "x2", bool "append")
{
s1 = Default(s1, "")
e1 = Default(e1, "")
s2 = Default(s2, "")
e2 = Default(e2, "")
outavs = Default(outavs, "epavs.avs")
ep2 = Default(ep2, ep1)
x1 = Default(x1, 1)
x2 = Default(x2, x1)
append = Default(append, false)
bg = blankclip
end = bg.WriteFileStart(outavs,"EPAVSMK(ep1,s1,e1,s2,e2,ep2,x1,x2)",append=append)
return end
}
EPAVSMaker(int ep1, string "s1", string "e1", string "s2", string "e2" , string "outavs", int "ep2", int "x1", int "x2", bool "append")
ep1代表目标1的有序数值的最高值 默认 无
x1代表目标1的有序数值最低值 默认 1
ep2 x2同理 默认等于 ep1 x1
s1 e1分别代表ep1数值的前后字符串 默认 空
比如
代码: 全选
"clip1="
代码: 全选
s1 = "clip"
e1 = "="
outavs代表输出avs路径 默认 "epavs.avs"
append 追加模式,默认 false
由于目前该脚本有个比较关键的问题就是WriteFileStart的一次写入字符数,如果太多,会出现乱码或生成不正确的情况,那么append的目的就是为了在字符数超限制后使用,比如
代码: 全选
EPAVSMaker(9,"clip"," = ","Default(clip",", nop)","N:\ep.avs",x1=1,append=false)
代码: 全选
clip1 = Default(clip1, nop)
clip2 = Default(clip2, nop)
clip3 = Default(clip3, nop)
clip4 = Default(clip4, nop)
clip5 = Default(clip5, nop)
clip6 = Default(clip6, nop)
clip7 = Default(clip7, nop)
clip8 = Default(clip8, nop)
clip9 = Default(clip9, nop)
(倒序问题已解决)
如果是
代码: 全选
EPAVSMaker(10,"clip"," = ","Default(clip",", nop)","N:\ep.avs",x1=1,append=false)
这时候就需要用append了
代码: 全选
EPAVSMaker(9,"clip"," = ","Default(clip",", nop)","N:\ep.avs",x1=1,append=false)
EPAVSMaker(15,"clip"," = ","Default(clip",", nop)","N:\ep.avs",x1=10,append=true)
代码: 全选
clip1 = Default(clip1, nop)
clip2 = Default(clip2, nop)
clip3 = Default(clip3, nop)
clip4 = Default(clip4, nop)
clip5 = Default(clip5, nop)
clip6 = Default(clip6, nop)
clip7 = Default(clip7, nop)
clip8 = Default(clip8, nop)
clip9 = Default(clip9, nop)
clip10 = Default(clip10, nop)
clip11 = Default(clip11, nop)
clip12 = Default(clip12, nop)
clip13 = Default(clip13, nop)
clip14 = Default(clip14, nop)
clip15 = Default(clip15, nop)
这只是暂时性的解决方案之一,如果你有什么更好的想法,请在回复中指出
最后别吐槽为啥要EP到用AVS去生成AVS