lilypond-user
[Top][All Lists]
Advanced

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

Re: Shape the angle of a broken hairpin's first part


From: Urs Liska
Subject: Re: Shape the angle of a broken hairpin's first part
Date: Tue, 18 Sep 2018 12:17:36 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1



Am 18.09.2018 um 11:49 schrieb Thomas Morley:
2018-09-18 11:13 GMT+02:00 Urs Liska <address@hidden>:

Am 18.09.2018 um 11:09 schrieb Urs Liska:
Hi Harm,

thank you very much!


Am 17.09.2018 um 22:35 schrieb Thomas Morley:
2018-09-17 12:05 GMT+02:00 Thomas Morley <address@hidden>:
2018-09-17 11:55 GMT+02:00 Urs Liska <address@hidden>:
thanks for this, which gives me a handle to the first part of the
hairpin at
least.

But my problem is not solved with the 'height property.
[...]

See my updated example
[...]

I'll have a look in the evening, now I have to run for my regular job
...

Cheers,
    Harm
Hi Urs,

as said before you'll need to go for the 'stencil.
Though, ly:hairpin::print, the default-stencil, is coded in C++. There
the defaults-heights for broken hairpins are set to 1/3 and 2/3 of
'height.
Thus we need a scheme-rewrite of the stencil-procedure to reset them.
Below I slightly extend a coding by David Nalesnik from
https://lists.gnu.org/archive/html/lilypond-user/2018-02/msg00181.html

Btw, the rest of the linked thread is very interesting as well:
Once you have a scheme-rewrite it's possible to add a plethora of
other features...

Back on topic.
Attached you'll find David's coding. My addition is to add a
'broken-heights-property.
Now you can adjust the values and call the scheme-stencil afterwards,
instead of the default-stencil.

This will work for my case - although it's somewhat ridiculous to include
such a massive file just to fix one graphic issue.
I think this is something that should be user-settable. Maybe a property
like yours as a native Hairpin property and/or a setting of the maximum
angle hairpin lines may have. The latter would also be a viable setting (as
opposed to minimum-length) to prevent those crippled too-short hairpins that
are often hard to spot. I think I'll post a feature request.

Best
Urs

Ah, I forgot to ask one thing: 'broken-heights is overridden with two
values, but I don't see the second one making any difference. What is that
about?

Urs
For decrescendo the first value determines the height for all but the
last broken hairpin-end.
For decrescendo the second value determines the height for all but the
first broken hairpin-start.

For crescendo the first value determines the height for all but first
broken hairpin-start.
For crescendo the second value determines the height for all but last
broken hairpin-end.

Internally these values are multiplied with the 'height-value.

See:
{
   \override Hairpin.broken-heights = #'(0.2 5)
   \override Hairpin.stencil = #hairpin::print-scheme
   c'1\>
   \break
   c'1 \break
   s2 c'\!
}

{
   \override Hairpin.broken-heights = #'(0.2 5)
   \override Hairpin.stencil = #hairpin::print-scheme
   c'1\<
   \break
   c'1 \break
   s2 c'\!
}

Cheers,
   Harm

Ah, OK. But that didn't take any effect in the earlier example since that only applied the override to the first sibling. If I use a crescendo instead then only the second value takes effect.

Thanks again
Urs



reply via email to

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