On 10/17/2016 06:49 PM, David Nalesnik wrote:
On Mon, Oct 17, 2016 at 9:35 AM, David Nalesnik
<[email protected]> wrote:
On Mon, Oct 17, 2016 at 8:26 AM, Rutger Hofman <[email protected]> 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...
_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user