nocheck
textfont extra 1 "Courier"

[stave 1 treble 1]
[key c]
cdefgabc' | [newline]
#c$d#e#f#g#a$b  $^%c' $c' | [newline]
[octave 2]
#c$d
[endstave]

[newmovement]
transpose 1

[stave 1 treble 1]
[key c]
cdefgabc' | [newline]
#c$d#e#f#g#a$b  $^%c' $c' | [newline]
[octave 2]
#c$d
[endstave]

@ Checks for key N

[newmovement]
nocheck
[stave 1 treble 1 key A]
ab | [key N] cd | [key E$] ef |
[endstave]


[newmovement newpage]
nocheck
justify left right top
notespacing *0.8

*define X cdef|gabc'|$c|#c|$d|#d|$e|#e|$f|#f|$g|#g|$a|#a|$b|#b| [newline]

[stave 1 treble 1 key N]
              "0" &X
[transpose 1] "1" &X
[transpose 1] "2" &X
[transpose 1] "3" &X
[transpose 1] "4" &X
[transpose 1] "5" &X
[transpose 1] "6" &X
[transpose 1] "7" &X
[transpose 1] "8" &X
[transpose 1] "9" &X
[transpose 1] "10" &X
[transpose 1] "11" &X
[transpose 1] "12" &X

[octave 2]
[transpose -12] "0" &X
[transpose -1] "-1" &X
[transpose -1] "-2" &X
[transpose -1] "-3" &X
[transpose -1] "-4" &X
[transpose -1] "-5" &X
[transpose -1] "-6" &X
[transpose -1] "-7" &X
[transpose -1] "-8" &X
[transpose -1] "-9" &X
[transpose -1] "-10" &X
[transpose -1] "-11" &X
[transpose -1] "-12" &X
[endstave]

[newmovement newpage]

*define Y $$c|##c|$$d|##d|$$e|##e|$$f|##f|$$g|##g|$$a|##a|$$b|##b| [newline]

[stave 1 treble 1 key N]
              "0" &Y
[transpose 1] "1" &Y
[transpose 1] "2" &Y
[transpose 1] "3" &Y
[transpose 1] "4" &Y
[transpose 1] "5" &Y
[transpose 1] "6" &Y
[transpose 1] "7" &Y
[transpose 1] "8" &Y
[transpose 1] "9" &Y
[transpose 1] "10" &Y
[transpose 1] "11" &Y
[transpose 1] "12" &Y

[octave 2]
[transpose -12] "0" &Y
[transpose -1] "-1" &Y
[transpose -1] "-2" &Y
[transpose -1] "-3" &Y
[transpose -1] "-4" &Y
[transpose -1] "-5" &Y
[transpose -1] "-6" &Y
[transpose -1] "-7" &Y
[transpose -1] "-8" &Y
[transpose -1] "-9" &Y
[transpose -1] "-10" &Y
[transpose -1] "-11" &Y
[transpose -1] "-12" &Y
[endstave]


@ Custom transposition

[newmovement]

makekey X1 $-4
makekey X2 $-6

keytranspose X1 0=x1/0
keytranspose X1 2=x2/1

keytranspose X2 0=x2/0 -2=x1/1

key x1

[stave 1 treble 1]
gg |
[transpose 2 key x1] gg |
[transpose -2 key x2] gg |
[transpose -2 key x2] gg |
[endstave]

@ Check persistence into new movement.

[newmovement]
key x1

[stave 1 treble 1]
gg |
[transpose 2 key x1] gg |
[transpose -2 key x2] gg |
[transpose -2 key x2] gg |
[endstave]


[newmovement]
keytranspose c 1=c/0
key c

[stave 1 treble 1]
[transpose 1]
cde#fg |
[endstave]


[newmovement]
keytranspose c 0=c/1

[stave 1 treble 1 transpose 0]
cdefg
[endstave]


[newmovement]
keytranspose c 0=c/-1

[stave 1 treble 1 transpose 0]
cdefg
[endstave]



[newmovement]
nocheck

transpose -1
heading "\tC#"
key C#

[stave 1 treble 1 text underlay]
c'
[endstave]



[newmovement]
nocheck

transpose -1
key C#
heading "\tC#"

[stave 1 treble 1 text underlay textfont extra 1 ns *2 sshere +4]
"$\-c\' \#\-c\'" $-c' #-c'
"$\-d\' \#\-d\'" $-d' #-d'
"$\-e\' \#\-e\'" $-e' #-e'
"$\-f\' \#\-f\'" $-f' #-f'
"$\-g   \#\-g  " $-g  #-g 
"$\-a   \#\-a  " $-a  #-a 
"$\-b   \#\-b  " $-b  #-b 
| [transpose +2]
"$\-c\' \#\-c\'" $-c' #-c'
"$\-d\' \#\-d\'" $-d' #-d'
"$\-e\' \#\-e\'" $-e' #-e'
"$\-f\' \#\-f\'" $-f' #-f'
"$\-g   \#\-g  " $-g  #-g 
"$\-a   \#\-a  " $-a  #-a 
"$\-b   \#\-b  " $-b  #-b 
[endstave]


[newmovement]
nocheck
key N

[stave 1 treble 1]
#G_ | G %G %G |
#G_ | G %^%G %G |
$G_ | G $G |
[newline transpose 2]
#G_ | G %G %G |
#G_ | G %^%G %G |
$G_ | G $G |
[newline transpose -1]
#G_ | G %G %G |
#G_ | G %^%G %G |
$G_ | G $G |
[endstave]
