]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/notation/notation-appendices.itely
76d308f65483e8e80fede8cd4b20d8f3f6f4bde8
[lilypond.git] / Documentation / notation / notation-appendices.itely
1 @c -*- coding: utf-8; mode: texinfo; -*-
2
3 @ignore
4     Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  See TRANSLATION for details.
8 @end ignore
9
10 @c \version "2.12.0"
11
12 @node Notation manual tables
13 @appendix Notation manual tables
14
15 @c Please do not delete the following @ignore block.
16 @ignore
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
21 menu entries are:
22
23 * Text markup commands::
24 * Text markup list commands::
25
26 and they should go just after
27 * Note head styles::
28
29 and just before
30 * List of articulations::
31 @end ignore
32
33 @menu
34 * Chord name chart::
35 * Common chord modifiers::
36 * Predefined fretboard diagrams::
37 * MIDI instruments::
38 * List of colors::
39 * The Feta font::
40 * Note head styles::
41 * Text markup commands::
42 * Text markup list commands::
43 * List of articulations::
44 * Percussion notes::
45 * Technical glossary::
46 * All context properties::
47 * Layout properties::
48 * Available music functions::
49 * Scheme functions::
50 @end menu
51
52
53
54 @node Chord name chart
55 @appendixsec Chord name chart
56
57 The following charts shows two standard systems for printing chord
58 names, along with the pitches they represent.
59
60 @lilypondfile{chord-names-jazz.ly}
61
62 @node Common chord modifiers
63 @appendixsec Common chord modifiers
64
65 The following table shows chord modifiers that can be used in
66 @code{\chordmode} to generate standard chord structures.
67
68 @multitable @columnfractions .2 .3 .2 .2
69
70 @item
71 @b{Chord type}
72 @tab
73 @b{Intervals}
74 @tab
75 @b{Modifier(s)}
76 @tab
77 @b{Example}
78
79
80 @item
81 Major
82 @tab
83 Major third, perfect fifth
84 @tab
85 @code{5} or nothing
86 @tab
87 @lilypond[line-width=3\cm,noragged-right, notime]
88 \chordmode {
89   c1:5
90 }
91 @end lilypond
92
93 @item
94 Minor
95 @tab
96 Minor third, perfect fifth
97 @tab
98 @code{m} or @code{m5}
99 @tab
100 @lilypond[line-width=3\cm,noragged-right, notime]
101 \chordmode {
102   c1:m
103 }
104 @end lilypond
105
106 @item
107 Augmented
108 @tab
109 Major third, augmented fifth
110 @tab
111 @code{aug}
112 @tab
113 @lilypond[line-width=3\cm,noragged-right, notime]
114 \chordmode {
115   c1:aug
116 }
117 @end lilypond
118
119 @item
120 Diminished
121 @tab
122 Minor third, diminished fifth
123 @tab
124 @code{dim}
125 @tab
126 @lilypond[line-width=3\cm,noragged-right, notime]
127 \chordmode {
128   c1:dim
129 }
130 @end lilypond
131
132 @item
133 Dominant seventh
134 @tab
135 Major triad, minor seventh
136 @tab
137 @code{7}
138 @tab
139 @lilypond[line-width=3\cm,noragged-right, notime]
140 \chordmode {
141   c1:7
142 }
143 @end lilypond
144
145 @item
146 Major seventh
147 @tab
148 Major triad, major seventh
149 @tab
150 @code{maj7} or @code{maj}
151 @tab
152 @lilypond[line-width=3\cm,noragged-right, notime]
153 \chordmode {
154   c1:maj7
155 }
156 @end lilypond
157
158 @item
159 Minor seventh
160 @tab
161 Minor triad, minor seventh
162 @tab
163 @code{m7}
164 @tab
165 @lilypond[line-width=3\cm,noragged-right, notime]
166 \chordmode {
167   c1:m7
168 }
169 @end lilypond
170
171 @item
172 Diminished seventh
173 @tab
174 Diminished triad, diminished seventh
175 @tab
176 @code{dim7}
177 @tab
178 @lilypond[line-width=3\cm,noragged-right, notime]
179 \chordmode {
180   c1:dim7
181 }
182 @end lilypond
183
184 @item
185 Augmented seventh
186 @tab
187 Augmented triad, minor seventh
188 @tab
189 @code{aug7}
190 @tab
191 @lilypond[line-width=3\cm,noragged-right, notime]
192 \chordmode {
193   c1:aug7
194 }
195 @end lilypond
196
197 @item
198 Half-diminished seventh
199 @tab
200 Diminished triad, minor seventh
201 @tab
202 @code{m7.5-}
203 @tab
204 @lilypond[line-width=3\cm,noragged-right, notime]
205 \chordmode {
206   c1:m7.5-
207 }
208 @end lilypond
209
210 @item
211 Minor-major seventh
212 @tab
213 Minor triad, major seventh
214 @tab
215 @code{maj7.5-}
216 @tab
217 @lilypond[line-width=3\cm,noragged-right, notime]
218 \chordmode {
219   c1:maj7.5-
220 }
221 @end lilypond
222
223 @item
224 Major sixth
225 @tab
226 Major triad, sixth
227 @tab
228 @code{6}
229 @tab
230 @lilypond[line-width=3\cm,noragged-right, notime]
231 \chordmode {
232   c1:6
233 }
234 @end lilypond
235
236 @item
237 Minor sixth
238 @tab
239 Minor triad, sixth
240 @tab
241 @code{m6}
242 @tab
243 @lilypond[line-width=3\cm,noragged-right, notime]
244 \chordmode {
245   c1:m6
246 }
247 @end lilypond
248
249 @item
250 Dominant ninth
251 @tab
252 Dominant seventh, major ninth
253 @tab
254 @code{9}
255 @tab
256 @lilypond[line-width=3\cm,noragged-right, notime]
257 \chordmode {
258   c1:9
259 }
260 @end lilypond
261
262 @item
263 Major ninth
264 @tab
265 Major seventh, major ninth
266 @tab
267 @code{maj9}
268 @tab
269 @lilypond[line-width=3\cm,noragged-right, notime]
270 \chordmode {
271   c1:maj9
272 }
273 @end lilypond
274
275 @item
276 Minor ninth
277 @tab
278 Minor seventh, major ninth
279 @tab
280 @code{m9}
281 @tab
282 @lilypond[line-width=3\cm,noragged-right, notime]
283 \chordmode {
284   c1:m9
285 }
286 @end lilypond
287
288 @item
289 Dominant eleventh
290 @tab
291 Dominant ninth, perfect eleventh
292 @tab
293 @code{11}
294 @tab
295 @lilypond[line-width=3\cm,noragged-right, notime]
296 \chordmode {
297   c1:11
298 }
299 @end lilypond
300
301 @item
302 Major eleventh
303 @tab
304 Major ninth, perfect eleventh
305 @tab
306 @code{maj11}
307 @tab
308 @lilypond[line-width=3\cm,noragged-right, notime]
309 \chordmode {
310   c1:maj11
311 }
312 @end lilypond
313
314 @item
315 Minor eleventh
316 @tab
317 Minor ninth, perfect eleventh
318 @tab
319 @code{m11}
320 @tab
321 @lilypond[line-width=3\cm,noragged-right, notime]
322 \chordmode {
323   c1:m11
324 }
325 @end lilypond
326
327 @item
328 Dominant thirteenth
329 @tab
330 Dominant ninth, major thirteenth
331 @tab
332 @code{13}
333 @tab
334 @lilypond[line-width=3\cm,noragged-right, notime]
335 \chordmode {
336   c1:13
337 }
338 @end lilypond
339
340 @item
341 Dominant thirteenth
342 @tab
343 Dominant eleventh, major thirteenth
344 @tab
345 @code{13.11}
346 @tab
347 @lilypond[line-width=3\cm,noragged-right, notime]
348 \chordmode {
349   c1:13.11
350 }
351 @end lilypond
352
353 @item
354 Major thirteenth
355 @tab
356 Major eleventh, major thirteenth
357 @tab
358 @code{maj13.11}
359 @tab
360 @lilypond[line-width=3\cm,noragged-right, notime]
361 \chordmode {
362   c1:maj13.11
363 }
364 @end lilypond
365
366 @item
367 Minor thirteenth
368 @tab
369 Minor eleventh, major thirteenth
370 @tab
371 @code{m13.11}
372 @tab
373 @lilypond[line-width=3\cm,noragged-right, notime]
374 \chordmode {
375   c1:m13.11
376 }
377 @end lilypond
378
379 @item
380 Suspended second
381 @tab
382 Major second, perfect fifth
383 @tab
384 @code{sus2}
385 @tab
386 @lilypond[line-width=3\cm,noragged-right, notime]
387 \chordmode {
388   c1:sus2
389 }
390 @end lilypond
391
392 @item
393 Suspended fourth
394 @tab
395 Perfect fourth, perfect fifth
396 @tab
397 @code{sus4}
398 @tab
399 @lilypond[line-width=3\cm,noragged-right, notime]
400 \chordmode {
401   c1:sus4
402 }
403 @end lilypond
404
405
406 @end multitable
407
408 @node Predefined fretboard diagrams
409 @appendixsec Predefined fretboard diagrams
410
411 The chart below shows the predefined fretboard diagrams for guitar.
412
413 @lilypondfile{display-predefined-fretboards.ly}
414
415 The chart below shows the predefined fretboard diagrams for ukulele.
416
417 @lilypondfile{display-predefined-ukulele-fretboards.ly}
418
419 @node MIDI instruments
420 @appendixsec MIDI instruments
421
422 The following is a list of names that can be used for the
423 @code{midiInstrument} property.
424
425 @example
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
468 cello                     lead 6 (voice)
469 @end example
470
471
472 @node List of colors
473 @appendixsec List of colors
474
475 @subsubheading Normal colors
476
477 Usage syntax is detailed in @ref{Coloring objects}.
478
479 @cindex List of colors
480 @cindex Colors, list of
481
482 @verbatim
483 black       white          red         green
484 blue        cyan           magenta     yellow
485 grey        darkred        darkgreen   darkblue
486 darkcyan    darkmagenta    darkyellow
487 @end verbatim
488
489
490 @subsubheading X color names
491
492 X color names come several variants:
493
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}).
497
498 The word @q{grey} can always be spelled @q{gray} (e.g. @q{DarkSlateGray}).
499
500 Some names can take a numerical suffix (e.g. @q{LightSalmon4}).
501
502
503 @subsubheading Color Names without a numerical suffix:
504
505 @verbatim
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
533 LightGreen
534 @end verbatim
535
536
537 @subsubheading Color names with a numerical suffix
538
539 In the following names the suffix N can be a number in the range 1-4:
540
541 @verbatim
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
557 thistleN
558 @end verbatim
559
560
561 @subsubheading Grey Scale
562
563 A grey scale can be obtained using:
564
565 @example
566 greyN
567 @end example
568
569 @noindent
570 Where N is in the range 0-100.
571
572
573 @node The Feta font
574 @appendixsec The Feta font
575
576 @cindex Feta font
577 @cindex Font, Feta
578
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}.
585
586
587 @menu
588 * Clef glyphs::
589 * Time Signature glyphs::
590 * Number glyphs::
591 * Accidental glyphs::
592 * Default Notehead glyphs::
593 * Special Notehead glyphs::
594 * Shape-note Notehead glyphs::
595 * Rest glyphs::
596 * Flag glyphs::
597 * Dot glyphs::
598 * Dynamic glyphs::
599 * Script glyphs::
600 * Arrowhead glyphs::
601 * Bracket-tip glyphs::
602 * Pedal glyphs::
603 * Accordion glyphs::
604 * Vaticana glyphs::
605 * Medicaea glyphs::
606 * Hufnagel glyphs::
607 * Mensural glyphs::
608 * Neomensural glyphs::
609 * Petrucci glyphs::
610 * Solesmes glyphs::
611 @end menu
612
613
614 @node Clef glyphs
615 @unnumberedsubsec Clef glyphs
616
617 @lilypond[quote]
618 \include "font-table.ly"
619 \markuplines \override-lines #'(word-space . 4)
620              \doc-chars #clefs
621 @end lilypond
622
623
624 @node Time Signature glyphs
625 @unnumberedsubsec Time Signature glyphs
626
627 @lilypond[quote]
628 \include "font-table.ly"
629 \markuplines \override-lines #'(word-space . 4)
630              \doc-chars #timesig
631 @end lilypond
632
633
634 @node Number glyphs
635 @unnumberedsubsec Number glyphs
636
637 @lilypond[quote]
638 \include "font-table.ly"
639 \markuplines \override-lines #'(word-space . 4)
640              \doc-chars #numbers
641 @end lilypond
642
643
644 @node Accidental glyphs
645 @unnumberedsubsec Accidental glyphs
646
647 @lilypond[quote]
648 \include "font-table.ly"
649 \markuplines \override-lines #'(word-space . 4)
650              \doc-chars #accidentals
651 @end lilypond
652
653
654 @node Default Notehead glyphs
655 @unnumberedsubsec Default Notehead glyphs
656
657 @lilypond[quote]
658 \include "font-table.ly"
659 \markuplines \override-lines #'(word-space . 4)
660              \doc-chars #default-noteheads
661 @end lilypond
662
663
664 @node Special Notehead glyphs
665 @unnumberedsubsec Special Notehead glyphs
666
667 @lilypond[quote]
668 \include "font-table.ly"
669 \markuplines \override-lines #'(word-space . 4)
670              \doc-chars #special-noteheads
671 @end lilypond
672
673
674 @node Shape-note Notehead glyphs
675 @unnumberedsubsec Shape-note Notehead glyphs
676
677 @lilypond[quote]
678 \include "font-table.ly"
679 \markuplines \override-lines #'(word-space . 4)
680              \doc-chars #shape-note-noteheads
681 @end lilypond
682
683
684 @node Rest glyphs
685 @unnumberedsubsec Rest glyphs
686
687 @lilypond[quote]
688 \include "font-table.ly"
689 \markuplines \override-lines #'(word-space . 4)
690              \doc-chars #rests
691 @end lilypond
692
693
694 @node Flag glyphs
695 @unnumberedsubsec Flag glyphs
696
697 @lilypond[quote]
698 \include "font-table.ly"
699 \markuplines \override-lines #'(word-space . 4)
700              \doc-chars #flags
701 @end lilypond
702
703
704 @node Dot glyphs
705 @unnumberedsubsec Dot glyphs
706
707 @lilypond[quote]
708 \include "font-table.ly"
709 \markuplines \override-lines #'(word-space . 4)
710              \doc-chars #dots
711 @end lilypond
712
713
714 @node Dynamic glyphs
715 @unnumberedsubsec Dynamic glyphs
716
717 @lilypond[quote]
718 \include "font-table.ly"
719 \markuplines \override-lines #'(word-space . 4)
720              \doc-chars #dynamics
721 @end lilypond
722
723
724 @node Script glyphs
725 @unnumberedsubsec Script glyphs
726
727 @lilypond[quote]
728 \include "font-table.ly"
729 \markuplines \override-lines #'(word-space . 4)
730              \doc-chars #scripts
731 @end lilypond
732
733
734 @node Arrowhead glyphs
735 @unnumberedsubsec Arrowhead glyphs
736
737 @lilypond[quote]
738 \include "font-table.ly"
739 \markuplines \override-lines #'(word-space . 4)
740              \doc-chars #arrowheads
741 @end lilypond
742
743
744 @node Bracket-tip glyphs
745 @unnumberedsubsec Bracket-tip glyphs
746
747 @lilypond[quote]
748 \include "font-table.ly"
749 \markuplines \override-lines #'(word-space . 4)
750              \doc-chars #brackettips
751 @end lilypond
752
753
754 @node Pedal glyphs
755 @unnumberedsubsec Pedal glyphs
756
757 @lilypond[quote]
758 \include "font-table.ly"
759 \markuplines \override-lines #'(word-space . 4)
760              \doc-chars #pedal
761 @end lilypond
762
763
764 @node Accordion glyphs
765 @unnumberedsubsec Accordion glyphs
766
767 @lilypond[quote]
768 \include "font-table.ly"
769 \markuplines \override-lines #'(word-space . 4)
770              \doc-chars #accordion
771 @end lilypond
772
773
774 @node Vaticana glyphs
775 @unnumberedsubsec Vaticana glyphs
776
777 @lilypond[quote]
778 \include "font-table.ly"
779 \markuplines \override-lines #'(word-space . 4)
780              \doc-chars #vaticana
781 @end lilypond
782
783
784 @node Medicaea glyphs
785 @unnumberedsubsec Medicaea glyphs
786
787 @lilypond[quote]
788 \include "font-table.ly"
789 \markuplines \override-lines #'(word-space . 4)
790              \doc-chars #medicaea
791 @end lilypond
792
793
794 @node Hufnagel glyphs
795 @unnumberedsubsec Hufnagel glyphs
796
797 @lilypond[quote]
798 \include "font-table.ly"
799 \markuplines \override-lines #'(word-space . 4)
800              \doc-chars #hufnagel
801 @end lilypond
802
803
804 @node Mensural glyphs
805 @unnumberedsubsec Mensural glyphs
806
807 @lilypond[quote]
808 \include "font-table.ly"
809 \markuplines \override-lines #'(word-space . 4)
810              \doc-chars #mensural
811 @end lilypond
812
813
814 @node Neomensural glyphs
815 @unnumberedsubsec Neomensural glyphs
816
817 @lilypond[quote]
818 \include "font-table.ly"
819 \markuplines \override-lines #'(word-space . 4)
820              \doc-chars #neomensural
821 @end lilypond
822
823
824 @node Petrucci glyphs
825 @unnumberedsubsec Petrucci glyphs
826
827 @lilypond[quote]
828 \include "font-table.ly"
829 \markuplines \override-lines #'(word-space . 4)
830              \doc-chars #petrucci
831 @end lilypond
832
833
834 @node Solesmes glyphs
835 @unnumberedsubsec Solesmes glyphs
836
837 @lilypond[quote]
838 \include "font-table.ly"
839 \markuplines \override-lines #'(word-space . 4)
840              \doc-chars #solesmes
841 @end lilypond
842
843
844 @node Note head styles
845 @appendixsec Note head styles
846
847 @cindex note head styles
848 The following styles may be used for note heads.
849
850 @lilypondfile[noindent]{note-head-style.ly}
851
852 @include markup-commands.tely
853
854 @include markup-list-commands.tely
855
856 @node List of articulations
857 @appendixsec List of articulations
858
859 @cindex accent
860 @cindex marcato
861 @cindex staccatissimo
862 @cindex espressivo
863 @cindex fermata
864 @cindex stopped
865 @cindex staccato
866 @cindex portato
867 @cindex tenuto
868 @cindex upbow
869 @cindex downbow
870 @cindex foot marks
871 @cindex organ pedal marks
872 @cindex turn
873 @cindex open
874 @cindex halfopen
875 @cindex stopped
876 @cindex flageolet
877 @cindex reverseturn
878 @cindex trill
879 @cindex prall
880 @cindex mordent
881 @cindex prallprall
882 @cindex prallmordent
883 @cindex prall, up
884 @cindex prall, down
885 @cindex thumb marking
886 @cindex segno
887 @cindex coda
888 @cindex varcoda
889
890
891 @lilypondfile[quote,texidoc]{script-chart.ly}
892
893
894 @node Percussion notes
895 @appendixsec Percussion notes
896
897 @lilypondfile[quote]{percussion-chart.ly}
898
899
900 @node Technical glossary
901 @appendixsec Technical glossary
902
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.
906
907 @menu
908 * alist::
909 * callback::
910 * closure::
911 * glyph::
912 * grob::
913 * immutable::
914 * interface::
915 * lexer::
916 * mutable::
917 * output-def::
918 * parser::
919 * parser variable::
920 * prob::
921 * simple closure::
922 * smob::
923 * stencil::
924 @end menu
925
926 @node alist
927 @unnumberedsubsec alist
928
929 @cindex alist
930 @cindex association list
931
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.
939
940 @node callback
941 @unnumberedsubsec callback
942
943 @cindex callback
944
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
951 performed.
952
953
954 @node closure
955 @unnumberedsubsec closure
956
957 @cindex closure
958 @cindex simple closure
959
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.
970
971 A @strong{simple closure} is a closure whose expression has no free
972 variables and hence no free variable bindings.
973
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
976 list of arguments.
977
978
979 @node glyph
980 @unnumberedsubsec glyph
981
982 @cindex glyph
983 @cindex font
984 @cindex typeface
985
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.
990
991
992 @seealso
993 Notation Reference:
994 @ref{Fonts},
995 @ref{Text encoding}.
996
997
998 @node grob
999 @unnumberedsubsec grob
1000
1001 @cindex grob
1002 @cindex layout objects
1003 @cindex graphical objects
1004
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.
1010
1011 @seealso
1012 Learning Manual:
1013 @rlearning{Objects and interfaces},
1014 @rlearning{Naming conventions of objects and properties},
1015 @rlearning{Properties of layout objects}.
1016
1017 Internals Reference:
1018 @rinternals{grob-interface},
1019 @rinternals{All layout objects}.
1020
1021
1022 @node immutable
1023 @unnumberedsubsec immutable
1024
1025 @cindex immutable objects
1026 @cindex immutable properties
1027 @cindex shared properties
1028
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.
1032
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}.
1037
1038 @seealso
1039 Notation Reference:
1040 @ref{mutable}.
1041
1042 @node interface
1043 @unnumberedsubsec interface
1044
1045 @cindex interface
1046 @cindex grob-interface
1047 @cindex graphical object interfaces
1048
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.
1052
1053 @seealso
1054 Learning Manual:
1055 @rlearning{Objects and interfaces},
1056 @rlearning{Naming conventions of objects and properties},
1057 @rlearning{Properties found in interfaces}.
1058
1059 Notation Reference:
1060 @ref{Layout interfaces}.
1061
1062 Internals Reference:
1063 @rinternals{Graphical Object Interfaces}.
1064
1065
1066 @node lexer
1067 @unnumberedsubsec lexer
1068
1069 @cindex lexer
1070 @cindex Flex
1071
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.
1081
1082
1083 @node mutable
1084 @unnumberedsubsec mutable
1085
1086 @cindex mutable objects
1087 @cindex mutable properties
1088
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.
1092
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.
1096
1097 @seealso
1098 Notation Reference:
1099 @ref{immutable}.
1100
1101 @node output-def
1102 @unnumberedsubsec output-def
1103
1104 @cindex output-def
1105
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.
1109
1110
1111 @node parser
1112 @unnumberedsubsec parser
1113
1114 @cindex parser
1115 @cindex Bison
1116 @cindex grammar for LilyPond
1117 @cindex BNF
1118
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.
1132
1133
1134 @node parser variable
1135 @unnumberedsubsec parser variable
1136
1137 @cindex parser variable
1138 @cindex Scheme variable
1139 @cindex global variable
1140 @cindex afterGraceFraction
1141 @cindex musicQuotes
1142 @cindex mode
1143 @cindex output-count
1144 @cindex output-suffix
1145 @cindex parseStringResult
1146 @cindex partCombineListener
1147 @cindex pitchnames
1148 @cindex toplevel-bookparts
1149 @cindex toplevel-scores
1150 @cindex showLastLength
1151 @cindex showFirstLength
1152
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.
1156
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.
1164
1165 LilyPond uses the following parser variables:
1166
1167 @itemize
1168 @item afterGraceFraction
1169 @item musicQuotes
1170 @item mode
1171 @item output-count
1172 @item output-suffix
1173 @item parseStringResult
1174 @item partCombineListener
1175 @item pitchnames
1176 @item toplevel-bookparts
1177 @item toplevel-scores
1178 @item showLastLength
1179 @item showFirstLength
1180 @end itemize
1181
1182
1183 @node prob
1184 @unnumberedsubsec prob
1185
1186 @cindex prob
1187 @cindex property object
1188
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
1195 during page layout.
1196
1197
1198 @node simple closure
1199 @unnumberedsubsec simple closure
1200
1201 See @ref{closure}.
1202
1203
1204 @node smob
1205 @unnumberedsubsec smob
1206
1207 @cindex smob
1208 @cindex Scheme object
1209
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}.
1217
1218 @node stencil
1219 @unnumberedsubsec stencil
1220
1221 @cindex stencil
1222
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
1230 stencils.
1231
1232 The @code{stencil} property, which connects a grob to its stencil,
1233 is defined in the @code{grob-interface} interface.
1234
1235 @seealso
1236 Internals Reference:
1237 @rinternals{grob-interface}.
1238
1239
1240 @node All context properties
1241 @appendixsec All context properties
1242
1243 @include context-properties.tely
1244
1245
1246 @node Layout properties
1247 @appendixsec Layout properties
1248
1249 @include layout-properties.tely
1250
1251
1252 @node Available music functions
1253 @appendixsec Available music functions
1254
1255 @include identifiers.tely
1256
1257
1258 @node Scheme functions
1259 @appendixsec Scheme functions
1260
1261 @include scheme-functions.tely
1262