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

Issue 304160043: [GSoC] Implement cross-voice dynamic spanners

Can't Edit
Can't Publish+Mail
Start Review
Created:
1 year, 3 months ago by Nathan Chou
Modified:
12 months ago
Reviewers:
dak, a-kobel
CC:
lilypond-devel_gnu.org
Visibility:
Public.

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
Unified diffs Side-by-side diffs Delta from patch set Stats (+649 lines, -99 lines) Patch
A input/regression/cross-voice-dynamics-basic.ly View 1 2 3 1 chunk +11 lines, -0 lines 0 comments Download
A input/regression/cross-voice-dynamics-break-span.ly View 1 2 3 1 chunk +9 lines, -0 lines 0 comments Download
A input/regression/cross-voice-dynamics-line.ly View 1 2 3 1 chunk +9 lines, -0 lines 0 comments Download
A input/regression/cross-voice-dynamics-multiple-lines.ly View 1 2 3 4 1 chunk +7 lines, -0 lines 0 comments Download
M lily/dynamic-align-engraver.cc View 1 2 6 chunks +98 lines, -64 lines 2 comments Download
M lily/dynamic-engraver.cc View 1 2 3 12 chunks +23 lines, -28 lines 1 comment Download
M lily/grob.cc View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M lily/include/engraver-group.hh View 1 2 1 chunk +2 lines, -0 lines 1 comment Download
A lily/include/spanner-engraver.hh View 1 2 3 4 1 chunk +272 lines, -0 lines 6 comments Download
M lily/include/translator-dispatch-list.hh View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M lily/include/translator-group.hh View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M lily/spanner.cc View 1 2 1 chunk +2 lines, -1 line 0 comments Download
A lily/spanner-engraver.cc View 1 2 3 1 chunk +141 lines, -0 lines 0 comments Download
M lily/translator-group.cc View 1 2 3 2 chunks +28 lines, -0 lines 0 comments Download
M ly/spanners-init.ly View 1 2 1 chunk +31 lines, -6 lines 0 comments Download
M scm/define-context-properties.scm View 1 2 1 chunk +3 lines, -0 lines 0 comments Download
M scm/define-grob-properties.scm View 1 2 3 3 chunks +8 lines, -0 lines 0 comments Download
M scm/define-music-properties.scm View 1 2 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 17
Nathan Chou
Made some changes to Spanner_engraver, and added reg tests
1 year, 3 months ago (2016-07-23 02:31:56 UTC) #1
dak
I've started going through with the code review here but at some point decided that ...
1 year, 2 months ago (2016-07-25 10:01:52 UTC) #2
Nathan Chou
Thank you very much for taking the time to review this! On 2016/07/25 10:01:52, dak ...
1 year, 2 months ago (2016-07-25 10:47:33 UTC) #3
Nathan Chou
Hi, I am almost done moving multiple/cross-voice spanner code out of specific engravers into the ...
1 year, 2 months ago (2016-08-13 10:13:50 UTC) #4
dak
Nathan Chou <starrynte@gmail.com> writes: > Hi, > > I am almost done moving multiple/cross-voice spanner ...
1 year, 2 months ago (2016-08-13 15:05:26 UTC) #5
Nathan Chou
Preliminary refactor to use multiple engraver instances to handle multiple spanners
1 year, 2 months ago (2016-08-20 11:51:59 UTC) #6
Nathan Chou
Hello, Although I haven't thoroughly checked this patch, and I'll likely have more questions and ...
1 year, 2 months ago (2016-08-20 12:12:47 UTC) #7
Nathan Chou
Fix issue with unterminated warnings; add reg tests.
1 year, 2 months ago (2016-08-22 09:49:50 UTC) #8
Nathan Chou
Also, I noticed that when creating cross-staff dynamics I get the error programming error: My ...
1 year, 1 month ago (2016-08-23 09:04:18 UTC) #9
Nathan Chou
Fixed (though not sure if with best approach) issue with filtered acknowledgers. May try coding ...
1 year, 1 month ago (2016-08-25 09:15:23 UTC) #10
dak
I'm currently really bad at focusing and still trying to wrap my head around this ...
1 year, 1 month ago (2016-09-09 05:20:06 UTC) #11
Nathan Chou
Thanks for looking at this, David! Let me know if there's any portions I could ...
1 year, 1 month ago (2016-09-09 05:46:20 UTC) #12
dak
Stuff is not getting better by myself procrastinating any longer, so I'm putting out the ...
1 year ago (2016-10-21 13:22:53 UTC) #13
a-kobel_a-kobel.de
David, while I did not read the entire mail, I just happened to stumble across ...
1 year ago (2016-10-21 13:33:35 UTC) #14
dak
https://codereview.appspot.com/304160043/diff/80001/lily/include/spanner-engraver.hh File lily/include/spanner-engraver.hh (right): https://codereview.appspot.com/304160043/diff/80001/lily/include/spanner-engraver.hh#newcode111 lily/include/spanner-engraver.hh:111: if (is_manager_) On 2016/10/21 13:22:53, dak wrote: > Ok, ...
1 year ago (2016-10-21 14:38:06 UTC) #15
Nathan Chou
Thanks for the review, David! I haven't read everything in detail yet but I think ...
12 months ago (2016-10-24 10:50:36 UTC) #16
Nathan Chou
12 months ago (2016-10-24 10:50:38 UTC) #17
Thanks for the review, David!

I haven't read everything in detail yet but I think I got the gist of your
suggestions. I do now see how having all the events go to a Spanner_engraver
instance, then distributed to the appropriate one-spanner engraver would be more
organized.

> Now the question is how such a rearrangement would best be organized: we don't
> want the code fall dead, but the time allotment for the project also is
> basically over.  See a perspective here time and motivation getting this
> simplified?

I am still willing to work on this, although school has started again, so any
progress would probably be made slowly.

Nathan
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld 80a51fa-tainted