[ << 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: Clef_engraver
.
Standard settings:
-
avoid-slur
(symbol): 'inside
Method of handling slur collisions. Choices are
inside
,outside
,around
, andignore
.inside
adjusts the slur if needed to keep the grob inside the slur.outside
moves the grob vertically to the outside of the slur.around
moves the grob vertically to the outside of the slur only if there is a collision.ignore
does not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outside
andaround
behave likeignore
.-
break-align-anchor
(number): ly:break-aligned-interface::calc-extent-aligned-anchor
Grobs 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): 1
Read by
ly:break-aligned-interface::calc-extent-aligned-anchor
for aligning an anchor to a grob’s extent.-
break-align-symbol
(symbol): 'clef
This 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)
.#t
means visible,#f
means killed.-
extra-spacing-height
(pair of numbers): pure-from-neighbor-interface::extra-spacing-height-at-beginning-of-line
In 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-name
The glyph name within the font.
In the context of (span) bar lines, glyph-name represents a processed form of
glyph
, where decisions about line breaking, etc., are already taken.-
non-musical
(boolean): #t
True 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 minimum-space . 3.5) (key-signature minimum-space . 3.5) (time-signature minimum-space . 4.2) (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-symbol
are listed in break-alignment-interface. Additionally, three special break-align symbols available tospace-alist
are:-
first-note
used when the grob is just left of the first note on a line
-
next-note
used when the grob is just left of any other note; if not set, the value of
first-note
gets used-
right-edge
used when the grob is the last item on the line (only compatible with the
extra-space
spacing style)
Choices for
spacing-style
are:-
extra-space
Put this much space between the two grobs. The space is stretchable when paired with
first-note
ornext-note
; otherwise it is fixed.-
minimum-space
Put at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable when paired with
first-note
ornext-note
; otherwise it is fixed. Not compatible withright-edge
.-
fixed-space
Only compatible with
first-note
andnext-note
. Put this much fixed space between the grob and the note.-
minimum-fixed-space
Only compatible with
first-note
andnext-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-space
Only compatible with
first-note
andnext-note
. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable.
Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.
-
-
stencil
(stencil): ly:clef::print
The symbol to print.
-
vertical-skylines
(pair of skylines): #<unpure-pure-container #<procedure ly:grob::vertical-skylines-from-stencil (_)> >
Two skylines, one above and one below this grob.
-
Y-extent
(pair of numbers): #<unpure-pure-container #<procedure 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 #<procedure ly:staff-symbol-referencer::callback (_)> >
The vertical amount that this object is moved relative to its Y-parent.
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 > ] |