Le variabili      

Le variabili vanno sempre precedute dal simbolo del dollaro ($).
Cosa succede alle variabili quando viene applicato il Karaoke Templater?
Ogni variabile, viene sostituita con il valore numerico corrispondente della sillaba o linea che viene processata.
Nell’esempio di prima, avevamo $sstart e $send che sono stati sostituiti con il tempo, in millisecondi, di inizio e fine della sillaba (a partire dall’inizio della linea).
Scrivere le variabili in MAIUSCOLO/minuscolo non ha importanza, $start, $START e $StArT funzionano tutte e danno lo stesso risultato.

Esistono variabili sia per le "linee" che per le "sillabe".
Le Variabili "linea" contengono informazioni riguardanti l’intera linea da processare, le variabili "sillaba" solo sulla sillaba corrente.















Variabili di linea (iniziano con la lettera l)
layerLayer della linea
lstart, lend, ldur, lmidTempo inizio linea, tempo fine, durata e tempo intermedio in millisecondi
styleNome dello stile della linea
actorNome dell’attore della linea
margin_l, margin_rMargine sinistro e destro (della linea se non zero, altrimenti dello stile)
margin_v, margin_t, margin_bMargine verticale, superiore e inferiore (verticale e superiore sono la stessa cosa)
sylnNumero di sillabe nella linea
liContatore numerico delle linee (la prima linea fisica nel file è 1)
lleft, lcenter, lrightBordo sinistro, centrale orizzontale e destro, tenendo conto dei margini e dell’allineamento, arrotondati ad un numero intero
ltop, lmiddle, lbottomBordi superiore, centrale verticale e inferiore, tenendo conto dei margini e dell’allineamento, arrotondati ad un numero intero
lx, lyPosizione x e y della linea, adatte ad essere utilizzate con il comando \pos quando l’allineamento non ha precedenza sul libero posizionamento
lwidth, lheightLarghezza ed altezza della linea in pixel, questo valore è arrotondato e potrebbe non corrispondere con i valori precisi delle altre variabili di posizione
















Variabili di Sillaba (iniziano con la lettera s)
sstart, send, smidTempo inizio sillaba, tempo fine rispetto all’inizio della linea, e tempo intermedio rispetto ai valori di inizio e fine (per \t e \move)
sdur, skdurDurata della sillaba in millisecondi e centisecondi (skdur in pratica è il valore numerico di \k che abbiamo nel karaoke di base)
siContatore numerico della sillaba dall’inizio della linea
sleft, scenter, srightValori assoluti dei bordi sinistro, centrale orizzontale e destro della sillaba, a partire dal bordo sinistro dello schermo, utilizzabile con i tag \pos e \move
sbottom, smiddle, stopValori assoluti dei bordi superiore, centrale verticale e inferiore della sillaba, a partire dal bordo superiore dello schermo, utilizzabile con i tag \pos e \move, con adattamenti per il posizionamento dei furigana se necessario
sx, syPosizione assoluta x e y della sillaba nell’allineamento predefinito (per \pos e \move)
swidth, sheightLarghezza e altezza della sillaba in pixel, questo valore è arrotondato e potrebbe non corrispondere con i valori precisi delle altre variabili di posizione

Ci sono anche variabili "automatiche", che hanno la stessa funzione di quelle normali, ma variano funzione a seconda del template in cui sono usate; ad esempio start, se viene usata in un template line (o in un template pre-line) è equivalente a lstart, mentre se viene usata in un template syl equivale a sstart.
Oppure x, che in un template line equivale a lx, in un template syl equivale a sx.
Diciamo che sono una comodità, per far prima a scrivere.















Variabili automatiche
start, end, midTempo inizio, tempo fine, durata e tempo intermedio in millisecondi
dur, kdurDurata in millisecondi e centisecondi
iContatore numerico
left, center, rightValori assoluti dei bordi sinistro, centrale orizzontale e destro
top, middle, bottomValori assoluti dei bordi superiore, centrale verticale e inferiore
x, yPosizione assoluta x e y
width, heightLarghezza e altezza


LIMITAZIONI
Tutte le posizioni e dimensioni delle variabili di linea (come $y, $right e $width) sono arrotondate al pixel intero più vicino, a differenza dei valori nei dati interni nelle formule, che hanno una precisione maggiore (possono usare valori con virgola).
Es. se noi utilizziamo una formula del tipo 80 / 6 = 13,3333 esce un numero con il decimale. Tuttavia se utilizziamo questo numero per altri calcoli sempre nelle formule, i decimali verranno presi in considerazione per questi calcoli.
I valori, però, che vengono inseriti nelle variabili (tipo $right, $width, ecc.) non possono avere decimali, di conseguenza vengono arrotondati all’intero più vicino. Es. 13,3333 sarà 13, mentre un 10,7 sarà 11.