lilypond-user
[Top][All Lists]
Advanced

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

Re: Overriding NoteHead stencil in a chord produces unwanted X offset


From: Mike Solomon
Subject: Re: Overriding NoteHead stencil in a chord produces unwanted X offset
Date: Sat, 04 Jul 2009 13:36:31 -0400
User-agent: Microsoft-Entourage/11.4.0.080122

The up and down arrows are eighth tones, but there is no standard convention
for how to write them.  Also, as you can imagine, they are approximations of
just-intoned intervals.  What really matters is the fingering chart.  To
effectuate these eighth tones, I modified someone else's quarter tone code
(see below).  
As I'll be using a lot of microtones, I may work on automating your very
good solution. My deadline for the piece is July 20, so I am under the gun,
but as Confucius once said, "One day devoted to automating a process saves
you a lifetime of doing it manually."

~Mike

#(define-public Q-SHARP 499/4000)
#(define-public Q-Q-SHARP 999/4000)
#(define-public Q-Q-Q-SHARP 1499/4000)
#(define-public SHARP-Q 2499/4000)
#(define-public SHARP-Q-Q 2999/4000)
#(define-public SHARP-Q-Q-Q 3499/4000)
#(define-public Q-FLAT -499/4000)
#(define-public Q-Q-FLAT -999/4000)
#(define-public Q-Q-Q-FLAT -1499/4000)
#(define-public FLAT-Q -2499/4000)
#(define-public FLAT-Q-Q -2999/4000)
#(define-public FLAT-Q-Q-Q -3499/4000)

