BarLine ======= Interfaces supported: grob-interface, bar-line-interface, break-aligned-interface, font-interface, pure-from-neighbor-interface Classes: Item * after-line-breaking (from grob-interface) ------------------- Dummy property, used to trigger callback for @code{after-line-breaking}. * allow-span-bar (from bar-line-interface) -------------- #t If false, no inter-staff bar line will be created below this bar line. * avoid-slur (from grob-interface) ---------- Method of handling slur collisions. Choices are @code{inside}, @code{outside}, @code{around}, and @code{ignore}. @code{inside} adjusts the slur if needed to keep the grob inside the slur. @code{outside} moves the grob vertically to the outside of the slur. @code{around} moves the grob vertically to the outside of the slur only if there is a collision. @code{ignore} does not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.), @code{outside} and @code{around} behave like @code{ignore}. * bar-extent (from bar-line-interface) ---------- ly:bar-line::calc-bar-extent The Y-extent of the actual bar line. This may differ from @code{Y-extent} because it does not include the dots in a repeat bar line. * before-line-breaking (from grob-interface) -------------------- Dummy property, used to trigger a callback function. * break-align-anchor (from break-aligned-interface) ------------------ ly:bar-line::calc-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 (from break-aligned-interface) ---------------------------- Read by @code{ly:break-aligned-interface::calc-extent-aligned-anchor} for aligning an anchor to a grob's extent. * break-align-symbol (from break-aligned-interface) ------------------ staff-bar This key is used for aligning, ordering, and spacing breakable items. See @rinternals{break-alignment-interface}. * color (from grob-interface) ----- The color of this grob. * extra-offset (from grob-interface) ------------ A pair representing an offset. This offset is added just before outputting the symbol, so the typesetting engine is completely oblivious to it. The values are measured in @code{staff-space} units of the staff's @code{StaffSymbol}. * font-encoding (from font-interface) ------------- The font encoding is the broadest category for selecting a font. Currently, only lilypond's system fonts (Emmentaler) are using this property. Available values are @code{fetaMusic} (Emmentaler), @code{fetaBraces}, @code{fetaText} (Emmentaler). * font-family (from font-interface) ----------- The font family is the broadest category for selecting text fonts. Options include: @code{sans}, @code{roman}. * font-features (from font-interface) ------------- Opentype features. * font-name (from font-interface) --------- Specifies a file name (without extension) of the font to load. This setting overrides selection using @code{font-family}, @code{font-series} and @code{font-shape}. * font-series (from font-interface) ----------- Select the series of a font. Choices include @code{medium}, @code{bold}, @code{bold-narrow}, etc. * font-shape (from font-interface) ---------- Select the shape of a font. Choices include @code{upright}, @code{italic}, @code{caps}. * font-size (from font-interface) --------- The font size, compared to the @q{normal}@tie{}size. @code{0}@tie{}is style-sheet's normal size, @w{@code{-1}} is smaller, @code{+1} is bigger. Each step of@tie{}1 is approximately 12% larger; 6@tie{}steps are exactly a factor@tie{}2 larger. If the context property @code{fontSize} is set, its value is added to this before the glyph is printed. Fractional values are allowed. * footnote-music (from grob-interface) -------------- Music creating a footnote. * forced-spacing (from grob-interface) -------------- Spacing forced between grobs, used in various ligature engravers. * gap (from bar-line-interface) --- 0.4 Size of a gap in a variable symbol. * glyph (from bar-line-interface) ----- "|" A string determining what @q{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-name (from bar-line-interface) ---------- bar-line::calc-glyph-name The glyph name within the font. In the context of (span) bar lines, @var{glyph-name} represents a processed form of @code{glyph}, where decisions about line breaking etc. are already taken. * hair-thickness (from bar-line-interface) -------------- 1.9 Thickness of the thin line in a bar line, expressed as a multiple of the default staff-line thickness (i.e. the visual output is @emph{not} influenced by changes to @code{@var{Staff}.StaffSymbol.thickness}). * horizontal-skylines (from grob-interface) ------------------- Two skylines, one to the left and one to the right of this grob. * id (from grob-interface) -- An id string for the grob. * kern (from bar-line-interface) ---- 3.0 The 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 @emph{not} influenced by changes to @code{@var{Staff}.StaffSymbol.thickness}). * layer (from grob-interface) ----- 0 An 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. * minimum-X-extent (from grob-interface) ---------------- Minimum size of an object in X@tie{}dimension, measured in @code{staff-space} units. * minimum-Y-extent (from grob-interface) ---------------- Minimum size of an object in Y@tie{}dimension, measured in @code{staff-space} units. * output-attributes (from grob-interface) ----------------- An alist of attributes for the grob, to be included in output files. When the SVG typesetting backend is used, the attributes are assigned to a group (@code{}) containing all of the stencils that comprise a given grob. For example, @example '((id . 123) (class . foo) (data-whatever . "bar")) @end example @noindent produces @example @dots{} @end example In the Postscript backend, where there is no way to group items, the setting of the @code{output-@/attributes} property has no effect. * parenthesis-friends (from grob-interface) ------------------- A list of Grob types, as symbols. When parentheses enclose a Grob that has 'parenthesis-friends, the parentheses widen to include any child Grobs with type among 'parenthesis-friends. * parenthesis-id (from grob-interface) -------------- When parenthesized grobs created in the same time step have this property, there is one set of parentheses for each group of grobs having the same value. * parenthesized (from grob-interface) ------------- Parenthesize this grob. * rotation (from grob-interface) -------- Number of degrees to rotate this object, and what point to rotate around. For example, @code{'(45 0 0)} rotates by 45 degrees around the center of this object. * rounded (from bar-line-interface) ------- #f Decide whether lines should be drawn rounded or not. * segno-kern (from bar-line-interface) ---------- 3.0 The 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 @emph{not} influenced by changes to @code{@var{Staff}.StaffSymbol.thickness}). * skyline-horizontal-padding (from grob-interface) -------------------------- For determining the vertical distance between two staves, it is possible to have a configuration which would result in a tight interleaving of grobs from the top staff and the bottom staff. The larger this parameter is, the farther apart the staves are placed in such a configuration. * space-alist (from break-aligned-interface) ----------- ((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) (first-note fixed-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: @example '((@var{break-align-symbol} . (@var{spacing-style} . @var{space})) (@var{break-align-symbol} . (@var{spacing-style} . @var{space})) ...) @end example Standard choices for @w{@code{@var{break-align-symbol}}} are listed in @rinternals{break-alignment-interface}. Additionally, three special @w{break-align} symbols available to @w{@code{space-alist}} are: @quotation @table @code @item first-note used when the grob is just left of the first note on a line @item next-note used when the grob is just left of any other note; if not set, the value of @code{first-note} gets used @item right-edge used when the grob is the last item on the line (only compatible with the @w{@code{extra-space}} spacing style) @end table @end quotation Choices for @code{@var{spacing-style}} are: @quotation @table @code @item extra-space Put this much space between the two grobs. The space is stretchable when paired with @w{@code{first-note}} or @w{@code{next-note}}; otherwise it is fixed. @item 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 @w{@code{first-note}} or @w{@code{next-note}}; otherwise it is fixed. Not compatible with @w{@code{right-edge}}. @item fixed-space Only compatible with @w{@code{first-note}} and @w{@code{next-note}}. Put this much fixed space between the grob and the note. @item minimum-fixed-space Only compatible with @w{@code{first-note}} and @w{@code{next-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. @item semi-fixed-space Only compatible with @w{@code{first-note}} and @w{@code{next-note}}. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable. @end table @end quotation Rules for this spacing are much more complicated than this. See [Wanske] page 126--134, [Ross] page 143--147. * springs-and-rods (from grob-interface) ---------------- Dummy variable for triggering spacing routines. * stencil (from grob-interface) ------- ly:bar-line::print The symbol to print. * thick-thickness (from bar-line-interface) --------------- 6.0 Thickness of the thick line in a bar line, expressed as a multiple of the default staff-line thickness (i.e. the visual output is @emph{not} influenced by changes to @code{@var{Staff}.StaffSymbol.thickness}). * transparent (from grob-interface) ----------- This makes the grob invisible. * vertical-skylines (from grob-interface) ----------------- Two skylines, one above and one below this grob. * whiteout (from grob-interface) -------- If a number or true, the grob is printed over a white background to white-out underlying material, if the grob is visible. A number indicates how far the white background extends beyond the bounding box of the grob as a multiple of the staff-line thickness. The @code{LyricHyphen} grob uses a special implementation of whiteout: A positive number indicates how far the white background extends beyond the bounding box in multiples of @code{line-thickness}. The shape of the background is determined by @code{whiteout-style}. Usually @code{#f} by default. * whiteout-style (from grob-interface) -------------- Determines the shape of the @code{whiteout} background. Available are @code{'outline}, @code{'rounded-box}, and the default @code{'box}. There is one exception: Use @code{'special} for @code{LyricHyphen}. * X-extent (from grob-interface) -------- Extent (size) in the X@tie{}direction, measured in staff-space units, relative to object's reference point. * X-offset (from grob-interface) -------- The horizontal amount that this object is moved relative to its X-parent. * Y-extent (from grob-interface) -------- # > Extent (size) in the Y@tie{}direction, measured in staff-space units, relative to object's reference point. * Y-offset (from grob-interface) -------- The vertical amount that this object is moved relative to its Y-parent.