Menu

#591 Left edge of hairpin aligns with arpeggio

Verified
nobody
None
Defect
2011-08-17
2008-03-17
Anonymous
No

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\&lt;
    c\!
}

1 Attachments

Related

Issues: #2532

Discussion

  • Google Importer

    Google Importer - 2008-05-01

    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

     
  • Google Importer

    Google Importer - 2008-05-11

    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\&lt; s\! }
      >>
    }

    Regards,
    Neil

     
  • Google Importer

    Google Importer - 2008-05-11

    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

     
  • Google Importer

    Google Importer - 2008-05-12

    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\&lt; s\! }
      >> }

    Adding \oneVoice, an override or a zero-length skip fixes it.

     
  • Google Importer

    Google Importer - 2008-05-12

    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

     
  • Google Importer

    Google Importer - 2008-05-13

    Originally posted by: v.villenave

    OK, everyone can now refer to Issue 620.

    Status: Verified

     
  • Google Importer

    Google Importer - 2008-05-13

    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.

     
  • Google Importer

    Google Importer - 2011-08-17

    Originally posted by: mts...@gmail.com

    Fix reimplemented with [rac7aef03ab9d459a6ea6f03d9c127be150871dd4].

     
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.