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
16 @c Please do not delete the following @ignore block.
18 Note for editors and translators: In the following menu, two entries
19 are needed to link to a pair of automatically generated sections.
20 Please keep them and, if using emacs, do not run
21 texinfo-all-menus-update without manually restoring them back. These
24 * Text markup commands::
25 * Text markup list commands::
27 and they should go just after
31 * List of articulations::
36 * Common chord modifiers::
37 * Predefined fretboard diagrams::
42 * Text markup commands::
43 * Text markup list commands::
44 * List of articulations::
46 * Technical glossary::
47 * All context properties::
49 * Available music functions::
55 @node Chord name chart
56 @appendixsec Chord name chart
58 The following charts shows two standard systems for printing chord
59 names, along with the pitches they represent.
61 @lilypondfile{chord-names-jazz.ly}
63 @node Common chord modifiers
64 @appendixsec Common chord modifiers
66 The following table shows chord modifiers that can be used in
67 @code{\chordmode} to generate standard chord structures.
69 @multitable @columnfractions .2 .3 .2 .2
84 Major third, perfect fifth
88 @lilypond[line-width=3\cm,noragged-right, notime]
97 Minor third, perfect fifth
101 @lilypond[line-width=3\cm,noragged-right, notime]
110 Major third, augmented fifth
114 @lilypond[line-width=3\cm,noragged-right, notime]
123 Minor third, diminished fifth
127 @lilypond[line-width=3\cm,noragged-right, notime]
136 Major triad, minor seventh
140 @lilypond[line-width=3\cm,noragged-right, notime]
149 Major triad, major seventh
151 @code{maj7} or @code{maj}
153 @lilypond[line-width=3\cm,noragged-right, notime]
162 Minor triad, minor seventh
166 @lilypond[line-width=3\cm,noragged-right, notime]
175 Diminished triad, diminished seventh
179 @lilypond[line-width=3\cm,noragged-right, notime]
188 Augmented triad, minor seventh
192 @lilypond[line-width=3\cm,noragged-right, notime]
199 Half-diminished seventh
201 Diminished triad, minor seventh
205 @lilypond[line-width=3\cm,noragged-right, notime]
214 Minor triad, major seventh
218 @lilypond[line-width=3\cm,noragged-right, notime]
231 @lilypond[line-width=3\cm,noragged-right, notime]
244 @lilypond[line-width=3\cm,noragged-right, notime]
253 Dominant seventh, major ninth
257 @lilypond[line-width=3\cm,noragged-right, notime]
266 Major seventh, major ninth
270 @lilypond[line-width=3\cm,noragged-right, notime]
279 Minor seventh, major ninth
283 @lilypond[line-width=3\cm,noragged-right, notime]
292 Dominant ninth, perfect eleventh
296 @lilypond[line-width=3\cm,noragged-right, notime]
305 Major ninth, perfect eleventh
309 @lilypond[line-width=3\cm,noragged-right, notime]
318 Minor ninth, perfect eleventh
322 @lilypond[line-width=3\cm,noragged-right, notime]
331 Dominant ninth, major thirteenth
335 @lilypond[line-width=3\cm,noragged-right, notime]
344 Dominant eleventh, major thirteenth
348 @lilypond[line-width=3\cm,noragged-right, notime]
357 Major eleventh, major thirteenth
361 @lilypond[line-width=3\cm,noragged-right, notime]
370 Minor eleventh, major thirteenth
374 @lilypond[line-width=3\cm,noragged-right, notime]
383 Major second, perfect fifth
387 @lilypond[line-width=3\cm,noragged-right, notime]
396 Perfect fourth, perfect fifth
400 @lilypond[line-width=3\cm,noragged-right, notime]
409 @node Predefined fretboard diagrams
410 @appendixsec Predefined fretboard diagrams
412 The chart below shows the predefined fretboard diagrams for guitar.
414 @lilypondfile{display-predefined-fretboards.ly}
416 The chart below shows the predefined fretboard diagrams for ukulele.
418 @lilypondfile{display-predefined-ukulele-fretboards.ly}
420 @node MIDI instruments
421 @appendixsec MIDI instruments
423 The following is a list of names that can be used for the
424 @code{midiInstrument} property.
427 acoustic grand contrabass lead 7 (fifths)
428 bright acoustic tremolo strings lead 8 (bass+lead)
429 electric grand pizzicato strings pad 1 (new age)
430 honky-tonk orchestral harp pad 2 (warm)
431 electric piano 1 timpani pad 3 (polysynth)
432 electric piano 2 string ensemble 1 pad 4 (choir)
433 harpsichord string ensemble 2 pad 5 (bowed)
434 clav synthstrings 1 pad 6 (metallic)
435 celesta synthstrings 2 pad 7 (halo)
436 glockenspiel choir aahs pad 8 (sweep)
437 music box voice oohs fx 1 (rain)
438 vibraphone synth voice fx 2 (soundtrack)
439 marimba orchestra hit fx 3 (crystal)
440 xylophone trumpet fx 4 (atmosphere)
441 tubular bells trombone fx 5 (brightness)
442 dulcimer tuba fx 6 (goblins)
443 drawbar organ muted trumpet fx 7 (echoes)
444 percussive organ french horn fx 8 (sci-fi)
445 rock organ brass section sitar
446 church organ synthbrass 1 banjo
447 reed organ synthbrass 2 shamisen
448 accordion soprano sax koto
449 harmonica alto sax kalimba
450 concertina tenor sax bagpipe
451 acoustic guitar (nylon) baritone sax fiddle
452 acoustic guitar (steel) oboe shanai
453 electric guitar (jazz) english horn tinkle bell
454 electric guitar (clean) bassoon agogo
455 electric guitar (muted) clarinet steel drums
456 overdriven guitar piccolo woodblock
457 distorted guitar flute taiko drum
458 guitar harmonics recorder melodic tom
459 acoustic bass pan flute synth drum
460 electric bass (finger) blown bottle reverse cymbal
461 electric bass (pick) shakuhachi guitar fret noise
462 fretless bass whistle breath noise
463 slap bass 1 ocarina seashore
464 slap bass 2 lead 1 (square) bird tweet
465 synth bass 1 lead 2 (sawtooth) telephone ring
466 synth bass 2 lead 3 (calliope) helicopter
467 violin lead 4 (chiff) applause
468 viola lead 5 (charang) gunshot
474 @appendixsec List of colors
476 @subsubheading Normal colors
478 Usage syntax is detailed in @ref{Coloring objects}.
480 @cindex List of colors
481 @cindex Colors, list of
484 black white red green
485 blue cyan magenta yellow
486 grey darkred darkgreen darkblue
487 darkcyan darkmagenta darkyellow
491 @subsubheading X color names
493 X color names come several variants:
495 Any name that is spelled as a single word with capitalization
496 (e.g. @q{LightSlateBlue}) can also be spelled as space separated
497 words without capitalization (e.g. @q{light slate blue}).
499 The word @q{grey} can always be spelled @q{gray} (e.g. @q{DarkSlateGray}).
501 Some names can take a numerical suffix (e.g. @q{LightSalmon4}).
504 @subsubheading Color Names without a numerical suffix:
507 snow GhostWhite WhiteSmoke gainsboro FloralWhite
508 OldLace linen AntiqueWhite PapayaWhip BlanchedAlmond
509 bisque PeachPuff NavajoWhite moccasin cornsilk
510 ivory LemonChiffon seashell honeydew MintCream
511 azure AliceBlue lavender LavenderBlush MistyRose
512 white black DarkSlateGrey DimGrey SlateGrey
513 LightSlateGrey grey LightGrey MidnightBlue navy
514 NavyBlue CornflowerBlue DarkSlateBlue SlateBlue MediumSlateBlue
515 LightSlateBlue MediumBlue RoyalBlue blue DodgerBlue
516 DeepSkyBlue SkyBlue LightSkyBlue SteelBlue LightSteelBlue
517 LightBlue PowderBlue PaleTurquoise DarkTurquoise MediumTurquoise
518 turquoise cyan LightCyan CadetBlue MediumAquamarine
519 aquamarine DarkGreen DarkOliveGreen DarkSeaGreen SeaGreen
520 MediumSeaGreen LightSeaGreen PaleGreen SpringGreen LawnGreen
521 green chartreuse MediumSpringGreen GreenYellow LimeGreen
522 YellowGreen ForestGreen OliveDrab DarkKhaki khaki
523 PaleGoldenrod LightGoldenrodYellow LightYellow yellow gold
524 LightGoldenrod goldenrod DarkGoldenrod RosyBrown IndianRed
525 SaddleBrown sienna peru burlywood beige
526 wheat SandyBrown tan chocolate firebrick
527 brown DarkSalmon salmon LightSalmon orange
528 DarkOrange coral LightCoral tomato OrangeRed
529 red HotPink DeepPink pink LightPink
530 PaleVioletRed maroon MediumVioletRed VioletRed magenta
531 violet plum orchid MediumOrchid DarkOrchid
532 DarkViolet BlueViolet purple MediumPurple thistle
533 DarkGrey DarkBlue DarkCyan DarkMagenta DarkRed
538 @subsubheading Color names with a numerical suffix
540 In the following names the suffix N can be a number in the range 1-4:
543 snowN seashellN AntiqueWhiteN bisqueN PeachPuffN
544 NavajoWhiteN LemonChiffonN cornsilkN ivoryN honeydewN
545 LavenderBlushN MistyRoseN azureN SlateBlueN RoyalBlueN
546 blueN DodgerBlueN SteelBlueN DeepSkyBlueN SkyBlueN
547 LightSkyBlueN LightSteelBlueN LightBlueN LightCyanN PaleTurquoiseN
548 CadetBlueN turquoiseN cyanN aquamarineN DarkSeaGreenN
549 SeaGreenN PaleGreenN SpringGreenN greenN chartreuseN
550 OliveDrabN DarkOliveGreenN khakiN LightGoldenrodN LightYellowN
551 yellowN goldN goldenrodN DarkGoldenrodN RosyBrownN
552 IndianRedN siennaN burlywoodN wheatN tanN
553 chocolateN firebrickN brownN salmonN LightSalmonN
554 orangeN DarkOrangeN coralN tomatoN OrangeRedN
555 redN DeepPinkN HotPinkN pinkN LightPinkN
556 PaleVioletRedN maroonN VioletRedN magentaN orchidN
557 plumN MediumOrchidN DarkOrchidN purpleN MediumPurpleN
562 @subsubheading Grey Scale
564 A grey scale can be obtained using:
571 Where N is in the range 0-100.
575 @appendixsec The Feta font
580 The following symbols are available in the Emmentaler font and may be
581 accessed directly using text markup with the name of the glyph
582 as shown in the tables below,
583 such as @code{g^\markup @{\musicglyph #"scripts.segno" @}} or
584 @code{\markup @{\musicglyph #"five"@}}. For more information,
585 see @ref{Formatting text}.
590 * Time Signature glyphs::
592 * Accidental glyphs::
593 * Default Notehead glyphs::
594 * Special Notehead glyphs::
595 * Shape-note Notehead glyphs::
602 * Bracket-tip glyphs::
609 * Neomensural glyphs::
616 @unnumberedsubsec Clef glyphs
619 \include "font-table.ly"
620 \markuplines \override-lines #'(word-space . 4)
625 @node Time Signature glyphs
626 @unnumberedsubsec Time Signature glyphs
629 \include "font-table.ly"
630 \markuplines \override-lines #'(word-space . 4)
636 @unnumberedsubsec Number glyphs
639 \include "font-table.ly"
640 \markuplines \override-lines #'(word-space . 4)
645 @node Accidental glyphs
646 @unnumberedsubsec Accidental glyphs
649 \include "font-table.ly"
650 \markuplines \override-lines #'(word-space . 4)
651 \doc-chars #accidentals
655 @node Default Notehead glyphs
656 @unnumberedsubsec Default Notehead glyphs
659 \include "font-table.ly"
660 \markuplines \override-lines #'(word-space . 4)
661 \doc-chars #default-noteheads
665 @node Special Notehead glyphs
666 @unnumberedsubsec Special Notehead glyphs
669 \include "font-table.ly"
670 \markuplines \override-lines #'(word-space . 4)
671 \doc-chars #special-noteheads
675 @node Shape-note Notehead glyphs
676 @unnumberedsubsec Shape-note Notehead glyphs
679 \include "font-table.ly"
680 \markuplines \override-lines #'(word-space . 4)
681 \doc-chars #shape-note-noteheads
686 @unnumberedsubsec Rest glyphs
689 \include "font-table.ly"
690 \markuplines \override-lines #'(word-space . 4)
696 @unnumberedsubsec Flag glyphs
699 \include "font-table.ly"
700 \markuplines \override-lines #'(word-space . 4)
706 @unnumberedsubsec Dot glyphs
709 \include "font-table.ly"
710 \markuplines \override-lines #'(word-space . 4)
716 @unnumberedsubsec Dynamic glyphs
719 \include "font-table.ly"
720 \markuplines \override-lines #'(word-space . 4)
726 @unnumberedsubsec Script glyphs
729 \include "font-table.ly"
730 \markuplines \override-lines #'(word-space . 4)
735 @node Arrowhead glyphs
736 @unnumberedsubsec Arrowhead glyphs
739 \include "font-table.ly"
740 \markuplines \override-lines #'(word-space . 4)
741 \doc-chars #arrowheads
745 @node Bracket-tip glyphs
746 @unnumberedsubsec Bracket-tip glyphs
749 \include "font-table.ly"
750 \markuplines \override-lines #'(word-space . 4)
751 \doc-chars #brackettips
756 @unnumberedsubsec Pedal glyphs
759 \include "font-table.ly"
760 \markuplines \override-lines #'(word-space . 4)
765 @node Accordion glyphs
766 @unnumberedsubsec Accordion glyphs
769 \include "font-table.ly"
770 \markuplines \override-lines #'(word-space . 4)
771 \doc-chars #accordion
775 @node Vaticana glyphs
776 @unnumberedsubsec Vaticana glyphs
779 \include "font-table.ly"
780 \markuplines \override-lines #'(word-space . 4)
785 @node Medicaea glyphs
786 @unnumberedsubsec Medicaea glyphs
789 \include "font-table.ly"
790 \markuplines \override-lines #'(word-space . 4)
795 @node Hufnagel glyphs
796 @unnumberedsubsec Hufnagel glyphs
799 \include "font-table.ly"
800 \markuplines \override-lines #'(word-space . 4)
805 @node Mensural glyphs
806 @unnumberedsubsec Mensural glyphs
809 \include "font-table.ly"
810 \markuplines \override-lines #'(word-space . 4)
815 @node Neomensural glyphs
816 @unnumberedsubsec Neomensural glyphs
819 \include "font-table.ly"
820 \markuplines \override-lines #'(word-space . 4)
821 \doc-chars #neomensural
825 @node Petrucci glyphs
826 @unnumberedsubsec Petrucci glyphs
829 \include "font-table.ly"
830 \markuplines \override-lines #'(word-space . 4)
835 @node Solesmes glyphs
836 @unnumberedsubsec Solesmes glyphs
839 \include "font-table.ly"
840 \markuplines \override-lines #'(word-space . 4)
845 @node Note head styles
846 @appendixsec Note head styles
848 @cindex note head styles
849 The following styles may be used for note heads.
851 @lilypondfile[noindent]{note-head-style.ly}
853 @include markup-commands.tely
855 @include markup-list-commands.tely
857 @node List of articulations
858 @appendixsec List of articulations
862 @cindex staccatissimo
872 @cindex organ pedal marks
886 @cindex thumb marking
892 @lilypondfile[quote,texidoc]{script-chart.ly}
895 @node Percussion notes
896 @appendixsec Percussion notes
898 @lilypondfile[quote]{percussion-chart.ly}
901 @node Technical glossary
902 @appendixsec Technical glossary
904 A glossary of the technical terms and concepts used internally in
905 LilyPond. These terms may appear in the manuals, on mailing lists
906 or in the source code.
928 @unnumberedsubsec alist
931 @cindex association list
933 An association list or @strong{alist} for short is a Scheme pair
934 which associates a value with a key: @w{@code{(key . value)}}. For
935 example, in @file{scm/lily.scm}, the alist
936 @w{@qq{type-p-name-alist}} associates certain type predicates
937 (e.g.@tie{}@code{ly:music?}) with names (e.g.@tie{}@qq{music}) so
938 that type-check failures can be reported with a console message that
939 includes the name of the expected type predicate.
942 @unnumberedsubsec callback
946 A @strong{callback} is a routine, function or method whose reference is
947 passed as an argument in a call to another routine, so allowing
948 the called routine to invoke it. The technique enables a lower-
949 level software layer to call a function defined in a higher
950 layer. Callbacks are used extensively in LilyPond to permit
951 user-level Scheme code to define how many low-level actions are
956 @unnumberedsubsec closure
959 @cindex simple closure
961 In Scheme, a @strong{closure} is created when a function, usually
962 a lambda expression, is passed as a variable. The closure contains
963 the function's code plus references to the lexical bindings of the
964 function's free variables (i.e. those variables used in the
965 expression but defined outside it). When this function is applied
966 to different arguments later, the free variable bindings that were
967 captured in the closure are used to obtain the values of the free
968 variables to be used in the calculation. One useful property of
969 closures is the retention of internal variable values between
970 invocations, so permitting state to be maintained.
972 A @strong{simple closure} is a closure whose expression has no free
973 variables and hence no free variable bindings.
975 A simple closure is represented in LilyPond by a smob containing
976 the expression and a method to apply the expression to a passed
981 @unnumberedsubsec glyph
987 A @strong{glyph} is a particular graphical representation of a typographic
988 character, or a combination of two characters formating a ligature.
989 A set of glyphs with a single style and shape comprise a font, and
990 a set of fonts covering several styles and sizes comprise a typeface.
1000 @unnumberedsubsec grob
1003 @cindex layout objects
1004 @cindex graphical objects
1006 LilyPond objects which represent items of notation in the printed
1007 output such as note heads, stems, slurs, ties, fingering, clefs,
1008 etc are called @q{Layout objects}, often known as @q{GRaphical
1009 OBjects}, or @strong{grobs} for short. They are represented by
1010 instances of the @code{Grob} class.
1014 @rlearning{Objects and interfaces},
1015 @rlearning{Naming conventions of objects and properties},
1016 @rlearning{Properties of layout objects}.
1018 Internals Reference:
1019 @rinternals{grob-interface},
1020 @rinternals{All layout objects}.
1024 @unnumberedsubsec immutable
1026 @cindex immutable objects
1027 @cindex immutable properties
1028 @cindex shared properties
1030 An @strong{immutable} object is one whose state cannot be modified
1031 after creation, in contrast to a mutable object, which can be
1032 modified after creation.
1034 In LilyPond, immutable or shared properties define the default
1035 style and behavior of grobs. They are shared between many objects.
1036 In apparent contradiction to the name, they can be changed using
1037 @code{\override} and @code{\revert}.
1044 @unnumberedsubsec interface
1047 @cindex grob-interface
1048 @cindex graphical object interfaces
1050 Actions and properties which are common to a number of grobs are
1051 grouped together in an object called a @code{grob-interface}, or
1052 just @q{interface} for short.
1056 @rlearning{Objects and interfaces},
1057 @rlearning{Naming conventions of objects and properties},
1058 @rlearning{Properties found in interfaces}.
1061 @ref{Layout interfaces}.
1063 Internals Reference:
1064 @rinternals{Graphical Object Interfaces}.
1068 @unnumberedsubsec lexer
1073 A @strong{lexer} is a program which converts a sequence of
1074 characters into a sequence of tokens, a process called lexical
1075 analysis. The LilyPond lexer converts the stream obtained from an
1076 input @file{.ly} file into a tokenized stream more suited to the
1077 next stage of processing - parsing, for which see @ref{parser}.
1078 The LilyPond lexer is built with Flex from the lexer file
1079 @file{lily/lexer.ll} which contains the lexical rules. This file
1080 is part of the source code and is not included in the LilyPond
1081 binary installation.
1085 @unnumberedsubsec mutable
1087 @cindex mutable objects
1088 @cindex mutable properties
1090 A @strong{mutable} object is one whose state can be modified after
1091 creation, in contrast to an immutable object, whose state is fixed
1092 at the time of creation.
1094 In LilyPond, mutable properties contain values that are specific to
1095 one grob. Typically, lists of other objects or results from
1096 computations are stored in mutable properties.
1103 @unnumberedsubsec output-def
1107 An instance of the @code{Output-def} class contains the methods and
1108 data structures associated with an output block. Instances are
1109 created for midi, layout and paper blocks.
1113 @unnumberedsubsec parser
1117 @cindex grammar for LilyPond
1120 A @strong{parser} analyzes the sequence of tokens produced by a
1121 lexer to determine its grammatical structure, grouping the tokens
1122 progressively into larger groupings according to the rules of the
1123 grammar. If the sequence of tokens is valid the end product is a
1124 tree of tokens whose root is the grammar's start symbol. If this
1125 cannot be achieved the file is invalid and an appropriate error
1126 message is produced. The syntactic groupings and the rules for
1127 constructing the groupings from their parts for the LilyPond syntax
1128 are defined in @file{lily/parser.yy} and shown in Backus Normal Form
1129 (BNF) in @ref{LilyPond grammar}. This file is used to build the
1130 parser during the program build by the parser generator, Bison. It
1131 is part of the source code and is not included in the LilyPond
1132 binary installation.
1135 @node parser variable
1136 @unnumberedsubsec parser variable
1138 @cindex parser variable
1139 @cindex Scheme variable
1140 @cindex global variable
1141 @cindex afterGraceFraction
1144 @cindex output-count
1145 @cindex output-suffix
1146 @cindex parseStringResult
1147 @cindex partCombineListener
1149 @cindex toplevel-bookparts
1150 @cindex toplevel-scores
1151 @cindex showLastLength
1152 @cindex showFirstLength
1154 These are variables defined directly in Scheme. Their direct
1155 use by users is strongly discouraged, because their scoping
1156 semantics can be confusing.
1158 When the value of such a variable is changed in a @code{.ly} file,
1159 the change is global, and unless explicitly reverted, the new value
1160 will persist to the end of the file, affecting subsequent
1161 @code{\score} blocks as well as external files added with the
1162 @code{\include} command. This can lead to unintended consequences
1163 and in complex typesetting projects the consequent errors can be
1164 difficult to track down.
1166 LilyPond uses the following parser variables:
1169 @item afterGraceFraction
1174 @item parseStringResult
1175 @item partCombineListener
1177 @item toplevel-bookparts
1178 @item toplevel-scores
1179 @item showLastLength
1180 @item showFirstLength
1185 @unnumberedsubsec prob
1188 @cindex property object
1190 PRoperty OBjects, or @strong{probs} for short, are instances of
1191 the @code{Prob} class, a simple base class for objects which have
1192 mutable and immutable property alists and the methods to manipulate
1193 them. The @code{Music} and @code{Stream_event} classes derive from
1194 @code{Prob}. Instances of the @code{Prob} class are also created
1195 to hold the formatted content of system grobs and titling blocks
1199 @node simple closure
1200 @unnumberedsubsec simple closure
1206 @unnumberedsubsec smob
1209 @cindex Scheme object
1211 @strong{Smobs}, or ScheMe OBjects, are part of the mechanism used
1212 by Guile to export C and C++ objects to Scheme code. In LilyPond,
1213 smobs are created from C++ objects through macros. There are two
1214 types of smob objects: simple smobs, intended for simple immutable
1215 objects like numbers, and complex smobs, used for objects with
1216 identities. If you have access to the LilyPond sources, more
1217 information can be found in @file{lily/includes/smob.hh}.
1220 @unnumberedsubsec stencil
1224 An instance of the @strong{stencil} class holds the information
1225 required to print a typographical object. It is a simple smob
1226 containing a confining box, which defines the vertical and
1227 horizontal extents of the object, and a Scheme expression which
1228 will print the object when evaluated. Stencils may be combined
1229 to form more complex stencils defined by a tree of Scheme
1230 expressions formed from the Scheme expressions of the component
1233 The @code{stencil} property, which connects a grob to its stencil,
1234 is defined in the @code{grob-interface} interface.
1237 Internals Reference:
1238 @rinternals{grob-interface}.
1241 @node All context properties
1242 @appendixsec All context properties
1244 @include context-properties.tely
1247 @node Layout properties
1248 @appendixsec Layout properties
1250 @include layout-properties.tely
1253 @node Available music functions
1254 @appendixsec Available music functions
1256 @include identifiers.tely
1259 @node Scheme functions
1260 @appendixsec Scheme functions
1262 @include scheme-functions.tely