lilypond-user
[Top][All Lists]
Advanced

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

Re: Adjusting OttavaBracket parameters (was "Re: can't seem to apply twe


From: Kieren MacMillan
Subject: Re: Adjusting OttavaBracket parameters (was "Re: can't seem to apply tweaks on tweaks")
Date: Fri, 1 Jan 2016 16:28:28 -0500

Hi Harm,

> broken text isn't that hard

Thanks!

Through a combination of \translate, \with-dimensions, #’before- and 
#’after-line-breaking, and your help, I'm getting close to recreating without 
line-spanner-interface the OttavaBracket defaults that I had before [by 
overriding #’stencil]; see snippet, below.

Best regards,
Kieren.

%%%  SNIPPET BEGINS
\version "2.19.32"

#(set-global-staff-size 18)

\paper {
  #(define fonts
    (make-pango-font-tree "Crimson Text"
                          "Myriad Pro"
                          "Courier Prime"
                          (/ staff-height pt 20)))
  ragged-right = ##f
}

\layout {
  \context {
    \Score
    \override OttavaBracket.padding = #1
  }
}

#(define eightva
 #{
   %% messing around with \with-dimensions,
   %% because OttavaBracket has no details.stencil-align-dir-y
   \markup
       \translate #'(-0.375 . 0) \with-dimensions #'(1 . 3.625) #'(3 . 0)
       \italic \concat { "8" \raise #0.5 { \hspace #0.25 "va" } }
 #})
#(define eightva-par
 #{
   \markup
       \translate #'(-0.75 . 0) \with-dimensions #'(0 . 4.75) #'(0 . 2.8)
       \concat { "(" \hspace #-0.125 \italic { "8" \raise #0.5 { \hspace #0.125 
"va" } } \hspace #0.1 ")" }
 #})
octU = {
  \once \override Staff.OttavaBracket.font-shape = #'roman
  \once \override Staff.OttavaBracket.before-line-breaking =
      #(lambda (grob) (ly:grob-set-property! grob 'text eightva))
  \override Staff.OttavaBracket.after-line-breaking =
   #(lambda (grob)
      (let* ((orig (ly:grob-original grob))
             (siblings (if (ly:grob? orig)
                           (ly:spanner-broken-into orig)
                           '())))
       (if (> (length siblings) 1)
           (for-each
             (lambda (sib) (ly:grob-set-property! sib 'text eightva-par))
             (cdr siblings)))))
  \ottava #1
}

{
  \octU c'''4 4 4 4 \break 4 4 4 4
}
%%%  SNIPPET ENDS
________________________________

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: address@hidden




reply via email to

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