Vysvětlivky k zápisu:
VERSION, TEMPO,
RESOLUTION, BLOCK_START,
BLOCK_END, PLAY_BLOCK,
SET_VOLUME,
REPEAT a SILENCE
jsou konstanty předdefinované v rozhraní ToneControl
.
x*y znamená, že se následující
proměnná může opakovat v sekvenci minimálně
x-krát a maximálně y-krát. Není-li
x uvedeno, předpokládá se x=0, není-li
uvedeno y, nemá počet opakování žádnou
horní mez.
; vše, co je na téže řádce za středníkem je komentář
/ (obyčejné lomítko) alternativa
Definice:
sekvence = verze *1definice_tempa
*1definice_rozlišení *definice_bloku
1*událost_sekvence
verze = VERSION číslo_verze
číslo_verze = 1
; verze číslo 1
definice_tempa = TEMPO modifikátor_tempa
modifikátor_tempa = 5 až 127
; po vynásobení 4 dostaneme hodnotu tempa v
; úderech za minutu, defaultní hodnota je 30
definice_rozlišení = RESOLUTION jednotka_rozlišení
jednotka_rozlišení = 1 až 127
; udává délku jednotkové noty, možné hodnoty jsou
; 1/1 až 1/127, defaultní hodnota je 1/64
definice_bloku = BLOCK_START číslo_bloku
1*událost_sekvence
BLOCK_END číslo_bloku
číslo_bloku = 0 - 127
; za BLOCK_END musí být stejné číslo jako za
; BLOCK_START
událost_sekvence = tón / blok /
hlasitost / opakování
tón = výška délka
výška = 0 až 127 nebo SILENCE
; výška tónu
; hodnota 69 odpovídá komornímu a
délka = 1 až 127
; délka tónu v jednotkových délkách (jednotka rozlišení)
; skutečná délka tónu v milisekundách se vypočítá vztahem
; délka * 60 * 1000 / (jednotka_rozlišení * modifikátor_tempa
* 4)
blok = PLAY_BLOCK číslo_bloku
číslo_bloku = 1 až 127
; blok tohoto čísla musí být předem definovaný
hlasitost = SET_VOLUME hodnota_hlasitosti
hodnota_hlasitosti = 0 až 100
; udaná hodnota je v procentech z maximální hlasitosti
opakování = REPEAT
multiplikátor tón
multiplikátor = 2 až 127
; počet opakování následujícího tónu