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 * Context modification identifiers::
34 * Predefined type predicates::
40 @node Chord name chart
41 @appendixsec Chord name chart
43 The following charts shows two standard systems for printing chord
44 names, along with the pitches they represent.
46 @lilypondfile{chord-names-jazz.ly}
48 @node Common chord modifiers
49 @appendixsec Common chord modifiers
51 The following table shows chord modifiers that can be used in
52 @code{\chordmode} to generate standard chord structures.
54 @multitable @columnfractions .2 .3 .2 .2
69 Major third, perfect fifth
73 @lilypond[line-width=3\cm,noragged-right, notime]
82 Minor third, perfect fifth
86 @lilypond[line-width=3\cm,noragged-right, notime]
95 Major third, augmented fifth
99 @lilypond[line-width=3\cm,noragged-right, notime]
108 Minor third, diminished fifth
112 @lilypond[line-width=3\cm,noragged-right, notime]
121 Major triad, minor seventh
125 @lilypond[line-width=3\cm,noragged-right, notime]
134 Major triad, major seventh
136 @code{maj7} or @code{maj}
138 @lilypond[line-width=3\cm,noragged-right, notime]
147 Minor triad, minor seventh
151 @lilypond[line-width=3\cm,noragged-right, notime]
160 Diminished triad, diminished seventh
164 @lilypond[line-width=3\cm,noragged-right, notime]
173 Augmented triad, minor seventh
177 @lilypond[line-width=3\cm,noragged-right, notime]
184 Half-diminished seventh
186 Diminished triad, minor seventh
190 @lilypond[line-width=3\cm,noragged-right, notime]
199 Minor triad, major seventh
203 @lilypond[line-width=3\cm,noragged-right, notime]
216 @lilypond[line-width=3\cm,noragged-right, notime]
229 @lilypond[line-width=3\cm,noragged-right, notime]
238 Dominant seventh, major ninth
242 @lilypond[line-width=3\cm,noragged-right, notime]
251 Major seventh, major ninth
255 @lilypond[line-width=3\cm,noragged-right, notime]
264 Minor seventh, major ninth
268 @lilypond[line-width=3\cm,noragged-right, notime]
277 Dominant ninth, perfect eleventh
281 @lilypond[line-width=3\cm,noragged-right, notime]
290 Major ninth, perfect eleventh
294 @lilypond[line-width=3\cm,noragged-right, notime]
303 Minor ninth, perfect eleventh
307 @lilypond[line-width=3\cm,noragged-right, notime]
316 Dominant ninth, major thirteenth
320 @lilypond[line-width=3\cm,noragged-right, notime]
329 Dominant eleventh, major thirteenth
333 @lilypond[line-width=3\cm,noragged-right, notime]
342 Major eleventh, major thirteenth
346 @lilypond[line-width=3\cm,noragged-right, notime]
355 Minor eleventh, major thirteenth
359 @lilypond[line-width=3\cm,noragged-right, notime]
368 Major second, perfect fifth
372 @lilypond[line-width=3\cm,noragged-right, notime]
381 Perfect fourth, perfect fifth
385 @lilypond[line-width=3\cm,noragged-right, notime]
392 Power chord (two-voiced)
398 @lilypond[line-width=3\cm,noragged-right, notime]
406 Power chord (three-voiced)
408 Perfect fifth, octave
412 @lilypond[line-width=3\cm,noragged-right, notime]
421 @node Predefined string tunings
422 @appendixsec Predefined string tunings
424 The chart below shows the predefined string tunings.
426 @lilypondfile{display-predefined-string-tunings.ly}
428 @node Predefined fretboard diagrams
429 @appendixsec Predefined fretboard diagrams
431 The chart below shows the predefined fretboard diagrams for guitar.
433 @lilypondfile{display-predefined-fretboards.ly}
435 The chart below shows the predefined fretboard diagrams for ukulele.
437 @lilypondfile{display-predefined-ukulele-fretboards.ly}
439 The chart below shows the predefined fretboard diagrams for mandolin.
441 @lilypondfile{display-predefined-mandolin-fretboards.ly}
443 @node MIDI instruments
444 @appendixsec MIDI instruments
446 The following is a list of names that can be used for the
447 @code{midiInstrument} property. The order of the instruments
448 below, starting in the left-hand column moving down, corresponds
449 to the General MIDI Standard's 128 Program Numbers.
452 acoustic grand contrabass lead 7 (fifths)
453 bright acoustic tremolo strings lead 8 (bass+lead)
454 electric grand pizzicato strings pad 1 (new age)
455 honky-tonk orchestral harp pad 2 (warm)
456 electric piano 1 timpani pad 3 (polysynth)
457 electric piano 2 string ensemble 1 pad 4 (choir)
458 harpsichord string ensemble 2 pad 5 (bowed)
459 clav synthstrings 1 pad 6 (metallic)
460 celesta synthstrings 2 pad 7 (halo)
461 glockenspiel choir aahs pad 8 (sweep)
462 music box voice oohs fx 1 (rain)
463 vibraphone synth voice fx 2 (soundtrack)
464 marimba orchestra hit fx 3 (crystal)
465 xylophone trumpet fx 4 (atmosphere)
466 tubular bells trombone fx 5 (brightness)
467 dulcimer tuba fx 6 (goblins)
468 drawbar organ muted trumpet fx 7 (echoes)
469 percussive organ french horn fx 8 (sci-fi)
470 rock organ brass section sitar
471 church organ synthbrass 1 banjo
472 reed organ synthbrass 2 shamisen
473 accordion soprano sax koto
474 harmonica alto sax kalimba
475 concertina tenor sax bagpipe
476 acoustic guitar (nylon) baritone sax fiddle
477 acoustic guitar (steel) oboe shanai
478 electric guitar (jazz) english horn tinkle bell
479 electric guitar (clean) bassoon agogo
480 electric guitar (muted) clarinet steel drums
481 overdriven guitar piccolo woodblock
482 distorted guitar flute taiko drum
483 guitar harmonics recorder melodic tom
484 acoustic bass pan flute synth drum
485 electric bass (finger) blown bottle reverse cymbal
486 electric bass (pick) shakuhachi guitar fret noise
487 fretless bass whistle breath noise
488 slap bass 1 ocarina seashore
489 slap bass 2 lead 1 (square) bird tweet
490 synth bass 1 lead 2 (sawtooth) telephone ring
491 synth bass 2 lead 3 (calliope) helicopter
492 violin lead 4 (chiff) applause
493 viola lead 5 (charang) gunshot
499 @appendixsec List of colors
501 @subsubheading Normal colors
503 Usage syntax is detailed in @ref{Coloring objects}.
505 @cindex List of colors
506 @cindex Colors, list of
509 black white red green
510 blue cyan magenta yellow
511 grey darkred darkgreen darkblue
512 darkcyan darkmagenta darkyellow
516 @subsubheading X color names
518 X color names come several variants:
520 Any name that is spelled as a single word with capitalization
521 (e.g. @q{LightSlateBlue}) can also be spelled as space separated
522 words without capitalization (e.g. @q{light slate blue}).
524 The word @q{grey} can always be spelled @q{gray} (e.g. @q{DarkSlateGray}).
526 Some names can take a numerical suffix (e.g. @q{LightSalmon4}).
529 @subsubheading Color Names without a numerical suffix:
532 snow GhostWhite WhiteSmoke gainsboro FloralWhite
533 OldLace linen AntiqueWhite PapayaWhip BlanchedAlmond
534 bisque PeachPuff NavajoWhite moccasin cornsilk
535 ivory LemonChiffon seashell honeydew MintCream
536 azure AliceBlue lavender LavenderBlush MistyRose
537 white black DarkSlateGrey DimGrey SlateGrey
538 LightSlateGrey grey LightGrey MidnightBlue navy
539 NavyBlue CornflowerBlue DarkSlateBlue SlateBlue MediumSlateBlue
540 LightSlateBlue MediumBlue RoyalBlue blue DodgerBlue
541 DeepSkyBlue SkyBlue LightSkyBlue SteelBlue LightSteelBlue
542 LightBlue PowderBlue PaleTurquoise DarkTurquoise MediumTurquoise
543 turquoise cyan LightCyan CadetBlue MediumAquamarine
544 aquamarine DarkGreen DarkOliveGreen DarkSeaGreen SeaGreen
545 MediumSeaGreen LightSeaGreen PaleGreen SpringGreen LawnGreen
546 green chartreuse MediumSpringGreen GreenYellow LimeGreen
547 YellowGreen ForestGreen OliveDrab DarkKhaki khaki
548 PaleGoldenrod LightGoldenrodYellow LightYellow yellow gold
549 LightGoldenrod goldenrod DarkGoldenrod RosyBrown IndianRed
550 SaddleBrown sienna peru burlywood beige
551 wheat SandyBrown tan chocolate firebrick
552 brown DarkSalmon salmon LightSalmon orange
553 DarkOrange coral LightCoral tomato OrangeRed
554 red HotPink DeepPink pink LightPink
555 PaleVioletRed maroon MediumVioletRed VioletRed magenta
556 violet plum orchid MediumOrchid DarkOrchid
557 DarkViolet BlueViolet purple MediumPurple thistle
558 DarkGrey DarkBlue DarkCyan DarkMagenta DarkRed
563 @subsubheading Color names with a numerical suffix
565 In the following names the suffix N can be a number in the range 1-4:
568 snowN seashellN AntiqueWhiteN bisqueN PeachPuffN
569 NavajoWhiteN LemonChiffonN cornsilkN ivoryN honeydewN
570 LavenderBlushN MistyRoseN azureN SlateBlueN RoyalBlueN
571 blueN DodgerBlueN SteelBlueN DeepSkyBlueN SkyBlueN
572 LightSkyBlueN LightSteelBlueN LightBlueN LightCyanN PaleTurquoiseN
573 CadetBlueN turquoiseN cyanN aquamarineN DarkSeaGreenN
574 SeaGreenN PaleGreenN SpringGreenN greenN chartreuseN
575 OliveDrabN DarkOliveGreenN khakiN LightGoldenrodN LightYellowN
576 yellowN goldN goldenrodN DarkGoldenrodN RosyBrownN
577 IndianRedN siennaN burlywoodN wheatN tanN
578 chocolateN firebrickN brownN salmonN LightSalmonN
579 orangeN DarkOrangeN coralN tomatoN OrangeRedN
580 redN DeepPinkN HotPinkN pinkN LightPinkN
581 PaleVioletRedN maroonN VioletRedN magentaN orchidN
582 plumN MediumOrchidN DarkOrchidN purpleN MediumPurpleN
587 @subsubheading Grey Scale
589 A grey scale can be obtained using:
596 Where N is in the range 0-100.
600 @appendixsec The Feta font
605 The following symbols are available in the Emmentaler font and may be
606 accessed directly using text markup with the name of the glyph
607 as shown in the tables below,
608 such as @code{g^\markup @{\musicglyph #"scripts.segno" @}} or
609 @code{\markup @{\musicglyph #"five"@}}. For more information,
610 see @ref{Formatting text}.
615 * Time Signature glyphs::
617 * Accidental glyphs::
618 * Default Notehead glyphs::
619 * Special Notehead glyphs::
620 * Shape-note Notehead glyphs::
627 * Bracket-tip glyphs::
635 * Neomensural glyphs::
642 @unnumberedsubsec Clef glyphs
645 \include "font-table.ly"
646 \markuplines \override-lines #'(word-space . 4)
651 @node Time Signature glyphs
652 @unnumberedsubsec Time Signature glyphs
655 \include "font-table.ly"
656 \markuplines \override-lines #'(word-space . 4)
662 @unnumberedsubsec Number glyphs
665 \include "font-table.ly"
666 \markuplines \override-lines #'(word-space . 4)
671 @node Accidental glyphs
672 @unnumberedsubsec Accidental glyphs
675 \include "font-table.ly"
676 \markuplines \override-lines #'(word-space . 4)
677 \doc-chars #accidentals
681 @node Default Notehead glyphs
682 @unnumberedsubsec Default Notehead glyphs
685 \include "font-table.ly"
686 \markuplines \override-lines #'(word-space . 4)
687 \doc-chars #default-noteheads
691 @node Special Notehead glyphs
692 @unnumberedsubsec Special Notehead glyphs
695 \include "font-table.ly"
696 \markuplines \override-lines #'(word-space . 4)
697 \doc-chars #special-noteheads
701 @node Shape-note Notehead glyphs
702 @unnumberedsubsec Shape-note Notehead glyphs
705 \include "font-table.ly"
706 \markuplines \override-lines #'(word-space . 4)
707 \doc-chars #shape-note-noteheads
712 @unnumberedsubsec Rest glyphs
715 \include "font-table.ly"
716 \markuplines \override-lines #'(word-space . 4)
722 @unnumberedsubsec Flag glyphs
725 \include "font-table.ly"
726 \markuplines \override-lines #'(word-space . 4)
732 @unnumberedsubsec Dot glyphs
735 \include "font-table.ly"
736 \markuplines \override-lines #'(word-space . 4)
742 @unnumberedsubsec Dynamic glyphs
745 \include "font-table.ly"
746 \markuplines \override-lines #'(word-space . 4)
752 @unnumberedsubsec Script glyphs
755 \include "font-table.ly"
756 \markuplines \override-lines #'(word-space . 4)
761 @node Arrowhead glyphs
762 @unnumberedsubsec Arrowhead glyphs
765 \include "font-table.ly"
766 \markuplines \override-lines #'(word-space . 4)
767 \doc-chars #arrowheads
771 @node Bracket-tip glyphs
772 @unnumberedsubsec Bracket-tip glyphs
775 \include "font-table.ly"
776 \markuplines \override-lines #'(word-space . 4)
777 \doc-chars #brackettips
782 @unnumberedsubsec Pedal glyphs
785 \include "font-table.ly"
786 \markuplines \override-lines #'(word-space . 4)
791 @node Accordion glyphs
792 @unnumberedsubsec Accordion glyphs
795 \include "font-table.ly"
796 \markuplines \override-lines #'(word-space . 4)
797 \doc-chars #accordion
802 @unnumberedsubsec Tie glyphs
805 \include "font-table.ly"
806 \markuplines \override-lines #'(word-space . 4)
811 @node Vaticana glyphs
812 @unnumberedsubsec Vaticana glyphs
815 \include "font-table.ly"
816 \markuplines \override-lines #'(word-space . 4)
821 @node Medicaea glyphs
822 @unnumberedsubsec Medicaea glyphs
825 \include "font-table.ly"
826 \markuplines \override-lines #'(word-space . 4)
831 @node Hufnagel glyphs
832 @unnumberedsubsec Hufnagel glyphs
835 \include "font-table.ly"
836 \markuplines \override-lines #'(word-space . 4)
841 @node Mensural glyphs
842 @unnumberedsubsec Mensural glyphs
845 \include "font-table.ly"
846 \markuplines \override-lines #'(word-space . 4)
851 @node Neomensural glyphs
852 @unnumberedsubsec Neomensural glyphs
855 \include "font-table.ly"
856 \markuplines \override-lines #'(word-space . 4)
857 \doc-chars #neomensural
861 @node Petrucci glyphs
862 @unnumberedsubsec Petrucci glyphs
865 \include "font-table.ly"
866 \markuplines \override-lines #'(word-space . 4)
871 @node Solesmes glyphs
872 @unnumberedsubsec Solesmes glyphs
875 \include "font-table.ly"
876 \markuplines \override-lines #'(word-space . 4)
881 @node Note head styles
882 @appendixsec Note head styles
884 @cindex note head styles
885 The following styles may be used for note heads.
887 @lilypondfile[noindent]{note-head-style.ly}
890 @node Text markup commands
891 @appendixsec Text markup commands
893 @include markup-commands.tely
896 @node Text markup list commands
897 @appendixsec Text markup list commands
899 The following commands can all be used with @code{\markuplines}:
901 @include markup-list-commands.tely
904 @node List of articulations
905 @appendixsec List of articulations
939 @cindex signumcongruentiae
940 @cindex snappizzicato
941 @cindex staccatissimo
952 @cindex verylongfermata
954 The following scripts are available in the Feta font and may be
955 attached to notes (eg. @samp{c\accent}).
957 @c Articulations and ornamentations
958 @c Fingering instructions (for "thumb")
959 @c Common notation for unfretted strings
960 @c Bowing indications
962 @c Snap (Bartók) pizzicato
963 @c Custom percussion staves (for "halfopen" -- not yet funindexed)
964 @c References for wind instruments (for "open"/"stopped" -- not yet funindexed)
968 * Articulation scripts::
971 * Instrument-specific scripts::
972 * Repeat sign scripts::
977 @node Articulation scripts
978 @unnumberedsubsec Articulation scripts
981 \include "script-chart.ly"
982 \new RhythmicStaff { \scriptStaff #articulations }
985 @node Ornament scripts
986 @unnumberedsubsec Ornament scripts
989 \include "script-chart.ly"
990 \new RhythmicStaff { \scriptStaff #ornaments }
993 @node Fermata scripts
994 @unnumberedsubsec Fermata scripts
997 \include "script-chart.ly"
998 \new RhythmicStaff { \scriptStaff #fermatas }
1001 @node Instrument-specific scripts
1002 @unnumberedsubsec Instrument-specific scripts
1005 \include "script-chart.ly"
1006 \new RhythmicStaff { \scriptStaff #instrument-specific }
1009 @node Repeat sign scripts
1010 @unnumberedsubsec Repeat sign scripts
1013 \include "script-chart.ly"
1014 \new RhythmicStaff { \scriptStaff #repeats }
1017 @node Ancient scripts
1018 @unnumberedsubsec Ancient scripts
1021 \include "script-chart.ly"
1022 \include "gregorian.ly"
1023 \new VaticanaStaff { \scriptStaffAncient #ancient }
1027 @node Percussion notes
1028 @appendixsec Percussion notes
1030 @lilypondfile[quote]{percussion-chart.ly}
1033 @node Technical glossary
1034 @appendixsec Technical glossary
1036 A glossary of the technical terms and concepts used internally in
1037 LilyPond. These terms may appear in the manuals, on mailing lists
1038 or in the source code.
1060 @unnumberedsubsec alist
1063 @cindex association list
1065 An association list or @strong{alist} for short is a Scheme pair
1066 which associates a value with a key: @w{@code{(key . value)}}. For
1067 example, in @file{scm/lily.scm}, the alist
1068 @w{@qq{type-p-name-alist}} associates certain type predicates
1069 (e.g.@tie{}@code{ly:music?}) with names (e.g.@tie{}@qq{music}) so
1070 that type-check failures can be reported with a console message that
1071 includes the name of the expected type predicate.
1074 @unnumberedsubsec callback
1078 A @strong{callback} is a routine, function or method whose reference is
1079 passed as an argument in a call to another routine, so allowing
1080 the called routine to invoke it. The technique enables a lower-
1081 level software layer to call a function defined in a higher
1082 layer. Callbacks are used extensively in LilyPond to permit
1083 user-level Scheme code to define how many low-level actions are
1088 @unnumberedsubsec closure
1091 @cindex simple closure
1093 In Scheme, a @strong{closure} is created when a function, usually
1094 a lambda expression, is passed as a variable. The closure contains
1095 the function's code plus references to the lexical bindings of the
1096 function's free variables (i.e. those variables used in the
1097 expression but defined outside it). When this function is applied
1098 to different arguments later, the free variable bindings that were
1099 captured in the closure are used to obtain the values of the free
1100 variables to be used in the calculation. One useful property of
1101 closures is the retention of internal variable values between
1102 invocations, so permitting state to be maintained.
1104 A @strong{simple closure} is a closure whose expression has no free
1105 variables and hence no free variable bindings.
1107 A simple closure is represented in LilyPond by a smob containing
1108 the expression and a method to apply the expression to a passed
1113 @unnumberedsubsec glyph
1119 A @strong{glyph} is a particular graphical representation of a typographic
1120 character, or a combination of two characters formating a ligature.
1121 A set of glyphs with a single style and shape comprise a font, and
1122 a set of fonts covering several styles and sizes comprise a typeface.
1128 @ref{Text encoding}.
1132 @unnumberedsubsec grob
1135 @cindex layout objects
1136 @cindex graphical objects
1138 LilyPond objects which represent items of notation in the printed
1139 output such as note heads, stems, slurs, ties, fingering, clefs,
1140 etc are called @q{Layout objects}, often known as @q{GRaphical
1141 OBjects}, or @strong{grobs} for short. They are represented by
1142 instances of the @code{Grob} class.
1146 @rlearning{Objects and interfaces},
1147 @rlearning{Naming conventions of objects and properties},
1148 @rlearning{Properties of layout objects}.
1150 Internals Reference:
1151 @rinternals{grob-interface},
1152 @rinternals{All layout objects}.
1156 @unnumberedsubsec immutable
1158 @cindex immutable objects
1159 @cindex immutable properties
1160 @cindex shared properties
1162 An @strong{immutable} object is one whose state cannot be modified
1163 after creation, in contrast to a mutable object, which can be
1164 modified after creation.
1166 In LilyPond, immutable or shared properties define the default
1167 style and behavior of grobs. They are shared between many objects.
1168 In apparent contradiction to the name, they can be changed using
1169 @code{\override} and @code{\revert}.
1176 @unnumberedsubsec interface
1179 @cindex grob-interface
1180 @cindex graphical object interfaces
1182 Actions and properties which are common to a number of grobs are
1183 grouped together in an object called a @code{grob-interface}, or
1184 just @q{interface} for short.
1188 @rlearning{Objects and interfaces},
1189 @rlearning{Naming conventions of objects and properties},
1190 @rlearning{Properties found in interfaces}.
1193 @ref{Layout interfaces}.
1195 Internals Reference:
1196 @rinternals{Graphical Object Interfaces}.
1200 @unnumberedsubsec lexer
1205 A @strong{lexer} is a program which converts a sequence of
1206 characters into a sequence of tokens, a process called lexical
1207 analysis. The LilyPond lexer converts the stream obtained from an
1208 input @file{.ly} file into a tokenized stream more suited to the
1209 next stage of processing - parsing, for which see @ref{parser}.
1210 The LilyPond lexer is built with Flex from the lexer file
1211 @file{lily/lexer.ll} which contains the lexical rules. This file
1212 is part of the source code and is not included in the LilyPond
1213 binary installation.
1217 @unnumberedsubsec mutable
1219 @cindex mutable objects
1220 @cindex mutable properties
1222 A @strong{mutable} object is one whose state can be modified after
1223 creation, in contrast to an immutable object, whose state is fixed
1224 at the time of creation.
1226 In LilyPond, mutable properties contain values that are specific to
1227 one grob. Typically, lists of other objects or results from
1228 computations are stored in mutable properties.
1235 @unnumberedsubsec output-def
1239 An instance of the @code{Output-def} class contains the methods and
1240 data structures associated with an output block. Instances are
1241 created for midi, layout and paper blocks.
1245 @unnumberedsubsec parser
1249 @cindex grammar for LilyPond
1252 A @strong{parser} analyzes the sequence of tokens produced by a
1253 lexer to determine its grammatical structure, grouping the tokens
1254 progressively into larger groupings according to the rules of the
1255 grammar. If the sequence of tokens is valid the end product is a
1256 tree of tokens whose root is the grammar's start symbol. If this
1257 cannot be achieved the file is invalid and an appropriate error
1258 message is produced. The syntactic groupings and the rules for
1259 constructing the groupings from their parts for the LilyPond syntax
1260 are defined in @file{lily/parser.yy} and shown in Backus Normal Form
1261 (BNF) in @ref{LilyPond grammar}. This file is used to build the
1262 parser during the program build by the parser generator, Bison. It
1263 is part of the source code and is not included in the LilyPond
1264 binary installation.
1267 @node parser variable
1268 @unnumberedsubsec parser variable
1270 @cindex parser variable
1271 @cindex Scheme variable
1272 @cindex global variable
1273 @cindex afterGraceFraction
1276 @cindex output-count
1277 @cindex output-suffix
1278 @cindex parseStringResult
1279 @cindex partCombineListener
1281 @cindex toplevel-bookparts
1282 @cindex toplevel-scores
1283 @cindex showLastLength
1284 @cindex showFirstLength
1286 These are variables defined directly in Scheme. Their direct
1287 use by users is strongly discouraged, because their scoping
1288 semantics can be confusing.
1290 When the value of such a variable is changed in a @file{.ly} file,
1291 the change is global, and unless explicitly reverted, the new value
1292 will persist to the end of the file, affecting subsequent
1293 @code{\score} blocks as well as external files added with the
1294 @code{\include} command. This can lead to unintended consequences
1295 and in complex typesetting projects the consequent errors can be
1296 difficult to track down.
1298 LilyPond uses the following parser variables:
1301 @item afterGraceFraction
1306 @item parseStringResult
1307 @item partCombineListener
1309 @item toplevel-bookparts
1310 @item toplevel-scores
1311 @item showLastLength
1312 @item showFirstLength
1317 @unnumberedsubsec prob
1320 @cindex property object
1322 PRoperty OBjects, or @strong{probs} for short, are instances of
1323 the @code{Prob} class, a simple base class for objects which have
1324 mutable and immutable property alists and the methods to manipulate
1325 them. The @code{Music} and @code{Stream_event} classes derive from
1326 @code{Prob}. Instances of the @code{Prob} class are also created
1327 to hold the formatted content of system grobs and titling blocks
1331 @node simple closure
1332 @unnumberedsubsec simple closure
1338 @unnumberedsubsec smob
1341 @cindex Scheme object
1343 @strong{Smobs}, or ScheMe OBjects, are part of the mechanism used
1344 by Guile to export C and C++ objects to Scheme code. In LilyPond,
1345 smobs are created from C++ objects through macros. There are two
1346 types of smob objects: simple smobs, intended for simple immutable
1347 objects like numbers, and complex smobs, used for objects with
1348 identities. If you have access to the LilyPond sources, more
1349 information can be found in @file{lily/includes/smob.hh}.
1352 @unnumberedsubsec stencil
1356 An instance of the @strong{stencil} class holds the information
1357 required to print a typographical object. It is a simple smob
1358 containing a confining box, which defines the vertical and
1359 horizontal extents of the object, and a Scheme expression which
1360 will print the object when evaluated. Stencils may be combined
1361 to form more complex stencils defined by a tree of Scheme
1362 expressions formed from the Scheme expressions of the component
1365 The @code{stencil} property, which connects a grob to its stencil,
1366 is defined in the @code{grob-interface} interface.
1369 Internals Reference:
1370 @rinternals{grob-interface}.
1373 @node All context properties
1374 @appendixsec All context properties
1376 @include context-properties.tely
1379 @node Layout properties
1380 @appendixsec Layout properties
1382 @include layout-properties.tely
1385 @node Available music functions
1386 @appendixsec Available music functions
1388 @include identifiers.tely
1390 @node Context modification identifiers
1391 @appendixsec Context modification identifiers
1393 The following commands are defined for use as context modifications
1394 within a @code{\layout} or @code{\with} block.
1396 @include context-mod-identifiers.tely
1398 @node Predefined type predicates
1399 @appendixsec Predefined type predicates
1401 @include type-predicates.tely
1404 @node Scheme functions
1405 @appendixsec Scheme functions
1407 @include scheme-functions.tely