TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua

 找回密码
 新人加入
查看: 852|回复: 0

[其他代码] 【PyonFX相关】时间控制函数写法(参考Aegisub的retime) [复制链接]

Rank: 4

发表于 2022-4-19 03:41:20 |显示全部楼层
本帖最后由 Seekladoom 于 2022-4-19 03:43 编辑
  1. from pyonfx import *
  2. from random import *

  3. io = Ass("番剧名_K.ass", "番剧名_FX.ass")
  4. meta, styles, lines = io.get_data()

  5. # 模板分区
  6. def Princess_OPJP(line, l):
  7.     if line.style == "OPJP":
  8.         #以下是在Aegisub下的retime函数中的【开始时间】和【结束时间】均为0时,PyonFX中可以直接使用的【列表属性写法】。
  9.         # syl
  10.         l.start_time = line.start_time + syl.start_time
  11.         l.end_time = line.start_time + syl.end_time
  12.         
  13.         # presyl
  14.         l.start_time = line.start_time + syl.start_time
  15.         l.end_time = line.start_time + syl.start_time
  16.         
  17.         # postsyl
  18.         l.start_time = line.start_time + syl.end_time
  19.         l.end_time = line.start_time + syl.end_time
  20.         
  21.         # line
  22.         l.start_time = line.start_time
  23.         l.end_time = line.end_time
  24.         
  25.         # preline
  26.         l.start_time = line.start_time
  27.         l.end_time = line.start_time
  28.         
  29.         # postline
  30.         l.start_time = line.end_time
  31.         l.end_time = line.end_time
  32.         
  33.         # start2syl
  34.         l.start_time = line.start_time
  35.         l.end_time = line.start_time + syl.start_time
  36.         
  37.         # syl2end
  38.         l.start_time = line.start_time + syl.end_time
  39.         l.end_time = line.end_time

  40.         # set or abs
  41.         l.start_time = 0
  42.         l.end_time = 0

  43.         # sylpct
  44.         l.start_time = line.start_time + syl.start_time
  45.         l.end_time = line.start_time + syl.start_time
  46.         
  47.         
  48.         #以下是在Aegisub下的retime函数中的【开始时间】和【结束时间】均为0时,PyonFX中可以考虑的【简化写法】。
  49.         # syl
  50.         l.start_time = _lstart + _sstart
  51.         l.end_time = _lstart + _send
  52.         
  53.         # presyl
  54.         l.start_time = _lstart + _sstart
  55.         l.end_time = _lstart + _sstart
  56.         
  57.         # postsyl
  58.         l.start_time = _lstart + _send
  59.         l.end_time = _lstart + _send
  60.         
  61.         # line
  62.         l.start_time = _lstart
  63.         l.end_time = _lend
  64.         
  65.         # preline
  66.         l.start_time = _lstart
  67.         l.end_time = _lstart
  68.         
  69.         # postline
  70.         l.start_time = _lend
  71.         l.end_time = _lend
  72.         
  73.         # start2syl
  74.         l.start_time = _lstart
  75.         l.end_time = _lstart + _sstart
  76.         
  77.         # syl2end
  78.         l.start_time = _lstart + _send
  79.         l.end_time = _lend

  80.         # set or abs(完全自定义)
  81.         l.start_time = 0
  82.         l.end_time = 0

  83.         # sylpct
  84.         l.start_time = _lstart + _sstart
  85.         l.end_time = _lstart + _sstart
复制代码

您需要登录后才可以回帖 登录 | 新人加入

GitHub|TCAX 主页

GMT+8, 2023-2-7 06:25

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH