LilyPond Internals Reference: 3.1.4 AccidentalSuggestion

### 3.1.4 AccidentalSuggestion

AccidentalSuggestion objects are created by: Accidental_engraver.

Standard settings:

> `alteration` (number):

>   `accidental-interface::calc-alteration`

>   Alteration numbers for accidental.

> `direction` (direction):

>   `1`

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

> `font-size` (number):

>   `-2`

>   The font size, compared to the ‘normal’ size. `0` is style-sheet’s normal size, `-1` is smaller, `+1` is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.

> `glyph-name-alist` (list):

>   `'((0 . accidentals.natural) (-1/2 . accidentals.flat) (1/2 . accidentals.sharp) (1 . accidentals.doublesharp) (-1 . accidentals.flatflat) (3/4 . accidentals.sharp.slashslash.stemstemstem) (1/4 . accidentals.sharp.slashslash.stem) (-1/4 . accidentals.mirroredflat) (-3/4 . accidentals.mirroredflat.flat))`

>   An alist of key-string pairs.

> `outside-staff-priority` (number):

>   `0`

>   If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller `outside-staff-priority` is closer to the staff.

> `script-priority` (number):

>   `0`

>   A sorting key that determines in what order a script is within a stack of scripts.

> `self-alignment-X` (number):

>   `0`

>   Specify alignment of an object. The value `-1` means left aligned, `0` centered, and `1` right-aligned in X direction. Other numerical values may also be specified.

> `side-axis` (number):

>   `1`

>   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.

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

>   `0.25`

>   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.

> `stencil` (stencil):

>   `ly:accidental-interface::print`

>   The symbol to print.

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

>   `ly:accidental-interface::width`

>   Hard coded extent in X direction.

> `X-offset` (number):

>   `#<simple-closure (#<primitive-generic +> #<simple-closure (#<primitive-procedure ly:self-alignment-interface::centered-on-x-parent>) > #<simple-closure (#<primitive-procedure ly:self-alignment-interface::x-aligned-on-self>) >) >`

>   The horizontal amount that this object is moved relative to its X-parent.

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

>   `ly:accidental-interface::height`

>   Hard coded extent in Y direction.

> `Y-offset` (number):

>   `ly:side-position-interface::y-aligned-side`

>   The vertical amount that this object is moved relative to its Y-parent.

This object supports the following interface(s): accidental-interface, accidental-suggestion-interface, font-interface, grob-interface, item-interface, script-interface, self-alignment-interface and side-position-interface.

#### Internals Reference