bug-lilypond
[Top][All Lists]
Advanced

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

Re: Lilypond ignores some \shape commands in chords


From: Arle Lommel
Subject: Re: Lilypond ignores some \shape commands in chords
Date: Tue, 13 Mar 2018 08:41:44 -0400

This is helpful, and you solution works well. So your explanation is, I am 
certain, correct.

I *think* something else may be at work here as well. Compare the results of 
the following two examples (which I generated with ragged-right = ##t to make 
the images compact):

\version "2.18.2"
\relative c'' {
        \tieUp
        <cis!~ e~>1
        <cis!-\shape #'((0.0 . 5.0) (0.0 . 0.0) (0.0 . 5.0) (0.0 . 2.0))~ 
e-\shape #'((0.0 . -5.0) (0.0 . 0.0) (0.0 . 0.0) (0.0 . -5.0))~>1 |
        <cis! e>1 |
}



AND

\version "2.18.2"
\relative c'' {
        \tieUp
        <cis!~ e~>1 \break
        <cis!-\shape #'((0.0 . 5.0) (0.0 . 0.0) (0.0 . 5.0) (0.0 . 2.0))~ 
e-\shape #'((0.0 . -5.0) (0.0 . 0.0) (0.0 . 0.0) (0.0 . -5.0))~>1 |
        <cis! e>1 |
}


Adding the \break in a space that ought not to affect the tie switches which 
\shape is observed, but it switches which one “counts”. Maybe it is enough to 
document this issue and the solution and to mention that the case I submitted 
leads to essentially unpredictable results (OK, not entirely, but I think the 
predictability is low for most people).

But I do wonder what underlying behavior this case has hit upon and if it would 
rear its head elsewhere. Certainly, from a user perspective, it comes across as 
a head scratcher. I’m fine if this goes no further than a documentation fix, 
but if this represents something odd beneath the surface, it could be worth 
looking at.

-Arle


> The problem here is TieColumn being involved.
> TieColumn sets control-points for the containing ties and the values
> provided by \shape will be ignored more or less arbitrary.
> To prevent TieColumn doing so and have the shape-values accepted you
> need to set positioning-done #t at appropriate place _and_ set the
> direction of each containing tie. Which may be done by \tieUp for all
> or using direction-modifiers. _And_ apply \shape to all individual
> in-chord ties.
> 
> \relative c'' {
>        <
>         cis!
>           -\shape #'((0 . 0.5) (0 . -2) (0 . 1) (0 . 0))
>           ^~
>         e
>           -\shape #'((-2 . 0) (0 . 10) (0 . 10) (2 . 0))
>           ^~
>> 1 |
>        \once \override TieColumn.positioning-done = ##t
>        <cis! e>1 |
> }
> 
> \relative c'' {
>        \tieUp
>        <
>         cis!
>           -\shape #'(((0 . 0.5) (0 . -2) (0 . 1) (0 . 0))
>                      ((0 . 0.5) (0 . -2) (0 . 1) (0 . 0)))
>           ~
>         e
>           -\shape #'(((-2 . 0) (0 . 10) (0 . 10) (2 . 0))
>                      ((-2 . 0) (0 . 2) (0 . 2) (2 . 0)))
>           ~
>> 1 |
>        \break
>        \once \override TieColumn.positioning-done = ##t
>        <cis! e>1 |
> }
> 
> 
> Afair, it's a known limitation of \shape.
> So I tend to go for a documentation-issue here.
> 
> Other opinions?
> 
> 
> Cheers,
>  Harm



reply via email to

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