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