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: Thomas Morley
Subject: Re: Lilypond ignores some \shape commands in chords
Date: Mon, 12 Mar 2018 22:55:39 +0100

2018-03-12 20:12 GMT+01:00 Arle Lommel <address@hidden>:
> % Cannot tweak both ties in a double tie.
> % Lilypond 2.18.2 simply ignores the second one.
> % This example has a deliberately bad example in
> % the second \shape command to make it obvious where it
> % is working or not, but *no* values change
> % the output from the system. The second \shape command
> % is completely ignored.
> %
> % There is some additional weirdness I will follow up with,
> % where, if you have a string of ties and you insert a \break
> % in the middle, it switches to ignoring the first one
> % and honoring the second one in a chord.
>
> \version "2.18.2"
> \relative c'' {
>         \tieUp
>         <cis!-\shape #'((0.0 . 2.0) (0.0 . 2.0) (0.0 . 2.0) (0.0 . 2.0))~ 
> e-\shape #'((0.0 . 5.0) (0.0 . 0.0) (0.0 . 0.0) (0.0 . 2.0))~>1 |
>         <cis! e>1 |
> }



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]