
set $counter 0
set $countto 15
set $step 1
set $0 0
set $1 1
set $2 2
set $3 3
set $4 4
set $5 5
set $6 6
set $7 7
set $8 8
set $9 9
set $10 10
set $11 11
set $12 12
set $13 13
set $14 14
set $15 15

lo $note

@loop

eq $counter $0 @step1
eq $counter $1 @step2
eq $counter $2 @step3
eq $counter $3 @step4
eq $counter $4 @step5
eq $counter $5 @step6
eq $counter $6 @step7
eq $counter $7 @step8
eq $counter $8 @step9
eq $counter $9 @step10
eq $counter $10 @step11
eq $counter $11 @step12
eq $counter $12 @step13
eq $counter $13 @step14
eq $counter $14 @step15
eq $counter $15 @step16

/Below are programmed values for transposition, velocity, gate time and arp direction 
/per every of the 8 steps of the sequencer
/vel and gate has to be in 0..1 range
/dir 0=low, 1=down, 2=up, 3=high and any other=same




@step1
set $trans -12
set $vel 1
set $gate .9
set $dir 1

goto @motion

@step2
set $trans 0
set $vel 1
set $gate .9
set $dir 1

goto @motion

@step3
set $trans 12
set $vel 1
set $gate .9
set $dir 1

goto @motion

@step4
set $trans 0
set $vel 1
set $gate .9
set $dir 1

goto @motion

@step5
set $trans 7
set $vel 1
set $gate .9
set $dir 1

goto @motion

@step6
set $trans 0
set $vel 1
set $gate .9
set $dir 1

goto @motion

@step7
set $trans 0
set $vel 1
set $gate .9
set $dir 1

goto @motion

@step8
set $trans 12
set $vel 1
set $gate .9
set $dir 1

goto @motion

@step9
set $trans 0
set $vel 1
set $gate .9
set $dir 1

goto @motion

@step10
set $trans 7
set $vel 1
set $gate .9
set $dir 1

goto @motion

@step11
set $trans 0
set $vel 1
set $gate .9
set $dir 1

goto @motion

@step12
set $trans 0
set $vel 1
set $gate .9
set $dir 1

goto @motion

@step13
set $trans 12
set $vel 1
set $gate .9
set $dir 1

goto @motion

@step14
set $trans 0
set $vel 1
set $gate .9
set $dir 1

goto @motion

@step15
set $trans 7
set $vel 1
set $gate .9
set $dir 1

goto @motion

@step16
set $trans 0
set $vel 1
set $gate .9
set $dir 1

goto @motion






@motion
eq $dir $0 @low
eq $dir $1 @down
eq $dir $2 @up
eq $dir $3 @high
goto @play

@low
lo $note
goto @play

@down
down $note
valid $note @skip1
hi $note
@skip1
goto @play

@up
up $note
valid $note @skip2
lo $note
@skip2
goto @play

@high
hi $note


@play

set $noteplay $note
add $noteplay $trans
on $noteplay $vel
wait $gate
set $offgate 1
sub $offgate $gate
off $note
wait $offgate

add $counter $step
mod $counter $countto

goto @loop



