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