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