RhythmicStaff - LilyPond program-reference
Description: LilyPond program-reference

Next: Score, Previous: PianoStaff, Up: Contexts

#### RhythmicStaff

A context like `Staff` but for printing rhythms. Pitches are ignored; the notes are printed on one line.

This context also accepts commands for the following context(s):

Staff

This context creates the following layout objects:

BarLine, DotColumn, InstrumentName, LedgerLineSpanner, SeparatingGroupSpanner, SeparationItem, StaffSpacing, StaffSymbol, TimeSignature, VerticalAxisGroup and VoltaBracket.

This context sets the following properties:

- Set grob-property `neutral-direction` in Beam to `1`.
- Set grob-property `neutral-direction` in Stem to `1`.
- Set grob-property `line-count` in StaffSymbol to `1`.
- Set grob-property `staff-padding` in VoltaBracket to `3`.
- Set grob-property `bar-size` in BarLine to `4`.
- Set translator property `squashedPosition` to `0`
- Set translator property `createSpacing` to `#t`
- Set translator property `localKeySignature` to `'()`
- Set translator property `verticalExtent` to `#f`
- Set translator property `extraVerticalExtent` to `#f`
- Set grob-property `minimum-Y-extent` in VerticalAxisGroup to `#f`.

Context RhythmicStaff can contain Voice and CueVoice

This context is built from the following engravers:

`Axis_group_engraver`
  Group all objects created in this context in a VerticalAxisGroup spanner.

  Properties (read)

  `verticalExtent` (pair of numbers)
    Hard coded vertical extent. The format is a pair of dimensions, for example, this sets the sizes of a staff to 10 (5+5) staff-spaces high.

                       \set Staff.verticalExtent = #'(-5.0 . 5.0)

    This does not work for Voice or any other context that doesn't form a vertical group.

  `minimumVerticalExtent` (pair of numbers)
    minimum vertical extent, same format as verticalExtent
  `extraVerticalExtent` (pair of numbers)
    extra vertical extent, same format as minimumVerticalExtent
  This engraver creates the following layout objects: VerticalAxisGroup.
`Instrument_name_engraver`
  Creates a system start text for instrument or vocal names.

  Properties (read)

  `vocNam` (markup)
    Name of a vocal line, short version.
  `vocalName` (markup)
    Name of a vocal line.
  `instrument` (markup)
    The name to print left of a staff. The `instrument` property labels the staff in the first system, and the `instr` property labels following lines.
  `instr` (markup)
    See `instrument`
  `currentCommandColumn` (layout object)
    Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
  This engraver creates the following layout objects: InstrumentName.
`Time_signature_engraver`
  Create a TimeSignature whenever `timeSignatureFraction` changes

  This engraver creates the following layout objects: TimeSignature.

`Pitch_squash_engraver`
  Set the vertical position of noteheads to `squashedPosition`, if that property is set. This can be used to make a single line staff demonstrating the rhythm of a melody.

  Properties (read)

  `squashedPosition` (integer)
    Vertical position of squashing for Pitch_squash_engraver.
`Staff_symbol_engraver`
  Create the constellation of five (default) staff lines.

  Music types accepted:

  staff-span-event

  This engraver creates the following layout objects: StaffSymbol.

`Ledger_line_engraver`
  Creates the spanner to draw ledger lines, and notices objects that need ledger lines

  This engraver creates the following layout objects: LedgerLineSpanner.

`Bar_engraver`
  Create barlines. This engraver is controlled through the `whichBar` property. If it has no bar line to create, it will forbid a linebreak at this point

  Properties (read)

  `whichBar` (string)
    This property is read to determine what type of bar line to create.

    Example:

                       \set Staff.whichBar = "|:"

    This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.

  This engraver creates the following layout objects: BarLine.
`Dot_column_engraver`
  Engraves dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.

  This engraver creates the following layout objects: DotColumn.

`Separating_line_group_engraver`
  Generates objects for computing spacing parameters.

  Properties (read)

  `createSpacing` (boolean)
    Create `StaffSpacing` objects? Should be set for staves.
  Properties (write)
  `breakableSeparationItem` (layout object)
    The breakable items in this time step, for this staff.
  This engraver creates the following layout objects: SeparatingGroupSpanner, SeparationItem and StaffSpacing.
`Volta_engraver`
  Make volta brackets.

  Properties (read)

  `repeatCommands` (list)
    This property is read to find any command of the form `(volta .` x`)`, where x is a string or `#f`
  `voltaSpannerDuration` (moment)
    This specifies the maximum duration to use for the brackets printed for `\alternative`. This can be used to shrink the length of brackets in the situation where one alternative is very large.
  `stavesFound` (list of grobs)
    list of all staff-symbols found.
  This engraver creates the following layout objects: VoltaBracket.
`Font_size_engraver`
  Puts fontSize into font-size grob property.

  Properties (read)

  `fontSize` (number)
    The relative size of all grobs in a context.
`Output_property_engraver`
  Apply a procedure to any grob acknowledged.

  Music types accepted:

  layout-instruction

This page is for LilyPond-2.8.8 (stable-branch).

Other languages: English.
Using automatic language selection.