lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Ladder-style C clef for TTBB men's chorus


From: Pierre Perol-Schneider
Subject: Re: Ladder-style C clef for TTBB men's chorus
Date: Sun, 18 Sep 2016 10:34:26 +0200

Here's another possibility including clef changes:

\version "2.19.48"
 
%% clef C ladder style
#(define-markup-command (C_ladder-path layout props thk mlt) (number? number?)
  (interpret-markup layout props
   (markup
    (#:stencil
     (make-path-stencil
       '(M  0.000  -1.500
         L  0.000  -1.850
         C  0.000  -1.890  0.032  -1.920  0.075  -1.920
         C  0.122  -1.920  0.150  -1.890  0.150  -1.850
         L  0.150   1.850
         C  0.150   1.890  0.122   1.920  0.075   1.920
         C  0.032   1.920  0.000   1.890  0.000   1.850
         Z
         M  0.350  -1.500
         L  0.350  -1.850
         C  0.350  -1.890  0.382  -1.920  0.425  -1.920
         C  0.472  -1.920  0.500  -1.890  0.500  -1.850
         L  0.500   1.850
         C  0.500   1.890  0.472   1.920  0.425   1.920
         C  0.382   1.920  0.350   1.890  0.350   1.850
         Z
         M  1.800  -1.500
         L  1.800  -1.850
         C  1.800  -1.890  1.832  -1.920  1.875  -1.920
         C  1.922  -1.920  1.950  -1.890  1.950  -1.850
         L  1.950   1.850
         C  1.950   1.890  1.922   1.920  1.875   1.920
         C  1.832   1.920  1.800   1.890  1.800   1.850
         Z
         M  2.150  -1.500
         L  2.150  -1.850
         C  2.150  -1.890  2.182  -1.920  2.225  -1.920
         C  2.272  -1.920  2.300  -1.890  2.300  -1.850
         L  2.300   1.850
         C  2.300   1.890  2.272   1.920  2.225   1.920
         C  2.182   1.920  2.150   1.890  2.150   1.850
         Z
         M  0.500  -1.100
         C  0.500  -1.030  0.520  -0.970  0.620  -0.950
         L  1.600  -0.670
         C  1.690  -0.650  1.800  -0.620  1.800  -0.700
         L  1.800   0.070
         C  1.800  -0.020  1.700  -0.020  1.630  -0.050
         L  0.750  -0.300
         C  0.550  -0.370  0.500  -0.330  0.500  -0.200
         Z
         M  0.500  -0.100
         C  0.500  -0.030  0.520  0.030   0.620   0.050
         L  1.600   0.330
         C  1.690   0.350  1.800  0.380   1.800   0.300
         L  1.800   1.170
         C  1.800   0.980  1.700  0.980   1.630   0.950
         L  0.750   0.700
         C  0.550   0.630  0.500  0.670   0.500   0.800
         Z)
       thk mlt mlt #t)))))

#(add-new-clef "C_ladder" "clefs.C" 1 0 0)

\new Staff \with {
 \override Clef.stencil =
              #(lambda (grob)
                 (let* ((sz (ly:grob-property grob 'font-size 0.00))
                        (mlt (magstep sz))
                        (glyph (ly:grob-property grob 'glyph-name)))
                       (cond
                        ((equal? glyph "clefs.C")
                         (grob-interpret-markup grob
                          (markup #:scale(cons mlt mlt)#:C_ladder-path 0 1)))
                        ((equal? glyph "clefs.C_change")
                         (grob-interpret-markup grob
                          (markup #:scale(cons mlt mlt)#:C_ladder-path .01 .8)))
                        (else (ly:clef::print grob)))))
      \override Clef.X-extent = #'(0 . 1.8)
}
{
  \clef "C_ladder"
  \key aes \major
  \time 3/4
  c'2.
  \clef F c
  \clef "C_ladder" c'
}

Cheers,
Pierre

2016-09-18 1:23 GMT+02:00 Pierre Perol-Schneider <address@hidden>:
Just in case, for v2.18 version:

\version "2.18.2"

%%% Clef C Ladder Style defs:
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
}
{
  \key aes \major
  \time 3/4
  c'2.


Cheers,
Pierre

2016-09-18 1:02 GMT+02:00 Pierre Perol-Schneider <address@hiddencom>:
Hi Karlin,

How about:

\version "2.19.48"

%%% Clef C Ladder Style defs:
myClefC = \markup\stencil
  #(make-path-stencil
   '(M  0.000  -1.500
     L  0.000  -1.850
     C  0.000  -1.890  0.032  -1.920  0.075  -1.920
     C  0.122  -1.920  0.150  -1.890  0.150  -1.850
     L  0.150   1.850
     C  0.150   1.890  0.122   1.920  0.075   1.920
     C  0.032   1.920  0.000   1.890  0.000   1.850
     Z
     M  0.350  -1.500
     L  0.350  -1.850
     C  0.350  -1.890  0.382  -1.920  0.425  -1.920
     C  0.472  -1.920  0.500  -1.890  0.500  -1.850
     L  0.500   1.850
     C  0.500   1.890  0.472   1.920  0.425   1.920
     C  0.382   1.920  0.350   1.890  0.350   1.850
     Z
     M  1.800  -1.500
     L  1.800  -1.850
     C  1.800  -1.890  1.832  -1.920  1.875  -1.920
     C  1.922  -1.920  1.950  -1.890  1.950  -1.850
     L  1.950   1.850
     C  1.950   1.890  1.922   1.920  1.875   1.920
     C  1.832   1.920  1.800   1.890  1.800   1.850
     Z
     M  2.150  -1.500
     L  2.150  -1.850
     C  2.150  -1.890  2.182  -1.920  2.225  -1.920
     C  2.272  -1.920  2.300  -1.890  2.300  -1.850
     L  2.300   1.850
     C  2.300   1.890  2.272   1.920  2.225   1.920
     C  2.182   1.920  2.150   1.890  2.150   1.850
     Z
     M  0.500  -1.100
     C  0.500  -1.030  0.520  -0.970  0.620  -0.950
     L  1.600  -0.670
     C  1.690  -0.650  1.800  -0.620  1.800  -0.700
     L  1.800   0.070
     C  1.800  -0.020  1.700  -0.020  1.630  -0.050
     L  0.750  -0.300
     C  0.550  -0.370  0.500  -0.330  0.500  -0.200
     Z
     M  0.500  -0.100
     C  0.500  -0.030  0.520  0.030   0.620   0.050
     L  1.600   0.330
     C  1.690   0.350  1.800  0.380   1.800   0.300
     L  1.800   1.170
     C  1.800   0.980  1.700  0.980   1.630   0.950
     L  0.750   0.700
     C  0.550   0.630  0.500  0.670   0.500   0.800
     Z)
   0 1 1 #t)

\new Staff \with {
  \override Clef.stencil = #(lambda (grob) (grob-interpret-markup grob myClefC))
  clefPosition = #1
  middleCPosition = #1
  middleCClefPosition = #1
}
{
  \key aes \major
  \time 3/4
  c'2.
}

Cheers,
Pierre

2016-09-17 21:28 GMT+02:00 Karlin High <address@hidden>:
-------- Forwarded Message --------
Subject:     Re: Why the part-combining in American hymnals? (WAS:
Beaming, partcombine and pickups)
Date:     Sat, 17 Sep 2016 16:24:27 +0100
From:     J Martin Rushton <address@hiddenm>

...In passing I also note the use of the C-clef, but in an unusual
position that makes it the same as a conventional G-clef.
Regards,
Martin

-------- End Forwarded Message Excerpt --------

The unusual C-clef is actually the same effect as using \clef "treble_8"
but with a different symbol. Middle C ends up on the third space.

For me, that "ladder" clef symbol instantly identifies the song as a
TTBB men's chorus arrangement. I'm attaching a PNG with a more-typical
example of what I'm used to. LilyPond's standard C-clef symbol is
something I hadn't seen outside of the software until two days ago, when
I found it in an early-1900s men's chorus songbook at a garage sale.
(The book was something like this one:
https://archive.org/details/youngmenschorusc00adam )

Is there any way to get that ladder-style C-clef in LilyPond? Although I
can live with treble_8, typical TTBB men's chorus audiences here would
expect the ladder. I remember seeing a discussion for generating a very
similar symbol, but the right side of the ladder had "flags" going out
from the top and the bottom.
--
Karlin High
Missouri, USA

_______________________________________________
lilypond-user mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user





reply via email to

[Prev in Thread] Current Thread [Next in Thread]