[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < StandaloneRhythmVoice ] | [ Up : Contexts ] | [ TabVoice > ] |
2.1.37 TabStaff
Context for generating tablature. It accepts only
TabVoice
contexts and handles the line spacing, the tablature clef,
etc., properly.
This context also accepts commands for the following context(s):
Staff
.
This context creates the following layout object(s):
BarLine
, BassFigure
, BassFigureAlignment
, BassFigureAlignmentPositioning
, BassFigureBracket
, BassFigureContinuation
, BassFigureLine
, BreathingSign
, CaesuraScript
, Clef
, ClefModifier
, CueClef
, CueEndClef
, DotColumn
, FingeringColumn
, InstrumentName
, LedgerLineSpanner
, NoteCollision
, PianoPedalBracket
, RestCollision
, ScriptColumn
, ScriptRow
, SostenutoPedal
, SostenutoPedalLineSpanner
, StaffEllipsis
, StaffHighlight
, StaffSpacing
, StaffSymbol
, SustainPedal
, SustainPedalLineSpanner
, TimeSignature
, UnaCordaPedal
, UnaCordaPedalLineSpanner
and VerticalAxisGroup
.
This context sets the following properties:
- Set context property
autoBeaming
to#f
. - Set context property
clefGlyph
to"clefs.tab"
. - Set context property
clefPosition
to0
. - Set context property
createSpacing
to#t
. - Set context property
handleNegativeFrets
to'recalculate
. - Set context property
ignoreFiguredBassRest
to#f
. - Set context property
instrumentName
to'()
. - Set context property
localAlterations
to'()
. - Set context property
ottavationMarkups
to:'((4 . "29") (3 . "22") (2 . "15") (1 . "8") (-1 . "8") (-2 . "15") (-3 . "22") (-4 . "29"))
- Set context property
restrainOpenStrings
to#f
. - Set context property
shortInstrumentName
to'()
. - Set grob property
avoid-note-head
inStem
to#t
. - Set grob property
beam-thickness
inBeam
to0.32
. - Set grob property
beam-thickness
inStemTremolo
to0.32
. - Set grob property
beam-width
inStemTremolo
tostem-tremolo::calc-tab-width
. - Set grob property
bound-details.left
inGlissando
to :'((attach-dir . 1) (padding . 0.3))
- Set grob property
bound-details.right
inGlissando
to :'((attach-dir . -1) (padding . 0.3))
- Set grob property
control-points
inSlur
to#<unpure-pure-container #<procedure at lily/music-functions.scm:2587:16 (grob . rest)> >
. - Set grob property
details
inStem
to :'((lengths 0 0 0 0 0 0) (beamed-lengths 0 0 0) (beamed-minimum-free-lengths 0 0 0) (beamed-extreme-minimum-free-lengths 0 0) (stem-shorten 0 0))
- Set grob property
extra-dy
inGlissando
toglissando::calc-tab-extra-dy
. - Set grob property
glyph-name
inTabNoteHead
totab-note-head::calc-glyph-name
. - Set grob property
ignore-collision
inNoteColumn
to#t
. - Set grob property
length-fraction
inBeam
to0.62
. - Set grob property
length-fraction
inStemTremolo
to#<procedure 7872bdd13ce0 at ice-9/eval.scm:333:13 (a)>
. - Set grob property
no-stem-extend
inStem
to#t
. - Set grob property
staff-space
inStaffSymbol
to1.5
. - Set grob property
stencil
inArpeggio
to#f
. - Set grob property
stencil
inBeam
to#f
. - Set grob property
stencil
inClef
toclef::print-modern-tab-if-set
. - Set grob property
stencil
inDots
to#f
. - Set grob property
stencil
inDynamicTextSpanner
to#f
. - Set grob property
stencil
inDynamicText
to#f
. - Set grob property
stencil
inFlag
to#f
. - Set grob property
stencil
inGlissando
toglissando::draw-tab-glissando
. - Set grob property
stencil
inHairpin
to#f
. - Set grob property
stencil
inLaissezVibrerTie
to#f
. - Set grob property
stencil
inMultiMeasureRestNumber
to#f
. - Set grob property
stencil
inMultiMeasureRestScript
to#f
. - Set grob property
stencil
inMultiMeasureRestText
to#f
. - Set grob property
stencil
inMultiMeasureRest
to#f
. - Set grob property
stencil
inPhrasingSlur
to#f
. - Set grob property
stencil
inRepeatTie
to#f
. - Set grob property
stencil
inRest
to#f
. - Set grob property
stencil
inScript
to#f
. - Set grob property
stencil
inStemTremolo
to#f
. - Set grob property
stencil
inStem
to#f
. - Set grob property
stencil
inTabNoteHead
totab-note-head::whiteout-if-style-set
. - Set grob property
stencil
inTextScript
to#f
. - Set grob property
stencil
inTextSpanner
to#f
. - Set grob property
stencil
inTie
to#f
. - Set grob property
stencil
inTimeSignature
to#f
. - Set grob property
stencil
inTupletBracket
to#f
. - Set grob property
stencil
inTupletNumber
to#f
. - Set grob property
style
inFlag
to'no-flag
.
This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type TabVoice
.
Context TabStaff
can contain
CueVoice
, NullVoice
and TabVoice
.
This context is built from the following engraver(s):
Alteration_glyph_engraver
Set the
glyph-name-alist
of all grobs having theaccidental-switch-interface
to the value of the context’salterationGlyphs
property, when defined.Properties (read)
alterationGlyphs
(list)Alist mapping alterations to accidental glyphs. Alterations are given as exact numbers, e.g., -1/2 for flat. This applies to all grobs that can print accidentals.
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 items (clef, key signature, etc.).
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):
VerticalAxisGroup
.Bar_engraver
Create bar lines for various commands, including
\\bar
.If
forbidBreakBetweenBarLines
is true, allow line breaks at bar lines only.Music types accepted:
ad-hoc-jump-event
,caesura-event
,coda-mark-event
,dal-segno-event
,fine-event
,section-event
andsegno-mark-event
Properties (read)
caesuraType
(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type…) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura
. All entries are optional.
bar-line
has higher priority than a measure bar line andunderlying-bar-line
has lower priority than a measure bar line.caesuraTypeTransform
(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType
.The first argument is the context.
The second argument is the value of
caesuraType
with an additional entry(articulations . symbol-list)
identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-line
indicates that the engraver has observed aBarLine
at the current moment.doubleRepeatBarType
(string)Bar line to insert where the end of one
\repeat volta
coincides with the start of another. The default is ‘:..:’.doubleRepeatSegnoBarType
(string)Bar line to insert where an in-staff segno coincides with the end of one
\repeat volta
and the beginning of another. The default is ‘:|.S.|:’.endRepeatBarType
(string)Bar line to insert at the end of a
\repeat volta
. The default is ‘:|.’.endRepeatSegnoBarType
(string)Bar line to insert where an in-staff segno coincides with the end of a
\repeat volta
. The default is ‘:|.S’.fineBarType
(string)Bar line to insert at
\fine
. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘|.’.fineSegnoBarType
(string)Bar line to insert where an in-staff segno coincides with
\fine
. The default is ‘|.S’.fineStartRepeatSegnoBarType
(string)Bar line to insert where an in-staff segno coincides with
\fine
and the start of a\repeat volta
. The default is ‘|.S.|:’.forbidBreakBetweenBarLines
(boolean)If set to
#t
,Bar_engraver
forbids line breaks where there is no bar line.measureBarType
(string)Bar line to insert at a measure boundary.
printInitialRepeatBar
(boolean)Use a special bar line at the start of a volta repeat even at the beginning of the piece.
printTrivialVoltaRepeats
(boolean)Notate volta-style repeats even when the repeat count is 1.
repeatCommands
(list)A list of commands related to volta-style repeats. In general, each element is a list,
'(command args…)
, but a command with no arguments may be abbreviated to a symbol; e.g.,'((start-repeat))
may be given as'(start-repeat)
.
end-repeat return-count
End a repeated section. return-count is the number of times to go back from this point to the beginning of the section.
start-repeat repeat-count
Start a repeated section. repeat-count is the number of times to perform this section.
volta text
If text is markup, start a volta bracket with that label; if text is
#f
, end a volta bracket.sectionBarType
(string)Bar line to insert at
\section
. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.segnoBarType
(string)Bar line to insert at an in-staff segno. The default is ‘S’.
segnoStyle
(symbol)A symbol that indicates how to print a segno:
bar-line
ormark
.startRepeatBarType
(string)Bar line to insert at the start of a
\repeat volta
. The default is ‘.|:’.startRepeatSegnoBarType
(string)Bar line to insert where an in-staff segno coincides with the start of a
\repeat volta
. The default is ‘S.|:’.underlyingRepeatBarType
(string)Bar line to insert at points of repetition or departure where no bar line would normally appear, for example at the end of a system broken in mid measure where the next system begins with a segno. Where there is also a repeat bar line, the repeat bar line takes precedence and this value is appended to it as an annotation. The default is ‘||’.
whichBar
(string)The current bar line type, or
'()
if there is no bar line. Setting this explicitly in user code is deprecated. Use\bar
or related commands to set it.Properties (write)
currentBarLine
(graphical (layout) object)Set to the
BarLine
thatBar_engraver
has created in the current timestep.forbidBreak
(boolean)If set to
#t
, prevent a line break at this point, except if explicitly requested by the user.This engraver creates the following layout object(s):
BarLine
.Caesura_engraver
Notate a short break in sound that does not shorten the previous note.
Depending on the result of passing the value of
caesuraType
throughcaesuraTypeTransform
, this engraver may create aBreathingSign
withCaesuraScript
grobs aligned to it, or it may createCaesuraScript
grobs and align them to aBarLine
.If this engraver observes a
BarLine
, it callscaesuraTypeTransform
again with the new information, and if necessary, recreates its grobs.Music types accepted:
caesura-event
Properties (read)
breathMarkDefinitions
(list)The description of breath marks. This is used by the
Breathing_sign_engraver
. See scm/breath.scm for more information.caesuraType
(list)An alist
((bar-line . bar-type) (breath . breath-type) (scripts . script-type…) (underlying-bar-line . bar-type))specifying which breath mark, bar line, and scripts to create at
\caesura
. All entries are optional.
bar-line
has higher priority than a measure bar line andunderlying-bar-line
has lower priority than a measure bar line.caesuraTypeTransform
(procedure)An engraver callback taking three arguments and returning an alist of the same kind as
caesuraType
.The first argument is the context.
The second argument is the value of
caesuraType
with an additional entry(articulations . symbol-list)
identifying the articulations attached to the caesura in the music. If the transform function returns this second argument unmodified, it is as if no transform function were set; the function is free to return a different value. The transform function can remove articulations, but any added articulations are ignored.The third argument is a symbol-list identifying certain things the engraver has observed.
bar-line
indicates that the engraver has observed aBarLine
at the current moment.scriptDefinitions
(list)The description of scripts. This is used by the
Script_engraver
for typesetting note-superscripts and subscripts. See scm/script.scm for more information.This engraver creates the following layout object(s):
BreathingSign
andCaesuraScript
.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 to a clef. Values of 7 and -7 are common.
clefTranspositionStyle
(symbol)Determines the way the
ClefModifier
grob of a clef is displayed. Possible values are'default
,'parenthesized
, and'bracketed
.explicitClefVisibility
(vector)‘break-visibility’ function for clef changes.
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point, except if explicitly requested by the user.forceBreak
(boolean)Set to
#t
when an event forcing a line break was heard.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
andClefModifier
.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):
NoteCollision
.Cue_clef_engraver
Determine and set reference point for pitches in cued voices.
Properties (read)
clefTransposition
(integer)Add this much extra transposition to a clef. 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 to a cue clef. Values of 7 and -7 are common.
cueClefTranspositionStyle
(symbol)Determines the way the
ClefModifier
grob of a cue clef is displayed. Possible values are'default
,'parenthesized
, and'bracketed
.explicitCueClefVisibility
(vector)‘break-visibility’ function for cue clef changes.
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point, except if explicitly requested by the user.forceBreak
(boolean)Set to
#t
when an event forcing a line break was heard.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
andCueEndClef
.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):
DotColumn
.Figured_bass_engraver
Make figured bass numbers.
Music types accepted:
bass-figure-event
andrest-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
andBassFigureLine
.Figured_bass_position_engraver
Position figured bass alignments over notes.
This engraver creates the following layout object(s):
BassFigureAlignmentPositioning
.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):
FingeringColumn
.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 items (clef, key signature, etc.).
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):
InstrumentName
.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):
LedgerLineSpanner
.Merge_mmrest_numbers_engraver
Engraver to merge multi-measure rest numbers in multiple voices.
This works by gathering all multi-measure rest numbers at a time step. If they all have the same text and there are at least two only the first one is retained and the others are hidden.
Non_musical_script_column_engraver
Find potentially colliding non-musical scripts and put them into a
ScriptColumn
object; that will fix the collisions.This engraver creates the following layout object(s):
ScriptColumn
.Output_property_engraver
Apply a procedure to any grob acknowledged.
Music types accepted:
apply-output-event
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 items (clef, key signature, etc.).
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner
,SustainPedalLineSpanner
andUnaCordaPedalLineSpanner
.Piano_pedal_engraver
Engrave piano pedal symbols and brackets.
Music types accepted:
sostenuto-event
,sustain-event
anduna-corda-event
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
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
andUnaCordaPedal
.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):
RestCollision
.Script_row_engraver
Determine order in horizontal side position elements.
This engraver creates the following layout object(s):
ScriptRow
.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
currentCommandColumn
contains items that will affect spacing.This engraver creates the following layout object(s):
StaffSpacing
.Skip_typesetting_engraver
Create a
StaffEllipsis
whenskipTypesetting
is used.Properties (read)
skipTypesetting
(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
This engraver creates the following layout object(s):
StaffEllipsis
.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_highlight_engraver
Highlights music passages.
Music types accepted:
staff-highlight-event
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
This engraver creates the following layout object(s):
StaffHighlight
.Staff_symbol_engraver
Create the constellation of five (default) staff lines.
Music types accepted:
staff-span-event
This engraver creates the following layout object(s):
StaffSymbol
.Tab_staff_symbol_engraver
Create a tablature staff symbol, but look at
stringTunings
for the number of lines.Properties (read)
stringTunings
(list)The tablature strings tuning. It is a list of the pitches of each string (starting with the lowest numbered one).
This engraver creates the following layout object(s):
StaffSymbol
.Time_signature_engraver
Create a
TimeSignature
whenevertimeSignatureFraction
changes.Music types accepted:
time-signature-event
Properties (read)
initialTimeSignatureVisibility
(vector)break visibility for the initial time signature.
partialBusy
(boolean)Signal that \partial acts at the current timestep.
timeSignatureFraction
(positive, finite 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):
TimeSignature
.
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < StandaloneRhythmVoice ] | [ Up : Contexts ] | [ TabVoice > ] |