lilypond-auto
[Top][All Lists]
Advanced

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

Re: [Lilypond-auto] Issue 4065 in lilypond: Patch: Don't rescale \layout


From: lilypond
Subject: Re: [Lilypond-auto] Issue 4065 in lilypond: Patch: Don't rescale \layout in \score markup when already scaled
Date: Wed, 13 Aug 2014 10:01:40 +0000


Comment #6 on issue 4065 by address@hidden: Patch: Don't rescale \layout in \score markup when already scaled
http://code.google.com/p/lilypond/issues/detail?id=4065

Regarding side effects: it does not give "incorrect results": all dimensions in the grob-layout _are_ scaled (the units are related to staff spaces rather than mm after the scaling, I think, so the scale depends on the global staff size). What your approach compensated (and this patch fixes) was that they were wrongly going to be scaled _again_. So the incipit-width calculations were going to get a single round of scaling while the others got two. You compensated _those_ of the other dimensions immediately affecting your use case.

Now it is easy to come to the "it gives incorrect results" conclusion when not being aware of the underlying design. Which is not really documented, and not really obvious. That's why I called it somewhere else "piece of crock", and that's why issue 677 was longstanding, the resolution of it I attempted came with disclaimers (quoting from the commit message: "I actually have no idea whether this is the right fix, but it seems to do something related to the TODO comments and the issue report."), and it went wrong in the incipit use cases.

In spite of the minimal size of both the original issue 677 patch and this fixup patch, I spent weeks on and off digging through various code paths, including by the way several hours without anything to show for for the issue you considered shameful to me.

I am pretty sure this is the correct approach. It turns out that one can likely even add something like incipit-width to the scaled dimension variables as a user, by writing (probably):
\paper { dimension-variables = #(cons 'incipit-width dimension-variables) }
but it's not exactly like this kind of "interface" would be documented anywhere.

And this sort of moving scale is certainly not going to be fun if you try inserting dimensions that have been calculated in some other scope having a different idea of \mm.

Your 0004-Fixed-scaling-of-indent patch makes incipit-width a fully defined width with a staff-size independent dimension and corresponding default. That's what I did at first as well (and it corresponds to what I suggested). However, it would
a) obliterate the fallback of incipit-width = 0.5\indent
b) provide a specific default for a clearly score-dependent size
so I think the minimal solution of merely adding it to dimension-variables makes more sense. Which is what I did in my proposed full issue 3980 patch before factoring out this issue.

--
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]