on init
declare const $KS_TRANSPOSE := 44
declare const $TRANSPOSE_RANGE := 6
declare $i
declare $detune
make_persistent($detune)
end on
function KeyColor()
$i := $KS_TRANSPOSE - $TRANSPOSE_RANGE
while ($i <= $KS_TRANSPOSE + $TRANSPOSE_RANGE)
set_key_color($i, $KEY_COLOR_RED)
inc($i)
end while
set_key_color($KS_TRANSPOSE, $KEY_COLOR_YELLOW)
set_key_color($KS_TRANSPOSE + $detune, $KEY_COLOR_GREEN)
end function
on persistence_changed
call KeyColor()
end on
on note
if (in_range($EVENT_NOTE, $KS_TRANSPOSE - $TRANSPOSE_RANGE, $KS_TRANSPOSE + $TRANSPOSE_RANGE))
ignore_event($EVENT_ID)
$detune := $EVENT_NOTE - $KS_TRANSPOSE
change_tune($ALL_EVENTS, $detune * 100000, 0)
call KeyColor()
else
change_tune($EVENT_ID, $detune * 100000, 0)
end if
end on