Next: , 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 is also known as:

Staff

This context creates the following layout objects:

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

This context sets the following properties:

Context RhythmicStaff can contain Voice

This context is built from the following engravers:

Engraver_group_engraver
A group of engravers taken together
Instrument_name_engraver
Prints the name of the instrument (specified by Staff.instrument and Staff.instr) at the left of the staff.

Properties (read)

instr (markup)
See instrument
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.
This engraver creates the following layout objects: InstrumentName.
Staff_symbol_engraver
Create the constellation of five (default) staff lines.

This engraver creates the following layout objects: StaffSymbol.

Time_signature_engraver
Create a TimeSignature whenever timeSignatureFraction changes

This engraver creates the following layout objects: TimeSignature.

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.
Volta_engraver
Make volta brackets

Properties (read)

stavesFound (list of grobs)
list of all staff-symbols found.
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.
repeatCommands (list)
This property is read to find any command of the form (volta . x), where x is a string or #f
This engraver creates the following layout objects: VoltaBracket.
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.
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.

Output_property_engraver
Interpret Music of Output_property type, and apply a function to any Graphic objects that satisfies the predicate.

Music types accepted:

layout-instruction

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

Properties (read)

extraVerticalExtent (pair of numbers)
extra vertical extent, same format as minimumVerticalExtent
minimumVerticalExtent (pair of numbers)
minimum vertical extent, same format as verticalExtent
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) staffspaces 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.

This engraver creates the following layout objects: VerticalAxisGroup.

Read comments on this page, or add one.

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

Report errors to <bug-lilypond@gnu.org>.