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