I modificatori      

Alle tre classi principali di template, è possibile applicare dei modificatori.
Elenchiamo quelli più semplici, ma ce ne sono anche altri, che trovate nella documentazione principale.

  • all: applica il template ad ogni singola linea/sillaba di tutto il file, senza tener conto dello stile della linea (es. template syl all,{\pos($x,$y)})

  • char: fa lavorare il template carattere per carattere e non sillaba per sillaba.

    Esempio:
    template syl char,{\pos($x,$y)}
    Ogni carattere della sillaba assume una posizione specifica.
    L'applicazione di eventuali altri template, sarà effettuata per tutti i caratteri in una volta sola, uno dopo l'altro, e non intervallandoli.

    Ad esempio, se abbiamo due sillabe, "ku" e "no", il template restituirà come risultato 4 linee:
    {\pos($x,$y)}k
    {\pos($x,$y)}u
    {\pos($x,$y)}n
    {\pos($x,$y)}o

  • keeptags: specifica che devono essere mantenuti i tag originali delle sillabe dopo l'applicazione del template.

    Esempio:
    karaoke: {\k21}hi{\k10}gu{\k23}ra{\k22}shi {\k38}ga {\k37\1c&H0000FF&}na{\k37}ku

    Una delle sillabe ("na") è stata colorata in maniera diversa inserendo un tag nel karaoke di base.
    Se la linea di template fosse un template line normale:
    template line: {\r\t($start,!$start+1!,\frx40)\t(!$start+1!,$end,\frx0)}
    data la presenza del tag \r, all’applicazione del template il tag di colore inserito verrebbe eliminato, perché le sillabe sarebbero tutte portate allo stile originale (come appunto indicato dal tag \r).

    Invece il modificatore keeptag assicura che venga mantenuto il tag presente nel karaoke di base.
    template line keeptags: {\r\t($start,!$start+1!,\frx40)\t(!$start+1!,$end,\frx0)}

  • notext: specifica che non dev'essere inserito il testo originale nella linea di output. Si usa solitamente per i template che avranno come risultato tag di disegno o similari.

  • noblank: specifica che il template non dev'essere applicato alle sillabe che vengono considerate "blank" (vuote). Una sillaba viene considerata "blank", se il suo testo (escludendo quello dei tag) consiste esclusivamente di caratteri "spazio" oppure se è completamente vuoto. Una sillaba viene considerata "blank" anche se la sua durata è pari a zero.

  • fx [nome]: applica il template solo alle sillabe che sono “marchiate” con il [nome] scelto mediante il tag inline-fx, e viene usato per assegnare un effetto diverso solo a determinate parti della linea (solo a determinate sillabe).

    Esempio:
    template syl fx drop,{\move($x,$y,$x,!$y+30!,$start,$end)}

    Con questo template, tutte le sillabe che hanno il tag inline-fx "drop" avranno, oltre al template di base per tutte le sillabe, anche una linea in più, in cui le sillabe si spostano in basso di 30 pixel nella loro “illuminazione”.
    Naturalmente tutti gli altri template che non hanno il modificatore fx, verranno applicati nel solito modo a tutte le sillabe..

    Il tag inline-fx in sé, non produce nessun risultato sul karaoke di base, ma entra in gioco quando viene applicato il template.
    Il tag Inline-fx si scrive in questo modo: \-[nomefx] (il nomefx è il nome che abbiamo scelto, nell’esempio di prima: drop).

    Il tag inline-fx influenza la sillaba su cui è inserito ed ogni sillaba successiva, finché non trova un nuovo tag inline-fx, o fino alla fine della linea; infatti, all’inizio di ogni linea di karaoke, viene resettata la presenza di tag inline-fx.

    Esempio:

    Ecco un karaoke di base con alcune sillabe marcate con il tag inline-fx:
    {\k40}zu{\k20}t{\k42}to {\k32\-paint}e{\k17}ga{\k45}i{\k32}te{\k26}ta {\k24\-cloud}yu{\k55}me

    Il template legge le sillabe con questa assegnazione:

    Sillaba Inline-fx
    zu       (vuoto)
    t        (vuoto)
    to       (vuoto)
    e         paint
    ga        paint
    i         paint
    te        paint
    ta        paint
    yu        cloud
    me        cloud


    I nostri tre template saranno quindi i seguenti:
    template syl: {effetto base applicato a tutte le sillabe}
    template syl fx paint: {effetto aggiuntivo applicato solo alle sillabe assegnate con “paint”}
    template syl fx cloud: {effetto aggiuntivo applicato solo alle sillabe assegnate con “cloud”}

  • repeat [n], loop [n] : Specifica che il template verrà applicato un numero n di volte (indicato nel modificatore). Il numero di loop dev’essere un numero intero (non può essere una variabile o una cifra calcolata in modo dinamico).
    repeat e loop sono sinonimi.

    Esempio:
    template syl loop 4: {\move($x,$y,!$x+math.random(-30,30)!,!$y+math.random(-30,30)!,$start,$end)}

    il modificatore loop in questo caso è stato usato per creare 4 copie delle sillabe ogni volta che viene eseguito il template. Ogni sillaba si muove in una direzione random, a 30 pixel massimi di differenza dalle coordinate X e Y originali.