On Mon, Apr 10, 2017 at 7:21 AM, Thomas Morley <thomasmorle...@gmail.com> wrote: > 2017-04-10 14:09 GMT+02:00 David Nalesnik <david.nales...@gmail.com>: >> On Mon, Apr 10, 2017 at 5:36 AM, Thomas Morley <thomasmorle...@gmail.com> >> wrote: > >>> Here the best minimal I can come up with: >>> >>> \version "2.19.60" >>> >>> tst = { >>> \override TupletBracket.stencil = >>> #(lambda (grob) >>> (let* ((orig (ly:grob-original grob)) >>> (siblings (if (ly:grob? orig) (ly:spanner-broken-into orig) >>> '())) >>> (tuplet-number (ly:grob-object grob 'tuplet-number))) >>> (if (or (and (pair? siblings) >>> (equal? grob (car siblings))) >>> (null? siblings)) >>> (ly:grob-set-property! tuplet-number 'X-offset 0)) >>> (ly:tuplet-bracket::print grob))) >>> } >>> >>> %%{ >>> \new Staff { \tst \tuplet 1/1 { \repeat unfold 30 c'1 } } >>> %} >>> %%{ >>> \new Staff { \tst \tuplet 1/1 { c'1 c'1 c' c' c' } } >>> %} >>> >>> >> >> I notice the same variability with 2.19.56 and 2.18.2. I'll see if I >> can figure out more. > > > Hi David, > > many thanks for caring. > > I meanwhile found using 'after-line-breaking and setting the final > stencil via ly:grob-set-property! ensures stable behaviour. > > Nevertheless I stay highly interested why this happens during a direct > stencil-override. >
Here's an even more minimal example: tst = \override TupletBracket.stencil = #(lambda (grob) (let ((tuplet-number (ly:grob-object grob 'tuplet-number))) (ly:grob-set-property! tuplet-number 'X-offset 0) (ly:tuplet-bracket::print grob))) %%{ \new Staff { \tst \tuplet 1/1 { \repeat unfold 30 c'1 } } %} %%{ \new Staff { \tst \tuplet 1/1 { c'1 c'1 c' c' c' } } %% It's strange -- it seems that the value of ly:tuplet-bracket::calc-x-offset is used sometimes regardless of the ly:grob-set-property! and there's no predictability to it. No idea :( -David _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel