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