From: Graham Percival Date: Sat, 26 Feb 2005 20:40:56 +0000 (+0000) Subject: Lots of small changes. X-Git-Tag: release/2.5.14~81 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=d1761f858ca09cdc5b44f4a932237f16b3cc8695;p=lilypond.git Lots of small changes. --- diff --git a/ChangeLog b/ChangeLog index 4bde807e1a..a4718c40fd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2005-02-26 Graham Percival + + * Documentation/user/examples.itely: small fix from Steve Doonan. + + * Documentation/user/scheme-tutorial.itely: small fix from Steve Doonan. + + * Documentation/user/notation.itely: revamped Polyphony section + from Yuval Harel. Thanks! + + * THANKS: added Yuval Harel. + + * Documentation/user/{various}: inserted two spaces after a period. + 2005-02-26 Han-Wen Nienhuys * Documentation/user/changing-defaults.itely (Text encoding): add diff --git a/Documentation/user/changing-defaults.itely b/Documentation/user/changing-defaults.itely index a7beaca764..2f54ed2ec0 100644 --- a/Documentation/user/changing-defaults.itely +++ b/Documentation/user/changing-defaults.itely @@ -1393,7 +1393,7 @@ fonts. @itemize @bullet @item @code{font-encoding} -is a symbol that sets layout of the glyphs. This should only be set to +is a symbol that sets layout of the glyphs. This should only be set to select different types of non-text fonts, eg. @code{fetaBraces} for piano staff braces, @code{fetaMusic} the @@ -1486,7 +1486,7 @@ For clarity, you can also do this for single arguments, e.g., In markup mode you can compose expressions, similar to mathematical -expressions, XML documents, and music expressions. You can stack +expressions, XML documents, and music expressions. You can stack expressions grouped vertically with the command @code{\column}. Similarly, @code{\center-align} aligns texts by their center lines: @@ -1570,8 +1570,8 @@ and Cyrillic lyrics, @lilypondfile{utf8.ly} -The @TeX{} backend does not handle encoding specially at all. Strings -in the input are put in the output as-is. Extents of text items in the +The @TeX{} backend does not handle encoding specially at all. Strings +in the input are put in the output as-is. Extents of text items in the @TeX{} backend, are determined by reading a file created via the @file{texstr} backend, @@ -1905,7 +1905,7 @@ book and the title of a piece). @item systemSeparatorMarkup This contains a markup object, which will be inserted between -systems. This is often used for orchestral scores. +systems. This is often used for orchestral scores. The markup command @code{\slashSeparator} is provided as a sensible default, for example @@ -2455,17 +2455,17 @@ Different fonts may be selected for each element by using @end example A more advanced option is to change the definitions of the following -variables in the @code{\paper} block. The init file +variables in the @code{\paper} block. The init file @file{ly/titling-init.ly} lists the default layout. @table @code @item bookTitleMarkup - This is the title put over an entire @code{\book} block. Typically, + This is the title put over an entire @code{\book} block. Typically, it has the composer and the title of the piece @item scoreTitleMarkup This is the title put over a @code{\score} block within a -@code{\book}. Typically, it has the name of the movement (@code{piece} +@code{\book}. Typically, it has the name of the movement (@code{piece} field). @item oddHeaderMarkup diff --git a/Documentation/user/converters.itely b/Documentation/user/converters.itely index 392ff01c60..513b52e3c6 100644 --- a/Documentation/user/converters.itely +++ b/Documentation/user/converters.itely @@ -69,7 +69,7 @@ Set the output file to write. @item -n,--no-version Normally, @command{convert-ly} adds a @code{\version} indicator -to the output. Specifying this option suppresses this. +to the output. Specifying this option suppresses this. @item -s, --show-rules Show all known conversions and exit. @@ -103,11 +103,11 @@ http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/lilypond/lily-bugs/bugs/conve @end ignore @verbatim -There are a few things that the convert-ly cannot handle. Here's a list of limitations +There are a few things that the convert-ly cannot handle. Here's a list of limitations that the community has complained about. This bug report structure has been chosen because convert-ly has a structure that doesn't -allow to smoothly implement all needed changes. Thus this is just a wishlist, placed +allow to smoothly implement all needed changes. Thus this is just a wishlist, placed here for reference. 1.6->2.0: diff --git a/Documentation/user/examples.itely b/Documentation/user/examples.itely index db48a2b37f..db4abaf69a 100644 --- a/Documentation/user/examples.itely +++ b/Documentation/user/examples.itely @@ -1294,6 +1294,7 @@ violin concerto as TchaikovskyPI, whereas perhaps you wish to print composer = "Composer (xxxx-yyyy)" opus = "Opus 0" piece = "Piece I" + meter = "meter" instrument = "Instrument" arranger = "Arranger" poet = "Poet" diff --git a/Documentation/user/invoking.itely b/Documentation/user/invoking.itely index 5916f3a089..6e1c02c0f4 100644 --- a/Documentation/user/invoking.itely +++ b/Documentation/user/invoking.itely @@ -55,7 +55,7 @@ some internal variables. Use @code{-e '(ly:option-usage)'} for more information. @item -f,--format=@var{format} -which formats should be written. Choices are @code{svg}, @code{ps}, +which formats should be written. Choices are @code{svg}, @code{ps}, @code{pdf}, @code{png}, @code{tex}, @code{dvi}. @item -b,--backend=@var{format} @@ -72,12 +72,12 @@ extents of strings of text. for PostScript. @cindex PostScript output - Postscript files include TTF, Type1 and OTF fonts. No subsetting of - these fonts is done. When using oriental character sets, this can + Postscript files include TTF, Type1 and OTF fonts. No subsetting of + these fonts is done. When using oriental character sets, this can lead to huge files. @item eps - for encapsulated PostScript. This dumps every page (system) as a separate + for encapsulated PostScript. This dumps every page (system) as a separate @file{EPS} file, without fonts, and as one collated @file{EPS} file with all pages (systems) including fonts. @@ -156,7 +156,7 @@ disables the use of backslashes in @TeX{} strings. In @code{--safe} mode, it is not possible to import LilyPond variables into Scheme. -@code{--safe} does @emph{not} detect resource overuse. It is still +@code{--safe} does @emph{not} detect resource overuse. It is still possible to make the program hang indefinitely, for example by feeding cyclic data structures into the backend. Therefore, if using LilyPond on a publicly accessible webserver, the process should be limited in diff --git a/Documentation/user/literature.itely b/Documentation/user/literature.itely index d53fcf0561..a3c6d37bac 100644 --- a/Documentation/user/literature.itely +++ b/Documentation/user/literature.itely @@ -11,7 +11,7 @@ interesting titles to read. Klaus Ignatzek, Die Jazzmethode f@"{u}r Klavier. Schott's S@"{o}hne 1995. Mainz, Germany ISBN 3-7957-5140-3. -A tutorial introduction to playing Jazz on the piano. One of the first +A tutorial introduction to playing Jazz on the piano. One of the first chapters contains an overview of chords in common use for Jazz music. @item Gerou 1996 @@ -34,7 +34,7 @@ Hansen House, Miami, Florida 1987. This book is about music engraving, i.e., professional typesetting. It contains directions on stamping, use of pens and notational -conventions. The sections on reproduction technicalities and history +conventions. The sections on reproduction technicalities and history are also interesting. @item Schirmer 2001 @@ -42,8 +42,8 @@ The G.Schirmer/AMP Manual of Style and Usage. G.Schirmer/AMP, NY, 2001. (This book can be ordered from the rental department.) This manual specifically focuses on preparing print for publication by -Schirmer. It discusses many details that are not in other, normal -notation books. It also gives a good idea of what is necessary to bring +Schirmer. It discusses many details that are not in other, normal +notation books. It also gives a good idea of what is necessary to bring printouts to publication quality. @item Stone 1980 diff --git a/Documentation/user/notation.itely b/Documentation/user/notation.itely index 61ea5dc286..18880b9c67 100644 --- a/Documentation/user/notation.itely +++ b/Documentation/user/notation.itely @@ -474,9 +474,9 @@ automatic note splitting (see @ref{Automatic note splitting}). This mechanism automatically splits long notes, and ties them across bar lines. -Ties are sometimes used to write out arpeggios. In this case, two tied +Ties are sometimes used to write out arpeggios. In this case, two tied notes need not be consecutive. This can be achieved by setting the -@code{tieWaitForNote} property to true. For example, +@code{tieWaitForNote} property to true. For example, @lilypond[fragment,verbatim,relative=1,raggedright] \set tieWaitForNote = ##t @@ -1437,23 +1437,28 @@ a piece of music. Polyphony in LilyPond refers to having more than one voice on the same staff. @menu -* Writing polyphonic music:: +* Basic polyphony:: +* Explicitly instantiating voices:: +* Collision Resolution:: @end menu -@node Writing polyphonic music -@subsection Writing polyphonic music +@node Basic polyphony +@subsection Basic polyphony @cindex polyphony The easiest way to enter fragments with more than one voice on a staff -is to split chords using the separator @code{\\}. You can use it for -small, short-lived voices or for single chords +is to enter each voice as a sequence (with @code{@{...@}}), and combine +them simultaneously, separating the voices with @code{\\} @cindex @code{\\} -@lilypond[quote,raggedright,verbatim,fragment] -\context Staff \relative c'' { - c4 << { f d e } \\ { b c2 } >> - c4 << g' \\ b, \\ f' \\ d >> +@lilypond[quote,verbatim,fragment] +\new Staff \relative c' { + c16 d e f + << { g4 f e | d2 e2 } \\ + { r8 e4 d c8 ~ | c b16 a b8 g ~ g2 } \\ + { s2. | s4 b4 c2 } + >> } @end lilypond @@ -1462,8 +1467,47 @@ voices are sometimes called ``layers'' in other notation packages} @cindex layers to be instantiated. They bear the names @code{"1"}, @code{"2"}, etc. In each of these contexts, vertical direction of slurs, stems, etc., is set -appropriately. Specifically, +appropriately. + +These voices are all seperate from the voice that contains the notes just +outside the @code{<< \\ >>} construct. This should be noted when making +changes at the voice level. This also means that slurs and ties cannot go +into or out of a @code{<< \\ >>} construct. +Conversely, parallel voices from separate @code{<< \\ >>} constructs on the +same staff are the the same voice. +Here is the same example, with different noteheads for each voice. +Note that the change to the note-head style in the main voice does not affect +the inside of the @code{<< \\ >>} constructs. Also, the change to the second +voice in the first @code{<< \\ >>} construct is effective in the second +@code{<< \\ >>}, and the voice is tied accross the two constructs. + +@lilypond[quote,verbatim,fragment] +\new Staff \relative c' { + \override NoteHead #'style = #'cross + c16 d e f + << + { g4 f e } \\ + { \override NoteHead #'style = #'triangle + r8 e4 d c8 ~ + } + >> | + << + { d2 e2 } \\ + { c8 b16 a b8 g ~ g2 } \\ + { \override NoteHead #'style = #'slash s4 b4 c2 } + >> +} +@end lilypond + +@node Explicitly instantiating voices +@subsection Explicitly instantiating voices +@internalsref{Voice} contexts can also also be instantiated manually +inside a @code{<< >>} block to create polyphonic music, using +@code{\voiceOne}, up to @code{\voiceFour} to assign stem directions +and a horizontal shift for each part. + +Specifically, @example << \upper \\ \lower >> @end example @@ -1481,28 +1525,88 @@ is equivalent to @cindex @code{\voiceOne} @cindex @code{\voiceFour} -This can also be done by instantiating @internalsref{Voice} contexts -by hand, and using @code{\voiceOne}, up to @code{\voiceFour} to assign -a stem directions and horizontal shift for each part -@c +The @code{\voiceXXX} commands set the direction of stems, slurs, ties, +articulations, text annotations, augmentation dots of dotted +notes, and fingerings. @code{\voiceOne} and @code{\voiceThree} make +these objects point upwards, while @code{\voiceTwo} and @code{\voiceFour} +make them point downwards. +The command @code{\oneVoice} will revert back to the normal setting. +@cindex @code{\oneVoice} + +An expression that appears directly inside a @code{<< >>} belongs to +the main voice. This is useful when extra voices appear while the main +voice is playing. Here is a more correct rendition of the example from +the previous section. The crossed noteheads demonstrate that the main +melody is now in a single voice context. @lilypond[quote,raggedright,verbatim] -\relative c'' -\context Staff << - \new Voice { \voiceOne cis2 b } - \new Voice { \voiceThree b4 ais ~ ais4 gis4 } - \new Voice { \voiceTwo fis4~ fis4 f ~ f } >> +\new Staff \relative c' { + \override NoteHead #'style = #'cross + c16 d e f + \voiceOne + << + { g4 f e | d2 e2} + \context Voice="1" { \voiceTwo + r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2 + \oneVoice + } + \new Voice { \voiceThree + s2. | s4 b4 c2 + \oneVoice + } + >> + \oneVoice +} @end lilypond -@noindent -The command @code{\oneVoice} will revert back to the normal setting. -@cindex @code{\oneVoice} +The correct definition of the voices allows the melody to be slurred. +@lilypond[quote,raggedright,verbatim] +\new Staff \relative c' { + c16^( d e f + \voiceOne + << + { g4 f e | d2 e2) } + \context Voice="1" { \voiceTwo + r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2 + \oneVoice + } + \new Voice { \voiceThree + s2. s4 b4 c2 + \oneVoice + } + >> + \oneVoice +} +@end lilypond -Defining voices (either with the separator @code{\\} or with -@code{\voiceXXX}) will set the direction of stems, slurs, ties, -articulations, text annotations, augmentation dots of dotted -notes, and fingerings. @code{\voiceOne} makes these objects -point upwards, while @code{\voiceTwo} makes them point down. +Avoiding the @code{\\} seperator also allows nesting polyphony +constructs, which in some case might be a more natural way to typeset +the music. + +@lilypond[quote,raggedright,verbatim] +\new Staff \relative c' { + c16^( d e f + \voiceOne + << + { g4 f e | d2 e2) } + \context Voice="1" { \voiceTwo + r8 e4 d c8 ~ | + << + {c8 b16 a b8 g ~ g2} + \new Voice { \voiceThree + s4 b4 c2 + \oneVoice + } + >> + \oneVoice + } + >> + \oneVoice +} +@end lilypond + +@node Collision Resolution +@subsection Collision Resolution Normally, note heads with a different number of dots are not merged, but when the object property @code{merge-differently-dotted} is set in @@ -2591,7 +2695,7 @@ every eighth grace note If you want to end a note with a grace, use the @code{\afterGrace} -command. It takes two arguments: the main note, and the grace notes +command. It takes two arguments: the main note, and the grace notes following the main note. @lilypond[raggedright, verbatim,relative=2,fragment] @@ -2599,7 +2703,7 @@ c1 \afterGrace d1 { c16[ d] } c4 @end lilypond This will put the grace notes after a ``space'' lasting 3/4 of the -length of the main note. The fraction 3/4 can be changed by setting +length of the main note. The fraction 3/4 can be changed by setting @code{afterGraceFraction}, ie. @example @@ -5954,9 +6058,9 @@ The syntax is @end example This will insert notes from the part @var{name} into a -@internalsref{Voice} called @code{cue}. This happens simultaneously +@internalsref{Voice} called @code{cue}. This happens simultaneously with @var{music}, which usually is a rest. When the cue notes start, -the staff in effect becomes polyphonic for a moment. The argument +the staff in effect becomes polyphonic for a moment. The argument @var{updown} determines whether the cue notes should be notated as a first or second voice. @@ -6006,16 +6110,16 @@ Cue notes have smaller font sizes. @c really? Are you sure about that last point? I'll check after 3.0 -gp -@c Yes, this is good practice. Otherwise, the start of the original -@c part can only be seen from the font size. This is not good enough -@c for sight-reading. It is possilbe to use other +@c Yes, this is good practice. Otherwise, the start of the original +@c part can only be seen from the font size. This is not good enough +@c for sight-reading. It is possilbe to use other @c markers (eg. a big close-bracket over the staff) to indicate the cue notes are @c finished. @c -hwn any other changes introduced by the cued part should also be -undone. For example, if the cued instrument plays in a different clef, +undone. For example, if the cued instrument plays in a different clef, the original clef should be stated once again. @end itemize @@ -8325,7 +8429,7 @@ as possible. @subsection Shaped note heads In shaped note head notation, the shape of the note head corresponds -to the harmonic function of a note in the scale. This notation was +to the harmonic function of a note in the scale. This notation was popular in the 19th century American song books. Shaped note heads can be produced by setting @code{\aikenHeads} or @@ -8347,9 +8451,9 @@ scale is determined by the @code{\key} command @findex \sacredHarpHeads Shaped note heads are implemented through the @code{shapeNoteStyles} -property. Its value is a vector of symbols. The k-th element indicates -the style to use for the k-th step of the scale. Arbitrary -combinations are possible, eg., +property. Its value is a vector of symbols. The k-th element indicates +the style to use for the k-th step of the scale. Arbitrary +combinations are possible, eg., @lilypond[verbatim,relative=1,fragment] diff --git a/Documentation/user/scheme-tutorial.itely b/Documentation/user/scheme-tutorial.itely index e0f7073528..490a975c48 100644 --- a/Documentation/user/scheme-tutorial.itely +++ b/Documentation/user/scheme-tutorial.itely @@ -114,7 +114,7 @@ the number 24 is stored in the variable @code{twentyFour}. The same assignment can be done in completely in Scheme as well, @example -#(define twentyFour (* twelve)) +#(define twentyFour (* 2 twelve) @end example The @emph{name} of a variable is also an expression, similar to a diff --git a/THANKS b/THANKS index dd65806ec8..4310f82b9e 100644 --- a/THANKS +++ b/THANKS @@ -25,6 +25,7 @@ Nicolas Sceaux Pal Benko Tatsuya Ono Werner Lemberg +Yuval Harel SPONSORS