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
884 @cindex thumb marking
890 @lilypondfile[quote,texidoc]{script-chart.ly}
893 @node Percussion notes
894 @appendixsec Percussion notes
896 @lilypondfile[quote]{percussion-chart.ly}
899 @node Technical glossary
900 @appendixsec Technical glossary
902 A glossary of the technical terms and concepts used internally in
903 LilyPond. These terms may appear in the manuals, on mailing lists
904 or in the source code.
926 @unnumberedsubsec alist
929 @cindex association list
931 An association list or @strong{alist} for short is a Scheme pair
932 which associates a value with a key: @w{@code{(key . value)}}. For
933 example, in @file{scm/lily.scm}, the alist
934 @w{@qq{type-p-name-alist}} associates certain type predicates
935 (e.g.@tie{}@code{ly:music?}) with names (e.g.@tie{}@qq{music}) so
936 that type-check failures can be reported with a console message that
937 includes the name of the expected type predicate.
940 @unnumberedsubsec callback
944 A @strong{callback} is a routine, function or method whose reference is
945 passed as an argument in a call to another routine, so allowing
946 the called routine to invoke it. The technique enables a lower-
947 level software layer to call a function defined in a higher
948 layer. Callbacks are used extensively in LilyPond to permit
949 user-level Scheme code to define how many low-level actions are
954 @unnumberedsubsec closure
957 @cindex simple closure
959 In Scheme, a @strong{closure} is created when a function, usually
960 a lambda expression, is passed as a variable. The closure contains
961 the function's code plus references to the lexical bindings of the
962 function's free variables (i.e. those variables used in the
963 expression but defined outside it). When this function is applied
964 to different arguments later, the free variable bindings that were
965 captured in the closure are used to obtain the values of the free
966 variables to be used in the calculation. One useful property of
967 closures is the retention of internal variable values between
968 invocations, so permitting state to be maintained.
970 A @strong{simple closure} is a closure whose expression has no free
971 variables and hence no free variable bindings.
973 A simple closure is represented in LilyPond by a smob containing
974 the expression and a method to apply the expression to a passed
979 @unnumberedsubsec glyph
985 A @strong{glyph} is a particular graphical representation of a typographic
986 character, or a combination of two characters formating a ligature.
987 A set of glyphs with a single style and shape comprise a font, and
988 a set of fonts covering several styles and sizes comprise a typeface.
998 @unnumberedsubsec grob
1001 @cindex layout objects
1002 @cindex graphical objects
1004 LilyPond objects which represent items of notation in the printed
1005 output such as note heads, stems, slurs, ties, fingering, clefs,
1006 etc are called @q{Layout objects}, often known as @q{GRaphical
1007 OBjects}, or @strong{grobs} for short. They are represented by
1008 instances of the @code{Grob} class.
1012 @rlearning{Objects and interfaces},
1013 @rlearning{Naming conventions of objects and properties},
1014 @rlearning{Properties of layout objects}.
1016 Internals Reference:
1017 @rinternals{grob-interface},
1018 @rinternals{All layout objects}.
1022 @unnumberedsubsec immutable
1024 @cindex immutable objects
1025 @cindex immutable properties
1026 @cindex shared properties
1028 An @strong{immutable} object is one whose state cannot be modified
1029 after creation, in contrast to a mutable object, which can be
1030 modified after creation.
1032 In LilyPond, immutable or shared properties define the default
1033 style and behavior of grobs. They are shared between many objects.
1034 In apparent contradiction to the name, they can be changed using
1035 @code{\override} and @code{\revert}.
1042 @unnumberedsubsec interface
1045 @cindex grob-interface
1046 @cindex graphical object interfaces
1048 Actions and properties which are common to a number of grobs are
1049 grouped together in an object called a @code{grob-interface}, or
1050 just @q{interface} for short.
1054 @rlearning{Objects and interfaces},
1055 @rlearning{Naming conventions of objects and properties},
1056 @rlearning{Properties found in interfaces}.
1059 @ref{Layout interfaces}.
1061 Internals Reference:
1062 @rinternals{Graphical Object Interfaces}.
1066 @unnumberedsubsec lexer
1071 A @strong{lexer} is a program which converts a sequence of
1072 characters into a sequence of tokens, a process called lexical
1073 analysis. The LilyPond lexer converts the stream obtained from an
1074 input @file{.ly} file into a tokenized stream more suited to the
1075 next stage of processing - parsing, for which see @ref{parser}.
1076 The LilyPond lexer is built with Flex from the lexer file
1077 @file{lily/lexer.ll} which contains the lexical rules. This file
1078 is part of the source code and is not included in the LilyPond
1079 binary installation.
1083 @unnumberedsubsec mutable
1085 @cindex mutable objects
1086 @cindex mutable properties
1088 A @strong{mutable} object is one whose state can be modified after
1089 creation, in contrast to an immutable object, whose state is fixed
1090 at the time of creation.
1092 In LilyPond, mutable properties contain values that are specific to
1093 one grob. Typically, lists of other objects or results from
1094 computations are stored in mutable properties.
1101 @unnumberedsubsec output-def
1105 An instance of the @code{Output-def} class contains the methods and
1106 data structures associated with an output block. Instances are
1107 created for midi, layout and paper blocks.
1111 @unnumberedsubsec parser
1115 @cindex grammar for LilyPond
1118 A @strong{parser} analyzes the sequence of tokens produced by a
1119 lexer to determine its grammatical structure, grouping the tokens
1120 progressively into larger groupings according to the rules of the
1121 grammar. If the sequence of tokens is valid the end product is a
1122 tree of tokens whose root is the grammar's start symbol. If this
1123 cannot be achieved the file is invalid and an appropriate error
1124 message is produced. The syntactic groupings and the rules for
1125 constructing the groupings from their parts for the LilyPond syntax
1126 are defined in @file{lily/parser.yy} and shown in Backus Normal Form
1127 (BNF) in @ref{LilyPond grammar}. This file is used to build the
1128 parser during the program build by the parser generator, Bison. It
1129 is part of the source code and is not included in the LilyPond
1130 binary installation.
1133 @node parser variable
1134 @unnumberedsubsec parser variable
1136 @cindex parser variable
1137 @cindex Scheme variable
1138 @cindex global variable
1139 @cindex afterGraceFraction
1142 @cindex output-count
1143 @cindex output-suffix
1144 @cindex parseStringResult
1145 @cindex partCombineListener
1147 @cindex toplevel-bookparts
1148 @cindex toplevel-scores
1149 @cindex showLastLength
1150 @cindex showFirstLength
1152 These are variables defined directly in Scheme. Their direct
1153 use by users is strongly discouraged, because their scoping
1154 semantics can be confusing.
1156 When the value of such a variable is changed in a @code{.ly} file,
1157 the change is global, and unless explicitly reverted, the new value
1158 will persist to the end of the file, affecting subsequent
1159 @code{\score} blocks as well as external files added with the
1160 @code{\include} command. This can lead to unintended consequences
1161 and in complex typesetting projects the consequent errors can be
1162 difficult to track down.
1164 LilyPond uses the following parser variables:
1167 @item afterGraceFraction
1172 @item parseStringResult
1173 @item partCombineListener
1175 @item toplevel-bookparts
1176 @item toplevel-scores
1177 @item showLastLength
1178 @item showFirstLength
1183 @unnumberedsubsec prob
1186 @cindex property object
1188 PRoperty OBjects, or @strong{probs} for short, are instances of
1189 the @code{Prob} class, a simple base class for objects which have
1190 mutable and immutable property alists and the methods to manipulate
1191 them. The @code{Music} and @code{Stream_event} classes derive from
1192 @code{Prob}. Instances of the @code{Prob} class are also created
1193 to hold the formatted content of system grobs and titling blocks
1197 @node simple closure
1198 @unnumberedsubsec simple closure
1204 @unnumberedsubsec smob
1207 @cindex Scheme object
1209 @strong{Smobs}, or ScheMe OBjects, are part of the mechanism used
1210 by Guile to export C and C++ objects to Scheme code. In LilyPond,
1211 smobs are created from C++ objects through macros. There are two
1212 types of smob objects: simple smobs, intended for simple immutable
1213 objects like numbers, and complex smobs, used for objects with
1214 identities. If you have access to the LilyPond sources, more
1215 information can be found in @file{lily/includes/smob.hh}.
1218 @unnumberedsubsec stencil
1222 An instance of the @strong{stencil} class holds the information
1223 required to print a typographical object. It is a simple smob
1224 containing a confining box, which defines the vertical and
1225 horizontal extents of the object, and a Scheme expression which
1226 will print the object when evaluated. Stencils may be combined
1227 to form more complex stencils defined by a tree of Scheme
1228 expressions formed from the Scheme expressions of the component
1231 The @code{stencil} property, which connects a grob to its stencil,
1232 is defined in the @code{grob-interface} interface.
1235 Internals Reference:
1236 @rinternals{grob-interface}.
1239 @node All context properties
1240 @appendixsec All context properties
1242 @include context-properties.tely
1245 @node Layout properties
1246 @appendixsec Layout properties
1248 @include layout-properties.tely
1251 @node Available music functions
1252 @appendixsec Available music functions
1254 @include identifiers.tely
1257 @node Scheme functions
1258 @appendixsec Scheme functions
1260 @include scheme-functions.tely