lilypond-user
[Top][All Lists]
Advanced

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

Re: [Spam] Re: [Spam] Re: Spanner right-hand text may disappear when pad


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



reply via email to

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