|
From: | Rutger Hofman |
Subject: | Re: [Spam] Re: [Spam] Re: Spanner right-hand text may disappear when padded |
Date: | Wed, 19 Oct 2016 23:00:18 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 |
On 10/17/2016 06:49 PM, David Nalesnik wrote:
On Mon, Oct 17, 2016 at 9:35 AM, David Nalesnik <address@hidden> wrote:On Mon, Oct 17, 2016 at 8:26 AM, Rutger Hofman <address@hidden> wrote:Thanks for all the help! First I post some rationale, then my real question, which is targeted at the developers I guess. The behaviour I am after is a thing I really do want: it is visually confusing if the 'a tempo' comes halfway the 'poco rit.)' when it is clearly meant to be after it. I am afraid that solutions involving staff-padding are not general enough; if I try to move the \markup{a tempo} in my example to the beginning of its bar, there is no value for right.text padding or staff-padding that lets it be both visible and at the same vertical position. And even then I am unsure if it will work for all 14 instrument parts (the tempo indications are needed in all), the skyline can be wildly different.I'm having difficulty understanding exactly what it is that you want or why the solutions presented are insufficient. Is it possible to provide some sort of mockup--if if hand-drawn--to show exactly how you'd like this to look?OK... Now for the real question. I am really unenlightened why the right.text (or for that matter, both left.text and right.text if the padding is chosen sufficiently large) disappears for largish values of padding. After all, the padding is intended to stretch outside the texts, isn't that correct? For a quick attempt to see if things crash or whatever if this test is disabled, I cloned git and built on my Ubuntu, verified quickly that the unmodified install works, then commented out that test (line 329 in lily/line-spanner.cc) and ran again. Lo and behold, everything looks OK in my first quick tests. I am not familiar with Lilypond internals, so this raises my question: what is this test for? What problems does it guard against? Should it only hold for other spanners than text spanners? Or for right-broken text spanners? Etc. Or is it just a bug/feature silently living on from the past?When I fiddled around this a few days ago, the dashed line would disappear when doing this. Modifying the code to show the dashed line again (another condition) shows the line superimposed on the right text. I can't investigate this further/pass along my test code for you to investigate, b/c unfortunately I'm having a file permissions disaster on my Win10 system.Sorry about the empty email! I've attached a Scheme rewrite of ly:text-spanner::print which allows for easy demonstration of the problems I mention above. I've removed the padding check. This only brings back the right text. The line is suppressed b/c the endpoint of the right side is actually LEFT of the endpoint of the left side Removing the check (line 161) draws the line, and you can see the consequences. You could experiment with finding a way to set the X of the broken second-half of the spanner to some value under 0. I don't have a rewrite of that C++ stuff, so it will mean messing with the source.
Again, thanks for all your efforts!With removal of 'the' test, it finally dawned on me that the spanner right-hand text moves to the left upon padding, and the place in time where the right-hand text starts moves with it to the left. That is exactly /not/ the behaviour I want. I want each of these instructions to visually start at their very well-defined point in time. I came to the conclusion that instructions that start at a given time and are (more or less) aligned on the same Y-coordinate* will probably all have to be text spanners. So I solved my problem by converting the 'a tempo' markup in my original MWE to be the right-hand text of a second text spanner, which starts with the 'poco rit.)' incantation.
Even though I solved my problem: you asked above for my use-case, and in this case it is the Adagio for solo violin and 13 winds from Alban Berg's Kammerkonzert, see http://imslp.org/wiki/Kammerkonzert_(Berg,_Alban) for the score. The Adagio starts at page 48, bar 241. That page and the following few clearly show the behaviour I want: accel, rit, a tempo, etc in a close sequence, but obviously tied to their start times, and all at the same vertical offset. For individual, more time-compressed, parts (e.g. the woodwind parts that start out with rests!), I need to explicitly avoid the instructions getting partly on top of each other.
So, in conclusion: I solved my issues without using padding; again many thanks for your efforts in helping me clear this out.
Rutger Hofman Amsterdam*) is this horizontal or vertical alignment? I am always so confused about this...
[Prev in Thread] | Current Thread | [Next in Thread] |