Originally created by: *anonymous
Originally created by: n.putt...@gmail.com
%{
Arpeggios should not influence the horizontal positioning
of hairpins.
%}
\version "2.11.42"
\paper { ragged-right = ##t }
\relative {
<cis cis'>1\arpeggio\<
c\!
}
Originally posted by: hanw...@gmail.com
when I debug, and set a breakpoint in Hairpin::print() it turns out that the left
bound of the hairpin has been messed with in mysterious ways,
(gdb) ps b->object_alist_
((pure-relevant-spanners . #<Grob_array>) (pure-relevant-items . #<Grob_array#<Grob
NoteHead > #<Grob NoteHead > #<Grob Stem > #<Grob Arpeggio > #<Grob Arpeggio > #<Grob
Arpeggio > #<Grob Arpeggio > #<Grob Arpeggio > >) (pure-Y-common . #<Grob NoteColumn
>) (axis-group-parent-X . #<Grob PaperColumn >) (conditional-elements .
#<Grob_array#<Grob AccidentalPlacement > >) (axis-group-parent-Y . #<Grob
VerticalAxisGroup >) (staff-symbol . #<Grob StaffSymbol >) (arpeggio . #<Grob
Arpeggio >) (stem . #<Grob Stem >) (elements . #<Grob_array#<Grob NoteHead > #<Grob
NoteHead > #<Grob Stem > #<Grob Arpeggio > #<Grob Arpeggio > #<Grob Arpeggio > #<Grob
Arpeggio > #<Grob Arpeggio > >) (note-heads . #<Grob_array#<Grob NoteHead > #<Grob
NoteHead > >))
$27 = void
(gdb) p b->self_scm_
$28 = (SCM) 0xb7935388
(gdb) ps b->self_scm_
#<Grob NoteColumn >
Note that many of the lists contain duplicated entries (there is only one Arpeggio
object in the score), and that the arpeggio object should not be there at all.
I suspect some of the pure/non-pure stuff may havesomething to do with this, since
NoteColumn is a AxisGroup. Can you look into this?
Cc: joeneeman
Originally posted by: n.putt...@gmail.com
Thanks for fixing this, Joe.
There is one situation where it's still broken though: when dynamics are attached to
skips in a separate voice.
\relative c' {
<< { <cis cis'>1\arpeggio c }
\\ { s1\< s\! }
>>
}
Regards,
Neil
Originally posted by: joenee...@gmail.com
Is this remaining part a regression? The problem is that the crescendo has no notes
to attach to so it attaches to the PaperColumn (which includes accidentals and
arpeggios). The more canonical way to put dynamics in parallel with the music is to
include them in the same voice (ie. without the \\).
Status: Started
Originally posted by: n.putt...@gmail.com
Oops, you're right, I'd forgotten about the parallel usage; I'd misread a post that
Mats made concerning dynamics in a separate voice.
Saying that though, it's not much use if an arpeggio's attached to a new voice inside
a polyphonic section, and it's another nail in the coffin of the centred dynamics
template.
There is one slightly strange thing though; if a stave starts with the parallel
construct, the hairpin is still aligned with the arpeggio:
\new Staff \relative c' {
<< { <cis cis'>1\arpeggio c }
{ s1\< s\! }
>> }
Adding \oneVoice, an override or a zero-length skip fixes it.
Originally posted by: joenee...@gmail.com
It seems that lilypond implicitly creates two voices in that situation. I agree that
the current behaviour causes problems; it would be nice to have a general way of
telling spanners that they should begin or end at particular, musically-significant
places (see Mats' recent post on the bugs list where he mentions something similar).
But I think that is broader than this bug, so I'll mark it as fixed and open a new bug.
By the way, what's the problem if an arpeggio is created in a new voice? As long as
the Hairpin belongs to some other voice with note heads, it will find note heads with
which to bound itself.
Status: Fixed
Originally posted by: v.villenave
OK, everyone can now refer to Issue 620.
Status: Verified
Originally posted by: n.putt...@gmail.com
Joe: yeah, there's no problem with that; again I had misunderstood Mats's post.
Basically, I'd assumed that using
\new Staff << \upper \dynamics >>
is the same as
\new Staff \new Voice << \upper dynamics >>
Unfortunately, the latter only seems to work for simple examples; I've tried using it
on music with extensive polyphonic sections, and it doesn't work properly, so for the
time being I think it's a case of festooning the music with dynamics.
Originally posted by: mts...@gmail.com
Fix reimplemented with [rac7aef03ab9d459a6ea6f03d9c127be150871dd4].