Created
February 14, 2021 08:23
-
-
Save Doko-Demo-Doa/b705512cc1a64f87ecb273369df3e9e9 to your computer and use it in GitHub Desktop.
Clannad_OP.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- 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