lilypond-user
[Top][All Lists]
Advanced

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

Re: Changing MulitMeasureRest.stencil to a squiggle


From: Pierre Perol-Schneider
Subject: Re: Changing MulitMeasureRest.stencil to a squiggle
Date: Tue, 6 Sep 2016 16:03:53 +0200

Hi Marc,

See: http://lilypond.1069038.n5.nabble.com/How-to-align-a-new-MultiMeasureRest-stencil-td142767.html
How about:

\version "2.19.47"

#(define (new-centered-mmr-stencil grob)
     (let* ((sys (ly:grob-system grob))
            (X-extent (lambda (q) (ly:grob-extent q sys X)))
            (left-bound (ly:spanner-bound grob LEFT))
            (left-bound-X-length (interval-length (X-extent left-bound)))
            (left-bound-coord (ly:grob-relative-coordinate left-bound sys X))
            (right-bound (ly:spanner-bound grob RIGHT))
            (right-bound-X-length (interval-length (X-extent right-bound)))
            (right-bound-coord (ly:grob-relative-coordinate right-bound sys X))
            (new-stil
               (grob-interpret-markup grob
                 #{ 
                            \markup
                            \concat {
                              \general-align #Y #0
                              \override #'(thickness . 2)
                              \draw-line #'(0 . 2)
                              \hspace #-.2
                              \pattern #7 #X #-.2
                                \path #0.2
                                 #'((moveto 0 0)
                                    (lineto 0.5 -1)
                                    (lineto 1.5 1)
                                    (lineto 2 0))
                              \hspace #-.2
                              \general-align #Y #0
                              \override #'(thickness . 2)
                              \draw-line #'(0 . 2)
                            }
                          #}
                 ))
            (new-stil-X-length (interval-length (ly:stencil-extent new-stil X)))

            (translate-value (- (+ (/ (- right-bound-coord left-bound-coord) 2)
                                   (/ left-bound-X-length 2))
                                (/ new-stil-X-length 2)
                                (/ right-bound-X-length 2)))
           )

   (ly:grob-set-property! grob 'stencil
     (ly:stencil-translate-axis
       new-stil
       translate-value
       X))))

{
  \compressFullBarRests  
  R1*32
  \override MultiMeasureRest.after-line-breaking = #new-centered-mmr-stencil
  R1*71
}


HTH,
Cheers,
Pierre

2016-09-06 14:28 GMT+02:00 Marc Hohl <address@hidden>:
Hi list,

I want to change the MultiMeasureRest.stencil to a squiggle as shown in the appendices (quite roughly pasted together in GIMP).
Searching the LSR and the web does not give any informations about this topic (the only thing I found was using the percent stencil, which is also hardcoded in the C++ sources).

I tried to override the stencil by

\override MultiMeasureRest.stencil = #ly:line-spanner::print

but this causes errors like

"MultiMeasureRest has empty extent and non-empty stencil."

Any ideas?

Thanks,

Marc

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