Skip to content

Instantly share code, notes, and snippets.

@Doko-Demo-Doa
Created February 14, 2021 08:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Doko-Demo-Doa/b705512cc1a64f87ecb273369df3e9e9 to your computer and use it in GitHub Desktop.
Save Doko-Demo-Doa/b705512cc1a64f87ecb273369df3e9e9 to your computer and use it in GitHub Desktop.
Clannad_OP.py
# -*- coding: cp1252 -*-
from random import *
from string import *
from time import *
from ssa_pawaa_xd import *
TEM_INI_PRO = time()
# [dimensions và fps]
COL_INI_SCR = 0 # ô d?c ??u tiên c?a script
LIN_INI_SCR = 0 # ô ngang ??u tiên c?a script
COL_FIN_SCR = 1920 #*** ô d?c cu?i cùng script Chi?u ngang c?a Video, ? ?ây là 1024pixel
LIN_FIN_SCR = 1080 #*** ô ngang cu?i cùng c?a script chi?u d?c c?a video, ? ?ây có th? ch? rõ là 576 ho?c ?? công th?c t? l? 1024*9/16 c?ng b?ng 576. V?i video 4/3 thì thay 9/16 b?ng 4/3
VAL_FPS_VID = 23.976 # video fps
VAL_DUR_FPS = 100 / VAL_FPS_VID # th?i gian c?a 1 frame
# [formats]
VAL_1AH_SCR = '00' #*** 1st alpha
VAL_2AH_SCR = '20' #*** 2nd alpha
VAL_3AH_SCR = '20' #*** 3rd alpha
VAL_4AH_SCR = '00' #*** 4th alpha
VAL_1CH_SCR = 'F8F8F8' #*** 1st color
VAL_2CH_SCR = '91646D' #*** 2nd color
VAL_3CH_SCR = 'F8F8F8' #*** 3rd color
VAL_4CH_SCR = '91646D' #*** 4th color
VAL_BOR_SCR = 1 #*** border
VAL_SOM_SCR = 0.5 #*** shadow
VAL_NEG_SCR = 0 #*** bold
VAL_ITA_SCR = 0 #*** italic
VAL_SCX_SCR = 100 #*** scale x
VAL_SCY_SCR = 100 #*** scale y
MAR_VER_SCR = 30 #*** vertical margin
MAR_HOR_SCR = 30 #*** horizontal margin
VAL_COR_MAS = '000000' #*** màu c?a script mask
EST_PRI_SCR = 'rom' #*** tên style chính
# [positions]
COL_FRA_KAR = 30 #*** ô d?c b?t ??u câu
LIN_FRA_KAR = 20 #*** ô ngang b?t ??u câu
LIN_FRA_TRA = LIN_FIN_SCR - 8 #*** hàng c?a trans
ALI_SIL_KAR = 7 #*** syl alignment
ALI_FRA_KAR = 3 #*** alignment c?a câu [ 1 = trái ] [ 2 = gi?a ] [ 3 = ph?i ]
# [tên]
TIT_SCR_KAR = 'Clannad OP Romaji [2]' #*** script title
EXT_SCR_KAR = '.ass' # script extension
DIR_SCR_KAR = 'D:\\software\\' #*** script directory
NOM_SCR_PRI = 'Clannad OP Romaji [2]' #*** tên script chính
NOM_SCR_MAS = NOM_SCR_PRI + '_(Mask)' # tên script mask (dùng overlay trong avisynth)
DIR_NOM_PRI = DIR_SCR_KAR + NOM_SCR_PRI + EXT_SCR_KAR # ???ng l?u script chính
DIR_NOM_MAS = DIR_SCR_KAR + NOM_SCR_MAS + EXT_SCR_KAR # ???ng l?u script mask
# [adjustments]
AJU_ESP_CAR = 0 #*** ch?nh ?? r?ng c?a space cho callarcar
AJU_LAR_CAR = -15 #*** ch?nh ?? r?ng gi?a các syl cho callarcar
AJU_ALT_CAR = 0 #*** kho?ng cách cho các hàng d?c (kanji)
AJU_FON_PIX = -15 #*** ch?nh font cho calpospix
AJU_COL_PIX = -18 #*** ch?nh c?t d?c (pos) cho calpospix
AJU_LIN_PIX = 12 #*** ch?nh hàng (pos) cho calpospix
# [fonts]
TAM_FON_SCR = 85 #*** font size
COD_FON_SCR = 'br' #*** font code
NOM_FON_SCR = "Vf-Latina" #*** font name
NOM_FON_WIN = 'Vf-Latina.ttf' #*** tên file font
ENC_FON_ESC = 1 #*** font encoding type
DAD_FON_SCR, DAD_FON_PIX = gerconfon(ENC_FON_ESC, NOM_FON_WIN, TAM_FON_SCR, AJU_LAR_CAR, AJU_FON_PIX)
# [raw karaoke input]
LIS_KAR_SCR = [
##'Dialogue: 0,0:00:01.01,0:00:06.44,Default,,0000,0000,0000,,{\k45}su{\k25}ki{\k42}to{\k44}o{\k43}ru{\k117} {\k17}yu{\k43}me {\k23}wo {\k44}mi{\k20}te{\k21}i{\k59}ta',
##'Dialogue: 0,0:00:07.67,0:00:13.02,Default,,0000,0000,0000,,{\k44}ya{\k26}wa{\k39}ra{\k59}ka{\k34}i{\k47} {\k63}e{\k47}i{\k18}e{\k158}n',
##'Dialogue: 0,0:00:14.28,0:00:19.71,Default,,0000,0000,0000,,{\k41}ka{\k25}ze {\k42}no {\k23}yo{\k18}u {\k62}na{\k101} {\k14}ka{\k48}su{\k22}ka {\k43}na {\k20}ko{\k21}e {\k63}ga',
##'Dialogue: 0,0:00:20.92,0:00:26.60,Default,,0000,0000,0000,,{\k45}ta{\k22}ka{\k29}i {\k55}so{\k52}ra {\k23}ka{\k38}ra{\k25} {\k25}bo{\k60}ku {\k17}wo {\k37}yo{\k25}n{\k26}de{\k42}i{\k47}ru',
##'Dialogue: 0,0:00:27.54,0:00:33.48,Default,,0000,0000,0000,,{\k101}ko{\k45}no {\k82}ma{\k72}ma {\k30}{\k106}to{\k38}bi {\k65}ta{\k23}te{\k32}ba',
'Dialogue: 0,0:00:33.69,0:00:40.18,Default,,0000,0000,0000,,{\k43}do{\k106}ko {\k23}ni {\k18}da{\k63}t{\k26}te {\k38}yu{\k48}ke{\k284}ru',
##'Dialogue: 0,0:00:40.77,0:00:47.02,Default,,0000,0000,0000,,{\k101}ka{\k23}sa{\k25}ne{\k95}ta{\k47} {\k24}te {\k122}to {\k22}te {\k21}no {\k81}na{\k23}ka {\k41}ni',
'Dialogue: 0,0:00:47.37,0:00:53.74,Default,,0000,0000,0000,,{\k110}chi{\k20}i{\k18}sa {\k55}na{\k27} {\k64}mi{\k41}ra{\k64}i {\k40}ga {\k22}mi{\k21}e{\k99}ta{\k56}ra',
##'Dialogue: 0,0:00:53.98,0:01:00.37,Default,,0000,0000,0000,,{\k110}hi{\k21}ka{\k21}ri {\k88}no{\k46} {\k31}na{\k86}ka{\k36} {\k23}yu{\k22}ra{\k81}me{\k21}i{\k53}ta',
'Dialogue: 0,0:01:00.64,0:01:06.47,Default,,0000,0000,0000,,{\k105}ko{\k21}to{\k21}ba {\k43}mo{\k38} {\k63}o{\k44}mo{\k56}i {\k44}mo {\k25}ze{\k19}n{\k104}bu',
##'Dialogue: 0,0:01:06.82,0:01:25.35,Default,,0000,0000,0000,,{\k48}ha{\k39}ru{\k20}ka {\k189}na{\k30} {\k51}ki{\k42}mi {\k21}ma{\k171}de{\k47} {\k50}no{\k37}ko{\k27}sa{\k175}zu{\k42} {\k48}tsu{\k43}ta{\k23}e{\k108}te{\k75} {\k49}ki{\k21}t{\k497}to'
]
# [trans]
LIS_TRA_SCR = [
'',
'',
'',
'',
]
# [events lists]
LIS_CAB_COM = []
LIS_EST_PRI = []
LIS_EST_MAS = []
LIS_EST_COM = []
LIS_EVE_FUN = []
LIS_EVE_FRE = []
LIS_EVE_FIN = []
LIS_EVE_TRA = []
LIS_EVE_MAS = []
# [flags]
GER_FRA_HOR = True #*** t?o các câu n?m ngang
GER_CAB_SCR = True #*** t?o ph?n m? ??u trong script
GER_FRA_KAR = True #*** t?o các câu karaoke
GER_FRA_TRA = True #*** t?o translation
GER_EFE_FIN = False #*** t?o event end effect (s? gi?i thích sau)
GER_CON_SIL = False #*** v? ô xác ??nh chi?u dài r?ng c?a \k
GER_SSA_PRI = True #*** t?o script chính
GER_SSA_MAS = False #*** t?o script mask (overlay trong avisynth)
GER_DIV_LET = True #*** làm effect cho t?ng char trong syl
GER_DIV_TEM = False #*** chia th?i gian effect ra cho t?ng char trong syl
# [l?y thông tin t? raw kara]
DAD_EXT_KAR = callarcar(GER_DIV_LET, GER_DIV_TEM, LIS_KAR_SCR, DAD_FON_SCR, AJU_ESP_CAR, COD_FON_SCR)
LIS_TEM_KAR = DAD_EXT_KAR[0] # th?i gian c?a syl
LIS_SIL_KAR = DAD_EXT_KAR[1] # syl
LIS_LAR_KAR = DAD_EXT_KAR[2] # ?? r?ng c?a syl
LIS_ALT_KAR = DAD_EXT_KAR[3] # chi?u cao c?a syl
####################################################################################################
## script ##
####################################################################################################
# T?o ph?n ??u cho file ass
LIS_CAB_COM = LIS_CAB_COM + gercabssa(TIT_SCR_KAR, COL_FIN_SCR, LIN_FIN_SCR, GER_CAB_SCR)
ael(LIS_CAB_COM, 'Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding\n', GER_CAB_SCR)
ael(LIS_EST_PRI, 'Style: ' + EST_PRI_SCR + ',' + NOM_FON_SCR + ',' + str(TAM_FON_SCR) + ',&H' + VAL_1AH_SCR + VAL_1CH_SCR + ',&H' + VAL_2AH_SCR + VAL_2CH_SCR + ',&H' + VAL_3AH_SCR + VAL_3CH_SCR + ',&H' + VAL_4AH_SCR + VAL_4CH_SCR + ',' + str(VAL_NEG_SCR) + ',' + str(VAL_ITA_SCR) + ',0,0,' + str(VAL_SCX_SCR) + ',' + str(VAL_SCY_SCR) + ',0,0,1,' + str(VAL_BOR_SCR) + ',' + str(VAL_SOM_SCR) + ',' + str(ALI_SIL_KAR) + ',' + str(MAR_VER_SCR) + ',' + str(MAR_VER_SCR) + ',' + str(MAR_HOR_SCR) + ',0\n', GER_CAB_SCR)
ael(LIS_EST_MAS, 'Style: ' + EST_PRI_SCR + ',' + NOM_FON_SCR + ',' + str(TAM_FON_SCR) + ',&H' + VAL_1AH_SCR + VAL_COR_MAS + ',&H' + VAL_2AH_SCR + VAL_COR_MAS + ',&H' + VAL_3AH_SCR + VAL_COR_MAS + ',&H' + VAL_4AH_SCR + VAL_COR_MAS + ',' + str(VAL_NEG_SCR) + ',' + str(VAL_ITA_SCR) + ',0,0,' + str(VAL_SCX_SCR) + ',' + str(VAL_SCY_SCR) + ',0,0,1,' + str(VAL_BOR_SCR) + ',' + str(VAL_SOM_SCR) + ',' + str(ALI_SIL_KAR) + ',' + str(MAR_VER_SCR) + ',' + str(MAR_VER_SCR) + ',' + str(MAR_HOR_SCR) + ',0\n', GER_CAB_SCR)
ael(LIS_EST_COM, '\n', GER_CAB_SCR)
ael(LIS_EST_COM, '[Events]\n', GER_CAB_SCR)
ael(LIS_EST_COM, 'Format: Layer, Start, End, Style, Actor, MarginL, MarginR, MarginV, Effect, Text\n', GER_CAB_SCR)
ael(LIS_EST_COM, 'Comment: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,,\n', GER_CAB_SCR)
def cut_color(no, str_color, end_color):
scr=int(str_color[0:2],16)
scg=int(str_color[2:4],16)
scb=int(str_color[4:6],16)
enr=int(end_color[0:2],16)
eng=int(end_color[2:4],16)
enb=int(end_color[4:6],16)
return_color=[]
no_t=0
while no_t<no :
r_return=upper(hex(scr+no_t*(enr-scr)/(no-1))[2:5])
g_return=upper(hex(scg+no_t*(eng-scg)/(no-1))[2:5])
b_return=upper(hex(scb+no_t*(enb-scb)/(no-1))[2:5])
if len(r_return)==1:
r_return='0'+r_return
if len(g_return)==1:
g_return='0'+g_return
if len(b_return)==1:
b_return='0'+b_return
return_color.append(r_return+g_return+b_return)
no_t=no_t+1
return return_color
CON_LIN_KAR = 0 # ??m s? dòng kara
####################################################################################################
## start - câu
##
while CON_LIN_KAR < len(LIS_TEM_KAR) :
print 'Frase:', CON_LIN_KAR, LIS_SIL_KAR[CON_LIN_KAR][0]
DUR_IND_INT = 15 #*** th?i gian (centi giây) c?a lead in t?ng \k
DUR_INT_INT = 3 #*** th?i gian (centi giây) gi?a t?ng lead in c?a t?ng \k
DUR_ANT_FRA = 0 #*** th?i gian c?ng vào tr??c câu (centi giây)
DUR_POS_FRA = 0 #*** th?i gian c?ng vào sau câu (centi giây)
DUR_INT_ENC = 3 #*** th?i gian (centi giây) gi?a t?ng lead out c?a t?ng \k
DUR_IND_ENC = 15 #*** th?i gian (centi giây) lead out c?a t?ng \k
TEM_ANT_FRA = temparval(ltrim(LIS_TEM_KAR[CON_LIN_KAR][0], 10)) - DUR_ANT_FRA # th?i gian tr??c câu
TEM_INI_FRA = temparval(ltrim(LIS_TEM_KAR[CON_LIN_KAR][0], 10)) # th?i gian b?t ??u câu
TEM_FIN_FRA = temparval(rtrim(LIS_TEM_KAR[CON_LIN_KAR][len(LIS_TEM_KAR[CON_LIN_KAR]) - 1], 10)) # th?i gian k?t thúc câu
TEM_POS_FRA = temparval(rtrim(LIS_TEM_KAR[CON_LIN_KAR][len(LIS_TEM_KAR[CON_LIN_KAR]) - 1], 10)) + DUR_POS_FRA # th?i gian sau câu
LIS_FRA_ESQ = [] #*** list s? câu left alignment
LIS_FRA_DIR = [] #*** list s? câu right alignment
ALI_FRA_TEL = geralikar(CON_LIN_KAR, LIS_FRA_ESQ, LIS_FRA_DIR, ALI_FRA_KAR) # alignment value c?a t?ng câu
LAR_FRA_ATU = sum(LIS_LAR_KAR[CON_LIN_KAR]) # ?? r?ng c?a câu
COL_INI_CAR = calposfra(COL_FIN_SCR, MAR_VER_SCR, LAR_FRA_ATU, ALI_FRA_TEL) # ô d?c b?t ??u syl ??u tiên c?a câu
COL_ACU_CAR = 0 # t?ng ?? r?ng các syl
LIN_INI_CAR = LIN_FRA_KAR # giá tr? dòng ??u c?a kara (kanji)
LIN_ACU_CAR = 0 # giá tr? dòng c?a các syl tr??c (kanji)
QUA_KAR_FRA = len(LIS_TEM_KAR[CON_LIN_KAR]) # s? l??ng \k trong câu
CON_COL_KAR = 0 # ??m s? syl c?a câu
TEM_INT_ACU = QUA_KAR_FRA * DUR_INT_INT + DUR_INT_INT # t?ng th?i gian lead in
TEM_ENC_ACU = QUA_KAR_FRA * DUR_INT_ENC + DUR_INT_ENC # t?ng th?i gian lead out
if GER_FRA_HOR == False : # n?u t?o câu n?m d?c (kanji)
LAR_FRA_ATU = conkarval(LIS_LAR_KAR[CON_LIN_KAR]) * LIS_ALT_KAR # ?? r?ng c?a câu
LIN_INI_CAR = LIN_FRA_KAR + calposfra(LIN_FIN_SCR, MAR_HOR_SCR, LAR_FRA_ATU, ALI_FRA_TEL) # hàng c?a syl ??u trong câu
####################################################################################################
## start - syl
##
while CON_COL_KAR < len(LIS_TEM_KAR[CON_LIN_KAR]) :
TEM_SIL_ATU = LIS_TEM_KAR[CON_LIN_KAR][CON_COL_KAR] # th?i gian hi?n t?i
SIL_FRA_ATU = LIS_SIL_KAR[CON_LIN_KAR][CON_COL_KAR] # ??m syl/char hi?n t?i
LAR_SIL_ATU = LIS_LAR_KAR[CON_LIN_KAR][CON_COL_KAR] # ?? r?ng syl/char hi?n t?i
ALT_SIL_ATU = LIS_ALT_KAR # chi?u cao syl/char hi?n t?i
TEM_INT_FRA = TEM_ANT_FRA - TEM_INT_ACU # th?i gian lead in c?a câu
TEM_ENC_FRA = TEM_POS_FRA + TEM_ENC_ACU # th?i gian lead out c?a câu
TEM_IND_INT = TEM_INT_FRA - DUR_IND_INT # th?i gian lead in c?a t?ng \k
TEM_IND_ENC = TEM_ENC_FRA + DUR_IND_ENC # th?i gian lead out c?a t?ng \k
TEM_INI_KAR = temparval(ltrim(TEM_SIL_ATU, 10)) # th?i gian b?t ??u c?a \k
TEM_FIN_KAR = temparval(rtrim(TEM_SIL_ATU, 10)) # th?i gian k?t thúc \k
QUA_CEN_ATU = TEM_FIN_KAR - TEM_INI_KAR # th?i gian c?a syl (centi giây)
QUA_FRA_ATU = confrasil(QUA_CEN_ATU, VAL_DUR_FPS) # s? l??ng frame
TEM_ENC_FRA = TEM_POS_FRA + TEM_ENC_ACU # th?i gian lead out
VAL_AJU_COL = gerajucol(ALI_SIL_KAR, LAR_SIL_ATU) # ajustment value c?a t?ng syl/char
if SIL_FRA_ATU != '' :
DAD_ALI_POS = gerdadali(SIL_FRA_ATU, GER_FRA_HOR, COL_INI_CAR, COL_ACU_CAR, VAL_AJU_COL, LIN_FRA_KAR, LAR_SIL_ATU, LIN_ACU_CAR, COL_FRA_KAR, LIN_INI_CAR, ALT_SIL_ATU, AJU_ALT_CAR) # generate giá tr? position và alignment
COL_SIL_ATU = DAD_ALI_POS[0] # giá tr? ô d?c c?a \k
LIN_SIL_ATU = DAD_ALI_POS[1] # giá tr? ô ngang c?a \k
COL_ACU_CAR = DAD_ALI_POS[2] # t?ng giá tr? ô d?c c?a các kí t? \k hi?n t?i
LIN_ACU_CAR = DAD_ALI_POS[3] # t?ng giá tr? ô ngang c?a các kí t? \k hi?n t?i
# v?i các syl không ph?i kho?ng tr?ng:
if SIL_FRA_ATU != ' ' and SIL_FRA_ATU != '' :
COM_BAS_SIL = an(ALI_SIL_KAR)
ESC_FIN_EVE = 100
COM_BAS_FIN = alpha(255) + fr(0) + org(2000, 2000) + fscxy(ESC_FIN_EVE) + t(fry(randint(1440,1800)))
COM_FIN_EVE, CON_FIN_EVE = dadfineve(GER_EFE_FIN, COM_BAS_FIN, 'A')
COM_POS_KAR = pos(COL_SIL_ATU, LIN_SIL_ATU)
# v? ô xác ??nh chi?u r?ng, cao c?a syl
ael(LIS_EVE_FRE, mes(sta = TEM_INI_FRA, end = TEM_FIN_FRA, tex = '{' + pos(0, LIN_SIL_ATU) + bord(1) + a1(255) + a3(64) + c3('0000FF') + an(ALI_SIL_KAR) + p(1) + '}m ' + str(COL_SIL_ATU) + ' ' + str(0) + ' l ' + str(COL_SIL_ATU + LAR_SIL_ATU) + ' ' + str(0) + ' ' + str(COL_SIL_ATU + LAR_SIL_ATU) + ' ' + str(DAD_EXT_KAR[3]) + ' ' + str(COL_SIL_ATU) + ' ' + str(DAD_EXT_KAR[3]) + '{' + p(0) + COM_FIN_EVE + '}' + CON_FIN_EVE), GER_CON_SIL)
# events generation flags, là các flag t?o các event ? khúc d??i:
GER_INI_BLO = defgereve(DUR_IND_INT)
GER_INT_BLO = defgereve(DUR_INT_INT)
GER_PRI_BLO = defgereve(DUR_ANT_FRA)
GER_SEG_BLO = True
GER_TER_BLO = True
GER_QUA_BLO = True
GER_QUI_BLO = defgereve(DUR_POS_FRA)
GER_ENC_BLO = defgereve(DUR_INT_ENC)
GER_FIN_BLO = defgereve(DUR_IND_ENC)
####################################################################################################
## start - karaoke effects
##
if GER_FRA_KAR == True :
lis_pix_car = calpospix(SIL_FRA_ATU, DAD_FON_PIX, COD_FON_SCR)
#--------------------------------------------------------------------------------------------------#
# lead in t?ng syl/char (lead in start -> lead in end)
COM_INI_BLO = be(0) + frx(-90) + fscx(400) + alpha(255) + t(frx(0) + alpha(0) + fscx(100)) + move(COL_SIL_ATU - 13, LIN_SIL_ATU - 5, COL_SIL_ATU, LIN_SIL_ATU)
ael(LIS_EVE_FRE, mes(sta = TEM_IND_INT, end = TEM_INT_FRA, tex = mte(COM_INI_BLO + COM_BAS_SIL, SIL_FRA_ATU, COM_FIN_EVE, CON_FIN_EVE, GER_EFE_FIN)), GER_INI_BLO)
#--------------------------------------------------------------------------------------------------#
# lead in c?a câu (lead in end -> ??u câu)
COM_INT_BLO = be(0)
ael(LIS_EVE_FRE, mes(sta = TEM_INT_FRA, end = TEM_ANT_FRA, tex = mte(COM_POS_KAR + COM_BAS_SIL + COM_INT_BLO, SIL_FRA_ATU, COM_FIN_EVE, CON_FIN_EVE, GER_EFE_FIN)), GER_INT_BLO)
#--------------------------------------------------------------------------------------------------#
# kho?ng tr??c câu
## COM_PRI_BLO = ''
##
## ael(LIS_EVE_FRE, mes(sta = TEM_ANT_FRA, end = TEM_INI_FRA, tex = mte(COM_POS_KAR + COM_BAS_SIL + COM_PRI_BLO, SIL_FRA_ATU, COM_FIN_EVE, CON_FIN_EVE, GER_EFE_FIN)), GER_PRI_BLO)
#--------------------------------------------------------------------------------------------------#
# tr??c kara (??u câu -> ??u syl)
## i=0
##
## color_grad=cut_color(50, VAL_2CH_SCR, VAL_1CH_SCR)
##
## while i<49:
##
## COM_SEG_BLO = be(0) + clip(0,12+i,1280,12+i+1) + c1(color_grad[i]) + fad(300,0)
##
## ael(LIS_EVE_FRE, mes(sta = TEM_INI_FRA - 40, end = TEM_INI_KAR, tex = mte(COM_POS_KAR + COM_BAS_SIL + COM_SEG_BLO, SIL_FRA_ATU, COM_FIN_EVE, CON_FIN_EVE, GER_EFE_FIN)), GER_SEG_BLO)
##
## i = i + 1
COM_SEG_BLO = be(0)
ael(LIS_EVE_FRE, mes(sta = TEM_INI_FRA, end = TEM_INI_KAR, tex = mte(COM_POS_KAR + COM_BAS_SIL + COM_SEG_BLO, SIL_FRA_ATU, COM_FIN_EVE, CON_FIN_EVE, GER_EFE_FIN)), GER_SEG_BLO)
COM_QUA_BLO = be(0) + c1(VAL_2CH_SCR) + fad(0,200)
ael(LIS_EVE_FRE, mes(sta = TEM_FIN_KAR, end = TEM_FIN_FRA + 20, tex = mte(COM_POS_KAR + COM_BAS_SIL + COM_QUA_BLO, SIL_FRA_ATU, COM_FIN_EVE, CON_FIN_EVE, GER_EFE_FIN)), GER_QUA_BLO)
#--------------------------------------------------------------------------------------------------#
# kara: ??u syl -> cu?i syl
mat1 = [7.5,9,4.25,4.5,7,5.25,6.25,3.25]
mat2 = [6,4,5,7,3,4,6,5]
mat3 = [0.8,0.9,0.8,0.8,0.7,0.8,0.9,0.7]
mat4 = [6,5.75,5.5]
mat5 = [3,5,5]
mat6 = [0.7,0.7,0.7]
COM_TER_BLO = be(0) + c1(VAL_2CH_SCR)
ael(LIS_EVE_FRE, mes(sta = TEM_INI_KAR, end = TEM_FIN_KAR, tex = mte(COM_POS_KAR + COM_BAS_SIL + COM_TER_BLO, SIL_FRA_ATU, COM_FIN_EVE, CON_FIN_EVE, GER_EFE_FIN)), GER_TER_BLO)
con_ite_lis1 = 0
con_ite_lis2 = 0
con_ite_lis3 = 0
while con_ite_lis1 < len(lis_pix_car) :
con_ite_pix = randint(0, len(lis_pix_car) - 1)
val_col_pix = lis_pix_car[con_ite_pix][0]
val_lin_pix = lis_pix_car[con_ite_pix][1]
val_alp_pix = lis_pix_car[con_ite_pix][2]
pos_col_pix = COL_SIL_ATU + val_col_pix + AJU_COL_PIX
pos_lin_pix = LIN_SIL_ATU + val_lin_pix + AJU_LIN_PIX
tem_ini_efe = TEM_INI_KAR + randint(0,8)
tem_dur_efe = randint(20,30)
tem_fin_efe = TEM_FIN_FRA
a = (pos_lin_pix - ALT_SIL_ATU) * 0.6
b = mat4[CON_LIN_KAR] * CON_COL_KAR
c = randint(50,70) + (b * CON_COL_KAR / QUA_KAR_FRA)
com_pos_pix = pos(pos_col_pix, pos_lin_pix)
com_bas_pix = an(3) + bord(0) + shad(0) + i(1) + c1('F2F5CC') + alpha(val_alp_pix)
com_adi_pix = fr(a - mat5[CON_LIN_KAR]) + fscy(250) + fscx((110 + con_ite_pix) * mat6[CON_LIN_KAR]) + fry(b) + t(alpha(250) + fry(c) + fscx(50)+ fscy(200))
com_dia_pix = p(2)
com_pic_pix = 'm 0 0 l 100 0 100 2'
com_tra_pix = ''
ael(LIS_EVE_FRE, mes(sta = tem_ini_efe, end = tem_fin_efe, tex = mte(com_pos_pix + com_bas_pix + com_adi_pix + com_dia_pix, com_pic_pix, com_tra_pix + COM_FIN_EVE, CON_FIN_EVE, GER_EFE_FIN)), GER_TER_BLO)
con_ite_lis1 = con_ite_lis1 + 7
while con_ite_lis2 < len(lis_pix_car) :
con_ite_pix = randint(0, len(lis_pix_car) - 1)
val_col_pix = lis_pix_car[con_ite_pix][0]
val_lin_pix = lis_pix_car[con_ite_pix][1]
val_alp_pix = lis_pix_car[con_ite_pix][2]
pos_col_pix = COL_SIL_ATU + val_col_pix + AJU_COL_PIX
pos_lin_pix = LIN_SIL_ATU + val_lin_pix + AJU_LIN_PIX
tem_ini_efe2 = TEM_INI_KAR
tem_fin_efe2 = tem_ini_efe2 + QUA_CEN_ATU * randint (0,5) / 10
com_pos_pix2 = pos(pos_col_pix, pos_lin_pix)
com_bas_pix2 = an(3) + be(1) + bord(0.5) + shad(0) + c1(VAL_1CH_SCR) + fscxy(200)
com_dia_pix2 = p(1)
com_pic_pix2 = ppix()
com_tra_pix = ''
ael(LIS_EVE_FRE, mes(sta = tem_ini_efe2, end = tem_fin_efe2, tex = mte(com_pos_pix2 + com_bas_pix2 + com_dia_pix2, com_pic_pix2, com_tra_pix + COM_FIN_EVE, CON_FIN_EVE, GER_EFE_FIN)), GER_TER_BLO)
con_ite_lis2 = con_ite_lis2 + 7
while con_ite_lis3 < len(lis_pix_car) :
con_ite_pix = randint(0, len(lis_pix_car) - 1)
val_col_pix = lis_pix_car[con_ite_pix][0]
val_lin_pix = lis_pix_car[con_ite_pix][1]
val_alp_pix = lis_pix_car[con_ite_pix][2]
pos_col_pix = COL_SIL_ATU + val_col_pix + AJU_COL_PIX
pos_lin_pix = LIN_SIL_ATU + val_lin_pix + AJU_LIN_PIX
tem_ini_efe3 = TEM_INI_KAR + QUA_CEN_ATU * randint(0,7) / 10 + randint(0,20)
tem_dur_efe3 = randint(20,30)
tem_fin_efe3 = TEM_FIN_KAR + randint(250,300)
com_pos_pix3 = move(pos_col_pix, pos_lin_pix, pos_col_pix - randint(-10,80), pos_lin_pix + randint(100,220))
com_bas_pix3 = an(3) + bord(0) + shad(0) + be(1) + alpha(val_alp_pix)
com_adi_pix3 = fscxy(100) + t(alpha(255) + fr(randint(-600,600)) + frx(randint(-500,500)) + fry(randint(-500,500)))
com_dia_pix3 = p(5)
com_pic_pix3 = pfum()
com_tra_pix3 = p(0)
ael(LIS_EVE_FRE, mes(sta = tem_ini_efe3, end = tem_fin_efe3, tex = mte(com_pos_pix3 + com_bas_pix3 + com_adi_pix3 + com_dia_pix3, com_pic_pix3, com_tra_pix3 + COM_FIN_EVE, CON_FIN_EVE, GER_EFE_FIN)), GER_TER_BLO)
con_ite_lis3 = con_ite_lis3 + 7
#--------------------------------------------------------------------------------------------------#
# sau kara (cu?i syl -> cu?i câu)
## COM_QUA_BLO = be(0)
## ael(LIS_EVE_FRE, mes(sta = TEM_FIN_KAR, end = TEM_FIN_FRA, tex = mte(COM_POS_KAR + COM_BAS_SIL + COM_QUA_BLO, SIL_FRA_ATU, COM_FIN_EVE, CON_FIN_EVE, GER_EFE_FIN)), GER_QUA_BLO)
#--------------------------------------------------------------------------------------------------#
# kho?ng sau câu
## COM_QUI_BLO = be(0) + bord(0) + shad(0) + frx(0) + fscx(100) + alpha(0) + t( dv(0,200) + frx(90) + alpha(255) + fscx(400)) + move(COL_SIL_ATU, LIN_SIL_ATU, COL_SIL_ATU - 13, LIN_SIL_ATU - 7,0,200)
##
## ael(LIS_EVE_FRE, mes(sta = TEM_FIN_FRA , end = TEM_FIN_FRA + 500 , tex = mte(COM_QUI_BLO, SIL_FRA_ATU, COM_FIN_EVE, CON_FIN_EVE, GER_EFE_FIN)), GER_QUI_BLO)
#--------------------------------------------------------------------------------------------------#
# lead out c?a câu
## COM_ENC_BLO = ''
##
## ael(LIS_EVE_FRE, mes(sta = TEM_FIN_FRA - (QUA_KAR_FRA - CON_COL_KAR) * 2 + 20 , end = TEM_ENC_FRA, tex = mte(COM_POS_KAR + COM_BAS_SIL + COM_ENC_BLO, SIL_FRA_ATU, COM_FIN_EVE, CON_FIN_EVE, GER_EFE_FIN)), GER_ENC_BLO)
#--------------------------------------------------------------------------------------------------#
# lead out c?a t?ng syl/char
## COM_FIN_BLO = an(5) + be(0) + bord(1.8) + shad(0.5) + t(dv(0,200) + alpha(255) + fscxy(150) + fr(360))
##
## ael(LIS_EVE_FRE, mes(sta = TEM_FIN_FRA + CON_COL_KAR * 2 - lead_out_time[CON_LIN_KAR], end = TEM_IND_ENC, tex = mte(COM_POS_KAR + COM_BAS_SIL + COM_FIN_BLO, SIL_FRA_ATU, COM_FIN_EVE, CON_FIN_EVE, GER_EFE_FIN)), GER_FIN_BLO)
#--------------------------------------------------------------------------------------------------#
##
## end - karaoke effect
####################################################################################################
TEM_INT_ACU = TEM_INT_ACU - DUR_INT_INT
TEM_ENC_ACU = TEM_ENC_ACU + DUR_INT_ENC
CON_COL_KAR = CON_COL_KAR + 1
##
## end - syl
####################################################################################################
####################################################################################################
## start - translation
##
COL_FRA_TRA, VAL_ALI_TRA = geralitra(CON_LIN_KAR, LIS_FRA_ESQ, LIS_FRA_DIR, MAR_VER_SCR, COL_FIN_SCR)
POS_FRA_TRA = pos(COL_FRA_TRA, LIN_FRA_TRA)
COM_BAS_TRA = fad(150, 150) + bord(0) + fscxy(90) + an(VAL_ALI_TRA)
COM_FRA_TRA = c1(VAL_1CH_SCR)
## ael(LIS_EVE_TRA, mes(sta = TEM_INI_FRA, end = TEM_FIN_FRA, tex = '{' + POS_FRA_TRA + COM_BAS_TRA + COM_FRA_TRA + '}' + LIS_TRA_SCR[CON_LIN_KAR] + '\n'), GER_FRA_TRA)
##
## end - translation
####################################################################################################
CON_LIN_KAR = CON_LIN_KAR + 1
##
## end - câu
####################################################################################################
gerscrssa(TEM_INI_PRO, GER_SSA_PRI, GER_SSA_MAS, DIR_NOM_PRI, DIR_NOM_MAS, LIS_CAB_COM, LIS_EST_PRI, LIS_EST_MAS, LIS_EST_COM, LIS_EVE_FUN, LIS_EVE_FRE, LIS_EVE_FIN, LIS_EVE_TRA)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment