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

Issue 4630070: Fix issues 1259 and 1433 (\breakDynamicSpan and a spanner's style=#'none over a line break) (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
12 years, 10 months ago by Reinhold
Modified:
12 years, 9 months ago
Reviewers:
pkx166h, carl.d.sorensen, Neil Puttock, reinhold
CC:
lilypond-devel_gnu.org
Visibility:
Public.

Description

Fix issues 1259 and 1433 (\breakDynamicSpan and a spanner's style=#'none over a line break) This changes the way DynamicLineSpanners are handled when \breakDynamicSpan is called or when the DynamicTextSpanner's style=#'none (i.e. no line should be used and thus the spanner should also not unneccessarily shift the dynamic text spanner up/down). So far, this was handled by simply ending the DynamicLineSpanner prematurely, while leaving its children at their full length. As a consequence, the child spanners were no longer fully contained in the DynamicLineSpanner, which caused several problem at line breaks. This patch changes it as follows: -) All spanner breaks are handled by a flag set on the spanner itself -) The breakDynamicSpan events are handled by the dynamic engraver, which will set that flag -) When a DynamicTextSpanner with style=#'none or a \breakDynamicSpan is encountered, I also set that flag immediately after spanner creation -) From then on, no new dynamics are added to the line spanner and no new support points are added that would otherwise shift the spanner if there is a very high/low note or articulation. If the spanner creates a grob (like a hairpin), that grob would still be shifted as a grob to prevent collisions, though. -) When the current child spanner is ended, we also end the DynamicLineSpanner (and store it in a temporary variable so that we can properly end it in stop_translation_timestep). If a new dynamic is encountered, it will then create a completely new DynamicLineSpanner, which provides the independent alignment that we want. This fixes both issues 1259 and 1433: http://code.google.com/p/lilypond/issues/detail?id=1259 http://code.google.com/p/lilypond/issues/detail?id=1433

Patch Set 1 #

Patch Set 2 : Properly fix \breakDynamicSpan and a spanner's style=#'none over a line break #

Total comments: 7

Patch Set 3 : Use a flag on dynamic spanner rather than line spanner, handle breaks in the dynamic engraver #

Patch Set 4 : Add one more test case, add spanner-broken to spanner-interface #

Total comments: 15

