các functions trong pyfx_base.py
Code:
converttime(_var_tem_scr_, _tem_con_tip_)
_tem_con_tip_:
1: chuyển ass time string -> milisecond
2: ngược lại
_var_tem_scr_:
chuỗi ass time hoặc milisecond
Code:
getlines(_str_ass_scr_)
đọc file ass và trả về dạng list các dòng trong file
_str_ass_scr_:
đường dẫn tới file ass
converttime(_var_tem_scr_, _tem_con_tip_)
_tem_con_tip_:
1: chuyển ass time string -> milisecond
2: ngược lại
_var_tem_scr_:
chuỗi ass time hoặc milisecond
Code:
getlines(_str_ass_scr_)
đọc file ass và trả về dạng list các dòng trong file
_str_ass_scr_:
đường dẫn tới file ass
Code:
classifylines(_lis_lin_scr_)
đọc list các line và phân loại line
trả về (PlayResX, PlayResY), styles, karaokes
styles: list các dòng style
karaokes: list các dòng Dialogue
Code:
parsestyles(_lis_sty_scr_)
parse list các dòng style và trả về list styleinfo
format: dict của style có tên stylename là styleinfo[stylename], gồm các chuỗi với giá trị tương ứng:
Fontname, Fontsize,
PrimaryColour, PrimaryColourAlpha, SecondaryColour SecondaryColourAlpha, OutlineColour, OutlineColourAlpha, BackColour, BackColourAlpha,
Bold, Italic, Underline, StrikeOut,
ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Code:
parsekaraoke(_lis_kar_scr_, _scr_spa_del_, _div_tem_car_)
parse các dòng karaoke và trả về karainfo
format: list các dict lineinfo
lineinfo gồm có 3 cặp giá trị:
-LineInfo:
dict gồm có: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, LineDuration, LineText, LineTextStripped
-SylInfo:
list các dict, mỗi dict có: syl, sylstart, sylend, inlinefx, syldur, sylindex
-CharInfo
list các dict, mỗi dict có: char, cis (char index - syl), cil (char index - line), chardur, charend, charstart, sylindex (index của syl chứa char)
_lis_kar_scr_: list các dòng Dialogue
_scr_spa_del_: true: thêm {\k0} vào các khoảng trống, false: skip
_div_tem_car_: chia đều thời gian của syl ra cho các char
inlinefx gán bằng {\-inlinefxstring} trong file ass, nếu không thì có giá trị 'Default'
thời gian của char được chi phối bởi _div_tem_car_
hỗ trợ \kt khi parse
Code:
gerposinf(_kar_aln_scr_)
trả về cặp giá trị (v, h) tương ứng với alignment, dùng để tính position
_kar_aln_scr_: alignment
Code:
gerkarpos(_dad_kar_lis_, _dad_sty_lis_, _nom_fon_win_, _adj_scx_fon_, _kar_pos_pre_)
tính toán tọa độ và trả về karainfo
karainfo giống như karainfo trả về bởi parsekaraoke(), chỉ thêm vào key 'Positioning' vào các dict LineInfo, các dict syl và các dict char
Position trả dict có các key sau:
LineInfo: lwidth, lheight, lleft, lcenter, lright, ltop, lmiddle, lbottom
Syl: swidth, sheight, sleft, scenter, sright, stop, smiddle, sbottom
Char: cwidth, cheight, cleft, ccenter, cright, ctop, cmiddle, cbottom
_dad_kar_lis_: karainfo trả về bởi parsekaraoke()
_dad_sty_lis_: styleinfo trả về bởi parsestyles()
_nom_fon_win_: tên font
_adj_scx_fon_: chỉnh lại đổ lớn của font nhằm khắc phục sai lệch do tính toán độ lớn text của PIL và VSFilter / libass khác nhau
_kar_pos_pre_: mức độ làm tròn số của position
Code:
parassscr(_nom_ass_scr_, _kar_spa_del_, _div_tem_car_)
tổng hớp các function trên (trừ tính position)
trả về karaokeinfo, styleinfo
các biến sau được ghi trong __builtin__ để gọi trực tiếp từ script karaoke:
__builtin__.PlayResX, __builtin__.PlayResY
__builtin__._lis_cab_scr_: list các line script info
__builtin__._lis_lin_scr_: list các line karaoke, gồm 3 list, hiện tại chỉ dùng list đầu, 2 list sau có thể dùng để tạo file avs nếu cần
Code:
gerlintex(_lis_lin_tex_)
tạo linetext
_lis_lin_tex_: list có dạng [tags, text, tags, text, ...]
Code:
germargin(_var_mar_scr_)
chuyển margin ra chuỗi dể ghi vào file ass
_var_mar_scr_: margin
Code:
gerasseve(fmt = 'Dialogue', lay = 0, sta = 0, end = 0, sty = 'Default', nom = '', mgl = 0, mgr = 0, mgv = 0, eff = '', tex = '', ger = True, scr = 0)
tạo line và thêm vào __builtin__._lis_lin_scr_[scr]
Code:
gerdadlin(_dad_lin_lis_)
trả về các biến line, xem list các biến
_dad_lin_lis_: dict info của line
Code:
gerdadsil(_dad_lin_lis_, _lin_sil_ind_)
trả về các biến syl, xem list các biến
_dad_lin_lis_: dict info của line
_lin_sil_ind_: syl index
Code:
gerdadcar(_dad_lin_lis_, _lin_car_ind_)
trả về các biến char, xem list các biến
_dad_lin_lis_: dict info của line
_lin_car_ind_: char index
Code:
gerdadsty(style, styleinfo)
trả về các biến của style
style: tên style
styleinfo: biến trả về bởi parsestyles()
Code:
gerassscr(_nom_otp_scr_, _ger_cab_scr_, _lis_eve_ide_ = 0)
tạo file
_nom_otp_scr_: dường dẫn file output
_ger_cab_scr_: true: tạo ass script info, false: skip
_lis_eve_ide_: index của 1 trong 3 list các line của __builtin__._lis_lin_scr_
trong pyfx_base.py còn các function tạo tag và tạo vector drawing