LilyPond Internals Reference: 3.2.94 side-position-interface

### 3.2.94 side-position-interface

Position a victim object (this one) next to other objects (the support). The property `direction` signifies where to put the victim object relative to the support (left or right, up or down?)

The routine also takes the size of the staff into account if `staff-padding` is set. If undefined, the staff symbol is ignored.

#### User settable properties:

> `direction` (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`.

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

>   Minimum distance that the victim should move (after padding).

> `padding` (dimension, in staff space)

>   Add this much extra space between objects that are next to each other.

> `side-axis` (number)

>   If the value is `#X` (or equivalently `0`), the object is placed horizontally next to the other object. If the value is `#Y` or `1`, it is placed vertically.

> `slur-padding` (number)

>   Extra distance between slur and script.

> `staff-padding` (dimension, in staff space)

>   Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.

#### Internal properties:

> `quantize-position` (boolean)

>   If set, a vertical alignment is aligned to be within staff spaces.

> `side-support-elements` (array of grobs)

>   The side support, an array of grobs.

This grob interface is used in the following graphical object(s): AccidentalSuggestion, AmbitusAccidental, Arpeggio, BarNumber, BassFigureAlignmentPositioning, CombineTextScript, DoublePercentRepeatCounter, DynamicLineSpanner, Episema, Fingering, HorizontalBracket, InstrumentName, InstrumentSwitch, MeasureGrouping, MetronomeMark, MultiMeasureRestNumber, MultiMeasureRestText, OctavateEight, OttavaBracket, PercentRepeatCounter, RehearsalMark, Script, SostenutoPedalLineSpanner, StanzaNumber, StringNumber, StrokeFinger, SustainPedalLineSpanner, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare, TextScript, TextSpanner, TrillPitchAccidental, TrillPitchGroup, TrillSpanner, UnaCordaPedalLineSpanner, VoltaBracket and VoltaBracketSpanner.

#### Internals Reference