Patch Set 5 : Include Neil's concerns, clean up regtests. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+160 lines, -44 lines) Patch
A input/regression/dynamics-alignment-breaker-linebreak.ly View 1 2 3 4 1 chunk +17 lines, -0 lines 0 comments Download
A input/regression/dynamics-alignment-breaker-order.ly View 1 2 3 4 1 chunk +18 lines, -0 lines 0 comments Download
A input/regression/dynamics-alignment-breaker-subsequent-spanner.ly View 1 2 3 4 1 chunk +15 lines, -0 lines 0 comments Download
A input/regression/dynamics-alignment-no-line-linebreak.ly View 1 2 1 chunk +14 lines, -0 lines 0 comments Download
M lily/dynamic-align-engraver.cc View 1 2 3 4 7 chunks +60 lines, -44 lines 0 comments Download
M lily/new-dynamic-engraver.cc View 1 2 7 chunks +33 lines, -0 lines 0 comments Download
M lily/spanner.cc View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M scm/define-grob-properties.scm View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 21
Neil Puttock
Hi Reinhold, I'm afraid this fails `make check'. dynamics-alignment-no-line-linebreak.ly weirdly works directly without a hitch, ...
12 years, 10 months ago (2011-06-26 11:34:20 UTC) #1
Reinhold
On 2011/06/26 11:34:20, Neil Puttock wrote: > Hi Reinhold, > > I'm afraid this fails ...
12 years, 10 months ago (2011-06-26 11:56:32 UTC) #2
reinhold_kainhofer.com
Am Sonntag, 26. Juni 2011, 13:34:20 schrieben Sie: > I'm afraid this fails `make check'. ...
12 years, 10 months ago (2011-06-26 12:02:48 UTC) #3
Neil Puttock
On 26 June 2011 13:02, Reinhold Kainhofer <reinhold@kainhofer.com> wrote: > Hmm, again the problem is ...
12 years, 10 months ago (2011-06-26 12:25:15 UTC) #4
Reinhold
On 2011/06/26 12:25:15, Neil Puttock wrote: > On 26 June 2011 13:02, Reinhold Kainhofer <mailto:reinhold@kainhofer.com> ...
12 years, 10 months ago (2011-06-28 12:25:22 UTC) #5
pkx166h
Passes reg tests - dynamics-alignment-breaker.ly is obviously different as the reg test itself has been ...
12 years, 10 months ago (2011-06-28 15:03:40 UTC) #6
Reinhold
On 2011/06/28 15:03:40, J_lowe wrote: > Passes reg tests - dynamics-alignment-breaker.ly is obviously different as ...
12 years, 10 months ago (2011-06-28 16:05:26 UTC) #7
pkx166h
On 2011/06/28 16:05:26, Reinhold wrote: > On 2011/06/28 15:03:40, J_lowe wrote: > > Passes reg ...
12 years, 10 months ago (2011-07-03 00:03:07 UTC) #8
Neil Puttock
LGTM. http://codereview.appspot.com/4630070/diff/3002/input/regression/dynamics-alignment-breaker-linebreak.ly File input/regression/dynamics-alignment-breaker-linebreak.ly (right): http://codereview.appspot.com/4630070/diff/3002/input/regression/dynamics-alignment-breaker-linebreak.ly#newcode12 input/regression/dynamics-alignment-breaker-linebreak.ly:12: c1_\dim\breakDynamicSpan redundant \breakDynamicSpan http://codereview.appspot.com/4630070/diff/3002/input/regression/dynamics-alignment-breaker-linebreak.ly#newcode15 input/regression/dynamics-alignment-breaker-linebreak.ly:15: c,,1_\dim\breakDynamicSpan redundant \breakDynamicSpan ...
12 years, 10 months ago (2011-07-03 20:14:56 UTC) #9
Reinhold
http://codereview.appspot.com/4630070/diff/3002/input/regression/dynamics-alignment-breaker-linebreak.ly File input/regression/dynamics-alignment-breaker-linebreak.ly (right): http://codereview.appspot.com/4630070/diff/3002/input/regression/dynamics-alignment-breaker-linebreak.ly#newcode12 input/regression/dynamics-alignment-breaker-linebreak.ly:12: c1_\dim\breakDynamicSpan On 2011/07/03 20:14:56, Neil Puttock wrote: > redundant ...
12 years, 10 months ago (2011-07-03 20:27:15 UTC) #10
Neil Puttock
On 3 July 2011 21:27, <reinhold.kainhofer@gmail.com> wrote: > > http://codereview.appspot.com/4630070/diff/3002/input/regression/dynamics-alignment-breaker-linebreak.ly > File input/regression/dynamics-alignment-breaker-linebreak.ly (right): > ...
12 years, 10 months ago (2011-07-03 20:44:48 UTC) #11
Reinhold
On 2011/07/03 20:44:48, Neil Puttock wrote: > On 3 July 2011 21:27, <mailto:reinhold.kainhofer@gmail.com> wrote: > ...
12 years, 9 months ago (2011-07-03 23:09:21 UTC) #12
Carl
LGTM, but I haven't explored the strange behavior you've identified. Carl
12 years, 9 months ago (2011-07-05 05:32:58 UTC) #13
Reinhold
On 2011/07/03 23:09:21, Reinhold wrote: > I'll have to investigate tomorrow why this > \breakDynamicSpan ...
12 years, 9 months ago (2011-07-06 15:07:51 UTC) #14
Neil Puttock
On 6 July 2011 16:07, <reinhold.kainhofer@gmail.com> wrote: > I now debugged that problem and the ...
12 years, 9 months ago (2011-07-07 16:15:54 UTC) #15
reinhold_kainhofer.com
Am Donnerstag, 7. Juli 2011, 18:15:54 schrieben Sie: > On 6 July 2011 16:07, <reinhold.kainhofer@gmail.com> ...
12 years, 9 months ago (2011-07-07 16:37:09 UTC) #16
pkx166h
Make is fine, the same reg test that showed a difference last time now shows ...
12 years, 9 months ago (2011-07-20 21:04:49 UTC) #17
reinhold_kainhofer.com
Am Mittwoch, 20. Juli 2011, 23:04:49 schrieben Sie: > Make is fine, the same reg ...
12 years, 9 months ago (2011-07-20 21:16:31 UTC) #18
Neil Puttock
http://codereview.appspot.com/4630070/diff/17001/input/regression/dynamics-alignment-breaker-linebreak.ly File input/regression/dynamics-alignment-breaker-linebreak.ly (right): http://codereview.appspot.com/4630070/diff/17001/input/regression/dynamics-alignment-breaker-linebreak.ly#newcode5 input/regression/dynamics-alignment-breaker-linebreak.ly:5: dynamic spanner is across a line break. crosses a ...
12 years, 9 months ago (2011-07-21 18:48:50 UTC) #19
Reinhold
Uploaded new patch that fixes all of Neil's concerns and clean up the regtests a ...
12 years, 9 months ago (2011-07-22 13:57:57 UTC) #20
Neil Puttock
12 years, 9 months ago (2011-07-23 22:05:19 UTC) #21
Hi Reinhold,

This LGTM, but I think it would be better to fold the patch for issue #1111 into
this, otherwise you're going to have to reformulate some of regression tests so
they don't use explicit directions.

Cheers,
Neil
Sign in to reply to this message.

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