Jump to content

Creating custom key signatures: Difference between revisions

From LilyPond wiki
m New category
Tags: Mobile edit Mobile web edit
mNo edit summary
Line 1: Line 1:
LilyPond supports custom key signatures. In this example, print for D minor with an extended range of printed flats.
LilyPond supports custom key signatures. In this example, print for D minor with an extended range of shown flats.


<lilypond version="2.24">
<lilypond version="2.24">
Line 10: Line 10:
   \override KeyCancellation.sharp-positions = #'((-6 . 7))
   \override KeyCancellation.sharp-positions = #'((-6 . 7))


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

Revision as of 12:54, 29 November 2025

LilyPond supports custom key signatures. In this example, print for D minor 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))
  % presumably sharps are also printed in both octaves
  \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,
}