| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < ChordSquare ] | [ Up: All layout objects ] | [ ClefModifier > ] |
3.1.30 Clef
A clef. See also
ClefModifier, CueClef, and CueEndClef.
Clef objects are created by the following engraver(s): Clef_engraver.
Standard settings:
avoid-slur(symbol):
'insideMethod of handling slur collisions. Choices are
inside,outside,around, andignore.insideadjusts the slur if needed to keep the grob inside the slur.outsidemoves the grob vertically to the outside of the slur.aroundmoves the grob vertically to the outside of the slur only if there is a collision.ignoredoes not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outsideandaroundbehave likeignore.break-align-anchor(number):
ly:break-aligned-interface::calc-extent-aligned-anchorGrobs aligned to this breakable item will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
break-align-anchor-alignment(number):
1Read by
ly:break-aligned-interface::calc-extent-aligned-anchorfor aligning an anchor to a grob’s extent.break-align-symbol(symbol):
'clefThis key is used for aligning, ordering, and spacing breakable items. See break-alignment-interface.
break-visibility(vector): #(#f #f #t)A vector of 3 booleans,
#(end-of-line unbroken begin-of-line).#tmeans visible,#fmeans killed.extra-spacing-height(pair of numbers):
pure-from-neighbor-interface::extra-spacing-height-at-beginning-of-lineIn the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0).glyph-name(string):
ly:clef::calc-glyph-nameThe glyph name within the font.
In the context of (span) bar lines or clefs, glyph-name represents a processed form of
glyph, where decisions about line breaking, etc., are already taken.non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.space-alist(alist, with symbols as keys):'((cue-clef extra-space . 2.0) (signum-repetitionis extra-space . 0.7) (staff-bar extra-space . 0.7) (ambitus extra-space . 1.15) (key-cancellation extra-space . 0.82) (key-signature extra-space . 0.82) (time-signature extra-space . 1.52) (optional-material-end-bracket extra-space . 1.0) (optional-material-start-bracket extra-space . 1.0) (first-note minimum-fixed-space . 5.0) (next-note extra-space . 1.0) (right-edge extra-space . 0.5))An alist that specifies distances from this grob to other breakable items, using the format:
'((break-align-symbol . (spacing-style . space)) (break-align-symbol . (spacing-style . space)) ...)Standard choices for
break-align-symbolare listed in break-alignment-interface. Additionally, three special break-align symbols available tospace-alistare:
first-noteused when the grob is just left of the first note on a line
next-noteused when the grob is just left of any other note; if not set, the value of
first-notegets usedright-edgeused when the grob is the last item on the line (only compatible with the
extra-spacespacing style)If
space-alistis defined for a grob that gets spaced in a staff, an entry forfirst-notemust be present. If there is nonext-noteentry, the value offirst-noteis used instead.Choices for
spacing-styleare:
extra-spacePut this much space between the two grobs. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed.minimum-spacePut at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable and shrinkable when paired with
first-noteornext-note; otherwise it is fixed. Not compatible withright-edge.fixed-spaceOnly compatible with
first-noteandnext-note. Put this much fixed space between the grob and the note.minimum-fixed-spaceOnly compatible with
first-noteandnext-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.semi-fixed-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable and shrinkable.shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the two grobs. The space is only shrinkable.semi-shrink-spaceOnly compatible with
first-noteandnext-note. Put this much space between the grob and the note, such that half of the space is fixed and half is shrinkable.Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
stencil(stencil):
ly:clef::printThe symbol to print.
vertical-skylines(pair of skylines):
#<unpure-pure-container ly:grob::vertical-skylines-from-stencil >Two skylines, one above and one below this grob.
Y-extent(pair of numbers):
#<unpure-pure-container ly:grob::stencil-height >Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.
Y-offset(number):
#<unpure-pure-container ly:staff-symbol-referencer::callback >The vertical amount that this object is moved relative to its Y-parent.
Note that many objects have special positioning considerations, which cause any setting of
Y-offsetto be ignored or modified, even though the object supports theself-alignment-interface.
This object supports the following interface(s):
break-aligned-interface, clef-interface, font-interface, grob-interface, item-interface, pure-from-neighbor-interface and staff-symbol-referencer-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < ChordSquare ] | [ Up: All layout objects ] | [ ClefModifier > ] |