4

More often than not, the LilyPond score's final touch requires meticulous slur adjustment. It would be nice to see the control points while modifying the shape. I noticed a special engraver to accomplish this task, Show_control_points_engraver. However, when I added it to the score context, nothing changed. What am I missing?

Here is my code:

\version "2.24.3"
\language "italiano"

global = {
    \key reb \major
    \time 9/8
}

right = \new Staff = "right" {
    \global
    \relative do'' {
        \shape #'((0 . 0) (0 . 0) (0 . 0) (0 . 0)) PhrasingSlur
        do8 \(sib do sib mib sib lab sib lab\)
    }
}

left = \new Staff = "left" {
    \global
    \relative do' {
        <<{mib2.}\\{reb2.}>>
        <do mib>4.
    }
}

\score {
    \new PianoStaff {
        <<
            \right
            \left
        >>
    }
    \layout {
        \context {
            \Score
            \consists Show_control_points_engraver
        }
    }
}

This is the result:

enter image description here

1 Answer 1

5

This whole thing is quite undocumented. This engraver does not need to be added, it is already on by default. But it will only act if the show-control-points property is true (see here https://lilypond.org/doc/v2.24/Documentation/internals/bezier_002dcurve_002dinterface).

So you need to either override or tweak that property for the PhrasingSlur:

do8-\tweak show-control-points ##t -\(

Note that there is a \vshape command which does the same as \shape, but will also tweak this parameter to #t. So in your case you’d simply need to replace \shape by \vshape.

2

Not the answer you're looking for? Browse other questions tagged or ask your own question.