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

Issue 106640043: Set X-parent of TextScript to NoteColumn instead of PaperColumn (Closed)

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

Description

Set X-parent of TextScript to NoteColumn instead of PaperColumn This makes TextScripts consistent with DynamicTexts and LyricTexts. I'm also marking all TextScripts as non-cross-staff. This is a follow-up to https://code.google.com/p/lilypond/issues/detail?id=2245 (http://codereview.appspot.com/108270044)

Patch Set 1 #

Patch Set 2 : don't segfault when first head is NULL #

Total comments: 5

Patch Set 3 : Text_engraver: store events and grobs separately #

Patch Set 4 : Set TextScript's X-parent to rest if applicable. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+37 lines, -10 lines) Patch
M lily/text-engraver.cc View 1 2 3 1 chunk +35 lines, -9 lines 0 comments Download
M scm/define-grobs.scm View 1 2 1 chunk +2 lines, -1 line 0 comments Download

Messages

Total messages: 10
janek
don't segfault when first head is NULL
9 years, 9 months ago (2014-07-10 21:05:31 UTC) #1
dak
https://codereview.appspot.com/106640043/diff/20001/lily/note-column.cc File lily/note-column.cc (right): https://codereview.appspot.com/106640043/diff/20001/lily/note-column.cc#newcode169 lily/note-column.cc:169: if (head) Why would this test become required when ...
9 years, 9 months ago (2014-07-11 11:10:10 UTC) #2
janek
Text_engraver: store events and grobs separately
9 years, 9 months ago (2014-07-20 14:35:44 UTC) #3
janek
New patchset uploaded. https://codereview.appspot.com/106640043/diff/20001/lily/note-column.cc File lily/note-column.cc (right): https://codereview.appspot.com/106640043/diff/20001/lily/note-column.cc#newcode169 lily/note-column.cc:169: if (head) On 2014/07/11 11:10:10, dak ...
9 years, 9 months ago (2014-07-20 14:42:23 UTC) #4
janek
Set TextScript's X-parent to rest if applicable.
9 years, 9 months ago (2014-07-20 15:04:21 UTC) #5
janek
Fixed all issues identified by David. Thanks for review! Janek https://codereview.appspot.com/106640043/diff/20001/lily/note-column.cc File lily/note-column.cc (right): https://codereview.appspot.com/106640043/diff/20001/lily/note-column.cc#newcode169 ...
9 years, 9 months ago (2014-07-20 15:09:38 UTC) #6
janek
Pushed as commit 2371d6ba3b62d4d6dc349ab50fa0d76eadfba044 Author: Janek Warchoł <lemniskata.bernoullego@gmail.com> Date: Sun Jun 29 18:25:04 2014 +0200 ...
9 years, 9 months ago (2014-07-26 06:49:41 UTC) #7
Keith
On 2014/07/26 06:49:41, janek wrote: > > Setting TextScript.cross-staff property to #f is required to ...
9 years, 9 months ago (2014-07-26 21:36:12 UTC) #8
janek
On 2014/07/26 21:36:12, Keith wrote: > On 2014/07/26 06:49:41, janek wrote: > > > > ...
9 years, 9 months ago (2014-07-27 16:44:22 UTC) #9
Keith
9 years, 9 months ago (2014-07-28 01:17:18 UTC) #10
On Sun, 27 Jul 2014 09:44:22 -0700, <janek.lilypond@gmail.com> wrote:

> On 2014/07/26 21:36:12, Keith wrote:
>> On 2014/07/26 06:49:41, janek wrote:
>> >
>> >     Setting TextScript.cross-staff property to #f is required to
> ensure
>> >     that there are no collisions between TextScripts and cross-staff
> notes:

>> The concept of a "cross-staff note" seems strange.  It appeared with
> the change
>> for issue 2527 https://codereview.appspot.com/6827072#msg13


> Hmm.  Do i see correctly that the patch in
> https://codereview.appspot.com/6827072 was then partially reverted with
> commit 7891600a5dd421c1f25776ea3b405c64f4f14752 ?

Right.  NoteColumns are no longer cross-staff.
If we mark TextScript.cross-staff=#t it collides with /any/ note.

Cross-staff things are skipped during outside-staff placement
   axis-group-interface.cc:939
(though it seems they could, with more code, be placed relative to their parent
staff, without being included in the parent staff's skyline).

Most things that go cross-staff use the side-position-interface to avoid
collisions, but the engraver for TextScripts does not put anything into its
'support' list so that method has no effect.

I think the example of issue 1300 succeeds only because TextScript is put in a
ScriptColumn with the accent.  It collides in the stable release if there is no
accent, or a trill in place of the accent.

define-grob-properties says 'cross-staff' means that the object can change shape
or move relative to its parent, depending on how staves are spaced on the page. 
 TextScripts do not yet respond to staff-spacing, except when they are in a
ScriptColumn that knows how to avoid a cross-staff beam, and that case seems
inconsistent.

> Shall i revert commit
> 2371d6ba3b62d4d6dc349ab50fa0d76eadfba044 for now?

I don't know.   The case of issue 1300 was not a realistic input, and similar
cases fail in the stable build.  On the other hand, from the tracker issue, it
looks like your commit doesn't provide us with any improvements.

Sign in to reply to this message.

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