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

Issue 265180043: Move \once action from iterators to listeners (Closed)

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

Description

Move \once action from iterators to listeners This ends the dependency of the events generated for \once\unset and \once\set on the current context (bad for recording and replaying events like with the part combiner and quoted music). It also implements \once\revert and makes every \once\override and \once\revert impervious to any other overrides and reverts that may happen at the same time. Also contains commits (obviously making issue 4596 abandoned): Issue 4596/6: Document \once \revert Issue 4596/5: Regtest for \once \revert Issue 4596/4: Let \displayLilyMusic heed \once \unset and \once \revert Create ly:context-matched-pop-property Add Grob_property_info::temporary_{override,revert} functions Let nalist_to_alist accept temporary overrides/reverts At the current point of time, some Midi properties (balance, pan and others) are implemented via SetProperty events. Those have not yet been converted to deal with \once. The disadvantage of this patch is that all recipients of SetProperty/UnsetProperty/Override/Revert now have to implement the "once" property themselves. The advantage is that at the time of recording events, the actual property values for undoing the action are not reliably known and shifting the implementation of \once to the listeners makes its behavior reliable. As a side effect, it should be possible to revisit issue 4131 without the principal shortcomings that stalled it.

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+268 lines, -140 lines) Patch
M Documentation/changes.tely View 1 chunk +18 lines, -0 lines 0 comments Download
M Documentation/learning/tweaks.itely View 3 chunks +6 lines, -10 lines 0 comments Download
M Documentation/notation/changing-defaults.itely View 2 chunks +3 lines, -3 lines 0 comments Download
A input/regression/revert-once.ly View 1 chunk +30 lines, -0 lines 0 comments Download
M lily/context.cc View 2 chunks +41 lines, -3 lines 0 comments Download
M lily/context-property.cc View 4 chunks +71 lines, -3 lines 0 comments Download
M lily/context-scheme.cc View 1 chunk +13 lines, -0 lines 0 comments Download
M lily/engraver-group.cc View 2 chunks +35 lines, -5 lines 0 comments Download
M lily/include/context.hh View 1 chunk +5 lines, -0 lines 0 comments Download
M lily/include/grob-properties.hh View 1 chunk +2 lines, -0 lines 0 comments Download
M lily/include/property-iterator.hh View 2 chunks +0 lines, -4 lines 0 comments Download
M lily/nested-property.cc View 2 chunks +21 lines, -15 lines 0 comments Download
M lily/property-iterator.cc View 4 chunks +16 lines, -94 lines 0 comments Download
M scm/define-music-display-methods.scm View 2 chunks +7 lines, -3 lines 0 comments Download

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