lilypond-user
[Top][All Lists]
Advanced

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

Re: can't seem to apply tweaks on tweaks


From: Kieren MacMillan
Subject: Re: can't seem to apply tweaks on tweaks
Date: Wed, 30 Dec 2015 09:21:01 -0500

Hi Harm,

You win the interwebs for today!  =)

Although I’m only fractionally closer to understanding why certain Lilypond 
things work or don’t (I understand now that overriding the stencil may cause 
certain overrides to fail post-hoc; your comment "Not sure why a direct 
'text-override does not work” further supports my “seemingly arbitrary” 
frustration), my custom function (see snippet, below) works exactly as expected:

    1. It follows Gould’s recommendation on alignment of text and line [where 
Lilypond’s default does not];
    2. It places the beginning and end of the OttavaBracket [and text] exactly 
where I want it (personal preference); and,
    3. It allows me to apply \overrides and \tweaks post-hoc (e.g., using the 
edition-engraver), where necessary/desired.

Perfection! Thanks!!
Kieren.

%%%%  SNIPPET BEGINS
#(define eightva
 #{
   \markup
     %% messing around with \with-dimensions, because OttavaBracket has no
     %% possibility to set details.stencil-align-dir-y
     %% :((
     \with-dimensions #'(0 . 4) #'(0 . 2.8)
     \italic \concat { "8" \raise #0.5 { \hspace #0.25 "va" } \hspace #0.5 }
 #})

octU = {
  \once \override Staff.OttavaBracket.bound-details =
    #`((left . ((Y . 0) (padding . -2) (stencil-align-dir-y . ,0.85)))
       (left-broken . ((Y . 0) (stencil-align-dir-y . ,0.85)))
       (right-broken . ((Y . 0) (padding . 0) (text . (markup ""))))
       (right . ((Y . 0) (padding . -1.5) (text . ,(make-draw-line-markup (cons 
0 -1))))))
  \once \override Staff.OttavaBracket.font-shape = #'roman
  \once \override Staff.OttavaBracket.after-line-breaking =
      #(lambda (grob) (ly:grob-set-property! grob 'text eightva))
  \ottava #1
}
%%%%  SNIPPET ENDS



reply via email to

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