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. See TRANSLATION for details.
12 @node Notation manual tables
13 @appendix Notation manual tables
15 @c Please do not delete the following @ignore block.
17 Note for editors and translators: In the following menu, two entries
18 are needed to link to a pair of automatically generated sections.
19 Please keep them and, if using emacs, do not run
20 texinfo-all-menus-update without manually restoring them back. These
23 * Text markup commands::
24 * Text markup list commands::
26 and they should go just after
30 * List of articulations::
35 * Common chord modifiers::
36 * Predefined fretboard diagrams::
41 * Text markup commands::
42 * Text markup list commands::
43 * List of articulations::
45 * Technical glossary::
46 * All context properties::
48 * Available music functions::
54 @node Chord name chart
55 @appendixsec Chord name chart
57 The following charts shows two standard systems for printing chord
58 names, along with the pitches they represent.
60 @lilypondfile{chord-names-jazz.ly}
62 @node Common chord modifiers
63 @appendixsec Common chord modifiers
65 The following table shows chord modifiers that can be used in
66 @code{\chordmode} to generate standard chord structures.
68 @multitable @columnfractions .2 .3 .2 .2
83 Major third, perfect fifth
87 @lilypond[line-width=3\cm,noragged-right, notime]
96 Minor third, perfect fifth
100 @lilypond[line-width=3\cm,noragged-right, notime]
109 Major third, augmented fifth
113 @lilypond[line-width=3\cm,noragged-right, notime]
122 Minor third, diminished fifth
126 @lilypond[line-width=3\cm,noragged-right, notime]
135 Major triad, minor seventh
139 @lilypond[line-width=3\cm,noragged-right, notime]
148 Major triad, major seventh
150 @code{maj7} or @code{maj}
152 @lilypond[line-width=3\cm,noragged-right, notime]
161 Minor triad, minor seventh
165 @lilypond[line-width=3\cm,noragged-right, notime]
174 Diminished triad, diminished seventh
178 @lilypond[line-width=3\cm,noragged-right, notime]
187 Augmented triad, minor seventh
191 @lilypond[line-width=3\cm,noragged-right, notime]
198 Half-diminished seventh
200 Diminished triad, minor seventh
204 @lilypond[line-width=3\cm,noragged-right, notime]
213 Minor triad, major seventh
217 @lilypond[line-width=3\cm,noragged-right, notime]
230 @lilypond[line-width=3\cm,noragged-right, notime]
243 @lilypond[line-width=3\cm,noragged-right, notime]
252 Dominant seventh, major ninth
256 @lilypond[line-width=3\cm,noragged-right, notime]
265 Major seventh, major ninth
269 @lilypond[line-width=3\cm,noragged-right, notime]
278 Minor seventh, major ninth
282 @lilypond[line-width=3\cm,noragged-right, notime]
291 Dominant ninth, perfect eleventh
295 @lilypond[line-width=3\cm,noragged-right, notime]
304 Major ninth, perfect eleventh
308 @lilypond[line-width=3\cm,noragged-right, notime]
317 Minor ninth, perfect eleventh
321 @lilypond[line-width=3\cm,noragged-right, notime]
330 Dominant ninth, major thirteenth
334 @lilypond[line-width=3\cm,noragged-right, notime]
343 Dominant eleventh, major thirteenth
347 @lilypond[line-width=3\cm,noragged-right, notime]
356 Major eleventh, major thirteenth
360 @lilypond[line-width=3\cm,noragged-right, notime]
369 Minor eleventh, major thirteenth
373 @lilypond[line-width=3\cm,noragged-right, notime]
382 Major second, perfect fifth
386 @lilypond[line-width=3\cm,noragged-right, notime]
395 Perfect fourth, perfect fifth
399 @lilypond[line-width=3\cm,noragged-right, notime]
408 @node Predefined fretboard diagrams
409 @appendixsec Predefined fretboard diagrams
411 The chart below shows the predefined fretboard diagrams for guitar.
413 @lilypondfile{display-predefined-fretboards.ly}
415 The chart below shows the predefined fretboard diagrams for ukulele.
417 @lilypondfile{display-predefined-ukulele-fretboards.ly}
419 @node MIDI instruments
420 @appendixsec MIDI instruments
422 The following is a list of names that can be used for the
423 @code{midiInstrument} property.
426 acoustic grand contrabass lead 7 (fifths)
427 bright acoustic tremolo strings lead 8 (bass+lead)
428 electric grand pizzicato strings pad 1 (new age)
429 honky-tonk orchestral harp pad 2 (warm)
430 electric piano 1 timpani pad 3 (polysynth)
431 electric piano 2 string ensemble 1 pad 4 (choir)
432 harpsichord string ensemble 2 pad 5 (bowed)
433 clav synthstrings 1 pad 6 (metallic)
434 celesta synthstrings 2 pad 7 (halo)
435 glockenspiel choir aahs pad 8 (sweep)
436 music box voice oohs fx 1 (rain)
437 vibraphone synth voice fx 2 (soundtrack)
438 marimba orchestra hit fx 3 (crystal)
439 xylophone trumpet fx 4 (atmosphere)
440 tubular bells trombone fx 5 (brightness)
441 dulcimer tuba fx 6 (goblins)
442 drawbar organ muted trumpet fx 7 (echoes)
443 percussive organ french horn fx 8 (sci-fi)
444 rock organ brass section sitar
445 church organ synthbrass 1 banjo
446 reed organ synthbrass 2 shamisen
447 accordion soprano sax koto
448 harmonica alto sax kalimba
449 concertina tenor sax bagpipe
450 acoustic guitar (nylon) baritone sax fiddle
451 acoustic guitar (steel) oboe shanai
452 electric guitar (jazz) english horn tinkle bell
453 electric guitar (clean) bassoon agogo
454 electric guitar (muted) clarinet steel drums
455 overdriven guitar piccolo woodblock
456 distorted guitar flute taiko drum
457 guitar harmonics recorder melodic tom
458 acoustic bass pan flute synth drum
459 electric bass (finger) blown bottle reverse cymbal
460 electric bass (pick) shakuhachi guitar fret noise
461 fretless bass whistle breath noise
462 slap bass 1 ocarina seashore
463 slap bass 2 lead 1 (square) bird tweet
464 synth bass 1 lead 2 (sawtooth) telephone ring
465 synth bass 2 lead 3 (calliope) helicopter
466 violin lead 4 (chiff) applause
467 viola lead 5 (charang) gunshot
473 @appendixsec List of colors
475 @subsubheading Normal colors
477 Usage syntax is detailed in @ref{Coloring objects}.
479 @cindex List of colors
480 @cindex Colors, list of
483 black white red green
484 blue cyan magenta yellow
485 grey darkred darkgreen darkblue
486 darkcyan darkmagenta darkyellow
490 @subsubheading X color names
492 X color names come several variants:
494 Any name that is spelled as a single word with capitalization
495 (e.g. @q{LightSlateBlue}) can also be spelled as space separated
496 words without capitalization (e.g. @q{light slate blue}).
498 The word @q{grey} can always be spelled @q{gray} (e.g. @q{DarkSlateGray}).
500 Some names can take a numerical suffix (e.g. @q{LightSalmon4}).
503 @subsubheading Color Names without a numerical suffix:
506 snow GhostWhite WhiteSmoke gainsboro FloralWhite
507 OldLace linen AntiqueWhite PapayaWhip BlanchedAlmond
508 bisque PeachPuff NavajoWhite moccasin cornsilk
509 ivory LemonChiffon seashell honeydew MintCream
510 azure AliceBlue lavender LavenderBlush MistyRose
511 white black DarkSlateGrey DimGrey SlateGrey
512 LightSlateGrey grey LightGrey MidnightBlue navy
513 NavyBlue CornflowerBlue DarkSlateBlue SlateBlue MediumSlateBlue
514 LightSlateBlue MediumBlue RoyalBlue blue DodgerBlue
515 DeepSkyBlue SkyBlue LightSkyBlue SteelBlue LightSteelBlue
516 LightBlue PowderBlue PaleTurquoise DarkTurquoise MediumTurquoise
517 turquoise cyan LightCyan CadetBlue MediumAquamarine
518 aquamarine DarkGreen DarkOliveGreen DarkSeaGreen SeaGreen
519 MediumSeaGreen LightSeaGreen PaleGreen SpringGreen LawnGreen
520 green chartreuse MediumSpringGreen GreenYellow LimeGreen
521 YellowGreen ForestGreen OliveDrab DarkKhaki khaki
522 PaleGoldenrod LightGoldenrodYellow LightYellow yellow gold
523 LightGoldenrod goldenrod DarkGoldenrod RosyBrown IndianRed
524 SaddleBrown sienna peru burlywood beige
525 wheat SandyBrown tan chocolate firebrick
526 brown DarkSalmon salmon LightSalmon orange
527 DarkOrange coral LightCoral tomato OrangeRed
528 red HotPink DeepPink pink LightPink
529 PaleVioletRed maroon MediumVioletRed VioletRed magenta
530 violet plum orchid MediumOrchid DarkOrchid
531 DarkViolet BlueViolet purple MediumPurple thistle
532 DarkGrey DarkBlue DarkCyan DarkMagenta DarkRed
537 @subsubheading Color names with a numerical suffix
539 In the following names the suffix N can be a number in the range 1-4:
542 snowN seashellN AntiqueWhiteN bisqueN PeachPuffN
543 NavajoWhiteN LemonChiffonN cornsilkN ivoryN honeydewN
544 LavenderBlushN MistyRoseN azureN SlateBlueN RoyalBlueN
545 blueN DodgerBlueN SteelBlueN DeepSkyBlueN SkyBlueN
546 LightSkyBlueN LightSteelBlueN LightBlueN LightCyanN PaleTurquoiseN
547 CadetBlueN turquoiseN cyanN aquamarineN DarkSeaGreenN
548 SeaGreenN PaleGreenN SpringGreenN greenN chartreuseN
549 OliveDrabN DarkOliveGreenN khakiN LightGoldenrodN LightYellowN
550 yellowN goldN goldenrodN DarkGoldenrodN RosyBrownN
551 IndianRedN siennaN burlywoodN wheatN tanN
552 chocolateN firebrickN brownN salmonN LightSalmonN
553 orangeN DarkOrangeN coralN tomatoN OrangeRedN
554 redN DeepPinkN HotPinkN pinkN LightPinkN
555 PaleVioletRedN maroonN VioletRedN magentaN orchidN
556 plumN MediumOrchidN DarkOrchidN purpleN MediumPurpleN
561 @subsubheading Grey Scale
563 A grey scale can be obtained using:
570 Where N is in the range 0-100.
574 @appendixsec The Feta font
579 The following symbols are available in the Emmentaler font and may be
580 accessed directly using text markup with the name of the glyph
581 as shown in the tables below,
582 such as @code{g^\markup @{\musicglyph #"scripts.segno" @}} or
583 @code{\markup @{\musicglyph #"five"@}}. For more information,
584 see @ref{Formatting text}.
589 * Time Signature glyphs::
591 * Accidental glyphs::
592 * Default Notehead glyphs::
593 * Special Notehead glyphs::
594 * Shape-note Notehead glyphs::
601 * Bracket-tip glyphs::
608 * Neomensural glyphs::
615 @unnumberedsubsec Clef glyphs
618 \include "font-table.ly"
619 \markuplines \override-lines #'(word-space . 4)
624 @node Time Signature glyphs
625 @unnumberedsubsec Time Signature glyphs
628 \include "font-table.ly"
629 \markuplines \override-lines #'(word-space . 4)
635 @unnumberedsubsec Number glyphs
638 \include "font-table.ly"
639 \markuplines \override-lines #'(word-space . 4)
644 @node Accidental glyphs
645 @unnumberedsubsec Accidental glyphs
648 \include "font-table.ly"
649 \markuplines \override-lines #'(word-space . 4)
650 \doc-chars #accidentals
654 @node Default Notehead glyphs
655 @unnumberedsubsec Default Notehead glyphs
658 \include "font-table.ly"
659 \markuplines \override-lines #'(word-space . 4)
660 \doc-chars #default-noteheads
664 @node Special Notehead glyphs
665 @unnumberedsubsec Special Notehead glyphs
668 \include "font-table.ly"
669 \markuplines \override-lines #'(word-space . 4)
670 \doc-chars #special-noteheads
674 @node Shape-note Notehead glyphs
675 @unnumberedsubsec Shape-note Notehead glyphs
678 \include "font-table.ly"
679 \markuplines \override-lines #'(word-space . 4)
680 \doc-chars #shape-note-noteheads
685 @unnumberedsubsec Rest glyphs
688 \include "font-table.ly"
689 \markuplines \override-lines #'(word-space . 4)
695 @unnumberedsubsec Flag glyphs
698 \include "font-table.ly"
699 \markuplines \override-lines #'(word-space . 4)
705 @unnumberedsubsec Dot glyphs
708 \include "font-table.ly"
709 \markuplines \override-lines #'(word-space . 4)
715 @unnumberedsubsec Dynamic glyphs
718 \include "font-table.ly"
719 \markuplines \override-lines #'(word-space . 4)
725 @unnumberedsubsec Script glyphs
728 \include "font-table.ly"
729 \markuplines \override-lines #'(word-space . 4)
734 @node Arrowhead glyphs
735 @unnumberedsubsec Arrowhead glyphs
738 \include "font-table.ly"
739 \markuplines \override-lines #'(word-space . 4)
740 \doc-chars #arrowheads
744 @node Bracket-tip glyphs
745 @unnumberedsubsec Bracket-tip glyphs
748 \include "font-table.ly"
749 \markuplines \override-lines #'(word-space . 4)
750 \doc-chars #brackettips
755 @unnumberedsubsec Pedal glyphs
758 \include "font-table.ly"
759 \markuplines \override-lines #'(word-space . 4)
764 @node Accordion glyphs
765 @unnumberedsubsec Accordion glyphs
768 \include "font-table.ly"
769 \markuplines \override-lines #'(word-space . 4)
770 \doc-chars #accordion
774 @node Vaticana glyphs
775 @unnumberedsubsec Vaticana glyphs
778 \include "font-table.ly"
779 \markuplines \override-lines #'(word-space . 4)
784 @node Medicaea glyphs
785 @unnumberedsubsec Medicaea glyphs
788 \include "font-table.ly"
789 \markuplines \override-lines #'(word-space . 4)
794 @node Hufnagel glyphs
795 @unnumberedsubsec Hufnagel glyphs
798 \include "font-table.ly"
799 \markuplines \override-lines #'(word-space . 4)
804 @node Mensural glyphs
805 @unnumberedsubsec Mensural glyphs
808 \include "font-table.ly"
809 \markuplines \override-lines #'(word-space . 4)
814 @node Neomensural glyphs
815 @unnumberedsubsec Neomensural glyphs
818 \include "font-table.ly"
819 \markuplines \override-lines #'(word-space . 4)
820 \doc-chars #neomensural
824 @node Petrucci glyphs
825 @unnumberedsubsec Petrucci glyphs
828 \include "font-table.ly"
829 \markuplines \override-lines #'(word-space . 4)
834 @node Solesmes glyphs
835 @unnumberedsubsec Solesmes glyphs
838 \include "font-table.ly"
839 \markuplines \override-lines #'(word-space . 4)
844 @node Note head styles
845 @appendixsec Note head styles
847 @cindex note head styles
848 The following styles may be used for note heads.
850 @lilypondfile[noindent]{note-head-style.ly}
852 @include markup-commands.tely
854 @include markup-list-commands.tely
856 @node List of articulations
857 @appendixsec List of articulations
861 @cindex staccatissimo
871 @cindex organ pedal marks
885 @cindex thumb marking
891 @lilypondfile[quote,texidoc]{script-chart.ly}
894 @node Percussion notes
895 @appendixsec Percussion notes
897 @lilypondfile[quote]{percussion-chart.ly}
900 @node Technical glossary
901 @appendixsec Technical glossary
903 A glossary of the technical terms and concepts used internally in
904 LilyPond. These terms may appear in the manuals, on mailing lists
905 or in the source code.
927 @unnumberedsubsec alist
930 @cindex association list
932 An association list or @strong{alist} for short is a Scheme pair
933 which associates a value with a key: @w{@code{(key . value)}}. For
934 example, in @file{scm/lily.scm}, the alist
935 @w{@qq{type-p-name-alist}} associates certain type predicates
936 (e.g.@tie{}@code{ly:music?}) with names (e.g.@tie{}@qq{music}) so
937 that type-check failures can be reported with a console message that
938 includes the name of the expected type predicate.
941 @unnumberedsubsec callback
945 A @strong{callback} is a routine, function or method whose reference is
946 passed as an argument in a call to another routine, so allowing
947 the called routine to invoke it. The technique enables a lower-
948 level software layer to call a function defined in a higher
949 layer. Callbacks are used extensively in LilyPond to permit
950 user-level Scheme code to define how many low-level actions are
955 @unnumberedsubsec closure
958 @cindex simple closure
960 In Scheme, a @strong{closure} is created when a function, usually
961 a lambda expression, is passed as a variable. The closure contains
962 the function's code plus references to the lexical bindings of the
963 function's free variables (i.e. those variables used in the
964 expression but defined outside it). When this function is applied
965 to different arguments later, the free variable bindings that were
966 captured in the closure are used to obtain the values of the free
967 variables to be used in the calculation. One useful property of
968 closures is the retention of internal variable values between
969 invocations, so permitting state to be maintained.
971 A @strong{simple closure} is a closure whose expression has no free
972 variables and hence no free variable bindings.
974 A simple closure is represented in LilyPond by a smob containing
975 the expression and a method to apply the expression to a passed
980 @unnumberedsubsec glyph
986 A @strong{glyph} is a particular graphical representation of a typographic
987 character, or a combination of two characters formating a ligature.
988 A set of glyphs with a single style and shape comprise a font, and
989 a set of fonts covering several styles and sizes comprise a typeface.
999 @unnumberedsubsec grob
1002 @cindex layout objects
1003 @cindex graphical objects
1005 LilyPond objects which represent items of notation in the printed
1006 output such as note heads, stems, slurs, ties, fingering, clefs,
1007 etc are called @q{Layout objects}, often known as @q{GRaphical
1008 OBjects}, or @strong{grobs} for short. They are represented by
1009 instances of the @code{Grob} class.
1013 @rlearning{Objects and interfaces},
1014 @rlearning{Naming conventions of objects and properties},
1015 @rlearning{Properties of layout objects}.
1017 Internals Reference:
1018 @rinternals{grob-interface},
1019 @rinternals{All layout objects}.
1023 @unnumberedsubsec immutable
1025 @cindex immutable objects
1026 @cindex immutable properties
1027 @cindex shared properties
1029 An @strong{immutable} object is one whose state cannot be modified
1030 after creation, in contrast to a mutable object, which can be
1031 modified after creation.
1033 In LilyPond, immutable or shared properties define the default
1034 style and behavior of grobs. They are shared between many objects.
1035 In apparent contradiction to the name, they can be changed using
1036 @code{\override} and @code{\revert}.
1043 @unnumberedsubsec interface
1046 @cindex grob-interface
1047 @cindex graphical object interfaces
1049 Actions and properties which are common to a number of grobs are
1050 grouped together in an object called a @code{grob-interface}, or
1051 just @q{interface} for short.
1055 @rlearning{Objects and interfaces},
1056 @rlearning{Naming conventions of objects and properties},
1057 @rlearning{Properties found in interfaces}.
1060 @ref{Layout interfaces}.
1062 Internals Reference:
1063 @rinternals{Graphical Object Interfaces}.
1067 @unnumberedsubsec lexer
1072 A @strong{lexer} is a program which converts a sequence of
1073 characters into a sequence of tokens, a process called lexical
1074 analysis. The LilyPond lexer converts the stream obtained from an
1075 input @file{.ly} file into a tokenized stream more suited to the
1076 next stage of processing - parsing, for which see @ref{parser}.
1077 The LilyPond lexer is built with Flex from the lexer file
1078 @file{lily/lexer.ll} which contains the lexical rules. This file
1079 is part of the source code and is not included in the LilyPond
1080 binary installation.
1084 @unnumberedsubsec mutable
1086 @cindex mutable objects
1087 @cindex mutable properties
1089 A @strong{mutable} object is one whose state can be modified after
1090 creation, in contrast to an immutable object, whose state is fixed
1091 at the time of creation.
1093 In LilyPond, mutable properties contain values that are specific to
1094 one grob. Typically, lists of other objects or results from
1095 computations are stored in mutable properties.
1102 @unnumberedsubsec output-def
1106 An instance of the @code{Output-def} class contains the methods and
1107 data structures associated with an output block. Instances are
1108 created for midi, layout and paper blocks.
1112 @unnumberedsubsec parser
1116 @cindex grammar for LilyPond
1119 A @strong{parser} analyzes the sequence of tokens produced by a
1120 lexer to determine its grammatical structure, grouping the tokens
1121 progressively into larger groupings according to the rules of the
1122 grammar. If the sequence of tokens is valid the end product is a
1123 tree of tokens whose root is the grammar's start symbol. If this
1124 cannot be achieved the file is invalid and an appropriate error
1125 message is produced. The syntactic groupings and the rules for
1126 constructing the groupings from their parts for the LilyPond syntax
1127 are defined in @file{lily/parser.yy} and shown in Backus Normal Form
1128 (BNF) in @ref{LilyPond grammar}. This file is used to build the
1129 parser during the program build by the parser generator, Bison. It
1130 is part of the source code and is not included in the LilyPond
1131 binary installation.
1134 @node parser variable
1135 @unnumberedsubsec parser variable
1137 @cindex parser variable
1138 @cindex Scheme variable
1139 @cindex global variable
1140 @cindex afterGraceFraction
1143 @cindex output-count
1144 @cindex output-suffix
1145 @cindex parseStringResult
1146 @cindex partCombineListener
1148 @cindex toplevel-bookparts
1149 @cindex toplevel-scores
1150 @cindex showLastLength
1151 @cindex showFirstLength
1153 These are variables defined directly in Scheme. Their direct
1154 use by users is strongly discouraged, because their scoping
1155 semantics can be confusing.
1157 When the value of such a variable is changed in a @code{.ly} file,
1158 the change is global, and unless explicitly reverted, the new value
1159 will persist to the end of the file, affecting subsequent
1160 @code{\score} blocks as well as external files added with the
1161 @code{\include} command. This can lead to unintended consequences
1162 and in complex typesetting projects the consequent errors can be
1163 difficult to track down.
1165 LilyPond uses the following parser variables:
1168 @item afterGraceFraction
1173 @item parseStringResult
1174 @item partCombineListener
1176 @item toplevel-bookparts
1177 @item toplevel-scores
1178 @item showLastLength
1179 @item showFirstLength
1184 @unnumberedsubsec prob
1187 @cindex property object
1189 PRoperty OBjects, or @strong{probs} for short, are instances of
1190 the @code{Prob} class, a simple base class for objects which have
1191 mutable and immutable property alists and the methods to manipulate
1192 them. The @code{Music} and @code{Stream_event} classes derive from
1193 @code{Prob}. Instances of the @code{Prob} class are also created
1194 to hold the formatted content of system grobs and titling blocks
1198 @node simple closure
1199 @unnumberedsubsec simple closure
1205 @unnumberedsubsec smob
1208 @cindex Scheme object
1210 @strong{Smobs}, or ScheMe OBjects, are part of the mechanism used
1211 by Guile to export C and C++ objects to Scheme code. In LilyPond,
1212 smobs are created from C++ objects through macros. There are two
1213 types of smob objects: simple smobs, intended for simple immutable
1214 objects like numbers, and complex smobs, used for objects with
1215 identities. If you have access to the LilyPond sources, more
1216 information can be found in @file{lily/includes/smob.hh}.
1219 @unnumberedsubsec stencil
1223 An instance of the @strong{stencil} class holds the information
1224 required to print a typographical object. It is a simple smob
1225 containing a confining box, which defines the vertical and
1226 horizontal extents of the object, and a Scheme expression which
1227 will print the object when evaluated. Stencils may be combined
1228 to form more complex stencils defined by a tree of Scheme
1229 expressions formed from the Scheme expressions of the component
1232 The @code{stencil} property, which connects a grob to its stencil,
1233 is defined in the @code{grob-interface} interface.
1236 Internals Reference:
1237 @rinternals{grob-interface}.
1240 @node All context properties
1241 @appendixsec All context properties
1243 @include context-properties.tely
1246 @node Layout properties
1247 @appendixsec Layout properties
1249 @include layout-properties.tely
1252 @node Available music functions
1253 @appendixsec Available music functions
1255 @include identifiers.tely
1258 @node Scheme functions
1259 @appendixsec Scheme functions
1261 @include scheme-functions.tely