这个是我自己设想的一种带Python脚本代码的ASS字幕文件,第27行那里的[Python]表示ass字幕文件中的Python脚本代码分区,这部分内容我是打算如果未来有空给TCAX做GUI的话,就在GUI上加入一个专门写Python脚本代码的分区,并且这个分区的代码可以直接写入ass字幕文件(从外部加载py脚本生成特效的做法依然保留)。
做得出来的话当然是最好的,做不出来的话这个帖子也能给人留下一种TCAX GUI开发的思维方向了。。。(:з」∠)
[Script Info]
; Script generated by TCAX 1.2.0
; http://www.tcax.org/
ScriptType: v4.00+
Original Timing:
PlayResX: 1920
PlayResY: 1080
YCbCr Matrix: TV.709
[TCAX Project Garbage]
Audio File: ../../TCAX 1.2.0/../罪恶王冠 NCOP2.mp4
Video File: ../../TCAX 1.2.0/../罪恶王冠 NCOP2.mp4
Video AR Mode: 4
Video AR Value: 1.777778
Video Zoom Percent: 0.375000
Scroll Position: 18
Active Line: 21
Video Position: 1327
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: OPJP,FOT-Comet Std B,80,&H001F20EF,&H00000000,&H00FFFFFF,&H00000000,0,0,0,0,100,100,0,0,1,2,0,8,0,0,0,1
Style: OPJP2,FOT-Comet Std B,80,&H00FFBC11,&H00000000,&H00FFFFFF,&H00000000,0,0,0,0,100,100,0,0,1,2,0,8,0,0,0,1
Style: OPCN,MZhiHei PRC UltraBold,66,&H00FFFFFF,&H00000000,&H001F20EF,&H00000000,0,0,0,0,85,100,8,0,1,2,0,2,0,0,15,1
Style: OPCN2,MZhiHei PRC UltraBold,66,&H00FFFFFF,&H00000000,&H00FFBC11,&H00000000,0,0,0,0,85,100,8,0,1,2,0,2,0,0,15,1
[Python]
from tcaxPy import *
def tcaxPy_Init():
global _FD # frame duration, in millisecond
global _Blur, _Bord
global _FS
_FD = 1000 / GetVal(val_FXFPS)
_Blur = GetVal(val_Blur)
_Bord = GetVal(val_Bord)
_FS = GetVal(val_FontSize)
def tcaxPy_Fin():
pass
def tcaxPy_Main(_i, _j, _n, _start, _end, _elapk, _k, _x, _y, _a, _txt):
ASS_BUF = [] # used for saving ASS FX lines
# ----------tcax line----------
hexagon = 'm -6 -10 l 6 -10 l 12 0 l 6 10 l -6 10 l -12 0 l -6 -10 '
hlist = []
able = []
f = 10
initx = int(GetVal(5) // 2 - _n / 2 * _FS - 55)
lastx = int(GetVal(5) // 2 + _n / 2 * _FS + 55)
inity = int(_y - _FS)
for x in range(initx - f * 1 , lastx + _a + f * 2, f * 2):
for y in range(inity - f * 0, _y + _FS + f * 1, f):
hlist.append((x, y))
for x in range(initx - f * 2 , lastx + _a + f * 1, f * 2):
for y in range(inity - f // 2 - f * 0, _y + _FS - f // 2 + f * 1, f):
hlist.append((x, y))
for (px, py) <