]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/refman.itely
patch::: 1.3.141.jcn3
[lilypond.git] / Documentation / user / refman.itely
index ebf3898768632411dfd3ff76ba38be0ba594b5dc..ee400db07aa56a89ea7a4efbff59ea6bd58264d3 100644 (file)
@@ -41,7 +41,6 @@ revision of this document was for LilyPond 1.3.141.
 * Page layout::                 
 * Sound::                       
 * Music entry::                 
-* Using LilyPond::              
 * Interpretation context::      
 * Syntactic details::           
 * Lexical details::             
@@ -859,7 +858,6 @@ beaming algorithm.  For example, the auto beamer will not beam over
 rests or bar lines, so if you want that, specify the begin and end point
 manually using @code{[} and @code{]}:
 
-@quotation
 @lilypond[fragment,relative,verbatim]
   \context Staff {
     r4 [r8 g'' a r8] r8 [g | a] r8
@@ -880,7 +878,6 @@ control the number of beams through the properties
     [f8 r16 \property Voice.stemLeftBeamCount = #1 f g a]
   }
 @end lilypond
-@end quotation
 @cindex @code{stemRightBeamCount}
 
 The beam symbol can be tweaked through @code{Voice.Beam}'s
@@ -889,24 +886,20 @@ in staff-spaces.
 
 Set @code{height} to zero, to get horizontal beams:
 
-@quotation
 @lilypond[fragment,relative,verbatim]
   \property Voice.Beam \set #'direction = #1
   \property Voice.Beam \set #'height = #0
   [a''8 e' d c]
 @end lilypond
-@end quotation
 
 Here's how you'd specify a weird looking beam that instead of being
 horizontal, falls two staff spaces:
 
-@quotation
 @lilypond[fragment,relative,verbatim]
   \property Voice.Beam \set #'staff-position = #2
   \property Voice.Beam \set #'height = #-2
   [c'8 c] 
 @end lilypond
-@end quotation
 @cindex @code{default-neutral-direction}
 
 @node Expressive marks
@@ -940,7 +933,6 @@ stem end.  If you want to override this layout you can do this through
 Maybe reinclude other slur features and move back to tricks?  Esp. the
 second example, how to fix, can be very helpful.
 
-@quotation
 @lilypond[fragment,relative,verbatim]
   \property Voice.Slur \set #'direction = #1
   \property Voice.Stem \set #'length = #5.5
@@ -948,13 +940,11 @@ second example, how to fix, can be very helpful.
   \property Voice.Slur \set #'attachment = #'(stem . stem)
   g8(g)g4
 @end lilypond
-@end quotation
 
 If a slur would strike through a stem or beam, the slur will be moved
 away upward or downward. If this happens, attaching the slur to the
 stems might look better:
 
-@quotation
 @lilypond[fragment,relative,verbatim]
   \property Voice.Stem \set #'direction = #1
   \property Voice.Slur \set #'direction = #1
@@ -962,7 +952,6 @@ stems might look better:
   \property Voice.Slur \set #'attachment = #'(stem . stem)
   d,32( d'4 )d8..
 @end lilypond
-@end quotation
 
 
 Similarly, the curvature of a slur is adjusted to stay clear of note
@@ -1083,6 +1072,8 @@ An application---or rather, a hack---is to fake octavation indications.
 * Articulation::                
 * Text scripts::                
 * Grace notes::                 
+* Glissando ::                  
+* Dynamics::                    
 @end menu
 
 @c .   {Articulation}
@@ -1256,15 +1247,12 @@ Unbeamed eighth notes and shorter by default have a slash through the
 stem.  This behavior can be controlled with the
 @code{Stem}.@code{flag-style} property.
 
-@quotation
 @lilypond[fragment,verbatim]
 \relative c'' {
   \grace c8 c4 \grace { [c16 c16] } c4
   \grace { \property Grace.Stem \override #'flag-style = #'() c16 } c4
 }
-
 @end lilypond
-@end quotation
 
 
 At present, nesting @code{\grace} notes is not supported. The following
@@ -1300,7 +1288,7 @@ also be implemented.
 
 @c .   {Glissando}
 @node Glissando 
-@subsubsection Glissando
+@subsection Glissando
 @cindex Glissando 
 
 @cindex @code{\glissando}
@@ -1308,11 +1296,9 @@ also be implemented.
 A glissando line can be requested by attaching a @code{\glissando} to a
 note:
 
-@quotation
 @lilypond[fragment,relative,verbatim]
   c'' \glissando c'
 @end lilypond
-@end quotation
 
 @refbugs
 
@@ -1323,7 +1309,7 @@ manually.
 
 @c .   {Dynamics}
 @node Dynamics
-@subsubsection Dynamics
+@subsection Dynamics
 @cindex Dynamics
 
 
@@ -1352,6 +1338,10 @@ note: @code{c4-\ff}.  The available dynamic marks are: @code{\ppp},
 @code{\fff}, @code{\fff}, @code{\fp}, @code{\sf}, @code{\sff},
 @code{\sp}, @code{\spp}, @code{\sfz}, and @code{\rfz}.
 
+@lilypond[verbatim,singleline,fragment,relative]
+  c''\ppp c\pp c \p c\mp c\mf c\f c\ff c\fff
+  c2\sf c\rfz
+@end lilypond
 
 @cindex Crescendo and Decrescendo
 @cindex crescendo
@@ -1376,11 +1366,9 @@ want to get several marks during one note, you must use spacer notes.
 
 @lilypond[fragment,verbatim,center]
   c'' \< \! c''   d'' \decr e'' \rced 
-  < f''1 { s4 \< \! s2 \> \! s4 } >
+  < f''1 { s4 s4 \< \! s4 \> \! s4 } >
 @end lilypond
 
-[BUG in \> ! ]
-
 You can also use a text saying @emph{cresc.} instead of hairpins. Here
 is an example how to do it:
 
@@ -1393,7 +1381,11 @@ is an example how to do it:
 @end lilypond
 
 
+@refbugs
 
+When using spacer notes to subdivide note dynamics and @code{linewidth =
+-1}, starting a hairpin on the first spacer note (the one coinciding
+with the real note) exposes an embarassing bug.
 
 
 
@@ -1464,34 +1456,28 @@ Normal notation repeats are used like this:
 @end lilypond
 
 With alternative endings:
-@quotation
 @lilypond[fragment,verbatim]
   c'1
   \repeat volta 2 {c'4 d' e' f'} 
   \alternative { {d'2 d'} {f' f} }
 @end lilypond
-@end quotation
 
 Folded repeats look like this:@footnote{Folded repeats offer little
 more over simultaneous music.  However, it is to be expected that
 more functionality -- especially for the MIDI backend -- will be
 implemented at some point in the future.}
 
-@quotation
 @lilypond[fragment,verbatim]
   c'1
   \repeat fold 2 {c'4 d' e' f'} 
   \alternative { {d'2 d'} {f' f} }
 
 @end lilypond
-@end quotation
-
 
 If you don't give enough alternatives for all of the repeats, then
 the first alternative is assumed to be repeated often enough to equal
 the specified number of repeats.
 
-@quotation
 @lilypond[fragment,verbatim]
 \context Staff {
   \relative c' {
@@ -1501,7 +1487,6 @@ the specified number of repeats.
   }
 }
 @end lilypond
-@end quotation
 
 @refbugs
 
@@ -1599,10 +1584,15 @@ In the @code{percent} style, a note pattern can be repeated. It is
 printed once, and then the pattern is replaced with a special sign.
 
 @lilypond[verbatim,singleline]
- \context Voice { \repeat  "percent" 5  { c'1 } }  
+ \context Voice { \repeat  "percent" 4  { c'4 }
+    \repeat "percent" 2 { c'2 es'2 f'4 fis'4 g'4 c''4 }
+}
 @end lilypond
 
-At present, only repeats of whole measures are supported.
+@refbugs
+
+You can not nest percent repeats, filling in the first measure with
+slashes, and repeating that measure with percents.
 
 @node Rhythmic music
 @section Rhythmic music
@@ -1740,17 +1730,14 @@ You can specify an arpeggio sign on a chord by attaching an
 @code{\arpeggio} to a note of the chord.
 
 
-@quotation
 @lilypond[fragment,relative,verbatim]
   \context Voice <c'\arpeggio e g c>
 @end lilypond
-@end quotation
 
 When an arpeggio crosses staffs in piano music, you attach an arpeggio
 to the chords in both staffs, and set
 @code{PianoStaff.connectArpeggios}.
 
-@quotation
 @lilypond[fragment,relative,verbatim]
   \context PianoStaff <
     \property PianoStaff.connectArpeggios = ##t
@@ -1758,7 +1745,6 @@ to the chords in both staffs, and set
     \context Voice = other { \clef bass;  <c,,\arpeggio e g>}
   >  
 @end lilypond
-@end quotation
 
 This command creates @code{Arpeggio} grobs. 
 
@@ -1782,7 +1768,6 @@ Whenever a voice switches to another staff a line connecting the notes
 can be printed automatically. This is enabled if the property
 @code{PianoStaff.followVoice} is set to true:
 
-@quotation
 @lilypond[fragment,relative,verbatim]
   \context PianoStaff <
     \property PianoStaff.followVoice = ##t
@@ -1794,7 +1779,6 @@ can be printed automatically. This is enabled if the property
     \context Staff=two {\clef bass; \skip 1*2;}
   >  
 @end lilypond
-@end quotation
 
 
 @c . {Lyrics}
@@ -2054,9 +2038,6 @@ must be separated by a dot (@code{.}).
 Throughout these examples, chords have been shifted around the staff
 using @code{\transpose}.
 
-
-@quotation
-
 @lilypond[fragment,verbatim]
 \transpose c'' {
   \chords {
@@ -2064,9 +2045,7 @@ using @code{\transpose}.
     c:9 c:9-.5+.7+ c:3-.5- c:4.6.8
   }
 }
-
 @end lilypond
-@end quotation
 
 @cindex @code{aug}
 @cindex @code{dim}
@@ -2081,17 +2060,13 @@ raises the 5th, `@code{dim}' which lowers the 5th,
 `@code{maj}' which adds a raised 7th, and `@code{sus}'
 which replaces the 5th with a 4th.
 
-@quotation
-
 @lilypond[fragment,verbatim]
 \transpose c'' {
   \chords {
     c1:m c:min7 c:maj c:aug c:dim c:sus
   }
 }
-
 @end lilypond
-@end quotation
  
 
 Chord subtractions are used to eliminate notes from a chord.  The
@@ -2153,7 +2128,6 @@ For displaying printed chord names, use the @code{ChordNames} context.
 The chords may be entered either using the notation described above, or
 directly using simultaneous music.
 
-@quotation
 @lilypond[verbatim,singleline]
 scheme = \notes {
   \chords {a1 b c} <d f g>  <e g b>
@@ -2165,14 +2139,12 @@ scheme = \notes {
   >
 }
 @end lilypond
-@end quotation
 
 You can make the chord changes stand out by setting property
 @code{ChordNames.chordChanges} to true.  This will only display chord
 names when there's a change in the chords scheme and at the start of the
 line.
 
-@quotation
 @lilypond[verbatim]
 scheme = \chords {
   c1:m \break c:m c:m c:m d
@@ -2186,7 +2158,6 @@ scheme = \chords {
     \context Staff \transpose c'' \scheme
   > }
 @end lilypond
-@end quotation
 
 LilyPond examines chords specified as lists of notes to determine a name
 to give the chord. LilyPond will not try to identify chord inversions or
@@ -2195,7 +2166,6 @@ entered as a list of pitches:
 
 [base vs. bass ?]
 
-@quotation
 @lilypond[verbatim,center,singleline]
 scheme = \notes {
   <c'1 e' g'>
@@ -2205,12 +2175,11 @@ scheme = \notes {
 
 \score {
   <
-    \context ChordNamesVoice \scheme
+    \context ChordNames \scheme
     \context Staff \scheme
   >
 }
 @end lilypond
-@end quotation
 
 
 By default LilyPond uses chord name system proposed by Harald Banter
@@ -2328,7 +2297,6 @@ This means that middle C in @var{musicexpr} is transposed to
 a tone.  The first version will print sharps and the second version
 will print flats.
 
-@quotation
 @lilypond[fragment,verbatim]
 \context Staff {
   \clef "F";
@@ -2337,9 +2305,7 @@ will print flats.
   \transpose des'' { \key e \major; c d e f }
   \transpose cis'' { \key e \major; c d e f }
 }
-
 @end lilypond
-@end quotation
 
 If you want to use both @code{\transpose} and @code{\relative}, then
 you must use @code{\transpose} first.  @code{\relative} will have no
@@ -2516,7 +2482,6 @@ anticipates the pitch of the first note(s) of the following line and
 thus helps the player or singer to manage line breaks during
 performance, thus enhancing readability of a score.
 
-@quotation
 @lilypond[verbatim]
 \score {
   \notes { c'1 d' e' d' \break c' d' e' d' }
@@ -2529,7 +2494,6 @@ performance, thus enhancing readability of a score.
   }
 }
 @end lilypond
-@end quotation
 
 Custodes were frequently used in music notation until the 16th century.
 There were different appearences for different notation styles.
@@ -2653,9 +2617,35 @@ Formally the syntax for these constructions is
 Here @var{symbol} is a Scheme expression of symbol type, @var{context}
 and @var{grobname} are strings and @var{value} is a Scheme expression.
 
+If you want to be
+Correct nesting of @code{\override}, @code{\set}, @code{\revert} is as
+follows
+
+@example 
+\override \set \set \set \set
+\revert
+@end example
+
+This is always correct, but if you know the default value, you can also use 
+@example
+\set \set \set \set
+\set @var{to default value}
+@end example
+
+If there is no default (i.e. by default, the grob property is unset),
+then you can use
+@example
+\set \set \set \set \set
+\revert
+@end example
+
+
 @refbugs
 
 LilyPond will hang or crash if @var{value} contains cyclic references.
+The backend is not very strict in type-checking grob properties. If you
+@code{\revert} properties that are expected to be set by default,
+LilyPond may crash.
 
 
 
@@ -2827,8 +2817,6 @@ the @TeX{} family.
 @cindex font magnification
 @cindex @code{font-interface}
 
-@refbugs
-
 
 @node Text markup
 @subsection Text markup
@@ -3379,107 +3367,6 @@ will complain about not finding @code{src:X:Y} files. Those complaints are
 harmless, and can be ignored.
 
 
-@c . {Using LilyPond}
-@node Using LilyPond
-@section Using LilyPond
-@cindex Using LilyPond
-@cindex Generating output
-
-@c slaat dit ergens op?
-
-@c direct postscript?
-
-@table @code
-@item plain lilypond
-@example
-lilypond foo.ly
-@end example
-For more information on how to use lilypond see
-@ifnottex
-@ref{Invoking LilyPond}.
-@end ifnottex
-@iftex
-the online manual.
-@end iftex
-
-@item ly2dvi
-Ly2dvi produces titling from @code{\header} fields.
-@example
-ly2dvi foo.ly
-@end example
-For more information on how to use ly2dvi see
-@ifnottex
-@ref{ly2dvi}.
-@end ifnottex
-@iftex
-the online manual.
-@end iftex
-
-@item lilypond-book
-Lilypond-book supports interleaving text and music.
-@example
-lilypond-book foo.doc
-@end example
-For more information on how to use lilypond-book see
-@ifnottex
-@ref{lilypond-book}.
-@end ifnottex
-@iftex
-the online manual.
-@end iftex
-@end table
-
-
-An emacs mode for LilyPond is included with the source archive as
-@file{lilypond-mode.el} and @file{lilypond-font-lock.el}.  If you have
-an RPM, it is in @file{/usr/share/doc/lilypond-X/}.  You have to install
-it yourself.
-
-Add this to your ~/.emacs or ~/.emacs.el:
-@example 
-    (load-library "lilypond-mode.el")
-    (setq auto-mode-alist
-      (cons '("\\.ly$" . LilyPond-mode) auto-mode-alist))
-    (add-hook 'LilyPond-mode-hook (lambda () (turn-on-font-lock)))
-@end example
-
-If you have the latest LilyPond-1.3.x Debian package, LilyPond-mode
-is automatically loaded, so you need not modify your ~/.emacs file.
-
-@menu
-* Pre-cooked makefile::         
-@end menu
-
-@node Pre-cooked makefile
-@subsection Pre-cooked makefile
-
-@c waar deze info?  is uiteindelijk wel handig, schat ik.
-[TODO: cut blabla]
-If you have a big music project, or just a lot of LilyPond input files,
-all generated output from LilyPond, @TeX{} and metafont will clutter
-your working directory.  LilyPond comes with a one-size-fits-all
-pre-cooked makefile that helps you manage producing ouptut.  It will
-produce all output in @file{out}, generate and track dependencies.
-Also, it helps in preparing your submission to the @ref{Mutopia
-project}.
-
-@file{make/ly.make}
-@example
-mkdir my-project
-cd my-project
-cp /usr/share/lilypond/make/ly.make GNUmakefile
-cp /usr/share/doc/lilypond/examples/input/tutorial/menuet.ly .
-make menuet
-[..]
-Generated out/menuet.ps for target menuet.
-@end example
-
-Type @samp{make help} to see possible targets.
-
-[TODO]
-@file{/usr/share/lilypond/doc/lilypond/examples/input/mutopia-header.ly}
-
-
 @node Interpretation context
 @section Interpretation context
 
@@ -3543,8 +3430,6 @@ This instructs lilypond to interpret @var{musicexpr} within the context
  of type @var{contexttype} and with name @var{contextname}.  If this
 context does not exist, it will be created.  
 
-@quotation
-
 @lilypond[verbatim,singleline]
 \score {
   \notes \relative c'' {
@@ -3553,7 +3438,6 @@ context does not exist, it will be created.
 }
 
 @end lilypond
-@end quotation
 
 In this example, the @code{c} and @code{d} are printed on the
 default staff.  For the @code{e}, a context Staff called
@@ -3806,7 +3690,6 @@ be used as the very first item of a translator.  In order to define
 such an identifier outside of @code{\score}, you must do
 
 @quotation
-
 @example 
 \paper @{
   foo = \translator @{ @dots{} @}