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