LilyPond program-reference: 3.1.90 Slur

### 3.1.90 Slur

Slur objects are created by: Slur_engraver.

Standard settings:

> `control-points` (list):

>   `ly:slur::calc-control-points`

>   List of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.

> `direction` (direction):

>   `ly:slur::calc-direction`

>   If `side-axis` is `0` (or `#X`), then this property determines whether the object is placed `#LEFT`, `#CENTER` or `#RIGHT` with respect to the other object. Otherwise, it determines whether the object is placed `#UP`, `#CENTER` or `#DOWN`. Numerical values may also be used: `#UP`=`1`, `#DOWN`=`-1`, `#LEFT`=`-1`, `#RIGHT`=`1`, `#CENTER`=`0`.

> `springs-and-rods` (boolean):

>   `ly:spanner::set-spacing-rods`

>   Dummy variable for triggering spacing routines.

> `Y-extent` (pair of numbers):

>   `ly:slur::height`

>   Hard coded extent in Y direction.

> `stencil` (unknown):

>   `ly:slur::print`

>   The symbol to print.

> `thickness` (number):

>   `1.2`

>   Line thickness, generally measured in `line-thickness`.

> `line-thickness` (number):

>   `0.8`

>   The thickness of the tie or slur contour.

> `minimum-length` (dimension, in staff space):

>   `1.5`

>   Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the `springs-and-rods` property. If added to a `Tie`, this sets the minimum distance between noteheads.

> `height-limit` (dimension, in staff space):

>   `2.0`

>   Maximum slur height: The longer the slur, the closer it is to this height.

> `ratio` (number):

>   `0.25`

>   Parameter for slur shape. The higher this number, the quicker the slur attains its `height-limit`.

> `avoid-slur` (symbol):

>   `'inside`

>   Method of handling slur collisions. Choices are `around`, `inside`, `outside`. If unset, scripts and slurs ignore each other. `around` only moves the script if there is a collision; `outside` always moves the script.

This object supports the following interface(s): spanner-interface, slur-interface and grob-interface.

#### Internals Reference