Hi all, with the code below I experienced some pretty strange behaviour.
The visual output changes every few compilations, although I changed _nothing_!! In average two times in 10 compilations. Furthermore: While uncommenting the second example things change again: First example prints correct, second always wrong. Then commenting first example causes always correct output for the second. I use self-compiled 2.19.60 from commit 777ce245ecf9041a98d977f017c10b4edabaec04 Author: Phil Holmes <m...@philholmes.net> Date: Mon Apr 10 08:28:15 2017 +0100 Release: bump VERSION. I'm aware there were some recent changes to the bracket code and the dependencies of TupletBracket/TupletNumber. Admittedly my own code is a brute-force override. Something wrong there or with the recent changes? Also, my code is not a minimal example, sorry for that, I keep trying to reduce it. \version "2.19.60" \paper { ragged-right = ##t } tst = { \override TupletBracket.stencil = #(lambda (grob) (let* ((orig (ly:grob-original grob)) (siblings (if (ly:grob? orig) (ly:spanner-broken-into orig) '())) (staff-space (ly:staff-symbol-staff-space grob)) (x-pos (ly:grob-property grob 'X-positions)) (x-length (interval-length x-pos)) ) (if (or (and (pair? siblings) (equal? grob (car siblings))) (null? siblings)) (let* ((tuplet-number (ly:grob-object grob 'tuplet-number)) (text-stil (grob-interpret-markup grob #{ \markup \vcenter "Col Whatever" #})) (text-stil-y-ext (ly:stencil-extent text-stil Y)) (text-stil-x-ext (ly:stencil-extent text-stil X)) (text-stil-x-length (interval-length text-stil-x-ext)) ;; value for y-extents of the new text-stencil. ;; ensure correlation to staff-space, some additional ;; padding is done later (half-text-y (ceiling (/ (cdr text-stil-y-ext) staff-space))) (new-text-stil (stencil-whiteout-box (ly:make-stencil (ly:stencil-expr text-stil) (ly:stencil-extent text-stil X) (symmetric-interval half-text-y)) ;; my choice: (/ staff-space 4)))) (if (< (+ (car x-pos) text-stil-x-length) (cdr x-pos)) (ly:grob-set-property! grob 'X-positions (cons (+ (car x-pos) text-stil-x-length) (cdr x-pos)))) (ly:grob-set-property! tuplet-number 'X-extent empty-interval) (ly:grob-set-property! tuplet-number 'stencil new-text-stil) (ly:grob-set-property! tuplet-number 'Y-offset 0) (ly:grob-set-property! tuplet-number 'X-offset 0)); (ly:grob-suicide! (ly:grob-object grob 'tuplet-number))) ;; adjusting the values by 'staff-space' is my choice for nicer ;; paddings in X-direction. (ly:stencil-translate-axis (grob-interpret-markup grob #{ \markup \draw-squiggle-line #3 %% squiggle-length #(cons (- x-length (* 1.5 staff-space)) 0) %% dest ##t %% eq-end? #}) (+ (/ staff-space 2) (car x-pos)) X))) } %%{ { \tst \set tupletFullLength = ##t \key cis \major \tuplet 1/1 { \hideNotes c1 c1 c1 c1 \repeat unfold 30 c'1 s1*20 r2 \unHideNotes } c'2 c'1 } %} %{ { \tst \set tupletFullLength = ##t \tuplet 1/1 { c'1 c'1 c' c' c' } } %} Thanks, Harm _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel