Releases: ddj231/Handel
Releases · ddj231/Handel
0.8.0
New Features
- Adds Notegroups
- Adds
select
expressions. Select expressions allows you to index into notelists and notegroups (0 indexed) - Allows using choose expressions with Notegroups
The syntax for Notegroups is as follows: |E4, G5| C4, D4| E3
Below is an example program that uses Notegroups and select expressions:
start
save group = |E3| D3, G3| B3, F3
save sec = select 0 from group
play sec for 1b
finish
0.7.12
New Features
- adds
choose
expressions. This allows you to choose a random subset of notes from a notelist.
The syntax is: choose digit from notelist
Below is an example program that uses this feature:
start
save list = E2, G2, B2
save note = choose 1 from list
play note for 1b
finish
Bug fixes
- allows digit expressions that begin with digits (no just enclosed in parens) to be used wherever a digit is expected.
0.7.7
0.7.4
0.7.2
New Features
- allows random number generation when setting variable
- allows evaluating expressions when setting variables
To generate a random number when setting a variable, use the randint
keyword, followed by a range start to end
To evaluate an expression use the eval
keyword followed by a mathematical expression (note division is integer division).
Here is an example of the syntax:
save somerandomdigit = randint -5 to 5
save someint = eval 5 * 5 / (1 + 1) % 6
0.7.0
New Features
- adds
if - else blocks
(conditionals) - adds while loops
The syntax for an if - else
block is as follows:
start
if E4 greaterthan Cb3 then
play E4 for 1b
else
play Cb3 for 1b
endif
save mydigit = -5
if mydigit equalto 5 then
play C2 for 5b
endif
finish
The syntax for an while loops
is as follows:
start
save note = C2
block
play note for 1b
update note rshift 1
endblock loop while note lessthan C3
finish
0.5.11
0.5.10
0.5.9
0.5.8
New Features
- all types can now be shifted.
- Integer shifting is the equivalent of addition and subtraction.
- Shifting a playable, shifts its associated note lists by a number of semitones.
- Shifting a duration increases or decreases its beat length.
Example:
start
save num = 0
update num rshift 5
save myplayable = D2 for 1b
update myplayable lshift 2
save myduration = for 1b
update myduration rshift 3
finish
At the end of the above program, num = 4, myplayble = C2 for 1b, and myduration = 4b