Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(14582)

Issue 150440043: Issue 630: non-synchronized grace note makes voiceOne go stems down (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
9 years, 7 months ago by dak
Modified:
9 years, 6 months ago
Reviewers:
CC:
lilypond-devel_gnu.org
Visibility:
Public.

Description

Issue 630: non-synchronized grace note makes voiceOne go stems down This is a complex issue not easy to tackle. Part 1 of this issue stops the end of a grace section from popping property settings it has not pushed itself, either by finding the original push below the actual top of the property stack (when something got pushed during grace time) or, when not finding it, doing nothing at all. Issue 630/1: Implement Grob_property_info::matched_pop This can be passed a token returned from Grob_property_info::push and will then only revert the matching push or nothing at all. This is used to limit the fallout from internal property reversions that might not match the original override because of an intervening property push/pop. Issue 630/2: Let grace_engraver only pop grob properties it pushed itself Part 2 of this issue is concerned with the start of the grace section. It tries figuring out whether any property setting commands adjacent to \grace came immediately before or behind it and execute them in the proper order. This can only work by letting the Grace_iterator determine the timing. It communicates the timing via a GraceChange event to the corresponding Grace_engraver. As there are several ways in which the connection between iterator and engraver may be severed, fallbacks are implemented. When they are being used, property setting commands at the start of the \grace group may be executed before the grace group sets its grace-specific properties. Issue 630/3: Let Grace_iterator produce a GraceChange event Issue 630/4: Let Grace_engraver react mostly to GraceChange events When GraceChange events are not available, this reverts to grace processing at initialization or at the engraver's process_music call.

Patch Set 1 #

Patch Set 2 : Reinstate acciaccatura in tab example removed during issue 2480 #

Patch Set 3 : Move override in flags-straight-stockhausen-boulez.ly #

Unified diffs Side-by-side diffs Delta from patch set Stats (+132 lines, -42 lines) Patch
M Documentation/ly-examples/tab-example.ly View 1 2 chunks +2 lines, -2 lines 0 comments Download
M input/regression/flags-straight-stockhausen-boulez.ly View 1 2 1 chunk +1 line, -2 lines 0 comments Download
M lily/context-property.cc View 3 chunks +38 lines, -6 lines 0 comments Download
M lily/grace-engraver.cc View 3 chunks +74 lines, -27 lines 0 comments Download
M lily/grace-iterator.cc View 1 chunk +10 lines, -1 line 0 comments Download
M lily/include/grace-iterator.hh View 1 chunk +2 lines, -0 lines 0 comments Download
M lily/include/grob-properties.hh View 1 chunk +2 lines, -1 line 0 comments Download
M ly/engraver-init.ly View 2 chunks +2 lines, -2 lines 0 comments Download
M scm/define-event-classes.scm View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 2
dak
Reinstate acciaccatura in tab example removed during issue 2480
9 years, 7 months ago (2014-10-02 22:09:37 UTC) #1
dak
9 years, 7 months ago (2014-10-02 22:35:23 UTC) #2
Move override in flags-straight-stockhausen-boulez.ly
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b