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