On 9 mars 2013, at 09:51, d...@gnu.org wrote:
> On 2013/03/09 07:18:50, mike7 wrote:
>> On 8 mars 2013, at 14:10, mailto:d...@gnu.org wrote:
>
>> >
>> >
>
> https://codereview.appspot.com/7453046/diff/1/input/regression/minimum-length-end-line.ly
>> > File input/regression/minimum-length-end-line.ly (right):
>> >
>> >
>
> https://codereview.appspot.com/7453046/diff/1/input/regression/minimum-length-end-line.ly#newcode10
>> > input/regression/minimum-length-end-line.ly:10: \override
>> > TextSpanner.springs-and-rods = #ly:spanner::set-spacing-rods
>> > Why is this override needed for the regtest? The other overrides
> are
>> > obvious user-accessible overrides for triggering the tested
>> > functionality.
>> >
>> > But should _this_ override not be the default?
>> >
>> > https://codereview.appspot.com/7453046/
>
>> Perhaps open a tracker issue for this?
>> The question is not only valid for text spanners but also hairpins,
> glissandos,
>> etc.
>
> Last time I looked, this issue purportedly "Allows minimum-length to
> work for end-of-line spanners." And according to the regtest, it does
> not do the job. Without additional messing with springs-and-rods it
> does not allow minimum-length to work for end-of-line-spanners.
>
The definition of "allow" in the New Oxford American Dictionary is "give the
necessary time or opportunity for." This patch gives spanners the opportunity
to have minimum length work at the end of the line.
Additional messing with springs and rods is because minimum-length is currently
implemented by four different interfaces (lyric-hyphen, multi-measure-rest,
ottava-bracket and spanner) and is also looked up in lyric-extender in a way
that does not correspond to its docstring. So, certain uses of minimum length
require the additional override whereas others don't. I do not think this is
ideal, which is why I proposed a few weeks ago standardizing property names
across interfaces. It seems like the issues you are raising above and below
have less to do with this patch and more to do with the multiple implementation
of minimum-length and the use of the springs-and-rods property.
> The only thing more frustrating than missing functionality is
> purportedly available functionality that needs non-user-comprehensible
> trickery to actually work.
I do not have a problem with the current need to set the springs-and-rods
separately.
If you do, please file an issue then to fix this as well as the following
snippets in the Documentation:
-)
http://lilypond.org/doc/v2.17/Documentation/notation/expressive-marks-as-lines#index-glissando-1
-) http://lilypond.org/doc/v2.17/Documentation/notation/spanners.html,
specifically "For some layout objects, the minimum-length property becomes
effective only if the set-spacing-rodsprocedure is called explicitly. To do
this, the springs-and-rods property should be set to
ly:spanner::set-spacing-rods. For example, the minimum length of a glissando
has no effect unless the springs-and-rodsproperty is set."
> So it is not clear that using this functionality would not
> break other things elsewhere.
>
I'm positive it would because of the way that minimum-length is multiply
defined. That is why this patch is intended for the "some layout objects"
discussed above like the TextSpanner.
I agree that the multiple use of the minimum-length property should be changed,
but this seems like the business of another patch.
If the regtest is bothering you that much, I can just eliminate it from this
patch. It won't change the better functionality of this patch and will just
stop shedding light on the issue I'm discussing above. But that does not seem
like a good solution, nor does setting springs-and-rods with a default property.
Cheers,
MS
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel