]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/notation/notation-appendices.itely
NR: General tidy up - @seealso @knownissue spacing
[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.  For details, see the Contributors'
8     Guide, node Updating translation committishes..
9 @end ignore
10
11 @c \version "2.15.17"
12
13 @node Notation manual tables
14 @appendix Notation manual tables
15
16 @menu
17 * Chord name chart::
18 * Common chord modifiers::
19 * Predefined string tunings::
20 * Predefined fretboard diagrams::
21 * MIDI instruments::
22 * List of colors::
23 * The Feta font::
24 * Note head styles::
25 * Text markup commands::
26 * Text markup list commands::
27 * List of special characters::
28 * List of articulations::
29 * Percussion notes::
30 * Technical glossary::
31 * All context properties::
32 * Layout properties::
33 * Available music functions::
34 * Context modification identifiers::
35 * Predefined type predicates::
36 * Scheme functions::
37 @end menu
38
39
40
41 @node Chord name chart
42 @appendixsec Chord name chart
43
44 The following chart shows two standard systems for printing chord
45 names, along with the pitches they represent.
46
47 @lilypondfile{chord-names-jazz.ly}
48
49 @node Common chord modifiers
50 @appendixsec Common chord modifiers
51
52 The following table shows chord modifiers that can be used in
53 @code{\chordmode} to generate standard chord structures.
54
55 @multitable @columnfractions .2 .3 .2 .2
56
57 @item
58 @b{Chord type}
59 @tab
60 @b{Intervals}
61 @tab
62 @b{Modifier(s)}
63 @tab
64 @b{Example}
65
66
67 @item
68 Major
69 @tab
70 Major third, perfect fifth
71 @tab
72 @code{5} or nothing
73 @tab
74 @lilypond[line-width=3\cm,noragged-right, notime]
75 \chordmode {
76   c1:5
77 }
78 @end lilypond
79
80 @item
81 Minor
82 @tab
83 Minor third, perfect fifth
84 @tab
85 @code{m} or @code{m5}
86 @tab
87 @lilypond[line-width=3\cm,noragged-right, notime]
88 \chordmode {
89   c1:m
90 }
91 @end lilypond
92
93 @item
94 Augmented
95 @tab
96 Major third, augmented fifth
97 @tab
98 @code{aug}
99 @tab
100 @lilypond[line-width=3\cm,noragged-right, notime]
101 \chordmode {
102   c1:aug
103 }
104 @end lilypond
105
106 @item
107 Diminished
108 @tab
109 Minor third, diminished fifth
110 @tab
111 @code{dim}
112 @tab
113 @lilypond[line-width=3\cm,noragged-right, notime]
114 \chordmode {
115   c1:dim
116 }
117 @end lilypond
118
119 @item
120 Dominant seventh
121 @tab
122 Major triad, minor seventh
123 @tab
124 @code{7}
125 @tab
126 @lilypond[line-width=3\cm,noragged-right, notime]
127 \chordmode {
128   c1:7
129 }
130 @end lilypond
131
132 @item
133 Major seventh
134 @tab
135 Major triad, major seventh
136 @tab
137 @code{maj7} or @code{maj}
138 @tab
139 @lilypond[line-width=3\cm,noragged-right, notime]
140 \chordmode {
141   c1:maj7
142 }
143 @end lilypond
144
145 @item
146 Minor seventh
147 @tab
148 Minor triad, minor seventh
149 @tab
150 @code{m7}
151 @tab
152 @lilypond[line-width=3\cm,noragged-right, notime]
153 \chordmode {
154   c1:m7
155 }
156 @end lilypond
157
158 @item
159 Diminished seventh
160 @tab
161 Diminished triad, diminished seventh
162 @tab
163 @code{dim7}
164 @tab
165 @lilypond[line-width=3\cm,noragged-right, notime]
166 \chordmode {
167   c1:dim7
168 }
169 @end lilypond
170
171 @item
172 Augmented seventh
173 @tab
174 Augmented triad, minor seventh
175 @tab
176 @code{aug7}
177 @tab
178 @lilypond[line-width=3\cm,noragged-right, notime]
179 \chordmode {
180   c1:aug7
181 }
182 @end lilypond
183
184 @item
185 Half-diminished seventh
186 @tab
187 Diminished triad, minor seventh
188 @tab
189 @code{m7.5-}
190 @tab
191 @lilypond[line-width=3\cm,noragged-right, notime]
192 \chordmode {
193   c1:m7.5-
194 }
195 @end lilypond
196
197 @item
198 Minor-major seventh
199 @tab
200 Minor triad, major seventh
201 @tab
202 @code{m7+}
203 @tab
204 @lilypond[line-width=3\cm,noragged-right, notime]
205 \chordmode {
206   c1:m7+
207 }
208 @end lilypond
209
210 @item
211 Major sixth
212 @tab
213 Major triad, sixth
214 @tab
215 @code{6}
216 @tab
217 @lilypond[line-width=3\cm,noragged-right, notime]
218 \chordmode {
219   c1:6
220 }
221 @end lilypond
222
223 @item
224 Minor sixth
225 @tab
226 Minor triad, sixth
227 @tab
228 @code{m6}
229 @tab
230 @lilypond[line-width=3\cm,noragged-right, notime]
231 \chordmode {
232   c1:m6
233 }
234 @end lilypond
235
236 @item
237 Dominant ninth
238 @tab
239 Dominant seventh, major ninth
240 @tab
241 @code{9}
242 @tab
243 @lilypond[line-width=3\cm,noragged-right, notime]
244 \chordmode {
245   c1:9
246 }
247 @end lilypond
248
249 @item
250 Major ninth
251 @tab
252 Major seventh, major ninth
253 @tab
254 @code{maj9}
255 @tab
256 @lilypond[line-width=3\cm,noragged-right, notime]
257 \chordmode {
258   c1:maj9
259 }
260 @end lilypond
261
262 @item
263 Minor ninth
264 @tab
265 Minor seventh, major ninth
266 @tab
267 @code{m9}
268 @tab
269 @lilypond[line-width=3\cm,noragged-right, notime]
270 \chordmode {
271   c1:m9
272 }
273 @end lilypond
274
275 @item
276 Dominant eleventh
277 @tab
278 Dominant ninth, perfect eleventh
279 @tab
280 @code{11}
281 @tab
282 @lilypond[line-width=3\cm,noragged-right, notime]
283 \chordmode {
284   c1:11
285 }
286 @end lilypond
287
288 @item
289 Major eleventh
290 @tab
291 Major ninth, perfect eleventh
292 @tab
293 @code{maj11}
294 @tab
295 @lilypond[line-width=3\cm,noragged-right, notime]
296 \chordmode {
297   c1:maj11
298 }
299 @end lilypond
300
301 @item
302 Minor eleventh
303 @tab
304 Minor ninth, perfect eleventh
305 @tab
306 @code{m11}
307 @tab
308 @lilypond[line-width=3\cm,noragged-right, notime]
309 \chordmode {
310   c1:m11
311 }
312 @end lilypond
313
314 @item
315 Dominant thirteenth
316 @tab
317 Dominant ninth, major thirteenth
318 @tab
319 @code{13}
320 @tab
321 @lilypond[line-width=3\cm,noragged-right, notime]
322 \chordmode {
323   c1:13
324 }
325 @end lilypond
326
327 @item
328 Dominant thirteenth
329 @tab
330 Dominant eleventh, major thirteenth
331 @tab
332 @code{13.11}
333 @tab
334 @lilypond[line-width=3\cm,noragged-right, notime]
335 \chordmode {
336   c1:13.11
337 }
338 @end lilypond
339
340 @item
341 Major thirteenth
342 @tab
343 Major eleventh, major thirteenth
344 @tab
345 @code{maj13.11}
346 @tab
347 @lilypond[line-width=3\cm,noragged-right, notime]
348 \chordmode {
349   c1:maj13.11
350 }
351 @end lilypond
352
353 @item
354 Minor thirteenth
355 @tab
356 Minor eleventh, major thirteenth
357 @tab
358 @code{m13.11}
359 @tab
360 @lilypond[line-width=3\cm,noragged-right, notime]
361 \chordmode {
362   c1:m13.11
363 }
364 @end lilypond
365
366 @item
367 Suspended second
368 @tab
369 Major second, perfect fifth
370 @tab
371 @code{sus2}
372 @tab
373 @lilypond[line-width=3\cm,noragged-right, notime]
374 \chordmode {
375   c1:sus2
376 }
377 @end lilypond
378
379 @item
380 Suspended fourth
381 @tab
382 Perfect fourth, perfect fifth
383 @tab
384 @code{sus4}
385 @tab
386 @lilypond[line-width=3\cm,noragged-right, notime]
387 \chordmode {
388   c1:sus4
389 }
390 @end lilypond
391
392 @item
393 Power chord (two-voiced)
394 @tab
395 Perfect fifth
396 @tab
397 @code{1.5}
398 @tab
399 @lilypond[line-width=3\cm,noragged-right, notime]
400 \chordmode {
401   \powerChords
402   c1:1.5
403 }
404 @end lilypond
405
406 @item
407 Power chord (three-voiced)
408 @tab
409 Perfect fifth, octave
410 @tab
411 @code{1.5.8}
412 @tab
413 @lilypond[line-width=3\cm,noragged-right, notime]
414 \chordmode {
415   \powerChords
416   c1:1.5.8
417 }
418 @end lilypond
419
420 @end multitable
421
422 @node Predefined string tunings
423 @appendixsec Predefined string tunings
424
425 The chart below shows the predefined string tunings.
426
427 @lilypondfile{display-predefined-string-tunings.ly}
428
429 @node Predefined fretboard diagrams
430 @appendixsec Predefined fretboard diagrams
431
432 The chart below shows the predefined fretboard diagrams for guitar.
433
434 @lilypondfile{display-predefined-fretboards.ly}
435
436 The chart below shows the predefined fretboard diagrams for ukulele.
437
438 @lilypondfile{display-predefined-ukulele-fretboards.ly}
439
440 The chart below shows the predefined fretboard diagrams for mandolin.
441
442 @lilypondfile{display-predefined-mandolin-fretboards.ly}
443
444 @node MIDI instruments
445 @appendixsec MIDI instruments
446
447 The following is a list of names that can be used for the
448 @code{midiInstrument} property.  The order of the instruments
449 below, starting in the left-hand column moving down, corresponds
450 to the General MIDI Standard's 128 Program Numbers.
451
452 @example
453 acoustic grand            contrabass           lead 7 (fifths)
454 bright acoustic           tremolo strings      lead 8 (bass+lead)
455 electric grand            pizzicato strings    pad 1 (new age)
456 honky-tonk                orchestral harp      pad 2 (warm)
457 electric piano 1          timpani              pad 3 (polysynth)
458 electric piano 2          string ensemble 1    pad 4 (choir)
459 harpsichord               string ensemble 2    pad 5 (bowed)
460 clav                      synthstrings 1       pad 6 (metallic)
461 celesta                   synthstrings 2       pad 7 (halo)
462 glockenspiel              choir aahs           pad 8 (sweep)
463 music box                 voice oohs           fx 1 (rain)
464 vibraphone                synth voice          fx 2 (soundtrack)
465 marimba                   orchestra hit        fx 3 (crystal)
466 xylophone                 trumpet              fx 4 (atmosphere)
467 tubular bells             trombone             fx 5 (brightness)
468 dulcimer                  tuba                 fx 6 (goblins)
469 drawbar organ             muted trumpet        fx 7 (echoes)
470 percussive organ          french horn          fx 8 (sci-fi)
471 rock organ                brass section        sitar
472 church organ              synthbrass 1         banjo
473 reed organ                synthbrass 2         shamisen
474 accordion                 soprano sax          koto
475 harmonica                 alto sax             kalimba
476 concertina                tenor sax            bagpipe
477 acoustic guitar (nylon)   baritone sax         fiddle
478 acoustic guitar (steel)   oboe                 shanai
479 electric guitar (jazz)    english horn         tinkle bell
480 electric guitar (clean)   bassoon              agogo
481 electric guitar (muted)   clarinet             steel drums
482 overdriven guitar         piccolo              woodblock
483 distorted guitar          flute                taiko drum
484 guitar harmonics          recorder             melodic tom
485 acoustic bass             pan flute            synth drum
486 electric bass (finger)    blown bottle         reverse cymbal
487 electric bass (pick)      shakuhachi           guitar fret noise
488 fretless bass             whistle              breath noise
489 slap bass 1               ocarina              seashore
490 slap bass 2               lead 1 (square)      bird tweet
491 synth bass 1              lead 2 (sawtooth)    telephone ring
492 synth bass 2              lead 3 (calliope)    helicopter
493 violin                    lead 4 (chiff)       applause
494 viola                     lead 5 (charang)     gunshot
495 cello                     lead 6 (voice)
496 @end example
497
498
499 @node List of colors
500 @appendixsec List of colors
501
502 @subsubheading Normal colors
503
504 Usage syntax is detailed in @ref{Coloring objects}.
505
506 @cindex List of colors
507 @cindex Colors, list of
508
509 @verbatim
510 black       white          red         green
511 blue        cyan           magenta     yellow
512 grey        darkred        darkgreen   darkblue
513 darkcyan    darkmagenta    darkyellow
514 @end verbatim
515
516
517 @subsubheading X color names
518
519 X color names come several variants:
520
521 Any name that is spelled as a single word with capitalization
522 (e.g. @q{LightSlateBlue}) can also be spelled as space separated
523 words without capitalization (e.g. @q{light slate blue}).
524
525 The word @q{grey} can always be spelled @q{gray} (e.g. @q{DarkSlateGray}).
526
527 Some names can take a numerical suffix (e.g. @q{LightSalmon4}).
528
529
530 @subsubheading Color Names without a numerical suffix:
531
532 @verbatim
533 snow            GhostWhite      WhiteSmoke      gainsboro       FloralWhite
534 OldLace         linen           AntiqueWhite    PapayaWhip      BlanchedAlmond
535 bisque          PeachPuff       NavajoWhite     moccasin        cornsilk
536 ivory           LemonChiffon    seashell        honeydew        MintCream
537 azure           AliceBlue       lavender        LavenderBlush   MistyRose
538 white           black           DarkSlateGrey   DimGrey         SlateGrey
539 LightSlateGrey  grey            LightGrey       MidnightBlue    navy
540 NavyBlue        CornflowerBlue  DarkSlateBlue   SlateBlue       MediumSlateBlue
541 LightSlateBlue  MediumBlue      RoyalBlue       blue            DodgerBlue
542 DeepSkyBlue     SkyBlue         LightSkyBlue    SteelBlue       LightSteelBlue
543 LightBlue       PowderBlue      PaleTurquoise   DarkTurquoise   MediumTurquoise
544 turquoise       cyan            LightCyan       CadetBlue       MediumAquamarine
545 aquamarine      DarkGreen       DarkOliveGreen  DarkSeaGreen    SeaGreen
546 MediumSeaGreen  LightSeaGreen   PaleGreen       SpringGreen     LawnGreen
547 green           chartreuse      MediumSpringGreen       GreenYellow     LimeGreen
548 YellowGreen     ForestGreen     OliveDrab       DarkKhaki       khaki
549 PaleGoldenrod   LightGoldenrodYellow    LightYellow     yellow  gold
550 LightGoldenrod  goldenrod       DarkGoldenrod   RosyBrown       IndianRed
551 SaddleBrown     sienna          peru            burlywood       beige
552 wheat           SandyBrown      tan             chocolate       firebrick
553 brown           DarkSalmon      salmon          LightSalmon     orange
554 DarkOrange      coral           LightCoral      tomato          OrangeRed
555 red             HotPink         DeepPink        pink            LightPink
556 PaleVioletRed   maroon          MediumVioletRed VioletRed       magenta
557 violet          plum            orchid          MediumOrchid    DarkOrchid
558 DarkViolet      BlueViolet      purple          MediumPurple    thistle
559 DarkGrey        DarkBlue        DarkCyan        DarkMagenta     DarkRed
560 LightGreen
561 @end verbatim
562
563
564 @subsubheading Color names with a numerical suffix
565
566 In the following names the suffix N can be a number in the range 1-4:
567
568 @verbatim
569 snowN           seashellN       AntiqueWhiteN   bisqueN         PeachPuffN
570 NavajoWhiteN    LemonChiffonN   cornsilkN       ivoryN          honeydewN
571 LavenderBlushN  MistyRoseN      azureN          SlateBlueN      RoyalBlueN
572 blueN           DodgerBlueN     SteelBlueN      DeepSkyBlueN    SkyBlueN
573 LightSkyBlueN   LightSteelBlueN LightBlueN      LightCyanN      PaleTurquoiseN
574 CadetBlueN      turquoiseN      cyanN           aquamarineN     DarkSeaGreenN
575 SeaGreenN       PaleGreenN      SpringGreenN    greenN          chartreuseN
576 OliveDrabN      DarkOliveGreenN khakiN          LightGoldenrodN LightYellowN
577 yellowN         goldN           goldenrodN      DarkGoldenrodN  RosyBrownN
578 IndianRedN      siennaN         burlywoodN      wheatN          tanN
579 chocolateN      firebrickN      brownN          salmonN         LightSalmonN
580 orangeN         DarkOrangeN     coralN          tomatoN         OrangeRedN
581 redN            DeepPinkN       HotPinkN        pinkN           LightPinkN
582 PaleVioletRedN  maroonN         VioletRedN      magentaN        orchidN
583 plumN           MediumOrchidN   DarkOrchidN     purpleN         MediumPurpleN
584 thistleN
585 @end verbatim
586
587
588 @subsubheading Grey Scale
589
590 A grey scale can be obtained using:
591
592 @example
593 greyN
594 @end example
595
596 @noindent
597 Where N is in the range 0-100.
598
599
600 @node The Feta font
601 @appendixsec The Feta font
602
603 @cindex Feta font
604 @cindex Font, Feta
605
606 The following symbols are available in the Emmentaler font and may be
607 accessed directly using text markup with the name of the glyph
608 as shown in the tables below,
609 such as @code{g^\markup @{\musicglyph #"scripts.segno" @}} or
610 @code{\markup @{\musicglyph #"five"@}}.  For more information,
611 see @ref{Formatting text}.
612
613
614 @menu
615 * Clef glyphs::
616 * Time Signature glyphs::
617 * Number glyphs::
618 * Accidental glyphs::
619 * Default Notehead glyphs::
620 * Special Notehead glyphs::
621 * Shape-note Notehead glyphs::
622 * Rest glyphs::
623 * Flag glyphs::
624 * Dot glyphs::
625 * Dynamic glyphs::
626 * Script glyphs::
627 * Arrowhead glyphs::
628 * Bracket-tip glyphs::
629 * Pedal glyphs::
630 * Accordion glyphs::
631 * Tie glyphs::
632 * Vaticana glyphs::
633 * Medicaea glyphs::
634 * Hufnagel glyphs::
635 * Mensural glyphs::
636 * Neomensural glyphs::
637 * Petrucci glyphs::
638 * Solesmes glyphs::
639 * Kievan Notation glyphs::
640 @end menu
641
642
643 @node Clef glyphs
644 @unnumberedsubsec Clef glyphs
645
646 @lilypond[quote]
647 \include "font-table.ly"
648 \markuplist \override-lines #'(word-space . 4)
649             \doc-chars #clefs
650 @end lilypond
651
652
653 @node Time Signature glyphs
654 @unnumberedsubsec Time Signature glyphs
655
656 @lilypond[quote]
657 \include "font-table.ly"
658 \markuplist \override-lines #'(word-space . 4)
659             \doc-chars #timesig
660 @end lilypond
661
662
663 @node Number glyphs
664 @unnumberedsubsec Number glyphs
665
666 @lilypond[quote]
667 \include "font-table.ly"
668 \markuplist \override-lines #'(word-space . 4)
669             \doc-chars #numbers
670 @end lilypond
671
672
673 @node Accidental glyphs
674 @unnumberedsubsec Accidental glyphs
675
676 @lilypond[quote]
677 \include "font-table.ly"
678 \markuplist \override-lines #'(word-space . 4)
679             \doc-chars #accidentals
680 @end lilypond
681
682
683 @node Default Notehead glyphs
684 @unnumberedsubsec Default Notehead glyphs
685
686 @lilypond[quote]
687 \include "font-table.ly"
688 \markuplist \override-lines #'(word-space . 4)
689             \doc-chars #default-noteheads
690 @end lilypond
691
692
693 @node Special Notehead glyphs
694 @unnumberedsubsec Special Notehead glyphs
695
696 @lilypond[quote]
697 \include "font-table.ly"
698 \markuplist \override-lines #'(word-space . 4)
699             \doc-chars #special-noteheads
700 @end lilypond
701
702
703 @node Shape-note Notehead glyphs
704 @unnumberedsubsec Shape-note Notehead glyphs
705
706 @lilypond[quote]
707 \include "font-table.ly"
708 \markuplist \override-lines #'(word-space . 4)
709             \doc-chars #shape-note-noteheads
710 @end lilypond
711
712
713 @node Rest glyphs
714 @unnumberedsubsec Rest glyphs
715
716 @lilypond[quote]
717 \include "font-table.ly"
718 \markuplist \override-lines #'(word-space . 4)
719             \doc-chars #rests
720 @end lilypond
721
722
723 @node Flag glyphs
724 @unnumberedsubsec Flag glyphs
725
726 @lilypond[quote]
727 \include "font-table.ly"
728 \markuplist \override-lines #'(word-space . 4)
729             \doc-chars #flags
730 @end lilypond
731
732
733 @node Dot glyphs
734 @unnumberedsubsec Dot glyphs
735
736 @lilypond[quote]
737 \include "font-table.ly"
738 \markuplist \override-lines #'(word-space . 4)
739             \doc-chars #dots
740 @end lilypond
741
742
743 @node Dynamic glyphs
744 @unnumberedsubsec Dynamic glyphs
745
746 @lilypond[quote]
747 \include "font-table.ly"
748 \markuplist \override-lines #'(word-space . 4)
749             \doc-chars #dynamics
750 @end lilypond
751
752
753 @node Script glyphs
754 @unnumberedsubsec Script glyphs
755
756 @lilypond[quote]
757 \include "font-table.ly"
758 \markuplist \override-lines #'(word-space . 4)
759             \doc-chars #scripts
760 @end lilypond
761
762
763 @node Arrowhead glyphs
764 @unnumberedsubsec Arrowhead glyphs
765
766 @lilypond[quote]
767 \include "font-table.ly"
768 \markuplist \override-lines #'(word-space . 4)
769             \doc-chars #arrowheads
770 @end lilypond
771
772
773 @node Bracket-tip glyphs
774 @unnumberedsubsec Bracket-tip glyphs
775
776 @lilypond[quote]
777 \include "font-table.ly"
778 \markuplist \override-lines #'(word-space . 4)
779             \doc-chars #brackettips
780 @end lilypond
781
782
783 @node Pedal glyphs
784 @unnumberedsubsec Pedal glyphs
785
786 @lilypond[quote]
787 \include "font-table.ly"
788 \markuplist \override-lines #'(word-space . 4)
789             \doc-chars #pedal
790 @end lilypond
791
792
793 @node Accordion glyphs
794 @unnumberedsubsec Accordion glyphs
795
796 @lilypond[quote]
797 \include "font-table.ly"
798 \markuplist \override-lines #'(word-space . 4)
799             \doc-chars #accordion
800 @end lilypond
801
802
803 @node Tie glyphs
804 @unnumberedsubsec Tie glyphs
805
806 @lilypond[quote]
807 \include "font-table.ly"
808 \markuplist \override-lines #'(word-space . 4)
809             \doc-chars #ties
810 @end lilypond
811
812
813 @node Vaticana glyphs
814 @unnumberedsubsec Vaticana glyphs
815
816 @lilypond[quote]
817 \include "font-table.ly"
818 \markuplist \override-lines #'(word-space . 4)
819             \doc-chars #vaticana
820 @end lilypond
821
822
823 @node Medicaea glyphs
824 @unnumberedsubsec Medicaea glyphs
825
826 @lilypond[quote]
827 \include "font-table.ly"
828 \markuplist \override-lines #'(word-space . 4)
829             \doc-chars #medicaea
830 @end lilypond
831
832
833 @node Hufnagel glyphs
834 @unnumberedsubsec Hufnagel glyphs
835
836 @lilypond[quote]
837 \include "font-table.ly"
838 \markuplist \override-lines #'(word-space . 4)
839             \doc-chars #hufnagel
840 @end lilypond
841
842
843 @node Mensural glyphs
844 @unnumberedsubsec Mensural glyphs
845
846 @lilypond[quote]
847 \include "font-table.ly"
848 \markuplist \override-lines #'(word-space . 4)
849             \doc-chars #mensural
850 @end lilypond
851
852
853 @node Neomensural glyphs
854 @unnumberedsubsec Neomensural glyphs
855
856 @lilypond[quote]
857 \include "font-table.ly"
858 \markuplist \override-lines #'(word-space . 4)
859             \doc-chars #neomensural
860 @end lilypond
861
862
863 @node Petrucci glyphs
864 @unnumberedsubsec Petrucci glyphs
865
866 @lilypond[quote]
867 \include "font-table.ly"
868 \markuplist \override-lines #'(word-space . 4)
869             \doc-chars #petrucci
870 @end lilypond
871
872
873 @node Solesmes glyphs
874 @unnumberedsubsec Solesmes glyphs
875
876 @lilypond[quote]
877 \include "font-table.ly"
878 \markuplist \override-lines #'(word-space . 4)
879             \doc-chars #solesmes
880 @end lilypond
881
882 @node Kievan Notation glyphs
883 @unnumberedsubsec Kievan Notation glyphs
884
885 @lilypond[quote]
886 \include "font-table.ly"
887 \markuplist \override-lines #'(word-space . 4)
888              \doc-chars #kievan
889 @end lilypond
890
891 @node Note head styles
892 @appendixsec Note head styles
893
894 @cindex note head styles
895 The following styles may be used for note heads.
896
897 @lilypondfile[noindent]{note-head-style.ly}
898
899
900 @node Text markup commands
901 @appendixsec Text markup commands
902
903 @include markup-commands.tely
904
905
906 @node Text markup list commands
907 @appendixsec Text markup list commands
908
909 The following commands can all be used with @code{\markuplist}:
910
911 @include markup-list-commands.tely
912
913
914 @node List of special characters
915 @appendixsec List of special characters
916
917 The following special characters references can be used;
918 for more details, see @ref{ASCII aliases}.
919
920 The HTML syntax is used and most of these references are the same as HTML.
921 The rest of them are inspired by @LaTeX{}.
922
923 The characters are boxed so that you can see their size.
924 A small padding has been added between the character and the box
925 for more readability.
926
927 @lilypond[quote]
928 \include "special-characters.ly"
929 @end lilypond
930
931
932 @node List of articulations
933 @appendixsec List of articulations
934
935
936 @cindex accent
937 @cindex accentus
938 @cindex circulus
939 @cindex coda
940 @cindex downbow
941 @cindex downmordent
942 @cindex downprall
943 @cindex espressivo
944 @cindex fermata
945 @cindex flageolet
946 @cindex halfopen
947 @cindex ictus
948 @cindex lheel
949 @cindex lineprall
950 @cindex longfermata
951 @cindex ltoe
952 @cindex marcato
953 @cindex mordent
954 @cindex open
955 @cindex portato
956 @cindex prall
957 @cindex pralldown
958 @cindex prallmordent
959 @cindex prallprall
960 @cindex prallup
961 @cindex reverseturn
962 @cindex rheel
963 @cindex rtoe
964 @cindex segno
965 @cindex semicirculus
966 @cindex shortfermata
967 @cindex signumcongruentiae
968 @cindex snappizzicato
969 @cindex staccatissimo
970 @cindex staccato
971 @cindex stopped
972 @cindex tenuto
973 @cindex thumb
974 @cindex trill
975 @cindex turn
976 @cindex upbow
977 @cindex upmordent
978 @cindex upprall
979 @cindex varcoda
980 @cindex verylongfermata
981
982 The following scripts are available in the Feta font and may be
983 attached to notes (eg. @samp{c\accent}).
984
985 @c Articulations and ornamentations
986 @c Fingering instructions (for "thumb")
987 @c Common notation for unfretted strings
988 @c   Bowing indications
989 @c   Harmonics
990 @c   Snap (Bartók) pizzicato
991 @c Custom percussion staves (for "halfopen" -- not yet funindexed)
992 @c References for wind instruments (for "open"/"stopped" -- not yet funindexed)
993
994
995 @menu
996 * Articulation scripts::
997 * Ornament scripts::
998 * Fermata scripts::
999 * Instrument-specific scripts::
1000 * Repeat sign scripts::
1001 * Ancient scripts::
1002 @end menu
1003
1004
1005 @node Articulation scripts
1006 @unnumberedsubsec Articulation scripts
1007
1008 @lilypond[quote]
1009 \include "script-chart.ly"
1010 \new RhythmicStaff { \scriptStaff #articulations }
1011 @end lilypond
1012
1013 @node Ornament scripts
1014 @unnumberedsubsec Ornament scripts
1015
1016 @lilypond[quote]
1017 \include "script-chart.ly"
1018 \new RhythmicStaff { \scriptStaff #ornaments }
1019 @end lilypond
1020
1021 @node Fermata scripts
1022 @unnumberedsubsec Fermata scripts
1023
1024 @lilypond[quote]
1025 \include "script-chart.ly"
1026 \new RhythmicStaff { \scriptStaff #fermatas }
1027 @end lilypond
1028
1029 @node Instrument-specific scripts
1030 @unnumberedsubsec Instrument-specific scripts
1031
1032 @lilypond[quote]
1033 \include "script-chart.ly"
1034 \new RhythmicStaff { \scriptStaff #instrument-specific }
1035 @end lilypond
1036
1037 @node Repeat sign scripts
1038 @unnumberedsubsec Repeat sign scripts
1039
1040 @lilypond[quote]
1041 \include "script-chart.ly"
1042 \new RhythmicStaff { \scriptStaff #repeats }
1043 @end lilypond
1044
1045 @node Ancient scripts
1046 @unnumberedsubsec Ancient scripts
1047
1048 @lilypond[quote]
1049 \include "script-chart.ly"
1050 \include "gregorian.ly"
1051 \new VaticanaStaff { \scriptStaffAncient #ancient }
1052 @end lilypond
1053
1054
1055 @node Percussion notes
1056 @appendixsec Percussion notes
1057
1058 @lilypondfile[quote]{percussion-chart.ly}
1059
1060
1061 @node Technical glossary
1062 @appendixsec Technical glossary
1063
1064 A glossary of the technical terms and concepts used internally in
1065 LilyPond.  These terms may appear in the manuals, on mailing lists
1066 or in the source code.
1067
1068 @menu
1069 * alist::
1070 * callback::
1071 * closure::
1072 * glyph::
1073 * grob::
1074 * immutable::
1075 * interface::
1076 * lexer::
1077 * mutable::
1078 * output-def::
1079 * parser::
1080 * parser variable::
1081 * prob::
1082 * simple closure::
1083 * smob::
1084 * stencil::
1085 @end menu
1086
1087 @node alist
1088 @unnumberedsubsec alist
1089
1090 @cindex alist
1091 @cindex association list
1092
1093 An association list or @strong{alist} for short is a Scheme pair
1094 which associates a value with a key: @w{@code{(key . value)}}.  For
1095 example, in @file{scm/lily.scm}, the alist
1096 @w{@qq{type-p-name-alist}} associates certain type predicates
1097 (e.g.@tie{}@code{ly:music?}) with names (e.g.@tie{}@qq{music}) so
1098 that type-check failures can be reported with a console message that
1099 includes the name of the expected type predicate.
1100
1101 @node callback
1102 @unnumberedsubsec callback
1103
1104 @cindex callback
1105
1106 A @strong{callback} is a routine, function or method whose reference is
1107 passed as an argument in a call to another routine, so allowing
1108 the called routine to invoke it.  The technique enables a lower-
1109 level software layer to call a function defined in a higher
1110 layer.  Callbacks are used extensively in LilyPond to permit
1111 user-level Scheme code to define how many low-level actions are
1112 performed.
1113
1114
1115 @node closure
1116 @unnumberedsubsec closure
1117
1118 @cindex closure
1119 @cindex simple closure
1120
1121 In Scheme, a @strong{closure} is created when a function, usually
1122 a lambda expression, is passed as a variable.  The closure contains
1123 the function's code plus references to the lexical bindings of the
1124 function's free variables (i.e. those variables used in the
1125 expression but defined outside it).  When this function is applied
1126 to different arguments later, the free variable bindings that were
1127 captured in the closure are used to obtain the values of the free
1128 variables to be used in the calculation.  One useful property of
1129 closures is the retention of internal variable values between
1130 invocations, so permitting state to be maintained.
1131
1132 A @strong{simple closure} is a closure whose expression has no free
1133 variables and hence no free variable bindings.
1134
1135 A simple closure is represented in LilyPond by a smob containing
1136 the expression and a method to apply the expression to a passed
1137 list of arguments.
1138
1139
1140 @node glyph
1141 @unnumberedsubsec glyph
1142
1143 @cindex glyph
1144 @cindex font
1145 @cindex typeface
1146
1147 A @strong{glyph} is a particular graphical representation of a typographic
1148 character, or a combination of two characters formating a ligature.
1149 A set of glyphs with a single style and shape comprise a font, and
1150 a set of fonts covering several styles and sizes comprise a typeface.
1151
1152 @seealso
1153 Notation Reference:
1154 @ref{Fonts},
1155 @ref{Special characters}.
1156
1157
1158 @node grob
1159 @unnumberedsubsec grob
1160
1161 @cindex grob
1162 @cindex layout objects
1163 @cindex graphical objects
1164
1165 LilyPond objects which represent items of notation in the printed
1166 output such as note heads, stems, slurs, ties, fingering, clefs,
1167 etc are called @q{Layout objects}, often known as @q{GRaphical
1168 OBjects}, or @strong{grobs} for short.  They are represented by
1169 instances of the @code{Grob} class.
1170
1171 @seealso
1172 Learning Manual:
1173 @rlearning{Objects and interfaces},
1174 @rlearning{Naming conventions of objects and properties},
1175 @rlearning{Properties of layout objects}.
1176
1177 Internals Reference:
1178 @rinternals{grob-interface},
1179 @rinternals{All layout objects}.
1180
1181
1182 @node immutable
1183 @unnumberedsubsec immutable
1184
1185 @cindex immutable objects
1186 @cindex immutable properties
1187 @cindex shared properties
1188
1189 An @strong{immutable} object is one whose state cannot be modified
1190 after creation, in contrast to a mutable object, which can be
1191 modified after creation.
1192
1193 In LilyPond, immutable or shared properties define the default
1194 style and behavior of grobs.  They are shared between many objects.
1195 In apparent contradiction to the name, they can be changed using
1196 @code{\override} and @code{\revert}.
1197
1198 @seealso
1199 Notation Reference:
1200 @ref{mutable}.
1201
1202
1203 @node interface
1204 @unnumberedsubsec interface
1205
1206 @cindex interface
1207 @cindex grob-interface
1208 @cindex graphical object interfaces
1209
1210 Actions and properties which are common to a number of grobs are
1211 grouped together in an object called a @code{grob-interface}, or
1212 just @q{interface} for short.
1213
1214 @seealso
1215 Learning Manual:
1216 @rlearning{Objects and interfaces},
1217 @rlearning{Naming conventions of objects and properties},
1218 @rlearning{Properties found in interfaces}.
1219
1220 Notation Reference:
1221 @ref{Layout interfaces}.
1222
1223 Internals Reference:
1224 @rinternals{Graphical Object Interfaces}.
1225
1226
1227 @node lexer
1228 @unnumberedsubsec lexer
1229
1230 @cindex lexer
1231 @cindex Flex
1232
1233 A @strong{lexer} is a program which converts a sequence of
1234 characters into a sequence of tokens, a process called lexical
1235 analysis.  The LilyPond lexer converts the stream obtained from an
1236 input @file{.ly} file into a tokenized stream more suited to the
1237 next stage of processing - parsing, for which see @ref{parser}.
1238 The LilyPond lexer is built with Flex from the lexer file
1239 @file{lily/lexer.ll} which contains the lexical rules.  This file
1240 is part of the source code and is not included in the LilyPond
1241 binary installation.
1242
1243
1244 @node mutable
1245 @unnumberedsubsec mutable
1246
1247 @cindex mutable objects
1248 @cindex mutable properties
1249
1250 A @strong{mutable} object is one whose state can be modified after
1251 creation, in contrast to an immutable object, whose state is fixed
1252 at the time of creation.
1253
1254 In LilyPond, mutable properties contain values that are specific to
1255 one grob.  Typically, lists of other objects or results from
1256 computations are stored in mutable properties.
1257
1258 @seealso
1259 Notation Reference:
1260 @ref{immutable}.
1261
1262
1263 @node output-def
1264 @unnumberedsubsec output-def
1265
1266 @cindex output-def
1267
1268 An instance of the @code{Output-def} class contains the methods and
1269 data structures associated with an output block.  Instances are
1270 created for midi, layout and paper blocks.
1271
1272
1273 @node parser
1274 @unnumberedsubsec parser
1275
1276 @cindex parser
1277 @cindex Bison
1278 @cindex grammar for LilyPond
1279 @cindex BNF
1280
1281 A @strong{parser} analyzes the sequence of tokens produced by a
1282 lexer to determine its grammatical structure, grouping the tokens
1283 progressively into larger groupings according to the rules of the
1284 grammar.  If the sequence of tokens is valid the end product is a
1285 tree of tokens whose root is the grammar's start symbol.  If this
1286 cannot be achieved the file is invalid and an appropriate error
1287 message is produced.  The syntactic groupings and the rules for
1288 constructing the groupings from their parts for the LilyPond syntax
1289 are defined in @file{lily/parser.yy} and shown in Backus Normal Form
1290 (BNF) in @ref{LilyPond grammar}.  This file is used to build the
1291 parser during the program build by the parser generator, Bison.  It
1292 is part of the source code and is not included in the LilyPond
1293 binary installation.
1294
1295
1296 @node parser variable
1297 @unnumberedsubsec parser variable
1298
1299 @cindex parser variable
1300 @cindex Scheme variable
1301 @cindex global variable
1302 @cindex afterGraceFraction
1303 @cindex musicQuotes
1304 @cindex mode
1305 @cindex output-count
1306 @cindex output-suffix
1307 @cindex parseStringResult
1308 @cindex partCombineListener
1309 @cindex pitchnames
1310 @cindex toplevel-bookparts
1311 @cindex toplevel-scores
1312 @cindex showLastLength
1313 @cindex showFirstLength
1314
1315 These are variables defined directly in Scheme.  Their direct
1316 use by users is strongly discouraged, because their scoping
1317 semantics can be confusing.
1318
1319 When the value of such a variable is changed in a @file{.ly} file,
1320 the change is global, and unless explicitly reverted, the new value
1321 will persist to the end of the file, affecting subsequent
1322 @code{\score} blocks as well as external files added with the
1323 @code{\include} command.  This can lead to unintended consequences
1324 and in complex typesetting projects the consequent errors can be
1325 difficult to track down.
1326
1327 LilyPond uses the following parser variables:
1328
1329 @itemize
1330 @item afterGraceFraction
1331 @item musicQuotes
1332 @item mode
1333 @item output-count
1334 @item output-suffix
1335 @item parseStringResult
1336 @item partCombineListener
1337 @item pitchnames
1338 @item toplevel-bookparts
1339 @item toplevel-scores
1340 @item showLastLength
1341 @item showFirstLength
1342 @end itemize
1343
1344
1345 @node prob
1346 @unnumberedsubsec prob
1347
1348 @cindex prob
1349 @cindex property object
1350
1351 PRoperty OBjects, or @strong{probs} for short, are instances of
1352 the @code{Prob} class, a simple base class for objects which have
1353 mutable and immutable property alists and the methods to manipulate
1354 them.  The @code{Music} and @code{Stream_event} classes derive from
1355 @code{Prob}.  Instances of the @code{Prob} class are also created
1356 to hold the formatted content of system grobs and titling blocks
1357 during page layout.
1358
1359
1360 @node simple closure
1361 @unnumberedsubsec simple closure
1362
1363 See @ref{closure}.
1364
1365
1366 @node smob
1367 @unnumberedsubsec smob
1368
1369 @cindex smob
1370 @cindex Scheme object
1371
1372 @strong{Smobs}, or ScheMe OBjects, are part of the mechanism used
1373 by Guile to export C and C++ objects to Scheme code.  In LilyPond,
1374 smobs are created from C++ objects through macros.  There are two
1375 types of smob objects: simple smobs, intended for simple immutable
1376 objects like numbers, and complex smobs, used for objects with
1377 identities.  If you have access to the LilyPond sources, more
1378 information can be found in @file{lily/includes/smob.hh}.
1379
1380 @node stencil
1381 @unnumberedsubsec stencil
1382
1383 @cindex stencil
1384
1385 An instance of the @strong{stencil} class holds the information
1386 required to print a typographical object.  It is a simple smob
1387 containing a confining box, which defines the vertical and
1388 horizontal extents of the object, and a Scheme expression which
1389 will print the object when evaluated.  Stencils may be combined
1390 to form more complex stencils defined by a tree of Scheme
1391 expressions formed from the Scheme expressions of the component
1392 stencils.
1393
1394 The @code{stencil} property, which connects a grob to its stencil,
1395 is defined in the @code{grob-interface} interface.
1396
1397 @seealso
1398 Internals Reference:
1399 @rinternals{grob-interface}.
1400
1401
1402 @node All context properties
1403 @appendixsec All context properties
1404
1405 @include context-properties.tely
1406
1407
1408 @node Layout properties
1409 @appendixsec Layout properties
1410
1411 @include layout-properties.tely
1412
1413
1414 @node Available music functions
1415 @appendixsec Available music functions
1416
1417 @include identifiers.tely
1418
1419 @node Context modification identifiers
1420 @appendixsec Context modification identifiers
1421
1422 The following commands are defined for use as context modifications
1423 within a @code{\layout} or @code{\with} block.
1424
1425 @include context-mod-identifiers.tely
1426
1427 @node Predefined type predicates
1428 @appendixsec Predefined type predicates
1429
1430 @include type-predicates.tely
1431
1432
1433 @node Scheme functions
1434 @appendixsec Scheme functions
1435
1436 @include scheme-functions.tely
1437