lilypond-user
[Top][All Lists]
Advanced

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

Re: old f-clef


From: Pierre Perol-Schneider
Subject: Re: old f-clef
Date: Fri, 30 Jun 2017 07:12:32 +0200

Hi Andy,
That reminds me a former discussion:
http://lilypond.1069038.n5.nabble.com/Ladder-style-C-clef-for-TTBB-men-s-chorus-td194673.html

So it'll go:

\version "2.19"

%% Path drawings:
my-clef-C =
#(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)

my-clef-F =
#(make-path-stencil
 '(M  -0.10  -0.35
   C  -0.10  -1.11   0.48  -1.80   1.25  -1.80
   C   1.75  -1.80   2.20  -1.60   2.50  -1.05
   C   2.55  -0.95   2.50  -0.90   2.43  -0.95
   C   2.20  -1.17   1.90  -1.48   1.45  -1.48
   C   0.70  -1.48   0.15  -0.85   0.15  -0.15
   C   0.15   0.45   0.62   0.83   1.05   0.83
   C   1.55   0.83   1.90   0.50   1.90   0.05
   C   1.90  -0.35   1.55  -0.71   1.20  -0.71
   C   0.80  -0.71   0.60  -0.40   0.63  -0.17
   C   0.75  -0.30   0.90  -0.31   1.00  -0.31
   C   1.20  -0.31   1.38  -0.10   1.38   0.15
   C   1.38   0.35   1.20   0.55   0.95   0.55
   C   0.60   0.52   0.39   0.25   0.39  -0.05
   C   0.39  -0.52   0.62  -0.89   1.20  -0.89
   C   1.65  -0.89   2.07  -0.50   2.07   0.10
   C   2.07   0.66   1.56   1.01   1.05   1.01
   C   0.28   1.01  -0.10   0.35  -0.10  -0.35
   M    2.42   0.20
   C   2.54   0.20   2.64   0.30   2.64   0.42
   C   2.64   0.54   2.54   0.64   2.42   0.64
   C   2.30   0.64   2.20   0.54   2.20   0.42
   C   2.20   0.30   2.30   0.20   2.42   0.20
   M    2.42  -0.20
   C   2.54  -0.20   2.64  -0.30   2.64  -0.42
   C   2.64  -0.54   2.54  -0.64   2.42  -0.64
   C   2.30  -0.64   2.20  -0.54   2.20  -0.42
   C   2.20  -0.30   2.30  -0.20   2.42  -0.20
   Z)
 0 1 1 #t)

\layout {
  \context {
    \Score
    \override Clef.stencil =
      #(lambda (grob)
         (let* ((sz (ly:grob-property grob 'font-size 0))
                (mlt (magstep sz))
                (glyph (ly:grob-property grob 'glyph-name)))
                 (cond
                  ((equal? glyph "clefs.C")
                     (ly:stencil-scale my-clef-C (* 1 mlt) (* 1 mlt)))
                  ((equal? glyph "clefs.C_change")
                    (ly:stencil-scale my-clef-C (* .8 mlt) (* .8 mlt)))
                  ((equal? glyph "clefs.F")
                     (ly:stencil-scale my-clef-F (* 1 mlt) (* 1 mlt)))
                  ((equal? glyph "clefs.F_change")
                    (ly:stencil-scale my-clef-F (* .8 mlt) (* .8 mlt)))
                  (else (ly:clef::print grob)))))
  }
}

%% Test:
#(set-global-staff-size 30)

{
  \clef C
  \set Staff.clefPosition = #1
  \set Staff.middleCPosition = #1
  \key aes \major
  \time 3/4
  c'2.
  \clef F c
}

HTH,
Pierre

2017-06-30 4:54 GMT+02:00 Andy Bradford <address@hidden>:
Thus said Stanton Sanderson on Thu, 29 Jun 2017 16:59:54 -0500:

> Still, it would have been better  to have asked about the older f-clef
> before  starting the  project, which  is in  recognition of  the 500th
> anniversary of the Reformation.

Sounds like an interesting project.

I'm  familiar with  this particular  bass clef,  and in  fact, had  been
wondering  myself how  to construct  it with  Lilypond. Now  that you've
brought it up, I  have a potential solution. I'm also  looking for a way
to engrave this particular C clef:

https://upload.wikimedia.org/wikipedia/commons/e/e4/Far_Above_Cayuga%27s_Waters_1906.png

I assume a similar method could be used to as in the old-style F clef.

Andy
--
TAI64 timestamp: 400000005955bd82



_______________________________________________
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]