bug-lilypond
[Top][All Lists]
Advanced

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

Placement of outside-staff objects: bug and behaviour change between 2.1


From: Frédéric Bron
Subject: Placement of outside-staff objects: bug and behaviour change between 2.12.3 and 2.13.54
Date: Sun, 20 Mar 2011 07:53:24 +0100

Although outside-staff-priorities seem to not have changed between
2.12 and 2.13 (I compared roughtly define-grobs.scm), there is
something strange:
In the example below, the vertical placement of OttavaBracket,
TextScript and MetronomeMark is not in the same order with 2.12.3 and
2.13.54 although using the same code.

\layout {
        \context { \Score \override MetronomeMark
#'outside-staff-priority = #200 }
}

\relative c' {
        \tempo "tempo" 4 = 66
        \ottava #1
        c''1^"markup"
        \ottava #0
}

Following the documentation
http://lilypond.org/doc/v2.13/Documentation/learning/outside_002dstaff-objects,
MetronomeMark should be in the Score context, not in the Staff context
as are OttavaBracket and TextScript so that changing it
outside-staff-priority should not affect the output as with 2.12.3 so
that I think this is a regression.
There should be a test including absolutly all possible objects that
are to be placed outside a staff so that this behaviour can be
controlled.

I have built such a test:
\relative c' {
        \override Score.BarNumber #'break-visibility = #all-visible
        \set Score.skipBars = ##t
        \dynamicUp
        \override TextSpanner #'(bound-details left text) = \markup
"TextSpanner (Staff 350)"
        \tempo "MetronomeMark (Score 1000)" 4 = 60
        \repeat volta 2 {
                \ottava #1
                c''1\p\<^"TextScript (Staff 450)"\startTextSpan\startTrillSpan
        }
        \alternative {
                {
                        R1*2\mark "RehearsalMark (Score 1500)"
                        c\!\stopTextSpan\stopTrillSpan\trill
                        \ottava #0
                }
                {
                        c
                }
        }
}

With this test, using only default outside-staff-priorities, there are
differencies between 2.12.3 and 2.13.54:

Order should be from top to bottom:

1 RehearsalMark
2 MetronomeMark
3 BarNumber
4 MultiMeasureRestText
5 TextScript
6 OttavaBracket
7 TextSpanner
8 DynamicLineSpanner
9 VoltaBracketSpanner
10 TrillSpanner

We get wrong result with 2.12.3:
1 RehearsalMark
2 MetronomeMark
3 VoltaBracketSpanner
4 BarNumber
5 TextScript
6 OttavaBracket
7 TextSpanner
8 DynamicLineSpanner
9 TrillSpanner
10 MultiMeasureRestText

We get a different wrong result with 2.13.54:
1 RehearsalMark
2 MetronomeMark
3 VoltaBracketSpanner
4 TextScript
5 OttavaBracket
6 TextSpanner
7 DynamicLineSpanner
8 BarNumber
9 TrillSpanner
10 MultiMeasureRestText

Frédéric



reply via email to

[Prev in Thread] Current Thread [Next in Thread]