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