Menu

#630 non-synchronized grace note makes voiceOne go stems down

Verified
nobody
Defect
2015-03-01
2008-06-04
Anonymous
No

Originally created by: *anonymous

Originally created by: v.villenave
Originally owned by: dak@gnu.org

\version "2.11.47"

\relative c''
{
<< { \grace b8 c c c c } \\ { g g g g } >>
}

% This (incorrect) code produces some warnings, and both
% voices are printed with the stems down.

% Of course, the workaround is to add \grace s8 in the
% second voice.

Related

Issues: #34

Discussion

1 2 > >> (Page 1 of 2)
  • Google Importer

    Google Importer - 2008-06-05

    Originally posted by: v.villenave

    ... And that workaround doesn't work as expected!

    << { \grace b8 c c c c } \\ { \grace s8 g g g g } >>

    inverts voiceOne and voiceTwo.

     
  • Google Importer

    Google Importer - 2008-06-05

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

    I would expect that the real work around is to put

    \new Staff or \new Voice in the appropriate place. (untested)

     
  • Google Importer

    Google Importer - 2009-10-02

    Originally posted by: mats.ben...@s3.kth.se

    A simple workaround is to move the grace note out of the <<{...} \\ {...}>> construct:

    \version "2.13.4"
    \relative c''
    {
    \grace b8 << { c c c c } \\ { g g g g } >>
    }

    An alternative solution that also works in the case where the second voice starts
    with a grace note is to explicitly add \voiceXXX commands after the grace notes:

    \version "2.13.4"
    \relative c''
    {
    << {  \grace b8 \voiceOne c c c c } \\ { \grace a \voiceTwo g g g g } >>
    }

     
  • Google Importer

    Google Importer - 2009-11-06

    Originally posted by: v.villenave

    Issue 667 has been merged into this issue.

     
  • Google Importer

    Google Importer - 2011-04-15

    Originally posted by: PhilEHol...@googlemail.com

    There's a similar problem when the grace note follows \oneVoice immediately:

    <<
      \new Staff
      <<
        \new Voice {
          \voiceOne 
          e''4 e''4 e''4 e''4  |  % 1
          \oneVoice 
          \acciaccatura { d''16 [ e''16 ] } e''4 e''4 e''4 e''4
        }
        \new Voice { 
          \voiceTwo  f'4 f'4 f'4 f'4  |  % 1
          \oneVoice  s1*4/4
        }
      >>
    >>

    The acciacatura is stem-down and should be stem-up.

    Labels: -Priority-Postponed Priority-Medium

     
  • Google Importer

    Google Importer - 2012-02-06

    Originally posted by: dak@gnu.org

    Issue 630 et al.  Change confusion between property overrides and sets.

    This appears to cure some but not all related problems since it makes
    the absurdly named make-voice-props-set and make-voice-props-revert
    (which are usually employed as a pair) actually paired.

    http://codereview.appspot.com/5634049

    Labels: Patch-new

     
  • Google Importer

    Google Importer - 2012-02-06

    Originally posted by: dak@gnu.org

    Patchy the autobot says: LGTM.  Regtest changes in quote-grace and property-grace-polyphony: both were wrong before.

    Labels: Patch-review

     
  • Google Importer

    Google Importer - 2012-02-07

    Originally posted by: dak@gnu.org

    Maybe I should have mentioned that this patch makes Documentation/ly-examples/tab-example.ly work as well.  After all, that was the main motivation for it.

    Things are not all honky-dory: the initial example (labelled as "wrong" by the reporter") works.  The second example with balanced graces doesn't.  I think that is a different issue likely connected with \\.  The example by Phil is rendered the same as in his report, but I don't agree with his analysis of it being wrong: if the acciaccatura is entered _after_ \oneVoice, there is no reason for it not to pick its stem direction as it wants.  If you enter it _before_ \oneVoice, it retains its voiced direction.

     
  • Google Importer

    Google Importer - 2012-02-07

    Originally posted by: bealings...@googlemail.com

    Thanks for looking at this - it's a real pain to work around when it happens.  However, the general principle, as stated by Gould, is that "Grace notes take up-stems, regardless of their position on the stave.  An exception to this is where there are two parts on one stave, in which case the lower part takes down-stems".

     
  • Google Importer

    Google Importer - 2012-02-07

    Originally posted by: dak@gnu.org

    Regarding comment #10: I totally don't get your point.  Could you please point out where _any_ change of behavior this patch introduces would disagree with the quoted description by Gould?  What do you mean to imply with "However, ..."?  I can't see your objection making any sense, exactly _because_ of the cited desired behavior.

     
  • Google Importer

    Google Importer - 2012-02-07

    Originally posted by: PhilEHol...@googlemail.com

    In comment #9 you said: "The example by Phil is rendered the same as in his report, but I don't agree with his analysis of it being wrong".  It has downstems, despite there only being one part on the stave.  It should not "pick its stem direction as it wants" - stems should be up.

     
  • Google Importer

    Google Importer - 2012-02-07

    Originally posted by: dak@gnu.org

    Ok, now I see.  But reordering lists in iteration so that context changes (and more importantly context starts) occur before a following brace is issue 34.  This fix here is only concerned with grace starts not wreaking more havoc than the grace ends clean up.  It fixes two regtests and at least one LSR snippet but is not a magical cure-all.

     

    Related

    Issues: #34

  • Google Importer

    Google Importer - 2012-02-07

    Originally posted by: n.putt...@gmail.com

    I don't think the problem with Phil's example is issue 34.  The point is that graceSettings aren't iterated, they're applied instantly at the start of a timestep in the Grace_engraver.  Before this engraver was added, this worked fine since all the set/unset processing was carried out via applyContext inside start(|stop)GraceMusic.  Obviously \oneVoice sends a load of stream events which arrive later than the start of translation, so the stem direction override ends up being reverted.

     

    Related

    Issues: #34

  • Google Importer

    Google Importer - 2012-02-09

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

    (No comment was entered for this change.)

    Labels: -Patch-review Patch-countdown
    Owner: dak@gnu.org

     
  • Google Importer

    Google Importer - 2012-02-12

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

    Counted down to 20120212, please push.

    Labels: -Patch-countdown Patch-push

     
  • Google Importer

    Google Importer - 2012-02-13

    Originally posted by: dak@gnu.org

    Pushed as [rc4caf7d48d8a1b816ab3b007197f4dedaa6f7f75] to staging.  This does not address all examples brought up in the discussion, but it does fix the original report.  I think that most of the other problems would require the timing fixes that issue 34 is focused about.

    Labels: -Patch-push Fixed_2_15_30
    Status: Fixed

     

    Related

    Issues: #34

  • Google Importer

    Google Importer - 2012-02-16

    Originally posted by: n.putt...@gmail.com

    This commit does weird things to my scores - it changes the behaviour of \oneVoice so that it doesn't return to neutral directions; instead, it goes back to the previous \voice* setting:

    \version "2.15.30"

    \relative c''' {
      \voiceOne
      c2 \voiceTwo c2 \voiceOne
      << { c2 c  }
         \new Voice {
           \voiceTwo
           a2 a
         }
      >>
      \oneVoice %ends up as \voiceTwo
      c,,2 c
    }

     
  • Google Importer

    Google Importer - 2012-02-16

    Originally posted by: n.putt...@gmail.com

    (No comment was entered for this change.)

     
  • Google Importer

    Google Importer - 2012-02-16

    Originally posted by: dak@gnu.org

    This is actually a bit of a dilemma here: the previous behavior was to do a revert+override when setting voice settings, and a revert afterwards.  For things like graces, which are intended to override the settings temporarily, the initial revert was wreaking havoc, and omitting the initial revert makes sense.  However, if one considers voiceOne and oneVoice as commands establishing an _absolute_ behavior, the pop-before-push semantics make some sense as well.

    I will recheck my approach and see whether it is possible to differentiate this better.

    Labels: -Type-Defect -Fixed_2_15_30 Type-Critical
    Status: Started

     
  • Google Importer

    Google Importer - 2012-02-16

    Originally posted by: dak@gnu.org

    Introduce separate make-voice-props-override in order to fix issue 630 fallout

    http://codereview.appspot.com/5674073

    Labels: Patch-new

     
  • Google Importer

    Google Importer - 2012-02-16

    Originally posted by: dak@gnu.org

    Patch is up.  This should revert to the old behavior except where reverting is clearly wrong because we revert.

     
  • Google Importer

    Google Importer - 2012-02-16

    Originally posted by: dak@gnu.org

    While it would appear that the patch now is the right thing to do with regard to override/revert pairings, it turns out that the smaller changes it now causes do not actually affect this issue at all.  I'll commit the patch after Patchy is ok with it, but this means that the issue remains open in the same state as it started with, and possibly some unrelated problems being improved.

    Labels: -Type-Critical -Patch-new Type-Defect
    Owner: ---
    Status: Accepted

     
  • Google Importer

    Google Importer - 2013-01-13

    Originally posted by: lemzw...@googlemail.com

    I just stumbled upon the situation described in comment #2.  Given that it is apparently quite hard to fix I wonder whether it makes sense to document the workaround.

     
  • Google Importer

    Google Importer - 2013-02-13

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

    Eluze reported a similar problem here:

    http://lists.gnu.org/archive/html/bug-lilypond/2013-02/msg00055.html

    which I was able to reproduce using version 2.17.11

    Eluze reported as follows:

    with

    \relative {
      \voiceOne
      \grace a'8
      c4 c c c
    }

    the stem direction of the following notes is wrong

    this doesn't happen if the grace is not the first note or by repeating
    \voiceOne after the grace.

    I didn't find an exactly matching bug report

    Eluze

     
1 2 > >> (Page 1 of 2)
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.