| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < BalloonText ] | [ Up: All layout objects ] | [ BarNumber > ] |
3.1.11 BarLine
A bar line.
BarLine objects are created by the following engraver(s): Bar_engraver.
Standard settings:
allow-span-bar(boolean):
#tIf false, no inter-staff bar line will be created below this bar line.
bar-extent(pair of numbers):
ly:bar-line::calc-bar-extentThe Y-extent of the actual bar line. This may differ from
Y-extentbecause it does not include the dots in a repeat bar line.break-align-anchor(number):
ly:bar-line::calc-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-symbol(symbol):
'staff-barThis key is used for aligning, ordering, and spacing breakable items. See break-alignment-interface.
break-visibility(vector):
bar-line::calc-break-visibilityA 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::account-for-span-barIn 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).gap(dimension, in staff space):
0.4Size of a gap in a variable symbol.
glyph(string):
"|"A string determining what ‘style’ of glyph is typeset. Valid choices depend on the function that is reading this property.
In combination with (span) bar lines, it is a string resembling the bar line appearance in ASCII form.
glyph-left(string):
#<procedure at lily/output-lib.scm:1741:0 (grob)>The
glyphvalue to use at the end of the line when the line is broken.#findicates that no glyph should be visible; otherwise the value must be a string.glyph-name(string):
bar-line::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.glyph-right(string):
#fThe
glyphvalue to use at the beginning of the line when the line is broken.#findicates that no glyph should be visible; otherwise the value must be a string.hair-thickness(number):
1.9Thickness of the thin line in a bar line, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).horizontal-skylines(pair of skylines):
#<unpure-pure-container ly:grob::horizontal-skylines-from-stencil >Two skylines, one to the left and one to the right of this grob.
kern(dimension, in staff space):
3.0The space between individual elements in any compound bar line, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).layer(integer):
0An integer which determines the order of printing objects. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1.
non-musical(boolean):
#tTrue if the grob belongs to a
NonMusicalPaperColumn.right-justified(boolean):
#fUsed for
BarLines to right-align them. Usually the extent of aBarLinehas some positive value to the right. If this property is set to#t,BarLine.stencilis translated to the left by this value. Needs to be set atScoreorStaffGrouplevel. As a result allBarLines of saidScoreorStaffGroupare right-justified.rounded(boolean):
#fDecide whether lines should be drawn rounded or not.
segno-kern(number):
3.0The space between the two thin lines of the segno bar line symbol, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).short-bar-extent(pair of numbers):
ly:bar-line::calc-short-bar-extentThe Y-extent of a short bar line. The default is half the normal bar extent, rounded up to an integer number of staff spaces.
space-alist(alist, with symbols as keys):'((ambitus extra-space . 1.0) (time-signature extra-space . 0.75) (custos minimum-space . 2.0) (clef extra-space . 1.0) (key-signature extra-space . 1.0) (key-cancellation extra-space . 1.0) (optional-material-end-bracket extra-space . 1.0) (optional-material-start-bracket extra-space . 1.0) (first-note semi-shrink-space . 1.3) (next-note semi-fixed-space . 0.9) (right-edge extra-space . 0.0))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:bar-line::printThe symbol to print.
thick-thickness(number):
6.0Thickness of the thick line in a bar line, expressed as a multiple of the default staff-line thickness (i.e., the visual output is not influenced by changes to
Staff.StaffSymbol.thickness).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.
This object supports the following interface(s):
bar-line-interface, break-aligned-interface, font-interface, grob-interface, item-interface and pure-from-neighbor-interface.
This object is of class Item (characterized by item-interface).
| [ << Backend ] | [Top][Contents][Index] | [ Scheme functions >> ] |
[ < BalloonText ] | [ Up: All layout objects ] | [ BarNumber > ] |