<?xml version="1.0"?>
<Denemo>
  <merge>
    <title>A Denemo Keymap</title>
    <author>AT, JRR, RTS</author>
    <map>
      <row>
        <after>SmallerStaff</after>
        <action>TransposeStaffPrint</action>
        <scheme> ;;;;;;;;;;; TransposeStaffPrint
(if (not (defined? 'Transpose::init))
    (begin
    (d-LoadCommand "/MainMenu/EditMenu/Transpose/SetTransposeIntervalFromSelection")
    (d-InitializeScript "SetTransposeIntervalFromSelection")))
(let ((lily #f) (text #f))
  (set! Transpose::Interval (d-GetUserInput "Set Transpose Interval" "Give Interval to transpose by
e.g. c ees means up minor third.
es = flat, so e.g. bes means b-flat
is = sharp so e.g fis means f-sharp
Use commas for octave(s) down, 
single-quotes for octave(s) up
e.g. c c' means octave up.
" Transpose::Interval))
  (set! lily (string-append  "\\transpose " Transpose::Interval " "))
  (set! text (string-append  "Print transposed:  " Transpose::Interval " "))
  (d-DirectivePut-staff-postfix  "TransposeStaffPrint" lily)
  (d-DirectivePut-staff-display  "TransposeStaffPrint" text)
  (d-DirectivePut-staff-override  "TransposeStaffPrint" DENEMO_OVERRIDE_GRAPHIC)
  (d-RefreshDisplay))
</scheme>
        <label>(Print) Transpose</label>
        <tooltip>Prints this staff (only) transposed. This is in addtion to any score-wide transposition</tooltip>
      </row>
    </map>
  </merge>
</Denemo>
