Move Output_property_engraver to Score level
Due to the hierarchical nature of acknowledgers, acknowledgers in lower
contexts will now get to see the grobs before applyOutput has done its
work. However, grobs are still unfinished (except for type, properties
initialized via context properties and cause) at the time they are
announced, with other details only getting filled in by the engraver
after announcement, so the potential for trouble seems low.
Acknowledgers should usually just register a grob (or write grob data)
with any actual reading of grob data occurring at the end of the
timestep instead or in the process-acknowledged phase.
Also contains commits:
Add Output_property_engraver back to Score
Run scripts/auxiliar/update-with-convert-ly.sh
convert-ly rule for removing Output_property_engraver
It's highly unlikely that users will redefine the Score context from
scratch, so the convert-ly rule just removes every occurence of
Output_property_engraver from user source. Obviously, when running the
rule on the LilyPond code base, we will need to fix up the Score
engraver manually to retain the Output_property_engraver .
Diff:
Passes make, make check and a full make doc.
Patch on countdown for July 10th.
Pushed to staging as
|\ Merge: 90fce10 76dccb4
| | Author: David Kastrup dak@gnu.org
| | Date: Sun Jul 10 20:01:48 2016 +0200
| |
| | Merge branch 'issue4914'
| |
| * commit 76dccb496a1ecd4be7767b544114877332a1f1ff
| | Author: David Kastrup dak@gnu.org
| | Date: Sun Jul 3 01:42:15 2016 +0200
| |
| | Issue 4914/3: Add Output_property_engraver back to Score
| |
| | It was removed by a simplistic convert-ly rule.
| |
| * commit 7c5fcff15f69f2e758d346bea43f226218c4da70
| | Author: David Kastrup dak@gnu.org
| | Date: Sun Jul 3 01:40:27 2016 +0200
| |
| | Run scripts/auxiliar/update-with-convert-ly.sh
| |
| * commit 3058940cba235a24cd3408d9fd27fb9a8ca2bbe0
| | Author: David Kastrup dak@gnu.org
| | Date: Sun Jul 3 01:40:04 2016 +0200
| |
| | Issue 4914/2: convert-ly rule for removing Output_property_engraver
| |
| | It's highly unlikely that users will redefine the Score context from
| | scratch, so the convert-ly rule just removes every occurence of
| | Output_property_engraver from user source. Obviously, when running the
| | rule on the LilyPond code base, we will need to fix up the Score
| | engraver manually to retain the Output_property_engraver .
| |
| * commit 1d1976cb7da1d4625357e59a34837b1d46cac70c
|/ Author: David Kastrup dak@gnu.org
| Date: Sun Jul 3 01:37:15 2016 +0200
|
| Issue 4914/1: Move Output_property_engraver to Score level
|
| This has the advantage of needing only one instantiation of the engraver
| and not having \applyOutput mysteriously refrain from having an effect
| in contexts without Output_property_engraver .
|
| Due to the hierarchical nature of acknowledgers, acknowledgers in lower
| contexts will now get to see the grobs before applyOutput has done its
| work. However, grobs are still unfinished (except for type, properties
| initialized via context properties and cause) at the time they are
| announced, with other details only getting filled in by the engraver
| after announcement, so the potential for trouble seems low.
| Acknowledgers should usually just register a grob (or write grob data)
| with any actual reading of grob data occurring at the end of the
| timestep instead or in the process-acknowledged phase.