On Mon, Jul 4, 2011 at 11:10 PM, David Nalesnik <dnale...@umail.iu.edu> wrote: > Hello, all --
Greetings, > First of all, I hope that I'm asking this question on the appropriate list! Since you're demonstrating a regression, I'm forwarding your message to our bug- list. > I'm trying to simplify the workaround relating to tuplet-number > position on kneed beams > http://lsr.dsi.unimi.it/LSR/Snippet?id=646 > and I'm running into an unexpected problem. > > My reasoning is that, since the tuplet number is positioned according > to the bracket, a logical first (certainly hacky!) step is to move the > (invisible) bracket to the beam by setting the 'positions property of > the bracket to that of the beam. Then, the position of the number > could be refined according to its height, the thickness of the beam, > etc. > > This works as planned, except that in 2.14.1, the staves are pushed > apart dramatically. \override Beam #'collision-voice-only has no > effect on the problem. Manually setting Beam #'positions can be used > to fix the problem, but that is obviously inconvenient. > > I've attached an .ly file with the function (stripped down to fit just > this case), and several images of the output (one is produced with > 2.12.3, the other two with 2.14.1 -- one with an override of the Beam > #'positions). There doesn't appear to be any problem in 2.12.3. > > Is there anything I can do to fix this problem with the function? Any > help would be greatly appreciated! Indeed, it's a problem I've been stumbling across as well. Several new properties have been introduced with 2.14 ("stretchability", etc.); you may want to have a look at http://lilypond.org/doc/v2.15/Documentation/notation/flexible-vertical-spacing-within-systems#within_002dsystem-spacing-properties Whether the default behavior can/should be improved, is a question for the Bug Squad :-) Cheers, Valentin.
<<attachment: function-current-stable.png>>
<<attachment: function-current-stable-positions-override.png>>
<<attachment: function-previous-stable.png>>
\version "2.14.1" #(define (tuplet-number-to-beam tuplet-number) (let* ((tuplet-bracket (ly:grob-object tuplet-number 'bracket)) (note-column (ly:grob-parent tuplet-number X)) (stem (ly:grob-object note-column 'stem)) (beam (ly:grob-object stem 'beam))) ;; Move (invisible) TupletBracket to beam, taking number with it (ly:grob-set-property! tuplet-bracket 'positions (ly:grob-property beam 'positions)) ;; Number is now centered on beam. Offset it based on width of beam and height ;; of tuplet number. (ly:grob-set-property! tuplet-number 'Y-offset (- (+ (ly:grob-property beam 'beam-thickness) (/ (interval-length (ly:grob::stencil-height tuplet-number)) 2)))))) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \new PianoStaff << \new Staff = "1" { s4 } \new Staff = "2" { \relative c { \clef bass %% following line has no effect \override Beam #'collision-voice-only = ##t %% following line improves situation %\override Beam #'positions = #'(5 . 5) \override TupletNumber #'after-line-breaking = #tuplet-number-to-beam \times 2/3 { c8 \change Staff = "1" c'' \change Staff = "2" c,, } } } >>
_______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel