Aegisub 库和插件编写
本文发布于 1245 天前。

新开一文,用于记录关于Aegisub插件编写的相关知识。
可以参考手册:https://aegi.vmoe.info/docs/3.2/Automation/Lua/
目前编写的自用Aegisub插件,主要用于双语字幕打轴和检查:

调试输出函数

aegisub.debug.out(level, msg)

此函数可以弹出错误信息框。level参数可以省略。
0:致命 1:错误 2:警告 3:提示 4:调试 5:追踪
其中,0~3会跳出提示框,4~5不会有提示。

Comment: 0,0:00:00.00,0:00:00.00,Default,,0,0,0,code line,_G.aegisub.debug.out(1,"aa")

aegisub.log(msg)

用法与上述的一致。不需要填level

获取程序运行时间

os.clock可以传出CPU时间。
在程序运行前后用两个时间相减,可以获得代码运行的时间。

Comment: 0,0:00:00.00,0:00:00.00,Default,,0,0,0,code line,t_1=_G.os.clock()    sum = 1  for i=1,1000000000 do sum=sum+i+i end t_2=_G.os.clock() t=t_2-t_1
Comment: 0,0:00:00.00,0:00:00.00,Default,,0,0,0,template line noblank notext,!sum!  !t!
Comment: 0,0:00:00.00,0:00:05.00,Default,,0,0,0,karaoke,?
Dialogue: 0,0:00:00.00,0:00:05.00,Default,,0,0,0,fx,1.000000001e+018  2.6610000000001

创建一个自定义的函数库

.lua的库放在C:\Program Files\Aegisub\automation\include下。
库文件中可以有一个表,表的子项为函数。在库文件的最后应当return这个表。例如

kTool={}

function kTool.rec(x,y,w,h)
     ...
end

return kTool

让Aegisub加载自定的库

\AppData\Roaming\Aegisub\automation\include中的Yutils.lua中添加require语句。
image.png

C:\Program Files\Aegisub\automation\autoload下的kara-templater.lua文件中添加此函数库,使代码中不用写_G.
image.png

至此,可以直接在Aegisub的特效行中调用自定义库中的函数,例如
!kTool.rec(1,2,5,2)!
image.png

此外,也可以直接在code行中写_G.require "XXX"来直接在模板中调用函数。

这是一篇Aegisub专题,点击查看更多相关笔记
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