Description[GSoC] Implement cross-voice dynamic spanners
Update (8/22): multiple/cross-voice spanner management has been moved into the Spanner_engraver class, and is presently working. The code/commits can also be found on my GitHub fork https://github.com/starrynte/lilypond/compare/master...gsoc-2016-spanners
Commits:
Set "spanner-share-context" event property with \=.
(spanners-init.ly, define-music-properties.scm)
Create multiple engraver instances to handle multiple spanners.
(*.hh, grob.cc, spanner-engraver.cc, spanner.cc, define-context-properties.scm, define-grob-properties.scm)
Customize unterminated spanner warnings for each grob.
(spanner.cc, translator-group.cc, define-grob-properties.scm)
Implement cross-voice spanners in dynamic engravers.
(dynamic-align-engraver.cc, dynamic-engraver.cc)
Add regression tests.
Examples:
<< { c\=Score.hello\< d e f } \\ { e f g\=Score.hello\! a } >>
\new Staff { << { c d e\=Staff.hello\< f } >> << { g\> f\!\=Staff.hello\! e d } >> }
\new Staff { c d e\=1\< f\=2\< g f\=1\! e\=2\! d }
Patch Set 1 #Patch Set 2 : Made some changes to Spanner_engraver, and added reg tests #
Total comments: 2
Patch Set 3 : Preliminary refactor to use multiple engraver instances to handle multiple spanners #Patch Set 4 : Fix issue with unterminated warnings; add reg tests. #Patch Set 5 : Fixed (though not sure if with best approach) issue with filtered acknowledgers. May try coding alt… #
Total comments: 10
MessagesTotal messages: 17
|