blip/doc/language-design.txt
2025-06-07 17:37:33 +02:00

15 lines
1.2 KiB
Text

notes: dorémi abc... as they appear in the note list
variables: $v8 assign '8' to the variable named 'v'
$v1+2
$vv+1
$v-4.1 as soon as the variable mutation string stops being valid, usual sheet music parsing continues (https://en.wikipedia.org/wiki/Maximal_munch)
loops: (...)
(2...) to loop 2 times
(n...) to loop n times (taking the integer part with the floor function)
tuplet: [...] all inner note lengths are shrinked evenly so that the duration of the whole tuplet is the duration of a single note
slope: {name...} as soon as the name stops matching any known slope name, usual sheet music parsing continues (implementation details will surely mean stopping on the first match to prevent weird errors when two slope names start the same)
silence: . silence is music
start-here: % playhead starts here but the context must be kept (outer loops / tuplets etc)
comment: # the rest of the line is ignored completely
All of these tokens may be separated by "blank" characters (spaces, tabs, carriage returns etc).