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.
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.
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)
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 } >>
}
Originally posted by: v.villenave
Issue 667 has been merged into this issue.
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
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
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
Originally posted by: dak@gnu.org
(No comment was entered for this change.)
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.
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".
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.
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.
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
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
Originally posted by: ColinPKC...@gmail.com
(No comment was entered for this change.)
Labels: -Patch-review Patch-countdown
Owner: dak@gnu.org
Originally posted by: ColinPKC...@gmail.com
Counted down to 20120212, please push.
Labels: -Patch-countdown Patch-push
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
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
}
Originally posted by: n.putt...@gmail.com
(No comment was entered for this change.)
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
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
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.
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
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.
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