[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: multiple TextSpanners per voice
From: |
David Nalesnik |
Subject: |
Re: multiple TextSpanners per voice |
Date: |
Fri, 2 Oct 2015 17:49:15 -0500 |
On Fri, Oct 2, 2015 at 12:09 PM, David Nalesnik <address@hidden>
wrote:
> David,
>
> On Fri, Oct 2, 2015 at 11:26 AM, David Kastrup <address@hidden> wrote:
>
>> David Nalesnik <address@hidden> writes:
>>
>> > Hi all,
>> >
>> > I'm experimenting with a way to support multiple text spanners in a
>> single
>> > voice, using the 'spanner-id property which already enables multiple
>> slurs
>> > and phrasing slurs.
>> >
>> > The attached code works--until the spanners cross a line break. Then
>> the
>> > order of the spanners is reversed. I've experimented with different
>> start
>> > and end points of the spanners, reversing lists within the engraver--no
>> > change.
>> >
>> > The second example shows that tweaks can mess up this reversed ordering
>> > even further.
>> >
>> > Does anyone know what is happening here? I really have no idea :(
>>
>> Sounds like room-saving stacking of elements with equal
>> outside-staff-priority (?). Perhaps distribute ascending priorities?
>
>
>
Horizontal_bracket_engraver achieves correct ordering of nested brackets
through the side-position-interface array 'side-position-elements.
Brackets closer to the staff are added to the support of brackets further
away. However, this only works because 'outside-staff-priority is set to
#f by default. As soon as you set it to a numerical value, chaos ensues:
the initial ordering is flipped AND the brackets flip orientation across
line breaks. (See attached images.)
Try this code:
\version "2.19.27"
\new Staff {
\override HorizontalBracket.direction = #UP
\override HorizontalBracket.thickness = 4
c
-\tweak color #red
\startGroup
-\tweak color #green
\startGroup d
-\tweak color #blue
\startGroup
e f
\break
c d e f
c\stopGroup d\stopGroup e d\stopGroup
\bar "||"
\override HorizontalBracket.outside-staff-priority = 100
c
-\tweak color #red
\startGroup
-\tweak color #green
\startGroup d
-\tweak color #blue
\startGroup
e f
\break
c d e f
}
\layout {
\context {
\Voice
\consists #"Horizontal_bracket_engraver"
}
}
%%%%%%%%%%%%%
This must be a bug...
BTW, correct ordering is achieved with the TextSpanner code if the same
approach is taken: any spanner in force is added to the
'side-support-elements of a new spanner. Again, this works only if
'outside-staff-priority is set to #f.
DN
horizontal-bracket-bug.png
Description: PNG image
- multiple TextSpanners per voice, David Nalesnik, 2015/10/08
- Re: multiple TextSpanners per voice, David Kastrup, 2015/10/08
- Re: multiple TextSpanners per voice, David Nalesnik, 2015/10/08
- Re: multiple TextSpanners per voice,
David Nalesnik <=
- Re: multiple TextSpanners per voice, David Nalesnik, 2015/10/08
- Re: multiple TextSpanners per voice, David Nalesnik, 2015/10/08
- Re: multiple TextSpanners per voice, David Nalesnik, 2015/10/08
- Re: multiple TextSpanners per voice, David Nalesnik, 2015/10/08
- Re: multiple TextSpanners per voice, Trevor Bača, 2015/10/20
- Re: multiple TextSpanners per voice, David Kastrup, 2015/10/20
- Re: multiple TextSpanners per voice, David Nalesnik, 2015/10/20
- Re: multiple TextSpanners per voice, Trevor Bača, 2015/10/20
Re: multiple TextSpanners per voice, David Nalesnik, 2015/10/08