Hi all, it seems that when there is a RehearsalMark, the reference point of a system changes and the relative extents are calculated in an unreasonable way.
Here's the background - i got a bug report about \shapeII: 2013/11/25 Ed Gordijn <ed.klari...@gmail.com>: > Hi Janek, > > This [\shapeII] is a very nice function you have made. But I get unexpected > results > when I use a rehearsal mark. > > Please see the included snippet. I did some tests and here's what i got. I have a function (it's very lame, i know) that does some bogus override of a slur's "positions" property, and in the meantime it prints the relative Y-extent of slur's left NoteColumn: \version "2.17.96" foo = #(define-music-function (parser location item) (symbol-list-or-music?) (define (quux grob) (let* ((orig (ly:grob-original grob)) (bound (ly:spanner-bound grob LEFT)) (ref (ly:grob-system bound))) ;; print the extent of the left NoteColumn relative to the system: (display (ly:grob-extent bound ref Y)) ;; bogus value: (cons 3 3))) #{ \tweak positions #quux #item #}) \relative c'' { \foo Slur d1( c') } In this case it outputs (0.449994 . 1.550006) - as expected: the extent of the d note, measured relative to middle staffline, is roughly (0.45 . 1.55) staffspaces. But when i add a rehearsal mark: \relative c'' { \foo Slur d1( c') \mark \default } the output is (-4.100012 . -3.0), as if the point against which the extent is measured was on top of the higher note (instead of middle staff line). Indeed, if i change the higher note to e \relative c'' { \foo Slur d1( e') \mark \default } the extent is further "lowered" by 1 ss: (-5.100012 . -4.0) This behaviour seems extremely weird to me. Do you know anything about this? best, Janek
ShapeSlur.pdf
Description: Adobe PDF document
\version "2.17.96" \include "shapeII-definition.ily" \markup { Default output } { \clef "G" \key f \major \time 3/4 \relative c'' { r4 r4 c8( c'8 | bes8 a g f e f) | r4 r4 c8( c'8 \mark \default | bes8 a g f e f) } } \markup { With shapeII: the first slur is ok but the second goes up } { \clef "G" \key f \major \time 3/4 \relative c'' { | \shapeII #'((h)(p 80 0.4)(p 25 0.15)()) Slur r4 r4 c8( c'8 | bes8 a g f e f) | r4 r4 c8( c'8 \mark \default | bes8 a g f e f) } } \layout { indent = 0\mm ragged-right = ##t }
_______________________________________________ bug-lilypond mailing list bug-lilypond@gnu.org https://lists.gnu.org/mailman/listinfo/bug-lilypond