[ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
[ < OneStaff ] | [ Up : Contexts ] | [ PetrucciVoice > ] |
2.1.22 PetrucciStaff
Same as Staff
context, except that it is
accommodated for typesetting a piece in Petrucci style.
This context also accepts commands for the following context(s):
Staff.
This context creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, BarLine, BassFigure, BassFigureAlignment, BassFigureAlignmentPositioning, BassFigureBracket, BassFigureContinuation, BassFigureLine, Clef, ClefModifier, CueClef, CueEndClef, Custos, DotColumn, FingeringColumn, InstrumentName, KeyCancellation, KeySignature, LedgerLineSpanner, NoteCollision, OttavaBracket, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedal, SostenutoPedalLineSpanner, StaffSpacing, StaffSymbol, SustainPedal, SustainPedalLineSpanner, TimeSignature, UnaCordaPedal, UnaCordaPedalLineSpanner and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
neutral-direction
in Custos to-1
. - Set grob-property
neutral-position
in Custos to3
. - Set grob-property
style
in Custos to'mensural
. - Set grob-property
thickness
in StaffSymbol to1.3
. - Set translator property
autoAccidentals
to:'(Staff #<procedure #f (context pitch barnum measurepos)> #<procedure neo-modern-accidental-rule (context pitch barnum measurepos)>)
- Set translator property
autoCautionaries
to'()
. - Set translator property
clefGlyph
to"clefs.petrucci.g"
. - Set translator property
clefPosition
to-2
. - Set translator property
clefTransposition
to0
. - Set translator property
createSpacing
to#t
. - Set translator property
extraNatural
to#f
. - Set translator property
ignoreFiguredBassRest
to#f
. - Set translator property
instrumentName
to'()
. - Set translator property
localAlterations
to'()
. - Set translator property
middleCClefPosition
to-6
. - Set translator property
middleCPosition
to-6
. - Set translator property
printKeyCancellation
to#f
. - Set translator property
shortInstrumentName
to'()
.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type PetrucciVoice.
Context PetrucciStaff can contain CueVoice, NullVoice and PetrucciVoice.
This context is built from the following engraver(s):
Accidental_engraver
Make accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voice
level, so you can\override
them atVoice
.Properties (read)
accidentalGrouping
(symbol)If set to
'voice
, accidentals on the same note in different octaves may be horizontally staggered if in different voices.autoAccidentals
(list)List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is Score then all staves share accidentals, and if context is Staff then all voices in the same staff share accidentals, but staves do not.
- procedure
The procedure represents an accidental rule to be applied to the previously specified context.
The procedure takes the following arguments:
context
The current context to which the rule should be applied.
pitch
The pitch of the note to be evaluated.
barnum
The current bar number.
measurepos
The current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)
does not make sense.autoCautionaries
(list)List similar to
autoAccidentals
, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.extraNatural
(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
harmonicAccidentals
(boolean)If set, harmonic notes in chords get accidentals.
internalBarNumber
(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver
.keyAlterations
(list)The current key signature. This is an alist containing
(step . alter)
or((octave . step) . alter)
, where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT))
.localAlterations
(list)The key signature at this point in the measure. The format is the same as for
keyAlterations
, but can also contain((octave . name) . (alter barnumber . measureposition))
pairs.Properties (write)
localAlterations
(list)The key signature at this point in the measure. The format is the same as for
keyAlterations
, but can also contain((octave . name) . (alter barnumber . measureposition))
pairs.This engraver creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement and AccidentalSuggestion.
Axis_group_engraver
Group all objects created in this context in a
VerticalAxisGroup
spanner.Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
keepAliveInterfaces
(list)A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-empty
set around for.Properties (write)
hasAxisGroup
(boolean)True if the current context is contained in an axis group.
This engraver creates the following layout object(s):
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. This engraver is required to trigger the creation of clefs at the start of systems.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 ‘scm/bar-line.scm’.
Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point.This engraver creates the following layout object(s):
Clef_engraver
Determine and set reference point for pitches.
Properties (read)
clefGlyph
(string)Name of the symbol within the music font.
clefPosition
(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
clefTransposition
(integer)Add this much extra transposition. Values of 7 and -7 are common.
clefTranspositionStyle
(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitClefVisibility
(vector)‘break-visibility’ function for clef changes.
forceClef
(boolean)Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
This engraver creates the following layout object(s):
Clef and ClefModifier.
Collision_engraver
Collect
NoteColumns
, and as soon as there are two or more, put them in aNoteCollision
object.This engraver creates the following layout object(s):
Cue_clef_engraver
Determine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition
(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefGlyph
(string)Name of the symbol within the music font.
cueClefPosition
(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
cueClefTransposition
(integer)Add this much extra transposition. Values of 7 and -7 are common.
cueClefTranspositionStyle
(symbol)Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.
explicitCueClefVisibility
(vector)‘break-visibility’ function for cue clef changes.
middleCCuePosition
(number)The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at
cueClefPosition
andcueClefGlyph
.This engraver creates the following layout object(s):
ClefModifier, CueClef and CueEndClef.
Custos_engraver
Engrave custodes.
This engraver creates the following layout object(s):
Dot_column_engraver
Engrave 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 object(s):
Figured_bass_engraver
Make figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection
(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations
(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter
(procedure)A routine generating a markup for a bass figure.
ignoreFiguredBassRest
(boolean)Don’t swallow rest events.
implicitBassFigures
(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders
(boolean)Whether to use extender lines for repeated bass figures.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Figured_bass_position_engraver
Position figured bass alignments over notes.
This engraver creates the following layout object(s):
Fingering_column_engraver
Find potentially colliding scripts and put them into a
FingeringColumn
object; that will fix the collisions.This engraver creates the following layout object(s):
Font_size_engraver
Put
fontSize
intofont-size
grob property.Properties (read)
fontSize
(number)The relative size of all grobs in a context.
Grob_pq_engraver
Administrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs
(list)A queue of
(end-moment . grob)
cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs
(list)A queue of
(end-moment . grob)
cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Instrument_name_engraver
Create a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
instrumentName
(markup)The name to print left of a staff. The
instrumentName
property labels the staff in the first system, and theshortInstrumentName
property labels following lines.shortInstrumentName
(markup)See
instrumentName
.shortVocalName
(markup)Name of a vocal line, short version.
vocalName
(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Key_engraver
Engrave a key signature.
Music types accepted:
Properties (read)
createKeyOnClefChange
(boolean)Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility
(vector)‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibility
property will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural
(boolean)Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.
keyAlterationOrder
(list)An alist that defines in what order alterations should be printed. The format is
(step . alter)
, where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).keyAlterations
(list)The current key signature. This is an alist containing
(step . alter)
or((octave . step) . alter)
, where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT))
.lastKeyAlterations
(list)Last key signature before a key signature change.
middleCClefPosition
(number)The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPosition
andclefGlyph
.printKeyCancellation
(boolean)Print restoration alterations before a key signature change.
Properties (write)
keyAlterations
(list)The current key signature. This is an alist containing
(step . alter)
or((octave . step) . alter)
, where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keyAlterations = #`((6 . ,FLAT))
.lastKeyAlterations
(list)Last key signature before a key signature change.
tonic
(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
Ledger_line_engraver
Create the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Ottava_spanner_engraver
Create a text spanner when the ottavation property changes.
Properties (read)
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
middleCOffset
(number)The offset of middle C from the position given by
middleCClefPosition
This is used for ottava brackets.ottavation
(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
This engraver creates the following layout object(s):
Piano_pedal_align_engraver
Align piano pedal symbols and brackets.
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_engraver
Engrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event, sustain-event and una-corda-event
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings
(list)See
pedalSustainStrings
.pedalSostenutoStyle
(symbol)See
pedalSustainStyle
.pedalSustainStrings
(list)A list of strings to print for sustain-pedal. Format is
(up updown down)
, where each of the three is the string to print when this is done with the pedal.pedalSustainStyle
(symbol)A symbol that indicates how to print sustain pedals:
text
,bracket
ormixed
(both).pedalUnaCordaStrings
(list)See
pedalSustainStrings
.pedalUnaCordaStyle
(symbol)See
pedalSustainStyle
.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Pure_from_neighbor_engraver
Coordinates items that get their pure heights from their neighbors.
Rest_collision_engraver
Handle collisions of rests.
Properties (read)
busyGrobs
(list)A queue of
(end-moment . grob)
cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).This engraver creates the following layout object(s):
Script_row_engraver
Determine order in horizontal side position elements.
This engraver creates the following layout object(s):
Separating_line_group_engraver
Generate objects for computing spacing parameters.
Properties (read)
createSpacing
(boolean)Create
StaffSpacing
objects? Should be set for staves.Properties (write)
hasStaffSpacing
(boolean)True if the current
CommandColumn
contains items that will affect spacing.This engraver creates the following layout object(s):
Staff_collecting_engraver
Maintain the
stavesFound
variable.Properties (read)
stavesFound
(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound
(list of grobs)A list of all staff-symbols found.
Staff_symbol_engraver
Create the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Time_signature_engraver
Create a TimeSignature whenever
timeSignatureFraction
changes.Music types accepted:
Properties (read)
initialTimeSignatureVisibility
(vector)break visibility for the initial time signature.
partialBusy
(boolean)Signal that \partial acts at the current timestep.
timeSignatureFraction
(fraction, as pair)A pair of numbers, signifying the time signature. For example,
'(4 . 4)
is a 4/4 time signature.This engraver creates the following layout object(s):
[ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
[ < OneStaff ] | [ Up : Contexts ] | [ PetrucciVoice > ] |