]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/user/global.itely
New spacing docs and editing to global.itely and page.itely. Other
[lilypond.git] / Documentation / user / global.itely
1 @c -*- coding: utf-8; mode: texinfo; -*-
2 @c This file is part of lilypond.tely
3
4 @c A menu is needed before every deeper *section nesting of @node's; run
5 @c     M-x texinfo-all-menus-update
6 @c to automatically fill in these menus before saving changes
7
8 @node Non-musical notation
9 @chapter Non-musical notation
10
11 This section deals with general lilypond issues, rather than
12 specific notation.
13
14 @menu
15 * Input files::                 
16 * Titles and headers::          
17 * Multiple movements::          
18 * MIDI output::                 
19 * Displaying LilyPond notation::  
20 * Skipping corrected music::    
21 @end menu
22
23
24 @node Input files
25 @section Input files
26
27 The main format of input for LilyPond are text files.  By convention,
28 these files end with ``@code{.ly}''.
29
30 @menu
31 * File structure (introduction)::  
32 * File structure::              
33 * A single music expression::   
34 * Including LilyPond files::    
35 * Text encoding::               
36 @end menu
37
38
39 @node File structure (introduction)
40 @subsection File structure (introduction)
41
42 A basic example of a lilypond input file is
43
44 @example
45 \version "2.8.0"
46 \score @{
47   @{ @}     % this is a single music expression;
48             % all the music goes in here.
49   \header @{ @}
50   \layout @{ @}
51   \midi @{ @}
52 @}
53 @end example
54
55 @noindent
56 There are many variations of this basic pattern, but this
57 example serves as a useful starting place.
58
59 The major part of this manual is concerned with entering various
60 forms of music in LilyPond.  However, many music expressions are not
61 valid input on their own, for example, a @code{.ly} file containing
62 only a note
63 @example
64 c'4
65 @end example
66
67 @noindent
68 will result in a parsing error.  Instead, music should be inside other
69 expressions, which may be put in a file by themselves.  Such
70 expressions are called toplevel expressions.  The next section enumerates
71 them all.
72
73
74 @node File structure
75 @subsection File structure
76
77 A @code{.ly} file contains any number of toplevel expressions, where a
78 toplevel expression is one of the following
79
80 @itemize @bullet
81 @item
82 An output definition, such as @code{\paper}, @code{\midi}, and
83 @code{\layout}.  Such a definition at the toplevel changes the default
84 settings for the block entered.
85
86 @item
87 A direct scheme expression, such as
88 @code{#(set-default-paper-size "a7" 'landscape)} or
89 @code{#(ly:set-option 'point-and-click #f)}.
90
91 @item
92 A @code{\header} block.  This sets the global header block.  This
93 is the block containing the definitions for book-wide settings, like
94 composer, title, etc.
95
96 @item
97 An @code{\addquote} statement.  See @ref{Quoting other voices}
98 for more information.
99
100 @item
101 A @code{\score} block.  This score will be collected with other
102 toplevel scores, and combined as a single @code{\book}.
103
104 This behavior can be changed by setting the variable
105 @code{toplevel-score-handler} at toplevel.  The default handler is
106 defined in the init file @file{scm/@/lily@/.scm}.
107
108 The @code{\score} must begin with a music expression, and may
109 contain only one music expression.
110
111 @item
112 A @code{\book} block logically combines multiple movements
113 (i.e., multiple @code{\score} blocks) in one document.  If there are
114 a number of @code{\scores}, a single output file will be created
115 in which all movements are concatenated.
116
117 This behavior can be changed by setting the variable
118 @code{toplevel-book-handler} at toplevel.  The default handler is
119 defined in the init file @file{scm/@/lily@/.scm}.
120
121 @item
122 A compound music expression, such as
123 @example
124 @{ c'4 d' e'2 @}
125 @end example
126
127 This will add the piece in a @code{\score} and format it in a
128 single book together with all other toplevel @code{\score}s and music
129 expressions.  In other words, a file containing only the above
130 music expression will be translated into
131
132 @example
133 \book @{
134   \score @{
135     \new Staff @{
136       \new Voice @{
137         @{ c'4 d' e'2 @}
138       @}
139     @}
140   @}
141         \layout @{ @}
142         \header @{ @}
143 @}
144 @end example
145
146 This behavior can be changed by setting the variable
147 @code{toplevel-music-handler} at toplevel.  The default handler is
148 defined in the init file @file{scm/@/lily@/.scm}.
149
150 @item
151 A markup text, a verse for example
152 @example
153 \markup @{
154    2.  The first line verse two.
155 @}
156 @end example
157
158 Markup texts are rendered above, between or below the scores or music
159 expressions, wherever they appear.
160
161 @item
162 An identifier, such as
163 @example
164 foo = @{ c4 d e d @}
165 @end example
166
167 This can be used later on in the file by entering @code{\foo}.  The
168 name of an identifier should have alphabetic characters only; no
169 numbers, underscores or dashes.
170
171 @end itemize
172
173 The following example shows three things that may be entered at
174 toplevel
175
176 @example
177 \layout @{
178   % movements are non-justified by default
179   ragged-right = ##t
180 @}
181
182 \header @{
183    title = "Do-re-mi"
184 @}
185
186 @{ c'4 d' e2 @}
187 @end example
188
189
190 At any point in a file, any of the following lexical instructions can
191 be entered:
192
193 @itemize @bullet
194 @item @code{\version}
195 @item @code{\include}
196 @item @code{\renameinput}
197 @end itemize
198
199
200 @node A single music expression
201 @subsection A single music expression
202
203 A @code{\score} must contain a single music expression.  However,
204 this music expression may be of any size.  Recall that music
205 expressions may be included inside other expressions to form
206 larger expressions.  All of these examples are single music
207 expressions; note the curly braces @{ @} or angle brackets <<
208 >> at the beginning and ending of the music.
209
210 @example
211 @{ c'4 c' c' c' @}
212 @end example
213
214 @lilypond[ragged-right,verbatim,quote]
215 {
216   { c'4 c' c' c'}
217   { d'4 d' d' d'}
218 }
219 @end lilypond
220
221 @lilypond[ragged-right,verbatim,quote]
222 <<
223   \new Staff { c'4 c' c' c' }
224   \new Staff { d'4 d' d' d' }
225 >>
226 @end lilypond
227
228 @example
229 @{
230   \new GrandStaff <<
231     \new StaffGroup <<
232       \new Staff @{ \flute @}
233       \new Staff @{ \oboe @}
234     >>
235     \new StaffGroup <<
236       \new Staff @{ \violinI @}
237       \new Staff @{ \violinII @}
238     >>
239   >>
240 @}
241 @end example
242
243
244 @node Including LilyPond files
245 @subsection Including LilyPond files
246
247 @findex \include
248 @cindex including files
249
250 A large project may be split up into separate files.  To refer to another
251 file, use
252
253 @example
254 \include "otherfile.ly"
255 @end example
256
257 The line @code{\include "file.ly"} is equivalent to pasting the contents
258 of file.ly into the current file at the place where you have the
259 \include.  For example, for a large project you might write separate files
260 for each instrument part and create a ``full score'' file which brings
261 together the individual instrument files.
262
263 The initialization of LilyPond is done in a number of files that are
264 included by default when you start the program, normally transparent to the
265 user.  Run lilypond --verbose to see a list of paths and files that Lily
266 finds.
267
268 Files placed in directory @file{PATH/TO/share/lilypond/VERSION/ly/} (where
269 VERSION is in the form ``2.6.1'') are on the path and available to
270 @code{\include}.  Files in the
271 current working directory are available to \include, but a file of the same
272 name in LilyPond's installation takes precedence.  Files are
273 available to \include from directories in the search path specified as an
274 option when invoking @code{lilypond --include=DIR} which adds DIR to the
275 search path.
276
277 The @code{\include} statement can use full path information, but with the Unix
278 convention @code{"/"} rather than the DOS/Windows @code{"\"}.  For example,
279 if @file{stuff.ly} is located one directory higher than the current working
280 directory, use
281
282 @example
283 \include "../stuff.ly"
284 @end example
285
286
287 @node Text encoding
288 @subsection Text encoding
289
290 LilyPond uses the Pango library to format multi-lingual texts, and
291 does not perform any input-encoding conversions.  This means that any
292 text, be it title, lyric text, or musical instruction containing
293 non-ASCII characters, must be utf-8.  The easiest way to enter such text is
294 by using a Unicode-aware editor and saving the file with utf-8 encoding.  Most
295 popular modern editors have utf-8 support, for example, vim, Emacs,
296 jEdit, and GEdit do.
297
298 Depending on the fonts installed, the following fragment shows Hebrew
299 and Cyrillic lyrics,
300
301 @cindex Cyrillic
302 @cindex Hebrew
303 @cindex ASCII, non
304
305 @lilypondfile[fontload]{utf-8.ly}
306
307 The @TeX{} backend does not handle encoding specially at all.  Strings
308 in the input are put in the output as-is.  Extents of text items in the
309 @TeX{} backend, are determined by reading a file created via the
310 @file{texstr} backend,
311
312 @example
313 lilypond -b texstr input/les-nereides.ly
314 latex les-nereides.texstr
315 @end example
316
317 The last command produces @file{les-nereides.textmetrics}, which is
318 read when you execute
319
320 @example
321 lilypond -b tex input/les-nereides.ly
322 @end example
323
324 Both @file{les-nereides.texstr} and @file{les-nereides.tex} need
325 suitable LaTeX wrappers to load appropriate La@TeX{} packages for
326 interpreting non-ASCII strings.
327
328 To use a Unicode escape sequence, use
329
330 @example
331 #(ly:export (ly:wide-char->utf-8 #x2014))
332 @end example
333
334
335 @seealso
336
337 @inputfileref{input/regression,utf-8.ly}
338
339
340
341 @node Titles and headers
342 @section Titles and headers
343
344 Almost all printed music includes a title and the composer's name;
345 some pieces include a lot more information.
346
347 @menu
348 * Creating titles::             
349 * Custom titles::               
350 @end menu
351
352
353 @node Creating titles
354 @subsection Creating titles
355
356 Titles are created for each @code{\score} block, and over a
357 @code{\book}.
358
359 The contents of the titles are taken from the @code{\header} blocks.
360 The header block for a book supports the following
361
362
363 @table @code
364 @findex dedication
365 @item dedication
366 The dedicatee of the music, centered at the top of the first page.
367
368 @findex title
369 @item title
370 The title of the music, centered just below the dedication.
371
372 @findex subtitle
373 @item subtitle
374 Subtitle, centered below the title.
375
376 @findex subsubtitle
377 @item subsubtitle
378 Subsubtitle, centered below the subtitle.
379
380 @findex poet
381 @item poet
382 Name of the poet, flush-left below the subtitle.
383
384 @findex composer
385 @item composer
386 Name of the composer, flush-right below the subtitle.
387
388 @findex meter
389 @item meter
390 Meter string, flush-left below the poet.
391
392 @findex opus
393 @item opus
394 Name of the opus, flush-right below the composer.
395
396 @findex arranger
397 @item arranger
398 Name of the arranger, flush-right below the opus.
399
400 @findex instrument
401 @item instrument
402 Name of the instrument, centered below the arranger.  Also
403 centered at the top of pages (other than the first page).
404
405 @findex piece
406 @item piece
407 Name of the piece, flush-left below the instrument.
408
409 @cindex page breaks, forcing
410 @findex breakbefore
411 @item breakbefore
412 This forces the title to start on a new page (set to ##t or ##f).
413
414 @findex copyright
415 @item copyright
416 Copyright notice, centered at the bottom of the first page.  To
417 insert the copyright symbol, see @ref{Text encoding}.
418
419 @findex tagline
420 @item tagline
421 Centered at the bottom of the last page.
422
423 @end table
424
425 Here is a demonstration of the fields available.  Note that you
426 may use any @ref{Text markup} commands in the header.
427
428 @lilypond[quote,verbatim,line-width=11.0\cm]
429 \paper {
430   line-width = 9.0\cm
431   paper-height = 10.0\cm
432 }
433
434 \book {
435   \header {
436     dedication = "dedicated to me"
437     title = \markup \center-align { "Title first line" "Title second line,
438 longer" }
439     subtitle = "the subtitle,"
440     subsubtitle = #(string-append "subsubtitle LilyPond version "
441 (lilypond-version))
442     poet = "Poet"
443     composer =  \markup \center-align { "composer" \small "(1847-1973)" }
444     texttranslator = "Text Translator"
445     meter = \markup { \teeny "m" \tiny "e" \normalsize "t" \large "e" \huge
446 "r" }
447     arranger = \markup { \fontsize #8.5 "a" \fontsize #2.5 "r" \fontsize
448 #-2.5 "r" \fontsize #-5.3 "a" \fontsize #7.5 "nger" }
449     instrument = \markup \bold \italic "instrument"
450     piece = "Piece"
451   }
452
453   \score {
454     { c'1 }
455     \header {
456       piece = "piece1"
457       opus = "opus1"
458     }
459   }
460   \markup {
461       and now...
462   }
463   \score {
464     { c'1 }
465     \header {
466       piece = "piece2"
467       opus = "opus2"
468     }
469   }
470 }
471 @end lilypond
472
473 As demonstrated before, you can use multiple @code{\header} blocks.
474 When same fields appear in different blocks, the latter is used.
475 Here is a short example.
476
477 @example
478 \header @{
479   composer = "Composer"
480 @}
481 \header @{
482   piece = "Piece"
483 @}
484 \score @{
485   \new Staff @{ c'4 @}
486   \header @{
487     piece = "New piece"  % overwrite previous one
488   @}
489 @}
490 @end example
491
492 If you define the @code{\header} inside the @code{\score} block, then
493 normally only the @code{piece} and @code{opus} headers will be printed.
494 Note that the music expression must come before the @code{\header}.
495
496 @lilypond[quote,verbatim,line-width=11.0\cm]
497 \score {
498   { c'4 }
499   \header {
500     title = "title"  % not printed
501     piece = "piece"
502     opus = "opus"
503   }
504 }
505 @end lilypond
506
507 @findex printallheaders
508 @noindent
509 You may change this behavior (and print all the headers when defining
510 @code{\header} inside @code{\score}) by using
511
512 @example
513 \paper@{
514   printallheaders=##t
515 @}
516 @end example
517
518 @cindex copyright
519 @cindex tagline
520
521 The default footer is empty, except for the first page, where the
522 @code{copyright} field from @code{\header} is inserted, and the last
523 page, where @code{tagline} from @code{\header} is added.  The default
524 tagline is ``Music engraving by LilyPond (@var{version})''.@footnote{Nicely
525 printed parts are good PR for us, so please leave the tagline if you
526 can.}
527
528
529 @node Custom titles
530 @subsection Custom titles
531
532 A more advanced option is to change the definitions of the following
533 variables in the @code{\paper} block.  The init file
534 @file{ly/titling-init.ly} lists the default layout.
535
536 @table @code
537 @findex bookTitleMarkup
538 @item bookTitleMarkup
539   This is the title put over an entire @code{\book} block.  Typically,
540   it has the composer and the title of the piece
541
542 @findex scoreTitleMarkup
543 @item scoreTitleMarkup
544   This is the title put over a @code{\score} block within a
545 @code{\book}.  Typically, it has the name of the movement (@code{piece}
546 field).
547
548 @findex oddHeaderMarkup
549 @item oddHeaderMarkup
550   This is the page header for odd-numbered pages.
551
552 @findex evenHeaderMarkup
553 @item evenHeaderMarkup
554   This is the page header for even-numbered pages.  If unspecified,
555   the odd header is used instead.
556
557   By default, headers are defined such that the page number is on the
558   outside edge, and the instrument is centered.
559
560 @findex oddFooterMarkup
561 @item oddFooterMarkup
562   This is the page footer for odd-numbered pages.
563
564 @findex evenFotterMarkup
565 @item evenFooterMarkup
566   This is the page footer for even-numbered pages.  If unspecified,
567   the odd header is used instead.
568
569   By default, the footer has the copyright notice on the first, and
570   the tagline on the last page.
571 @end table
572
573
574 @cindex \paper
575 @cindex header
576 @cindex footer
577 @cindex page layout
578 @cindex titles
579
580 The following definition will put the title flush left, and the
581 composer flush right on a single line.
582
583 @verbatim
584 \paper {
585   bookTitleMarkup = \markup {
586    \fill-line {
587      \fromproperty #'header:title
588      \fromproperty #'header:composer
589    }
590   }
591 }
592 @end verbatim
593
594
595 @refbugs
596
597 The @code{breakbefore=##t} header requires that there is a @code{piece}
598 header as well.  It may be used as a normal header, or left  blank
599 (@code{=""}) as in the example above, but it must be present.
600
601
602
603 @node Multiple movements
604 @section Multiple movements
605
606 @cindex bibliographic information
607 @cindex titles
608 @cindex composer
609 @cindex Music engraving by LilyPond
610
611 A document may contain multiple pieces of music and texts.  Examples
612 of these are an etude book, or an orchestral part with multiple
613 movements.  Each movement is entered with a @code{\score} block,
614
615 @example
616 \score @{
617   @var{..music..}
618 @}
619 @end example
620
621 and texts are entered with a @code{\markup} block,
622
623 @example
624 \markup @{
625   @var{..text..}
626 @}
627 @end example
628
629 @findex \book
630
631 The movements and texts are combined together in a @code{\book} block,
632 like
633
634 @example
635 \book @{
636   \score @{
637     @var{..}
638   @}
639   \markup @{
640     @var{..}
641   @}
642   \score @{
643     @var{..}
644   @}
645 @}
646 @end example
647
648
649 The header for each piece of music can be put inside the @code{\score}
650 block.  The @code{piece} name from the header will be printed before
651 each movement.  The title for the entire book can be put inside the
652 @code{\book}, but if it is not present, the @code{\header} which is at
653 the top of the file is inserted.
654
655 @cindex Engraved by LilyPond
656 @cindex signature line
657
658 @example
659 \book @{
660   \header @{
661     title = "Eight miniatures"
662     composer = "Igor Stravinsky"
663   @}
664   \score @{
665     @dots{}
666     \header @{ piece = "Romanze" @}
667   @}
668   \markup @{
669      ..text of second verse..
670   @}
671   \markup @{
672      ..text of third verse..
673   @}
674   \score @{
675     @dots{}
676     \header @{ piece = "Menuetto" @}
677   @}
678 @}
679 @end example
680
681
682
683 @node MIDI output
684 @section MIDI output
685
686 @cindex Sound
687 @cindex MIDI
688
689 MIDI (Musical Instrument Digital Interface) is a standard for
690 connecting and controlling digital instruments.  A MIDI file is a
691 series of notes in a number of tracks.  It is not an actual
692 sound file; you need special software to translate between the
693 series of notes and actual sounds.
694
695 Pieces of music can be converted to MIDI files, so you can listen to
696 what was entered.  This is convenient for checking the music; octaves
697 that are off or accidentals that were mistyped stand out very much
698 when listening to the MIDI output.
699
700 @refbugs
701
702 Many musically interesting effects, such as swing, articulation,
703 slurring, etc., are not translated to midi.
704
705 The midi output allocates a channel for each staff, and one for global
706 settings.  Therefore the midi file should not have more than 15 staves
707 (or 14 if you do not use drums).  Other staves will remain silent.
708
709 Not all midi players correctly handle tempo changes in the midi
710 output.  Players that are known to work include
711 @uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
712
713 @menu
714 * Creating MIDI files::         
715 * MIDI block::                  
716 * MIDI instrument names::       
717 @end menu
718
719 @node Creating MIDI files
720 @subsection Creating MIDI files
721
722 To create a MIDI from a music piece of music, add a @code{\midi} block
723 to a score, for example,
724
725 @example
726 \score @{
727   @var{...music...}
728   \midi @{ \tempo 4=72 @}
729 @}
730 @end example
731
732 The tempo is specified using the @code{\tempo} command.  In this
733 example the tempo of quarter notes is set to 72 beats per minute.
734
735
736 If there is a @code{\midi} command in a @code{\score}, only MIDI will
737 be produced.  When notation is needed too, a @code{\layout} block must
738 be added
739
740 @example
741 \score @{
742   @var{...music...}
743   \midi @{ \tempo 4=72 @}
744   \layout @{ @}
745 @}
746 @end example
747 @cindex layout block
748
749
750
751 Ties, dynamics, and tempo changes are interpreted.  Dynamic marks,
752 crescendi and decrescendi translate into MIDI volume levels.  Dynamic
753 marks translate to a fixed fraction of the available MIDI volume
754 range, crescendi and decrescendi make the volume vary linearly between
755 their two extremes.  The fractions can be adjusted by
756 @code{dynamicAbsoluteVolumeFunction} in @internalsref{Voice} context.
757 For each type of MIDI instrument, a volume range can be defined.  This
758 gives a basic equalizer control, which can enhance the quality of
759 the MIDI output remarkably.  The equalizer can be controlled by
760 setting @code{instrumentEqualizer}, or by setting
761
762 @example
763 \set Staff.midiMinimumVolume = #0.2
764 \set Staff.midiMaximumVolume = #0.8
765 @end example
766
767 To remove dynamics from the MIDI output, insert the following lines
768 in the @code{\midi@{@}} section.
769
770 @example
771 \midi @{
772   ...
773   \context @{
774     \Voice
775     \remove "Dynamic_performer"
776     \remove "Span_dynamic_performer"
777   @}
778 @}
779 @end example
780
781
782 @refbugs
783
784 Unterminated (de)crescendos will not render properly in the midi file,
785 resulting in silent passages of music.  The workaround is to explicitly
786 terminate the (de)crescendo.  For example,
787
788 @example
789 @{ a\< b c d\f @}
790 @end example
791
792 @noindent
793 will not work properly but
794
795 @example
796 @{ a\< b c d\!\f @}
797 @end example
798
799 @noindent
800 will.
801
802
803 @node MIDI block
804 @subsection MIDI block
805 @cindex MIDI block
806
807
808 The MIDI block is analogous to the layout block, but it is somewhat
809 simpler.  The @code{\midi} block can contain
810 @cindex MIDI block
811
812 @itemize @bullet
813   @item a @code{\tempo} definition, and
814   @item context definitions.
815 @end itemize
816
817 A number followed by a period is interpreted as a real number, so
818 for setting the tempo for dotted notes, an extra space should be
819 inserted, for example
820
821 @example
822 \midi @{ \tempo 4 . = 120 @}
823 @end example
824
825
826 @cindex context definition
827
828 Context definitions follow precisely the same syntax as within the
829 \layout block.  Translation modules for sound are called performers.
830 The contexts for MIDI output are defined in @file{ly/@/performer@/-init@/.ly}.
831
832
833 @node MIDI instrument names
834 @subsection MIDI instrument names
835
836 @cindex instrument names
837 @findex Staff.midiInstrument
838
839 The MIDI instrument name is set by the @code{Staff.midiInstrument}
840 property.  The instrument name should be chosen from the list in
841 @ref{MIDI instruments}.
842
843 @example
844 \set Staff.midiInstrument = "glockenspiel"
845 @var{...notes...}
846 @end example
847
848 If the selected instrument does not exactly match an instrument from
849 the list of MIDI instruments, the Grand Piano (@code{"acoustic grand"})
850 instrument is used.
851
852
853 @c  Yes, this is a cop-out; this info doesn't belong in the Scheme
854 @c  chapter, but I'm not certain where to stick it.
855 @c  I think I'll eventually split this chapter into a "paper/layout"
856 @c  chapter and a "misc issues" chapter.  -gp
857 @node Displaying LilyPond notation
858 @section Displaying LilyPond notation
859
860 @findex \displayLilyMusc
861 Displaying a music expression in LilyPond notation can be
862 done using the music function @code{\displayLilyMusic}.  For example,
863
864 @example
865 @{
866   \displayLilyMusic \transpose c a, @{ c e g a bes @}
867 @}
868 @end example
869
870 will display
871
872 @example
873 @{ a, cis e fis g @}
874 @end example
875
876 By default, LilyPond will print these messages to the console along
877 with all the other messages.  To split up these messages and save
878 the results of @code{\display@{STUFF@}}, redirect the output to
879 a file.
880
881 @example
882 lilypond file.ly >display.txt
883 @end example
884
885
886 @node Skipping corrected music
887 @section Skipping corrected music
888
889
890 @findex skipTypesetting
891 @findex showLastLength
892
893 When entering or copying music, usually only the music near the end (where
894 you
895 are adding notes) is interesting to view and correct.  To speed up
896 this correction process, it is possible to skip typesetting of all but
897 the last few measures. This is achieved by putting
898
899 @verbatim
900 showLastLength = R1*5
901 \score { ... }
902 @end verbatim
903
904 @noindent
905 in your source file. This will render only the last 5 measures
906 (assuming 4/4 time signature) of every @code{\score} in the input
907 file. For longer pieces, rendering only a small part is often an order
908 of magnitude quicker than rendering it completely
909
910 Skipping parts of a score can be controlled in a more fine-grained
911 fashion with the property @code{Score.skipTypesetting}.  When it is
912 set, no typesetting is performed at all.
913
914 This property is also used to control output to the MIDI file. Note that
915 it skips all events, including tempo and instrument changes. You have
916 been warned.
917
918 @lilypond[quote,fragment,ragged-right,verbatim]
919 \relative c'' {
920   c8 d
921   \set Score.skipTypesetting = ##t
922   e e e e e e e e
923   \set Score.skipTypesetting = ##f
924   c d b bes a g c2 }
925 @end lilypond
926
927 In polyphonic music, @code{Score.skipTypesetting} will affect all
928 voices and staves, saving even more time.
929
930
931