Jump to content

Ladder-style C clef: Difference between revisions

From LilyPond wiki
Import snippet from LSR
 
m Replace version="2.24.0" with version="2.24" now that the LilyWiki extension supports auto-selecting the latest release in a stable series
Line 5: Line 5:
[https://lists.gnu.org/archive/html/lilypond-user/2016-09/msg00443.html Ladder-style C clef for TTBB men's chorus]
[https://lists.gnu.org/archive/html/lilypond-user/2016-09/msg00443.html Ladder-style C clef for TTBB men's chorus]


<lilypond version="2.24.0">
<lilypond version="2.24">
%%% Ladder-style C clef, by Pierre Perol-Schneider
%%% Ladder-style C clef, by Pierre Perol-Schneider
%%% https://lists.gnu.org/archive/html/lilypond-user/2016-09/msg00453.html
%%% https://lists.gnu.org/archive/html/lilypond-user/2016-09/msg00453.html

Revision as of 18:52, 16 November 2025

From Wikipedia:
In printed music from the 16th and 17th centuries, the C clef often assumed a ladder-like form, in which the two horizontal rungs surround the stave line indicated as C: ; this form survived in some printed editions into the 20th century.

From lilypond-user discussion, 2016-09:
Ladder-style C clef for TTBB men's chorus

\version "2.24"

%%% Ladder-style C clef, by Pierre Perol-Schneider
%%% https://lists.gnu.org/archive/html/lilypond-user/2016-09/msg00453.html

ladderStyleClef = 
\markup
\override #'(filled . #t) 
\path #0.001 
  #'((moveto    0.000  -1.500)
     (lineto    0.000  -1.850)
     (curveto   0.000  -1.890  0.032  -1.920  0.075  -1.920)
     (curveto   0.122  -1.920  0.150  -1.890  0.150  -1.850)
     (lineto    0.150   1.850)
     (curveto   0.150   1.890  0.122   1.920  0.075   1.920)
     (curveto   0.032   1.920  0.000   1.890  0.000   1.850)
     (closepath)
     (moveto    0.350  -1.500)
     (lineto    0.350  -1.850)
     (curveto   0.350  -1.890  0.382  -1.920  0.425  -1.920)
     (curveto   0.472  -1.920  0.500  -1.890  0.500  -1.850)
     (lineto    0.500   1.850)
     (curveto   0.500   1.890  0.472   1.920  0.425   1.920)
     (curveto   0.382   1.920  0.350   1.890  0.350   1.850)
     (closepath)
     (moveto    1.800  -1.500)
     (lineto    1.800  -1.850)
     (curveto   1.800  -1.890  1.832  -1.920  1.875  -1.920)
     (curveto   1.922  -1.920  1.950  -1.890  1.950  -1.850)
     (lineto    1.950   1.850)
     (curveto   1.950   1.890  1.922   1.920  1.875   1.920)
     (curveto   1.832   1.920  1.800   1.890  1.800   1.850)
     (closepath)
     (moveto    2.150  -1.500)
     (lineto    2.150  -1.850)
     (curveto   2.150  -1.890  2.182  -1.920  2.225  -1.920)
     (curveto   2.272  -1.920  2.300  -1.890  2.300  -1.850)
     (lineto    2.300   1.850)
     (curveto   2.300   1.890  2.272   1.920  2.225   1.920)
     (curveto   2.182   1.920  2.150   1.890  2.150   1.850)
     (closepath)
     (moveto    0.500  -1.100)
     (curveto   0.500  -1.030  0.520  -0.970  0.620  -0.950)
     (lineto    1.600  -0.670)
     (curveto   1.690  -0.650  1.800  -0.620  1.800  -0.700)
     (lineto    1.800   0.070)
     (curveto   1.800  -0.020  1.700  -0.020  1.630  -0.050)
     (lineto    0.750  -0.300)
     (curveto   0.550  -0.370  0.500  -0.330  0.500  -0.200)
     (closepath)
     (moveto    0.500  -0.100)
     (curveto   0.500  -0.030  0.520  0.030   0.620   0.050)
     (lineto    1.600   0.330)
     (curveto   1.690   0.350  1.800  0.380   1.800   0.300)
     (lineto    1.800   1.170)
     (curveto   1.800   0.980  1.700  0.980   1.630   0.950)
     (lineto    0.750   0.700)
     (curveto   0.550   0.630  0.500  0.670   0.500   0.800)
     (closepath))
  
\new Staff \with {
  \override Clef.stencil = #(lambda (grob) (grob-interpret-markup grob ladderStyleClef))
  clefPosition = #1
  middleCPosition = #1
  middleCClefPosition = #1
}
{
  c'
}