lilypond-auto
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Lilypond-auto] Issue 3731 in lilypond: Patch: Adds outside-staff-in


From: lilypond
Subject: Re: [Lilypond-auto] Issue 3731 in lilypond: Patch: Adds outside-staff-interface and outside-staff-axis-group-interface
Date: Sat, 21 Dec 2013 10:01:38 +0000


Comment #10 on issue 3731 by address@hidden: Patch: Adds outside-staff-interface and outside-staff-axis-group-interface
http://code.google.com/p/lilypond/issues/detail?id=3731

A hackish python script on my patch gives me the following info:

3 grobs implement outside-staff-axis-group-interface
20 grobs implement axis-group-interface
...so 15% of all axis-group-interfaces need the properties from outside-staff-axis-group-interface
36 grobs implement outside-staff-interface
137 grobs implement grob-interface
...so 26% of all grobs need the properties from outside-staff-interface

No, that means that for the current regtests to pass without change, those percentages hold. That's a very narrow-minded view of "need" based on the assumption that this patch is to be assumed complete and correct. Which is circular reasoning since that's what we are trying to find out.

It does not make any statement about which percentages would be _required_ to support outside-staff-interface resp. outside-staff-axis-group-interface in every grob where it can _conceivably_ be useful. The regtest only cover issues that people have _thought_ important to test. Since there was no restriction of outside staff interfaces previously, there are obviously no tests designed to test the coverage here.

It would be only slightly more relevant to check the examples and the documentation since those cover a bit more ground.

It also does not help to list a "random sampling of grobs that would never need [...]". The only thing that makes sense is a _complete_ list of grobs that would never need any of the given interfaces. Until one has checked off the whole list of cases without the supported interfaces, verifying that they are not being usefully supportable, one cannot guarantee that the patch will provide equivalent behavior for previously supported cases.

If I look in the Internals documentation at the axis-group-interface, I see
   This grob interface is used in the following graphical object(s):
*note Ambitus::, *note BassFigureAlignment::, *note
BassFigureAlignmentPositioning::, *note BassFigureLine::, *note
BreakAlignGroup::, *note BreakAlignment::, *note DotColumn::, *note
DynamicLineSpanner::, *note NonMusicalPaperColumn::, *note
NoteCollision::, *note NoteColumn::, *note PaperColumn::, *note
SostenutoPedalLineSpanner::, *note SustainPedalLineSpanner::, *note
System::, *note TrillPitchGroup::, *note UnaCordaPedalLineSpanner::,
*note VerticalAlignment::, *note VerticalAxisGroup:: and *note
VoltaBracketSpanner::.

That's the list one has to check off for outside-staff-axis-group-interface. The outside-staff-interface, unfortunately, has to be checked against a much larger list (grob-interface, possibly spanner-interface).

Of course, we'd get notifications much more thoroughly if not just _initializing_ properties without interface would result in diagnostics, but also reading them. That would make it much more obvious when a given property might actually be relevant for the interpretation and would lend a lot more certainty to the contention "this is not being used anyway".

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings



reply via email to

[Prev in Thread] Current Thread [Next in Thread]