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