Next: hairpin-interface, Previous: grid-point-interface, Up: Graphical Object Interfaces
A grob represents a piece of music notation
All grobs have an X and Y-position on the page. These X and Y positions are stored in a relative format, so they can easily be combined by stacking them, hanging one grob to the side of another, and coupling them into a grouping objects.
Each grob has a reference point (a.k.a. parent): the position of a grob is stored relative to that reference point. For example the X-reference point of a staccato dot usually is the note head that it applies to. When the note head is moved, the staccato dot moves along automatically.
A grob is often associated with a symbol, but some grobs do not print any symbols. They take care of grouping objects. For example, there is a separate grob that stacks staves vertically. The NoteCollision is also an abstract grob: it only moves around chords, but doesn't print anything.
Grobs have a properties: Scheme variables, that can be read and set. They have two types. Immutable variables define the default style and behavior. They are shared between many objects. They can be changed using \override
and \revert
.
Mutable properties are variables that are specific to one grob. Typically, lists of other objects, or results from computations are stored inmutable properties: every call to set-grob-property (or its C++ equivalent) sets a mutable property.
The properties after-line-breaking
and before-line-breaking
are dummies that are not user-serviceable.
X-extent
(pair of numbers)X-offset
(number)Y-extent
(pair of numbers)X-extent
.
Y-offset
(number)after-line-breaking
(boolean)avoid-slur
(symbol)around
, inside
, outside
. If unset, script
and slur ignore eachother.
before-line-breaking
(boolean)color
(list)extra-X-extent
(pair of numbers)extra-Y-extent
(pair of numbers)extra-X-extent
.
extra-offset
(pair of numbers)layer
(number)minimum-X-extent
(pair of numbers)minimum-Y-extent
(pair of numbers)minimum-X-extent
.
rotation
(list)springs-and-rods
(boolean)stencil
(unknown)transparent
(boolean)axis-group-parent-X
(layout object)axis-group-parent-Y
(layout object)cause
(any type)interfaces
(list)meta
field.
meta
(list)name
and interfaces
.
staff-symbol
(layout object)This grob interface is used in the following graphical objects: Accidental, AccidentalPlacement, AccidentalSuggestion, Ambitus, AmbitusAccidental, AmbitusLine, AmbitusNoteHead, Arpeggio, BalloonTextItem, BarLine, BarNumber, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, Beam, BendAfter, BreakAlignGroup, BreakAlignment, BreathingSign, ChordName, Clef, ClusterSpanner, ClusterSpannerBeacon, CombineTextScript, Custos, DotColumn, Dots, DoublePercentRepeat, DoublePercentRepeatCounter, DynamicLineSpanner, DynamicText, DynamicTextSpanner, Fingering, FretBoard, Glissando, GraceSpacing, GridLine, GridPoint, Hairpin, HorizontalBracket, InstrumentName, InstrumentSwitch, KeyCancellation, KeySignature, LaissezVibrerTie, LaissezVibrerTieColumn, LedgerLineSpanner, LeftEdge, LigatureBracket, LyricExtender, LyricHyphen, LyricSpace, LyricText, MeasureGrouping, MelodyItem, MensuralLigature, MetronomeMark, MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestText, NonMusicalPaperColumn, NoteCollision, NoteColumn, NoteHead, NoteName, NoteSpacing, OctavateEight, OttavaBracket, PaperColumn, ParenthesesItem, PercentRepeat, PercentRepeatCounter, PhrasingSlur, PianoPedalBracket, RehearsalMark, RepeatSlash, RepeatTie, RepeatTieColumn, Rest, RestCollision, Script, ScriptColumn, ScriptRow, SeparatingGroupSpanner, SeparationItem, Slur, SostenutoPedal, SostenutoPedalLineSpanner, SpacingSpanner, SpanBar, StaffSpacing, StaffSymbol, StanzaNumber, Stem, StemTremolo, StringNumber, StrokeFinger, SustainPedal, SustainPedalLineSpanner, System, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare, TabNoteHead, TextScript, TextSpanner, Tie, TieColumn, TimeSignature, TrillPitchAccidental, TrillPitchGroup, TrillPitchHead, TrillSpanner, TupletBracket, TupletNumber, UnaCordaPedal, UnaCordaPedalLineSpanner, VaticanaLigature, VerticalAlignment, VerticalAxisGroup, VoiceFollower and VoltaBracket
Next: hairpin-interface, Previous: grid-point-interface, Up: Graphical Object Interfaces
This page is for LilyPond-2.10.33 (stable-branch).