Jump to content

Creating custom key signatures: Difference between revisions

From LilyPond wiki
mNo edit summary
mNo edit summary
 
Line 1: Line 1:
LilyPond supports custom key signatures. In this example, print for D minor with an extended range of shown flats.
LilyPond supports custom key signatures. In this example, print for D minor and D major with an extended range of shown flats.


<lilypond version="2.24">
<lilypond version="2.24">
Line 6: Line 6:
   \override KeySignature.flat-positions = #'((-7 . 6))
   \override KeySignature.flat-positions = #'((-7 . 6))
   \override KeyCancellation.flat-positions = #'((-7 . 6))
   \override KeyCancellation.flat-positions = #'((-7 . 6))
  % presumably sharps are also printed in both octaves
   \override KeySignature.sharp-positions = #'((-6 . 7))
   \override KeySignature.sharp-positions = #'((-6 . 7))
   \override KeyCancellation.sharp-positions = #'((-6 . 7))
   \override KeyCancellation.sharp-positions = #'((-6 . 7))
Line 24: Line 23:


{
{
   \key d\minor
   \key d\minor f bes, f bes, |
  f bes, f bes,
  \key d\major fis b, fis b, |
}
}
</lilypond>
</lilypond>

Latest revision as of 22:02, 7 December 2025

LilyPond supports custom key signatures. In this example, print for D minor and D major with an extended range of shown flats.

\version "2.24"

\new Staff \with {
  \override StaffSymbol.line-count = #8
  \override KeySignature.flat-positions = #'((-7 . 6))
  \override KeyCancellation.flat-positions = #'((-7 . 6))
  \override KeySignature.sharp-positions = #'((-6 . 7))
  \override KeyCancellation.sharp-positions = #'((-6 . 7))

  \override Clef.stencil =
    #(lambda (grob)
        (grob-interpret-markup grob
           #{ \markup\combine
                \musicglyph "clefs.C"
                \translate #'(-3 . -2)
                  \musicglyph "clefs.F"
           #}))
    clefPosition = #3
    middleCPosition = #3
    middleCClefPosition = #3
}

{
  \key d\minor f bes, f bes, |
  \key d\major fis b, fis b, |
}