|
|
Node:LilyPond backend properties,
Next:Index,
Previous:LilyPond interfaces,
Up:Top
LilyPond backend properties
X-extent-callback (procedure):
- procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob.
X-offset-callbacks (list):
- list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first.
Y-extent-callback (procedure):
- see
X-extent-callback.
Y-offset-callbacks (list):
- see
X-offset-callbacks.
after-line-breaking-callback (procedure):
- Procedure taking a grob as argument.
This procedure is called (using dependency resolution) after line breaking. Return value is ignored.
align (number):
- the alignment of the text, 0 is horizontal, 1 is vertical.
align-dir (direction):
- Which side to align? -1: left side, 0: around center of width, 1: right side.
alignment (number):
- alignment of lyrics on notehead, -1 is LEFT, 0 is CENTRE, 1 is RIGHT .
alignment-done (boolean):
- boolean to administrate whether we've done the alignment already (to ensure that the process is done only once).
all-elements (list):
- list of all grobs in this line. Needed for protecting grobs from GC.
arch-angle (number):
- turning angle of the hook of a system brace
arch-height (number):
- height of the hook of a system brace.
arch-thick (number):
- thickness of the hook of system brace.
arch-width (number):
- width of the hook of a system brace.
arithmetic-basicspace (number):
- see spacing-spanner-interface.
arithmetic-multiplier (number):
- see spacing-spanner-interface.
attachment (pair):
- cons of symbols, '(LEFT-TYPE . RIGHT-TYPE), where both types may be alongside-stem, stem, head or loose-end.
attachment-offset (pair):
- cons of offsets,
'(LEFT-offset . RIGHT-offset). This offset is added to the
attachments to prevent ugly slurs. [fixme: we need more documentation here].
.
auto-knee-gap (number or boolean):
- the minimal smallest gap between two adjacent beamed chords for which beam will create auto-knees. Set to false for no auto knees.
axes (list):
- list of axis numbers.
In the case of alignment grobs, this should contain only one number.
bar-line-collapse-height (number):
- Minimum height of system start delimiter bar-line glyphs. If equal or smaller, the bar-line is removed.
bar-size (number):
- size of a bar line.
bar-size-procedure (procedure):
- Procedure that computes the size of a bar line.
bars (list):
- list of barline pointers.
baseline-skip (number):
- Baseline skip to use for multiple lines of text.
bass (list):
- musical-pitch, optional.
beam (grob (GRaphical OBject)):
- pointer to the beam, if applicable.
beam-space-function (procedure):
- function returning space given multiplicity.
beam-thickness (number):
- thickness, measured in staffspace.
beam-width (number):
- width of the tremolo sign.
beamAuto (boolean):
- enable autobeaming?.
beamed-lengths (list):
- list of stem lengths given beam multiplicity .
beamed-minimum-lengths (list):
- list of minimum stem lengths given beam multiplicity.
beamed-stem-shorten (number):
- shorten beamed stems in forced direction.
beaming (pair of numbers):
- number of beams extending to left and right.
beams (list):
- list of beam ptrs.
beautiful (number):
- number that dictates when a slur should be de-uglyfied. It correlates with the enclosed area between noteheads and slurs. A value of 0.1 yields only undisturbed slurs, a value of 5 will tolerate quite high blown slurs.
before-grace-spacing-factor (number):
- stretch space this much if there are grace notes before the column.
before-line-breaking-callback (procedure):
- Procedure taking grob as argument.
This procedure is called (using dependency resolution) before line breaking, but after generating discretionary items. Return value is ignored.
before-musical-spacing-factor (number):
- space before musical columns (eg. taken by accidentals) get this much
stretched when they follow a musical column, in absence of grace
notes. 0.0 means no extra space (accidentals are ignored).
begin-alignment (number):
- proportion of lyric length from beginning to align with note-head for left-aligned lyrics.
between-system-string (string):
- string
to dump between two systems. Useful for forcing pagebreaks.
bounded-by-me (list):
- list of spanners that have this
column as start/begin point. Only columns that have grobs or act as bounds are spaced.
brace-collapse-height (number):
- Minimum height of system start delimiter brace glyphs. If equal or smaller, the brace is removed.
bracket-collapse-height (number):
- Minimum height of system start delimiter bracket glyphs. If equal or smaller, the bracket is removed.
bracket-thick (number):
- width of a system start bracket. .
break-align-symbol (symbol):
- the index in the spacing table (symbol) of the to be aligned item.
break-glyph-function (procedure):
- function taking glyph and break-direction, returning the glyph at a line break.
breakable (boolean):
- boolean indicating if this is a breakable item (clef, barline, key sig, etc.).
c0-position (integer):
- integer indicating the position of central C.
center-element (grob (GRaphical OBject)):
- grob which will
be at the center of the group after aligning (when using
Align_interface::center_on_element). .
column-space-strength (number):
- relative strength of space following breakable columns (eg. prefatory matter).
columns (list):
- list of grobs, typically containing paper-columns, list of note-columns.
contains-grace (boolean):
- Used to widen entries for grace notes.
control-points (list):
- List of 4 offsets (number-pairs) that form control points for the tie/slur shape.
damping (integer):
- amount of beam slope damping should beam slope be damped? 0: no, 1: yes, 100000: horizontal beams .
dash-length (number):
- the length of a dash.
dash-period (number):
- the length of one dash + white space.
dashed (number):
- [FIXME: use dash-period/dash length; see text-spanner] number representing the length of the dashes.
de-uglify-parameters (list):
- list of 3 real constants. They define the valid areas for the middle control points. Used in de_uglyfy. They are a bit empirical.
delta-y (number):
- amount of ascension.
dependencies (list):
- list of score-grob pointers that indicate who to compute first for certain global passes.
details (list):
- alist of parameters for detailed grob behavior.
dir-forced (boolean):
- set if direction has been forced; read by Beam.
dir-function (procedure):
- function of type (count total)->direction. Default value: beam-dir-majority, also available: beam-dir-mean, beam-dir-median.
The ways to calculate the direction of a beam work as follows:
majority
- number count of up or down notes
mean
- mean center distance of all notes
median
- mean centre distance weighted per note
dir-list (list):
- list of stem directions, needed for optical spacing correction.
direction (direction):
- up or down, left or right?.
direction-source (grob (GRaphical OBject)):
- in case side-relative-direction is set, which grob to get the direction from .
dot (grob (GRaphical OBject)):
- reference to Dots object.
dot-count (integer):
- number of dots.
duration-log (integer):
- 2-log of the notehead duration, i.e. 0=whole note, 1 = half note, etc.
dy (number):
- set by beam: vertical travel height
edge-height (pair):
- a cons that specifies the heights of the vertical egdes '(LEFT-height . RIGHT-height).
edge-text (pair):
- a cons that specifies the texts to be set at the edges '(LEFT-text . RIGHT-text).
elements (list):
- list of grobs, type depending on the Grob where this is set in.
end-alignment (number):
- proportion of lyric length from end to align with note-head for right-aligned lyrics.
expand-limit (integer):
- maximum number of measures expanded in church rests.
extra-extent-X (pair of numbers):
- enlarge in X dimension by this much, measured in staff space.
extra-extent-Y (pair of numbers):
- see
extra-extent-Y.
extra-offset (pair of numbers):
- pair of reals
(a cons) forcing an extra offset before outputting.
extra-offset is added just before `printing' the grob, so the
typesetting engine is completely oblivious to it.
extra-space (pair of numbers):
- pair of distances (cons LEFT RIGHT).
extremity-offset-alist (list):
- an alist (attachment stem-dir*dir slur-dir*dir) -> offset. The offset adds to the centre of the notehead, or stem.
extremity-rules (list):
- an alist (procedure
slur dir) -> attachment to determine the attachment (see above). If
procedure returns #t, attachment is used. Otherwise, the next
procedure is tried.
flag-style (string):
- style for flag (hook of a stem).
flag-width-function (procedure):
- Procedure that computes the width of a half-beam (a non-connecting beam.).
font-design-size (number):
- partial font definition: exact font size in points FIXME: should override font-relative-size.
font-family (symbol):
- partial font
definition: music roman braces dynamic math ...
font-name (symbol):
- partial font definition:
base name of font file FIXME: should override other partials.
font-relative-size (number):
- partial font definition: the relative size compared the `normal' size.
0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller.
font-series (symbol):
- partial font definition: medium, bold.
font-shape (symbol):
- partial font definition: upright or italic.
font-style (symbol):
- a precooked set of font
definitions, eg. finger volta timesig mark script large Large
dynamic.
force-hshift (number):
- amount of
collision_note_width that overides automatic collision settings. This
is used by note-collision-interface.
forced-distance (number):
- forced distance for an alignment.
fraction (pair of numbers):
- fraction of a time signature.
full-size-change (boolean):
- if set, don't make a change clef smaller.
gap (number):
- Size of a gap in a variable symbol.
glyph (symbol):
- a string determining what (style) of glyph is typeset. Valid choices depend on the function that is reading this property. .
glyph-name (string):
- a name of character within font.
grow-direction (direction):
- crescendo or decrescendo?.
hair-thickness (number):
- thickness, measured in stafflinethickness.
heads (pair):
- list of note heads,
FIXME: in Tie this is a pair of grob pointers, pointing to the two heads of the tie.
.
height (number):
- in staffspace.
height-quants (procedure):
- function of type (beam staff-line-thickness) -> list of quants. Default value: default-beam-dy-quants.
.
horizontal-shift (integer):
- integer that identifies ranking of note-column for horizontal shifting. This is used by note-collision-interface.
horizontal-space (number):
- amount of space to add after a note (in staff-space).
ideal-distances (list):
- (OBJ . (DIST . STRENGTH)) pairs.
ignore-length-mismatch (boolean):
- if #t, stanzas with shorter lyrics can be moved away from their respective note-head by the lyric alignment code.
interfaces (list):
- list of symbols indicating the interfaces supported by this object. Is initialized from the
meta field.
inversion (list):
- musical-pitch, optional.
invisible-staff (boolean):
- is staff invisible?
items-worth-living (list):
- list of interesting items. If empty in a particular system, clear that system.
kern (number):
- amount of extra white space to add.
For text, this is `relative'(?) to the current alignment.
For barline, space after a thick line.
layer (number):
- The output layer [0..2]. The default is 1.
left-padding (number):
- space left of accs.
length (number):
- Stem length for unbeamed stems, only for user override.
lengths (list):
- Stem length given multiplicity of flag.
line-count (integer):
- Number of staff lines.
line-thickness (number):
- the thickness[stafflinethickness] of the line.
lookup (symbol):
- lookup method: 'value for plain text, 'name for character-name.
magnify (number):
- the magnification factor. FIXME: doesn't work for feta fonts.
maximum-duration-for-spacing (moment):
- space as if a duration of this type is available in this measure.
maximum-length (number):
- don't make Grob longer than this
maximum-rest-count (integer):
- kill off rests so we don't more than this number left.
merge-differently-dotted (boolean):
- Merge noteheads in collisions, even if they have a different number of dots. This normal notation for some types of polyphonic music. The value of this setting is used by note-collision-interface .
minimum-distance (number):
- minimum distance between notes and rests.
minimum-distances (list):
- list of rods (ie. (OBJ . DIST) pairs).
minimum-extent-X (pair of numbers):
- minimum size in X dimension, measured in staff space.
minimum-extent-Y (pair of numbers):
- see
minimum-extent-Y.
minimum-length (number):
- try to make the
Grob at least this long.
Also works as a scaling parameter for the length of hyphen. .
minimum-space (number):
- minimum distance that the victim should move (after padding).
FIXME: also pair? (cons LEFT RIGHT)
minimum-width (number):
- minimum-width of rest symbol, in staffspace.
molecule-callback (procedure):
- Function taking grob as argument, returning a Scheme encoded Molecule.
neutral-direction (direction):
- Where to go if we're in the middle of the staff.
new-accidentals (list):
- list of (pitch, accidental) pairs.
no-spacing-rods (boolean):
- read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM).
no-stem-extend (boolean):
- should stem not be extended to middle staff line?.
non-default (boolean):
- not set because of existence of a bar?.
note-character (string):
- character to print in a note head.
note-width (number):
- unit for horizontal translation, measured in staff-space.
number-gap (number):
- size of the gap for the number in a tuplet.
old-accidentals (list):
- list of (pitch, accidental) pairs.
origin (input location):
- location in input file of the definition.
outer-stem-length-limit (number):
- catch
suspect beam slopes, set slope to zero if outer stem is lengthened
more than this (in staffspace).
padding (number):
- add this much extra space between objects that are next to each other.
parallel-beam (boolean):
- internal: true if there is a beam just as wide as the bracket .
pitches (list):
- list of musical-pitch.
raise (number):
- height for text to be raised (a negative value lowers the text.
right-padding (number):
- space right of accs.
right-trim-amount (number):
- shortening of the lyric extender on the right.
script-priority (number):
- A sorting key that determines in what order a script is within a stack of scripts.
self-alignment-X (number):
- real number: -1 =
left aligned, 0 = center, 1 right-aligned in X direction.
Set to an grob pointer, if you want that grob to be the center.
In this case, the center grob should have this object as a
reference point.
.
self-alignment-Y (number):
- like self-alignment-X but for Y axis.
shortest-playing-duration (moment):
- duration of the shortest playing in that column.
shortest-starter-duration (moment):
- duration of the shortest notes that starts exactly in this column.
side-relative-direction (direction):
- if set: get the direction from a different object, and multiply by this.
side-support (list):
- the support, a list of grobs.
slope (number):
- some kind of slope
slope-limit (number):
- set slope to zero if slope is running away steeper than this.
space-alist (list):
- Alist of break align spacing tuples. See basic-property.scm
space-function (procedure):
- function of type multiplicity -> real (in staffspace).
spacing-procedure (procedure):
- procedure
taking grob as argument. This is called after
before-line-breaking-callback, but before the actual line breaking
itself. Return value is ignored.
stacking-dir (direction):
- stack contents of grobs in which direction ?.
staff-position (number):
- vertical position in staff spaces, counted from the middle line.
staff-space (number):
- Amount of line leading relative to global staffspace.
staff-symbol (boolean):
- the staff symbol grob that we're in.
staffline-clearance (number):
- don't get closer than this to stafflines.
stem (grob (GRaphical OBject)):
- pointer to Stem object.
stem-attachment-function (procedure):
- Where
does the stem attach to the notehead? Function takes a symbol argument
being the style. It returns a (X . Y) pair, specifying location in
terms of note head bounding box.
stem-end-position (number):
- Where does the stem end (the end is opposite to the support-head.
stem-length (number):
- length of stem.
stem-shorten (list):
- shorten stems in forced directions given flag multiplicity.
stem-spacing-correction (number):
- optical correction amount.
stems (list):
- list of stem objects, corresponding to the notes that the arpeggio has to be before.
stretch-distance (pair of numbers):
- pair of distances.
style (symbol):
- a string determining what style of glyph is typeset. Valid choices depend on the function that is reading this property. .
support-head (grob (GRaphical OBject)):
- the note head at
one end of the stem.
text (markup (list or string)):
-
Scheme markup text. It is defined as follows:
text: string | (head? text+)
head: markup | (markup+)
markup-item: property | abbrev
property: (key . value)
abbrev: columns lines roman music bold italic named super sub overstrike text
finger volta timesig mmrest mark script large Large dynamic
The following abbreviations are currently defined:
columns
- horizontal mode: set all text on one line (default)
lines
- vertical mode: set every text on new line
roman
- select roman font
music
- select feta font, and lookup by character name
bold
- select bold series
italic
- select italic shape
named
- lookup by character name
text
- plain text lookup (by character value)
super
- superscript
sub
- subscript
overstrike
- the next text or character overstrikes this one
finger
- select fingering number fontstyle
volta
- select volta number fontstyle
timesig
- select time signature number fontstyle
mmrest
- select multi measure rest number fontstyle
mark
- select mark number fontstyle
script
- select scriptsize roman fontstyle
large
- select large roman fontstyle
Large
- select Large roman fontstyle
dynamic
- select dynamics fontstyle
.
thick (number):
- thickness, in stafflinethickness.
thick-thickness (number):
- thickness, measured in stafflinethickness.
thickness (number):
- thickness, measured in stafflinethickness.
thin-kern (number):
- space after a hair-line.
threshold (pair of numbers):
- (cons MIN MAX), where MIN and MAX are dimensions in staffspace.
transparent (boolean):
- This is almost the
same as setting molecule-callback to #f, but this retains the
dimensions of this grob, which means that you can erase grobs
individually. .
tuplet-bracket-visibility (boolean or symbol):
-
This controls the visibility of the tuplet bracket.
Setting it to false will prevent printing of the
bracket. Setting the property to #'if-no-beam will make it
print only if there is no beam associated with this tuplet bracket.
tuplet-number-visibility (boolean or symbol):
-
Like
tuplet-bracket-visibility, but for the number.
type (symbol):
- one of: line, dashed-line or dotted-line.
vertical-position-quant-function (procedure):
-
function of type (beam multiplicity dy staff-line-thickness) -> real. Default value: default-beam-y-quants, also available: beam-traditional-y-quants.
.
visibility-lambda (procedure):
- a function that takes the break direction and returns a cons of booleans containing (TRANSPARENT . EMPTY).
when (moment):
- when does this column happen?.
word-space (number):
- elongate left by this much (FIXME: cumbersome semantics).
x-gap (number):
- horizontal gap between notehead and tie.
y (number):
- set by beam: position of left edge.
y-free (number):
- minimal vertical gap between slur and noteheads or stems.
y-offset (number):
- extra vertical offset for ties away from the center line.
|