bug-lilypond
[Top][All Lists]
Advanced

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

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


From: Colin Campbell
Subject: Re: Placement of outside-staff objects: bug and behaviour change between 2.12.3 and 2.13.54
Date: Sun, 20 Mar 2011 21:41:41 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.14) Gecko/20110223 Lightning/1.0b2 Thunderbird/3.1.8

On 11-03-20 12:53 AM, Frédéric Bron wrote:
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

_______________________________________________

I believe the documentation specifies that the Rehearsal, Metronome and Bar Number marks normally live in the Score context; to put them into your order, you need to take them out of Score and put them into Staff, per the note in NR 4.4.3.

Colin Campbell
Bug Squad

--
The test of our progress is not whether we add more to the abundance
of those who have much, it is whether we provide enough for those who
have too little.
-Franklin D. Roosevelt, 32nd US President (1882-1945)




reply via email to

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