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 <
pierre.schneider.pa...@gmail.com>:

> 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 <
> pierre.schneider.pa...@gmail.com>:
>
>> 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 <gne...@hotmail.com>:
>>
>>> -------- 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 <martinrushto...@btinternet.com>
>>>
>>> ...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
>>> lilypond-user@gnu.org
>>> https://lists.gnu.org/mailman/listinfo/lilypond-user
>>>
>>>
>>
>
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to