lilypond-user
[Top][All Lists]
Advanced

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

Re: Microtonal Helmholtz-Ellis notation in Lilypond: fine-tuning


From: Stefan Thomas
Subject: Re: Microtonal Helmholtz-Ellis notation in Lilypond: fine-tuning
Date: Sat, 26 Sep 2009 20:51:14 +0200

Dear Robin,
thanks for Your very good advice!
I made a success, but I'm still not totally happy.
By the way, what's the problem with the font-including?
It works properly, for me. I still have a problem with spacing.
I guess I have these problems, because I dont understand what the lines
\override Accidental #'X-extent = #(lambda (grob)
  (interval-translate (ly:stencil-extent     (ly:text-interface::print grob) X) -0.9))
    
     \override Accidental #'Y-extent = #(lambda (grob)
   (ly:stencil-extent (ly:text-interface::print grob) Y) )
exactly do!

Here is my new snippet:
\version "2.12.0"


% Define tunings:
\paper{
#(define fonts (make-pango-font-tree "Century Schoolbook L"
                                      "HE"
                                      "Bitstream Vera Sans Mono"
                         1))
}

#(define-public VierteltonBSYMBOL -1/4)
#(define-public SyntohochSYMBOL 1/12)
#(define-public ZweiSyntohochSYMBOL 1/6)
#(define-public Vierteltonkreuz 1/4)
#(define-public VLAT -1/10)
#(define-public FVLAT -3/5)
#(define-public SVLAT 2/5)

StefansPitchnames = #`(
    (c . ,(ly:make-pitch -1 0 NATURAL))
    (cis . ,(ly:make-pitch -1 0 SHARP))
    (g . ,(ly:make-pitch -1 4 NATURAL))
    (gis . ,(ly:make-pitch -1 4 SHARP))

   
    (ceh . ,(ly:make-pitch -1 0 VierteltonBSYMBOL))
    (c . ,(ly:make-pitch -1 0 NATURAL))
    (cih . ,(ly:make-pitch -1 0 Vierteltonkreuz))
       
    (g . ,(ly:make-pitch -1 4 NATURAL))
         (co . ,(ly:make-pitch -1 0 SyntohochSYMBOL))
         (coo . ,(ly:make-pitch -1 0 ZweiSyntohochSYMBOL))       
)




FONTNAME = "HE"


NATURALSYMBOL = "Ñ"
VierteltonBSYMBOL = "ç"
Vierteltonkreuz = "è"
FLATSYMBOL = "e"
SHARPSYMBOL = "Ø"
DFLATSYMBOL = "Ã"
DSHARPSYMBOL = "ß"
SyntohochSYMBOL = "o"
ZweiSyntohochSYMBOL = "p"





StefansStrings = #`(
       (-1/4 . ,VierteltonBSYMBOL)
       (1/4 .   ,Vierteltonkreuz)
       (0 .     ,NATURALSYMBOL)
       (1/2 .   ,SHARPSYMBOL)
       (-1/2 .  ,FLATSYMBOL)
       (-1 .    ,DFLATSYMBOL)
       ( 1 .    ,DSHARPSYMBOL)
        (1/12 . ,SyntohochSYMBOL)
         (1/6 . ,ZweiSyntohochSYMBOL)
       
)

\layout {
  \context {
    \Score
    \override KeySignature #'stencil = #ly:text-interface::print
    \override KeySignature #'font-name = #FONTNAME
\override Accidental #'stencil = #(lambda (grob) (box-stencil (ly:text-interface::print grob) 0 0))
    \override Accidental #'stencil = #ly:text-interface::print
    \override Accidental #'font-name = #FONTNAME
    \override Accidental #'text = #(lambda (grob)
         (cdr (assoc (ly:grob-property grob 'alteration)
                  StefansStrings)))
     \override Accidental #'X-extent = #(lambda (grob)
  (interval-translate (ly:stencil-extent     (ly:text-interface::print grob) X) -0.9))
    
     \override Accidental #'Y-extent = #(lambda (grob)
   (ly:stencil-extent (ly:text-interface::print grob) Y) )
  }
}

pitchnames = \StefansPitchnames

#(ly:parser-set-note-names parser pitchnames)
% the "Score"

\new Staff
   \relative c' {
  
  c co coo cih |
  cis cis cis cis | % the sharp sign is too much left!
c co coo cih |
gis' gis gis gis | % the note and the sharp sign are too much right!
}






reply via email to

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