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