]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/notation/notation-appendices.itely
e17e7bb9ddc9b1583af5fe73459b428cc3fb14c7
[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 stopped
875 @cindex flageolet
876 @cindex reverseturn
877 @cindex trill
878 @cindex prall
879 @cindex mordent
880 @cindex prallprall
881 @cindex prallmordent
882 @cindex prall, up
883 @cindex prall, down
884 @cindex thumb marking
885 @cindex segno
886 @cindex coda
887 @cindex varcoda
888
889
890 @lilypondfile[quote,texidoc]{script-chart.ly}
891
892
893 @node Percussion notes
894 @appendixsec Percussion notes
895
896 @lilypondfile[quote]{percussion-chart.ly}
897
898
899 @node Technical glossary
900 @appendixsec Technical glossary
901
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.
905
906 @menu
907 * alist::
908 * callback::
909 * closure::
910 * glyph::
911 * grob::
912 * immutable::
913 * interface::
914 * lexer::
915 * mutable::
916 * output-def::
917 * parser::
918 * parser variable::
919 * prob::
920 * simple closure::
921 * smob::
922 * stencil::
923 @end menu
924
925 @node alist
926 @unnumberedsubsec alist
927
928 @cindex alist
929 @cindex association list
930
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.
938
939 @node callback
940 @unnumberedsubsec callback
941
942 @cindex callback
943
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
950 performed.
951
952
953 @node closure
954 @unnumberedsubsec closure
955
956 @cindex closure
957 @cindex simple closure
958
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.
969
970 A @strong{simple closure} is a closure whose expression has no free
971 variables and hence no free variable bindings.
972
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
975 list of arguments.
976
977
978 @node glyph
979 @unnumberedsubsec glyph
980
981 @cindex glyph
982 @cindex font
983 @cindex typeface
984
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.
989
990
991 @seealso
992 Notation Reference:
993 @ref{Fonts},
994 @ref{Text encoding}.
995
996
997 @node grob
998 @unnumberedsubsec grob
999
1000 @cindex grob
1001 @cindex layout objects
1002 @cindex graphical objects
1003
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.
1009
1010 @seealso
1011 Learning Manual:
1012 @rlearning{Objects and interfaces},
1013 @rlearning{Naming conventions of objects and properties},
1014 @rlearning{Properties of layout objects}.
1015
1016 Internals Reference:
1017 @rinternals{grob-interface},
1018 @rinternals{All layout objects}.
1019
1020
1021 @node immutable
1022 @unnumberedsubsec immutable
1023
1024 @cindex immutable objects
1025 @cindex immutable properties
1026 @cindex shared properties
1027
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.
1031
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}.
1036
1037 @seealso
1038 Notation Reference:
1039 @ref{mutable}.
1040
1041 @node interface
1042 @unnumberedsubsec interface
1043
1044 @cindex interface
1045 @cindex grob-interface
1046 @cindex graphical object interfaces
1047
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.
1051
1052 @seealso
1053 Learning Manual:
1054 @rlearning{Objects and interfaces},
1055 @rlearning{Naming conventions of objects and properties},
1056 @rlearning{Properties found in interfaces}.
1057
1058 Notation Reference:
1059 @ref{Layout interfaces}.
1060
1061 Internals Reference:
1062 @rinternals{Graphical Object Interfaces}.
1063
1064
1065 @node lexer
1066 @unnumberedsubsec lexer
1067
1068 @cindex lexer
1069 @cindex Flex
1070
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.
1080
1081
1082 @node mutable
1083 @unnumberedsubsec mutable
1084
1085 @cindex mutable objects
1086 @cindex mutable properties
1087
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.
1091
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.
1095
1096 @seealso
1097 Notation Reference:
1098 @ref{immutable}.
1099
1100 @node output-def
1101 @unnumberedsubsec output-def
1102
1103 @cindex output-def
1104
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.
1108
1109
1110 @node parser
1111 @unnumberedsubsec parser
1112
1113 @cindex parser
1114 @cindex Bison
1115 @cindex grammar for LilyPond
1116 @cindex BNF
1117
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.
1131
1132
1133 @node parser variable
1134 @unnumberedsubsec parser variable
1135
1136 @cindex parser variable
1137 @cindex Scheme variable
1138 @cindex global variable
1139 @cindex afterGraceFraction
1140 @cindex musicQuotes
1141 @cindex mode
1142 @cindex output-count
1143 @cindex output-suffix
1144 @cindex parseStringResult
1145 @cindex partCombineListener
1146 @cindex pitchnames
1147 @cindex toplevel-bookparts
1148 @cindex toplevel-scores
1149 @cindex showLastLength
1150 @cindex showFirstLength
1151
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.
1155
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.
1163
1164 LilyPond uses the following parser variables:
1165
1166 @itemize
1167 @item afterGraceFraction
1168 @item musicQuotes
1169 @item mode
1170 @item output-count
1171 @item output-suffix
1172 @item parseStringResult
1173 @item partCombineListener
1174 @item pitchnames
1175 @item toplevel-bookparts
1176 @item toplevel-scores
1177 @item showLastLength
1178 @item showFirstLength
1179 @end itemize
1180
1181
1182 @node prob
1183 @unnumberedsubsec prob
1184
1185 @cindex prob
1186 @cindex property object
1187
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
1194 during page layout.
1195
1196
1197 @node simple closure
1198 @unnumberedsubsec simple closure
1199
1200 See @ref{closure}.
1201
1202
1203 @node smob
1204 @unnumberedsubsec smob
1205
1206 @cindex smob
1207 @cindex Scheme object
1208
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}.
1216
1217 @node stencil
1218 @unnumberedsubsec stencil
1219
1220 @cindex stencil
1221
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
1229 stencils.
1230
1231 The @code{stencil} property, which connects a grob to its stencil,
1232 is defined in the @code{grob-interface} interface.
1233
1234 @seealso
1235 Internals Reference:
1236 @rinternals{grob-interface}.
1237
1238
1239 @node All context properties
1240 @appendixsec All context properties
1241
1242 @include context-properties.tely
1243
1244
1245 @node Layout properties
1246 @appendixsec Layout properties
1247
1248 @include layout-properties.tely
1249
1250
1251 @node Available music functions
1252 @appendixsec Available music functions
1253
1254 @include identifiers.tely
1255
1256
1257 @node Scheme functions
1258 @appendixsec Scheme functions
1259
1260 @include scheme-functions.tely
1261