quartertonearrowPitchNames =  #`(

        (ceses . ,(ly:make-pitch -1 0 DOUBLE-FLAT))
        (cesfff . ,(ly:make-pitch -1 0 FLAT-Q-Q-Q))
        (cesff . ,(ly:make-pitch -1 0 FLAT-Q-Q))
        (cesf . ,(ly:make-pitch -1 0 FLAT-Q))
        (ces . ,(ly:make-pitch -1 0 FLAT))
        (cfffes . ,(ly:make-pitch -1 0 Q-Q-Q-FLAT))
        (cffes . ,(ly:make-pitch -1 0 Q-Q-FLAT))
        (cfes . ,(ly:make-pitch -1 0 Q-FLAT))
        (c . ,(ly:make-pitch -1 0 NATURAL))
        (csis . ,(ly:make-pitch -1 0 Q-SHARP))
        (cssis . ,(ly:make-pitch -1 0 Q-Q-SHARP))
        (csssis . ,(ly:make-pitch -1 0 Q-Q-Q-SHARP))
        (cis . ,(ly:make-pitch -1 0 SHARP))
        (ciss . ,(ly:make-pitch -1 0 SHARP-Q))
        (cisss . ,(ly:make-pitch -1 0 SHARP-Q-Q))
        (cissss . ,(ly:make-pitch -1 0 SHARP-Q-Q-Q))
        (cisis . ,(ly:make-pitch -1 0 DOUBLE-SHARP))

        (deses . ,(ly:make-pitch -1 1 DOUBLE-FLAT))
        (desfff . ,(ly:make-pitch -1 1 FLAT-Q-Q-Q))
        (desff . ,(ly:make-pitch -1 1 FLAT-Q-Q))
        (desf . ,(ly:make-pitch -1 1 FLAT-Q))
        (des . ,(ly:make-pitch -1 1 FLAT))
        (dfffes . ,(ly:make-pitch -1 1 Q-Q-Q-FLAT))
        (dffes . ,(ly:make-pitch -1 1 Q-Q-FLAT))
        (dfes . ,(ly:make-pitch -1 1 Q-FLAT))
        (d . ,(ly:make-pitch -1 1 NATURAL))
        (dsis . ,(ly:make-pitch -1 1 Q-SHARP))
        (dssis . ,(ly:make-pitch -1 1 Q-Q-SHARP))
        (dsssis . ,(ly:make-pitch -1 1 Q-Q-Q-SHARP))
        (dis . ,(ly:make-pitch -1 1 SHARP))
        (diss . ,(ly:make-pitch -1 1 SHARP-Q))
        (disss . ,(ly:make-pitch -1 1 SHARP-Q-Q))
        (dissss . ,(ly:make-pitch -1 1 SHARP-Q-Q-Q))
        (disis . ,(ly:make-pitch -1 1 DOUBLE-SHARP))

        (eeses . ,(ly:make-pitch -1 2 DOUBLE-FLAT))
        (eesfff . ,(ly:make-pitch -1 2 FLAT-Q-Q-Q))
        (eesff . ,(ly:make-pitch -1 2 FLAT-Q-Q))
        (eesf . ,(ly:make-pitch -1 2 FLAT-Q))
        (ees . ,(ly:make-pitch -1 2 FLAT))
        (efffes . ,(ly:make-pitch -1 2 Q-Q-Q-FLAT))
        (effes . ,(ly:make-pitch -1 2 Q-Q-FLAT))
        (efes . ,(ly:make-pitch -1 2 Q-FLAT))
        (e . ,(ly:make-pitch -1 2 NATURAL))
        (esis . ,(ly:make-pitch -1 2 Q-SHARP))
        (essis . ,(ly:make-pitch -1 2 Q-Q-SHARP))
        (esssis . ,(ly:make-pitch -1 2 Q-Q-Q-SHARP))
        (eis . ,(ly:make-pitch -1 2 SHARP))
        (eiss . ,(ly:make-pitch -1 2 SHARP-Q))
        (eisss . ,(ly:make-pitch -1 2 SHARP-Q-Q))
        (eissss . ,(ly:make-pitch -1 2 SHARP-Q-Q-Q))
        (eisis . ,(ly:make-pitch -1 2 DOUBLE-SHARP))

        (feses . ,(ly:make-pitch -1 3 DOUBLE-FLAT))
        (fesfff . ,(ly:make-pitch -1 3 FLAT-Q-Q-Q))
        (fesff . ,(ly:make-pitch -1 3 FLAT-Q-Q))
        (fesf . ,(ly:make-pitch -1 3 FLAT-Q))
        (fes . ,(ly:make-pitch -1 3 FLAT))
        (ffffes . ,(ly:make-pitch -1 3 Q-Q-Q-FLAT))
        (fffes . ,(ly:make-pitch -1 3 Q-Q-FLAT))
        (ffes . ,(ly:make-pitch -1 3 Q-FLAT))
        (f . ,(ly:make-pitch -1 3 NATURAL))
        (fsis . ,(ly:make-pitch -1 3 Q-SHARP))
        (fssis . ,(ly:make-pitch -1 3 Q-Q-SHARP))
        (fsssis . ,(ly:make-pitch -1 3 Q-Q-Q-SHARP))
        (fis . ,(ly:make-pitch -1 3 SHARP))
        (fiss . ,(ly:make-pitch -1 3 SHARP-Q))
        (fisss . ,(ly:make-pitch -1 3 SHARP-Q-Q))
        (fissss . ,(ly:make-pitch -1 3 SHARP-Q-Q-Q))
        (fisis . ,(ly:make-pitch -1 3 DOUBLE-SHARP))

        (geses . ,(ly:make-pitch -1 4 DOUBLE-FLAT))
        (gesfff . ,(ly:make-pitch -1 4 FLAT-Q-Q-Q))
        (gesff . ,(ly:make-pitch -1 4 FLAT-Q-Q))
        (gesf . ,(ly:make-pitch -1 4 FLAT-Q))
        (ges . ,(ly:make-pitch -1 4 FLAT))
        (gfffes . ,(ly:make-pitch -1 4 Q-Q-Q-FLAT))
        (gffes . ,(ly:make-pitch -1 4 Q-Q-FLAT))
        (gfes . ,(ly:make-pitch -1 4 Q-FLAT))
        (g . ,(ly:make-pitch -1 4 NATURAL))
        (gsis . ,(ly:make-pitch -1 4 Q-SHARP))
        (gssis . ,(ly:make-pitch -1 4 Q-Q-SHARP))
        (gsssis . ,(ly:make-pitch -1 4 Q-Q-Q-SHARP))
        (gis . ,(ly:make-pitch -1 4 SHARP))
        (giss . ,(ly:make-pitch -1 4 SHARP-Q))
        (gisss . ,(ly:make-pitch -1 4 SHARP-Q-Q))
        (gissss . ,(ly:make-pitch -1 4 SHARP-Q-Q-Q))
        (gisis . ,(ly:make-pitch -1 4 DOUBLE-SHARP))

        (aeses . ,(ly:make-pitch -1 5 DOUBLE-FLAT))
        (aesfff . ,(ly:make-pitch -1 5 FLAT-Q-Q-Q))
        (aesff . ,(ly:make-pitch -1 5 FLAT-Q-Q))
        (aesf . ,(ly:make-pitch -1 5 FLAT-Q))
        (aes . ,(ly:make-pitch -1 5 FLAT))
        (afffes . ,(ly:make-pitch -1 5 Q-Q-Q-FLAT))
        (affes . ,(ly:make-pitch -1 5 Q-Q-FLAT))
        (afes . ,(ly:make-pitch -1 5 Q-FLAT))
        (a . ,(ly:make-pitch -1 5 NATURAL))
        (asis . ,(ly:make-pitch -1 5 Q-SHARP))
        (assis . ,(ly:make-pitch -1 5 Q-Q-SHARP))
        (asssis . ,(ly:make-pitch -1 5 Q-Q-Q-SHARP))
        (ais . ,(ly:make-pitch -1 5 SHARP))
        (aiss . ,(ly:make-pitch -1 5 SHARP-Q))
        (aisss . ,(ly:make-pitch -1 5 SHARP-Q-Q))
        (aissss . ,(ly:make-pitch -1 5 SHARP-Q-Q-Q))
        (aisis . ,(ly:make-pitch -1 5 DOUBLE-SHARP))

        (beses . ,(ly:make-pitch -1 6 DOUBLE-FLAT))
        (besfff . ,(ly:make-pitch -1 6 FLAT-Q-Q-Q))
        (besff . ,(ly:make-pitch -1 6 FLAT-Q-Q))
        (besf . ,(ly:make-pitch -1 6 FLAT-Q))
        (bes . ,(ly:make-pitch -1 6 FLAT))
        (bfffes . ,(ly:make-pitch -1 6 Q-Q-Q-FLAT))
        (bffes . ,(ly:make-pitch -1 6 Q-Q-FLAT))
        (bfes . ,(ly:make-pitch -1 6 Q-FLAT))
        (b . ,(ly:make-pitch -1 6 NATURAL))
        (bsis . ,(ly:make-pitch -1 6 Q-SHARP))
        (bssis . ,(ly:make-pitch -1 6 Q-Q-SHARP))
        (bsssis . ,(ly:make-pitch -1 6 Q-Q-Q-SHARP))
        (bis . ,(ly:make-pitch -1 6 SHARP))
        (biss . ,(ly:make-pitch -1 6 SHARP-Q))
        (bisss . ,(ly:make-pitch -1 6 SHARP-Q-Q))
        (bissss . ,(ly:make-pitch -1 6 SHARP-Q-Q-Q))
        (bisis . ,(ly:make-pitch -1 6 DOUBLE-SHARP))

)


