1 @c -*- coding: utf-8; mode: texinfo; -*-
4 Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. For details, see the Contributors'
8 Guide, node Updating translation committishes..
13 @node Notation manual tables
14 @appendix Notation manual tables
18 * Common chord modifiers::
19 * Predefined string tunings::
20 * Predefined fretboard diagrams::
25 * Text markup commands::
26 * Text markup list commands::
27 * List of articulations::
29 * Technical glossary::
30 * All context properties::
32 * Available music functions::
33 * Predefined type predicates::
39 @node Chord name chart
40 @appendixsec Chord name chart
42 The following charts shows two standard systems for printing chord
43 names, along with the pitches they represent.
45 @lilypondfile{chord-names-jazz.ly}
47 @node Common chord modifiers
48 @appendixsec Common chord modifiers
50 The following table shows chord modifiers that can be used in
51 @code{\chordmode} to generate standard chord structures.
53 @multitable @columnfractions .2 .3 .2 .2
68 Major third, perfect fifth
72 @lilypond[line-width=3\cm,noragged-right, notime]
81 Minor third, perfect fifth
85 @lilypond[line-width=3\cm,noragged-right, notime]
94 Major third, augmented fifth
98 @lilypond[line-width=3\cm,noragged-right, notime]
107 Minor third, diminished fifth
111 @lilypond[line-width=3\cm,noragged-right, notime]
120 Major triad, minor seventh
124 @lilypond[line-width=3\cm,noragged-right, notime]
133 Major triad, major seventh
135 @code{maj7} or @code{maj}
137 @lilypond[line-width=3\cm,noragged-right, notime]
146 Minor triad, minor seventh
150 @lilypond[line-width=3\cm,noragged-right, notime]
159 Diminished triad, diminished seventh
163 @lilypond[line-width=3\cm,noragged-right, notime]
172 Augmented triad, minor seventh
176 @lilypond[line-width=3\cm,noragged-right, notime]
183 Half-diminished seventh
185 Diminished triad, minor seventh
189 @lilypond[line-width=3\cm,noragged-right, notime]
198 Minor triad, major seventh
202 @lilypond[line-width=3\cm,noragged-right, notime]
215 @lilypond[line-width=3\cm,noragged-right, notime]
228 @lilypond[line-width=3\cm,noragged-right, notime]
237 Dominant seventh, major ninth
241 @lilypond[line-width=3\cm,noragged-right, notime]
250 Major seventh, major ninth
254 @lilypond[line-width=3\cm,noragged-right, notime]
263 Minor seventh, major ninth
267 @lilypond[line-width=3\cm,noragged-right, notime]
276 Dominant ninth, perfect eleventh
280 @lilypond[line-width=3\cm,noragged-right, notime]
289 Major ninth, perfect eleventh
293 @lilypond[line-width=3\cm,noragged-right, notime]
302 Minor ninth, perfect eleventh
306 @lilypond[line-width=3\cm,noragged-right, notime]
315 Dominant ninth, major thirteenth
319 @lilypond[line-width=3\cm,noragged-right, notime]
328 Dominant eleventh, major thirteenth
332 @lilypond[line-width=3\cm,noragged-right, notime]
341 Major eleventh, major thirteenth
345 @lilypond[line-width=3\cm,noragged-right, notime]
354 Minor eleventh, major thirteenth
358 @lilypond[line-width=3\cm,noragged-right, notime]
367 Major second, perfect fifth
371 @lilypond[line-width=3\cm,noragged-right, notime]
380 Perfect fourth, perfect fifth
384 @lilypond[line-width=3\cm,noragged-right, notime]
391 Power chord (two-voiced)
397 @lilypond[line-width=3\cm,noragged-right, notime]
405 Power chord (three-voiced)
407 Perfect fifth, octave
411 @lilypond[line-width=3\cm,noragged-right, notime]
420 @node Predefined string tunings
421 @appendixsec Predefined string tunings
423 The chart below shows the predefined string tunings.
425 @lilypondfile{display-predefined-string-tunings.ly}
427 @node Predefined fretboard diagrams
428 @appendixsec Predefined fretboard diagrams
430 The chart below shows the predefined fretboard diagrams for guitar.
432 @lilypondfile{display-predefined-fretboards.ly}
434 The chart below shows the predefined fretboard diagrams for ukulele.
436 @lilypondfile{display-predefined-ukulele-fretboards.ly}
438 The chart below shows the predefined fretboard diagrams for mandolin.
440 @lilypondfile{display-predefined-mandolin-fretboards.ly}
442 @node MIDI instruments
443 @appendixsec MIDI instruments
445 The following is a list of names that can be used for the
446 @code{midiInstrument} property. The order of the instruments
447 below, starting in the left-hand column moving down, corresponds
448 to the General MIDI Standard's 128 Program Numbers.
451 acoustic grand contrabass lead 7 (fifths)
452 bright acoustic tremolo strings lead 8 (bass+lead)
453 electric grand pizzicato strings pad 1 (new age)
454 honky-tonk orchestral harp pad 2 (warm)
455 electric piano 1 timpani pad 3 (polysynth)
456 electric piano 2 string ensemble 1 pad 4 (choir)
457 harpsichord string ensemble 2 pad 5 (bowed)
458 clav synthstrings 1 pad 6 (metallic)
459 celesta synthstrings 2 pad 7 (halo)
460 glockenspiel choir aahs pad 8 (sweep)
461 music box voice oohs fx 1 (rain)
462 vibraphone synth voice fx 2 (soundtrack)
463 marimba orchestra hit fx 3 (crystal)
464 xylophone trumpet fx 4 (atmosphere)
465 tubular bells trombone fx 5 (brightness)
466 dulcimer tuba fx 6 (goblins)
467 drawbar organ muted trumpet fx 7 (echoes)
468 percussive organ french horn fx 8 (sci-fi)
469 rock organ brass section sitar
470 church organ synthbrass 1 banjo
471 reed organ synthbrass 2 shamisen
472 accordion soprano sax koto
473 harmonica alto sax kalimba
474 concertina tenor sax bagpipe
475 acoustic guitar (nylon) baritone sax fiddle
476 acoustic guitar (steel) oboe shanai
477 electric guitar (jazz) english horn tinkle bell
478 electric guitar (clean) bassoon agogo
479 electric guitar (muted) clarinet steel drums
480 overdriven guitar piccolo woodblock
481 distorted guitar flute taiko drum
482 guitar harmonics recorder melodic tom
483 acoustic bass pan flute synth drum
484 electric bass (finger) blown bottle reverse cymbal
485 electric bass (pick) shakuhachi guitar fret noise
486 fretless bass whistle breath noise
487 slap bass 1 ocarina seashore
488 slap bass 2 lead 1 (square) bird tweet
489 synth bass 1 lead 2 (sawtooth) telephone ring
490 synth bass 2 lead 3 (calliope) helicopter
491 violin lead 4 (chiff) applause
492 viola lead 5 (charang) gunshot
498 @appendixsec List of colors
500 @subsubheading Normal colors
502 Usage syntax is detailed in @ref{Coloring objects}.
504 @cindex List of colors
505 @cindex Colors, list of
508 black white red green
509 blue cyan magenta yellow
510 grey darkred darkgreen darkblue
511 darkcyan darkmagenta darkyellow
515 @subsubheading X color names
517 X color names come several variants:
519 Any name that is spelled as a single word with capitalization
520 (e.g. @q{LightSlateBlue}) can also be spelled as space separated
521 words without capitalization (e.g. @q{light slate blue}).
523 The word @q{grey} can always be spelled @q{gray} (e.g. @q{DarkSlateGray}).
525 Some names can take a numerical suffix (e.g. @q{LightSalmon4}).
528 @subsubheading Color Names without a numerical suffix:
531 snow GhostWhite WhiteSmoke gainsboro FloralWhite
532 OldLace linen AntiqueWhite PapayaWhip BlanchedAlmond
533 bisque PeachPuff NavajoWhite moccasin cornsilk
534 ivory LemonChiffon seashell honeydew MintCream
535 azure AliceBlue lavender LavenderBlush MistyRose
536 white black DarkSlateGrey DimGrey SlateGrey
537 LightSlateGrey grey LightGrey MidnightBlue navy
538 NavyBlue CornflowerBlue DarkSlateBlue SlateBlue MediumSlateBlue
539 LightSlateBlue MediumBlue RoyalBlue blue DodgerBlue
540 DeepSkyBlue SkyBlue LightSkyBlue SteelBlue LightSteelBlue
541 LightBlue PowderBlue PaleTurquoise DarkTurquoise MediumTurquoise
542 turquoise cyan LightCyan CadetBlue MediumAquamarine
543 aquamarine DarkGreen DarkOliveGreen DarkSeaGreen SeaGreen
544 MediumSeaGreen LightSeaGreen PaleGreen SpringGreen LawnGreen
545 green chartreuse MediumSpringGreen GreenYellow LimeGreen
546 YellowGreen ForestGreen OliveDrab DarkKhaki khaki
547 PaleGoldenrod LightGoldenrodYellow LightYellow yellow gold
548 LightGoldenrod goldenrod DarkGoldenrod RosyBrown IndianRed
549 SaddleBrown sienna peru burlywood beige
550 wheat SandyBrown tan chocolate firebrick
551 brown DarkSalmon salmon LightSalmon orange
552 DarkOrange coral LightCoral tomato OrangeRed
553 red HotPink DeepPink pink LightPink
554 PaleVioletRed maroon MediumVioletRed VioletRed magenta
555 violet plum orchid MediumOrchid DarkOrchid
556 DarkViolet BlueViolet purple MediumPurple thistle
557 DarkGrey DarkBlue DarkCyan DarkMagenta DarkRed
562 @subsubheading Color names with a numerical suffix
564 In the following names the suffix N can be a number in the range 1-4:
567 snowN seashellN AntiqueWhiteN bisqueN PeachPuffN
568 NavajoWhiteN LemonChiffonN cornsilkN ivoryN honeydewN
569 LavenderBlushN MistyRoseN azureN SlateBlueN RoyalBlueN
570 blueN DodgerBlueN SteelBlueN DeepSkyBlueN SkyBlueN
571 LightSkyBlueN LightSteelBlueN LightBlueN LightCyanN PaleTurquoiseN
572 CadetBlueN turquoiseN cyanN aquamarineN DarkSeaGreenN
573 SeaGreenN PaleGreenN SpringGreenN greenN chartreuseN
574 OliveDrabN DarkOliveGreenN khakiN LightGoldenrodN LightYellowN
575 yellowN goldN goldenrodN DarkGoldenrodN RosyBrownN
576 IndianRedN siennaN burlywoodN wheatN tanN
577 chocolateN firebrickN brownN salmonN LightSalmonN
578 orangeN DarkOrangeN coralN tomatoN OrangeRedN
579 redN DeepPinkN HotPinkN pinkN LightPinkN
580 PaleVioletRedN maroonN VioletRedN magentaN orchidN
581 plumN MediumOrchidN DarkOrchidN purpleN MediumPurpleN
586 @subsubheading Grey Scale
588 A grey scale can be obtained using:
595 Where N is in the range 0-100.
599 @appendixsec The Feta font
604 The following symbols are available in the Emmentaler font and may be
605 accessed directly using text markup with the name of the glyph
606 as shown in the tables below,
607 such as @code{g^\markup @{\musicglyph #"scripts.segno" @}} or
608 @code{\markup @{\musicglyph #"five"@}}. For more information,
609 see @ref{Formatting text}.
614 * Time Signature glyphs::
616 * Accidental glyphs::
617 * Default Notehead glyphs::
618 * Special Notehead glyphs::
619 * Shape-note Notehead glyphs::
626 * Bracket-tip glyphs::
633 * Neomensural glyphs::
640 @unnumberedsubsec Clef glyphs
643 \include "font-table.ly"
644 \markuplines \override-lines #'(word-space . 4)
649 @node Time Signature glyphs
650 @unnumberedsubsec Time Signature glyphs
653 \include "font-table.ly"
654 \markuplines \override-lines #'(word-space . 4)
660 @unnumberedsubsec Number glyphs
663 \include "font-table.ly"
664 \markuplines \override-lines #'(word-space . 4)
669 @node Accidental glyphs
670 @unnumberedsubsec Accidental glyphs
673 \include "font-table.ly"
674 \markuplines \override-lines #'(word-space . 4)
675 \doc-chars #accidentals
679 @node Default Notehead glyphs
680 @unnumberedsubsec Default Notehead glyphs
683 \include "font-table.ly"
684 \markuplines \override-lines #'(word-space . 4)
685 \doc-chars #default-noteheads
689 @node Special Notehead glyphs
690 @unnumberedsubsec Special Notehead glyphs
693 \include "font-table.ly"
694 \markuplines \override-lines #'(word-space . 4)
695 \doc-chars #special-noteheads
699 @node Shape-note Notehead glyphs
700 @unnumberedsubsec Shape-note Notehead glyphs
703 \include "font-table.ly"
704 \markuplines \override-lines #'(word-space . 4)
705 \doc-chars #shape-note-noteheads
710 @unnumberedsubsec Rest glyphs
713 \include "font-table.ly"
714 \markuplines \override-lines #'(word-space . 4)
720 @unnumberedsubsec Flag glyphs
723 \include "font-table.ly"
724 \markuplines \override-lines #'(word-space . 4)
730 @unnumberedsubsec Dot glyphs
733 \include "font-table.ly"
734 \markuplines \override-lines #'(word-space . 4)
740 @unnumberedsubsec Dynamic glyphs
743 \include "font-table.ly"
744 \markuplines \override-lines #'(word-space . 4)
750 @unnumberedsubsec Script glyphs
753 \include "font-table.ly"
754 \markuplines \override-lines #'(word-space . 4)
759 @node Arrowhead glyphs
760 @unnumberedsubsec Arrowhead glyphs
763 \include "font-table.ly"
764 \markuplines \override-lines #'(word-space . 4)
765 \doc-chars #arrowheads
769 @node Bracket-tip glyphs
770 @unnumberedsubsec Bracket-tip glyphs
773 \include "font-table.ly"
774 \markuplines \override-lines #'(word-space . 4)
775 \doc-chars #brackettips
780 @unnumberedsubsec Pedal glyphs
783 \include "font-table.ly"
784 \markuplines \override-lines #'(word-space . 4)
789 @node Accordion glyphs
790 @unnumberedsubsec Accordion glyphs
793 \include "font-table.ly"
794 \markuplines \override-lines #'(word-space . 4)
795 \doc-chars #accordion
799 @node Vaticana glyphs
800 @unnumberedsubsec Vaticana glyphs
803 \include "font-table.ly"
804 \markuplines \override-lines #'(word-space . 4)
809 @node Medicaea glyphs
810 @unnumberedsubsec Medicaea glyphs
813 \include "font-table.ly"
814 \markuplines \override-lines #'(word-space . 4)
819 @node Hufnagel glyphs
820 @unnumberedsubsec Hufnagel glyphs
823 \include "font-table.ly"
824 \markuplines \override-lines #'(word-space . 4)
829 @node Mensural glyphs
830 @unnumberedsubsec Mensural glyphs
833 \include "font-table.ly"
834 \markuplines \override-lines #'(word-space . 4)
839 @node Neomensural glyphs
840 @unnumberedsubsec Neomensural glyphs
843 \include "font-table.ly"
844 \markuplines \override-lines #'(word-space . 4)
845 \doc-chars #neomensural
849 @node Petrucci glyphs
850 @unnumberedsubsec Petrucci glyphs
853 \include "font-table.ly"
854 \markuplines \override-lines #'(word-space . 4)
859 @node Solesmes glyphs
860 @unnumberedsubsec Solesmes glyphs
863 \include "font-table.ly"
864 \markuplines \override-lines #'(word-space . 4)
869 @node Note head styles
870 @appendixsec Note head styles
872 @cindex note head styles
873 The following styles may be used for note heads.
875 @lilypondfile[noindent]{note-head-style.ly}
878 @node Text markup commands
879 @appendixsec Text markup commands
881 @include markup-commands.tely
884 @node Text markup list commands
885 @appendixsec Text markup list commands
887 The following commands can all be used with @code{\markuplines}:
889 @include markup-list-commands.tely
892 @node List of articulations
893 @appendixsec List of articulations
927 @cindex signumcongruentiae
928 @cindex snappizzicato
929 @cindex staccatissimo
940 @cindex verylongfermata
942 The following scripts are available in the Feta font and may be
943 attached to notes (eg. @samp{c\accent}).
945 @c Articulations and ornamentations
946 @c Fingering instructions (for "thumb")
947 @c Common notation for unfretted strings
948 @c Bowing indications
950 @c Snap (Bartók) pizzicato
951 @c Custom percussion staves (for "halfopen" -- not yet funindexed)
952 @c References for wind instruments (for "open"/"stopped" -- not yet funindexed)
956 * Articulation scripts::
959 * Instrument-specific scripts::
960 * Repeat sign scripts::
965 @node Articulation scripts
966 @unnumberedsubsec Articulation scripts
969 \include "script-chart.ly"
970 \new RhythmicStaff { \scriptStaff #articulations }
973 @node Ornament scripts
974 @unnumberedsubsec Ornament scripts
977 \include "script-chart.ly"
978 \new RhythmicStaff { \scriptStaff #ornaments }
981 @node Fermata scripts
982 @unnumberedsubsec Fermata scripts
985 \include "script-chart.ly"
986 \new RhythmicStaff { \scriptStaff #fermatas }
989 @node Instrument-specific scripts
990 @unnumberedsubsec Instrument-specific scripts
993 \include "script-chart.ly"
994 \new RhythmicStaff { \scriptStaff #instrument-specific }
997 @node Repeat sign scripts
998 @unnumberedsubsec Repeat sign scripts
1001 \include "script-chart.ly"
1002 \new RhythmicStaff { \scriptStaff #repeats }
1005 @node Ancient scripts
1006 @unnumberedsubsec Ancient scripts
1009 \include "script-chart.ly"
1010 \include "gregorian.ly"
1011 \new VaticanaStaff { \scriptStaffAncient #ancient }
1015 @node Percussion notes
1016 @appendixsec Percussion notes
1018 @lilypondfile[quote]{percussion-chart.ly}
1021 @node Technical glossary
1022 @appendixsec Technical glossary
1024 A glossary of the technical terms and concepts used internally in
1025 LilyPond. These terms may appear in the manuals, on mailing lists
1026 or in the source code.
1048 @unnumberedsubsec alist
1051 @cindex association list
1053 An association list or @strong{alist} for short is a Scheme pair
1054 which associates a value with a key: @w{@code{(key . value)}}. For
1055 example, in @file{scm/lily.scm}, the alist
1056 @w{@qq{type-p-name-alist}} associates certain type predicates
1057 (e.g.@tie{}@code{ly:music?}) with names (e.g.@tie{}@qq{music}) so
1058 that type-check failures can be reported with a console message that
1059 includes the name of the expected type predicate.
1062 @unnumberedsubsec callback
1066 A @strong{callback} is a routine, function or method whose reference is
1067 passed as an argument in a call to another routine, so allowing
1068 the called routine to invoke it. The technique enables a lower-
1069 level software layer to call a function defined in a higher
1070 layer. Callbacks are used extensively in LilyPond to permit
1071 user-level Scheme code to define how many low-level actions are
1076 @unnumberedsubsec closure
1079 @cindex simple closure
1081 In Scheme, a @strong{closure} is created when a function, usually
1082 a lambda expression, is passed as a variable. The closure contains
1083 the function's code plus references to the lexical bindings of the
1084 function's free variables (i.e. those variables used in the
1085 expression but defined outside it). When this function is applied
1086 to different arguments later, the free variable bindings that were
1087 captured in the closure are used to obtain the values of the free
1088 variables to be used in the calculation. One useful property of
1089 closures is the retention of internal variable values between
1090 invocations, so permitting state to be maintained.
1092 A @strong{simple closure} is a closure whose expression has no free
1093 variables and hence no free variable bindings.
1095 A simple closure is represented in LilyPond by a smob containing
1096 the expression and a method to apply the expression to a passed
1101 @unnumberedsubsec glyph
1107 A @strong{glyph} is a particular graphical representation of a typographic
1108 character, or a combination of two characters formating a ligature.
1109 A set of glyphs with a single style and shape comprise a font, and
1110 a set of fonts covering several styles and sizes comprise a typeface.
1116 @ref{Text encoding}.
1120 @unnumberedsubsec grob
1123 @cindex layout objects
1124 @cindex graphical objects
1126 LilyPond objects which represent items of notation in the printed
1127 output such as note heads, stems, slurs, ties, fingering, clefs,
1128 etc are called @q{Layout objects}, often known as @q{GRaphical
1129 OBjects}, or @strong{grobs} for short. They are represented by
1130 instances of the @code{Grob} class.
1134 @rlearning{Objects and interfaces},
1135 @rlearning{Naming conventions of objects and properties},
1136 @rlearning{Properties of layout objects}.
1138 Internals Reference:
1139 @rinternals{grob-interface},
1140 @rinternals{All layout objects}.
1144 @unnumberedsubsec immutable
1146 @cindex immutable objects
1147 @cindex immutable properties
1148 @cindex shared properties
1150 An @strong{immutable} object is one whose state cannot be modified
1151 after creation, in contrast to a mutable object, which can be
1152 modified after creation.
1154 In LilyPond, immutable or shared properties define the default
1155 style and behavior of grobs. They are shared between many objects.
1156 In apparent contradiction to the name, they can be changed using
1157 @code{\override} and @code{\revert}.
1164 @unnumberedsubsec interface
1167 @cindex grob-interface
1168 @cindex graphical object interfaces
1170 Actions and properties which are common to a number of grobs are
1171 grouped together in an object called a @code{grob-interface}, or
1172 just @q{interface} for short.
1176 @rlearning{Objects and interfaces},
1177 @rlearning{Naming conventions of objects and properties},
1178 @rlearning{Properties found in interfaces}.
1181 @ref{Layout interfaces}.
1183 Internals Reference:
1184 @rinternals{Graphical Object Interfaces}.
1188 @unnumberedsubsec lexer
1193 A @strong{lexer} is a program which converts a sequence of
1194 characters into a sequence of tokens, a process called lexical
1195 analysis. The LilyPond lexer converts the stream obtained from an
1196 input @file{.ly} file into a tokenized stream more suited to the
1197 next stage of processing - parsing, for which see @ref{parser}.
1198 The LilyPond lexer is built with Flex from the lexer file
1199 @file{lily/lexer.ll} which contains the lexical rules. This file
1200 is part of the source code and is not included in the LilyPond
1201 binary installation.
1205 @unnumberedsubsec mutable
1207 @cindex mutable objects
1208 @cindex mutable properties
1210 A @strong{mutable} object is one whose state can be modified after
1211 creation, in contrast to an immutable object, whose state is fixed
1212 at the time of creation.
1214 In LilyPond, mutable properties contain values that are specific to
1215 one grob. Typically, lists of other objects or results from
1216 computations are stored in mutable properties.
1223 @unnumberedsubsec output-def
1227 An instance of the @code{Output-def} class contains the methods and
1228 data structures associated with an output block. Instances are
1229 created for midi, layout and paper blocks.
1233 @unnumberedsubsec parser
1237 @cindex grammar for LilyPond
1240 A @strong{parser} analyzes the sequence of tokens produced by a
1241 lexer to determine its grammatical structure, grouping the tokens
1242 progressively into larger groupings according to the rules of the
1243 grammar. If the sequence of tokens is valid the end product is a
1244 tree of tokens whose root is the grammar's start symbol. If this
1245 cannot be achieved the file is invalid and an appropriate error
1246 message is produced. The syntactic groupings and the rules for
1247 constructing the groupings from their parts for the LilyPond syntax
1248 are defined in @file{lily/parser.yy} and shown in Backus Normal Form
1249 (BNF) in @ref{LilyPond grammar}. This file is used to build the
1250 parser during the program build by the parser generator, Bison. It
1251 is part of the source code and is not included in the LilyPond
1252 binary installation.
1255 @node parser variable
1256 @unnumberedsubsec parser variable
1258 @cindex parser variable
1259 @cindex Scheme variable
1260 @cindex global variable
1261 @cindex afterGraceFraction
1264 @cindex output-count
1265 @cindex output-suffix
1266 @cindex parseStringResult
1267 @cindex partCombineListener
1269 @cindex toplevel-bookparts
1270 @cindex toplevel-scores
1271 @cindex showLastLength
1272 @cindex showFirstLength
1274 These are variables defined directly in Scheme. Their direct
1275 use by users is strongly discouraged, because their scoping
1276 semantics can be confusing.
1278 When the value of such a variable is changed in a @file{.ly} file,
1279 the change is global, and unless explicitly reverted, the new value
1280 will persist to the end of the file, affecting subsequent
1281 @code{\score} blocks as well as external files added with the
1282 @code{\include} command. This can lead to unintended consequences
1283 and in complex typesetting projects the consequent errors can be
1284 difficult to track down.
1286 LilyPond uses the following parser variables:
1289 @item afterGraceFraction
1294 @item parseStringResult
1295 @item partCombineListener
1297 @item toplevel-bookparts
1298 @item toplevel-scores
1299 @item showLastLength
1300 @item showFirstLength
1305 @unnumberedsubsec prob
1308 @cindex property object
1310 PRoperty OBjects, or @strong{probs} for short, are instances of
1311 the @code{Prob} class, a simple base class for objects which have
1312 mutable and immutable property alists and the methods to manipulate
1313 them. The @code{Music} and @code{Stream_event} classes derive from
1314 @code{Prob}. Instances of the @code{Prob} class are also created
1315 to hold the formatted content of system grobs and titling blocks
1319 @node simple closure
1320 @unnumberedsubsec simple closure
1326 @unnumberedsubsec smob
1329 @cindex Scheme object
1331 @strong{Smobs}, or ScheMe OBjects, are part of the mechanism used
1332 by Guile to export C and C++ objects to Scheme code. In LilyPond,
1333 smobs are created from C++ objects through macros. There are two
1334 types of smob objects: simple smobs, intended for simple immutable
1335 objects like numbers, and complex smobs, used for objects with
1336 identities. If you have access to the LilyPond sources, more
1337 information can be found in @file{lily/includes/smob.hh}.
1340 @unnumberedsubsec stencil
1344 An instance of the @strong{stencil} class holds the information
1345 required to print a typographical object. It is a simple smob
1346 containing a confining box, which defines the vertical and
1347 horizontal extents of the object, and a Scheme expression which
1348 will print the object when evaluated. Stencils may be combined
1349 to form more complex stencils defined by a tree of Scheme
1350 expressions formed from the Scheme expressions of the component
1353 The @code{stencil} property, which connects a grob to its stencil,
1354 is defined in the @code{grob-interface} interface.
1357 Internals Reference:
1358 @rinternals{grob-interface}.
1361 @node All context properties
1362 @appendixsec All context properties
1364 @include context-properties.tely
1367 @node Layout properties
1368 @appendixsec Layout properties
1370 @include layout-properties.tely
1373 @node Available music functions
1374 @appendixsec Available music functions
1376 @include identifiers.tely
1379 @node Predefined type predicates
1380 @appendixsec Predefined type predicates
1382 @include type-predicates.tely
1385 @node Scheme functions
1386 @appendixsec Scheme functions
1388 @include scheme-functions.tely