stem-interface
The stem represent the graphical stem. In addition, it internally connects note heads, beams andtremolos. Rests and whole notes have invisible stems.
The following properties may be set in the details list.
beamed-lengths
- list of stem lengths given beam multiplicity.
beamed-minimum-free-lengths
- list of normal minimum free stem lengths (chord to beams) given beam multiplicity.
beamed-extreme-minimum-free-lengths
- list of extreme minimum free stem lengths (chord to beams) given beam multiplicity.
lengths
- Default stem lengths. The list gives a length for each flag-count.
stem-shorten
- How much a stem in a forced direction should be shortened. The list gives an amount depending on the number of flags/beams.
User settable properties:
avoid-note-head
(boolean)- If set, the stem of a chord does not
pass through all note heads, but starts at the last note head.
beaming
(pair)- Pair of number lists. Each number list specifies which
beams to make. 0 is the central beam, 1 is the next beam toward the
note etc. This information is used to determine how to connect the
beaming patterns from stem to stem inside a beam.
default-direction
(direction)- Direction determined by note head positions.
direction
(direction)- If side-position is 1 (#X), then this property determines if the object is placed #LEFT, #CENTER or #RIGHT with respect to the other object. Otherwise, it determines if the object is placed #UP #CENTER or #DOWN. Numerical values may also be used. #UP=1, #DOWN=-1, #LEFT=-1, #RIGHT=1, CENTER=0 but also other numerical values are permitted.
duration-log
(integer)- The 2-log of the note head duration, i.e. 0=whole note, 1 = half note, etc.
flag-style
(symbol)- a string determining what style of flag-glyph is
typeset on a Stem. Valid options include
()
and
mensural
. Additionally, "no-flag"
switches off the
flag.
french-beaming
(boolean)- Use French beaming style for this
stem. The stem will stop at the innermost beams.
length
(dimension, in staff space)- User override for the stem length of
unbeamed stems.
length-fraction
(number)- Multiplier for lengths. Used for
determining ledger lines and stem lengths.
max-beam-connect
(integer)- Maximum number of beams to connect
to beams from this stem. Further beams are typeset as beamlets.
neutral-direction
(direction)- Which direction to take in the
center of the staff.
no-stem-extend
(boolean)- If set, notes with ledger lines do not
get stems extending to the middle staff line.
stem-end-position
(number)- Where does the stem end (the end is opposite to the support-head.
stemlet-length
(number)- How long should a stem over a rest be?
stroke-style
(string)- set to "grace" to turn stroke through flag on.
thickness
(number)- Line thickness, generally measured in
line-thickness
.
Internal properties:
beam
(layout object)- pointer to the beam, if applicable.
details
(list)- alist of parameters for detailed grob behavior.
more information on the allowed parameters can be found by inspecting
lily/slur-scoring.cc, lily/beam-quanting.cc, and
lily/tie-formatting-problem.cc. Setting debug-tie-scoring
,
debug-beam-scoring
or debug-slur-scoring
also provides
useful clues.
note-heads
(unknown)- List of note head grobs
positioning-done
(boolean)- Used to signal that a positioning element
did its job. This ensures that a positioning is only done once.
rests
(unknown)- A list of rest objects.
stem-info
(pair)- caching of stem parameters
tremolo-flag
(layout object)- The tremolo object on a stem.
This grob interface is used in the following graphical objects: Stem