%% set pitch names.
pitchnames = \quartertonearrowPitchNames
#(ly:parser-set-note-names parser pitchnames)


quartertonearrowGlyphs = #`(
        (1 . "accidentals.doublesharp")
        (3499/4000 . "accidentals.sharp.slashslash.stemstemstem")
    (2999/4000 . "accidentals.sharp.slashslashslash.stemstem")
    (2499/4000 . "accidentals.sharp.arrowup")
        (1/2 . "accidentals.sharp")
    (1499/4000 . "accidentals.sharp.arrowdown")
    (999/4000 . "accidentals.sharp.slashslashslash.stem")
    (499/4000 . "accidentals.sharp.slashslash.stem")
        (0 . "accidentals.natural")
    (-499/4000 . "accidentals.mirroredflat")
        (-999/4000 . "accidentals.mirroredflat.flat")
        (-1499/4000 . "accidentals.flat.arrowup")
        (-1/2 . "accidentals.flat")
        (-2499/4000 . "accidentals.flat.arrowdown")
        (-2999/4000 . "accidentals.flat.slash")
        (-3499/4000 . "accidentals.flat.slashslash")
        (-1 . "accidentals.flatflat")
)


On 7/4/09 1:14 PM, "Mark Polesky" <address@hidden> wrote:

> 
> Mike Solomon wrote:
>> Good question!
>> I am trying to write clarinet multiphonics.>
>> http://userpages.umbc.edu/~emrich/chapter6-5.html
> 
> I see. Here's a temporary solution, which could be automated with
> some ingenuity. The value 1.65 seems to work below, but it's not
> the value I would have expected to work. I might play around a
> little more with this, because as it stands, this would be
> cumbersome if you have a lot of these. Are you writing just a few
> here and there? By the way, what do the up and down arrows mean,
> eighth-tones? Also, is there always just one quarter-note-head in
> the middle? I assume that there can be more than one.
> 
> \relative  c' {
>   <c
>   \tweak #'duration-log #2 \tweak #'X-extent #'(0 . 1.65) cis'
>   g'>1
> }
> 
>> THANK YOU very much for your help!
> 
> Happy to help.
> - Mark
> 
> 
>       
> 






reply via email to

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