From 93aa7f661345b279734717ac8cad34e7eb81b95f Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Thu, 15 May 2003 15:15:01 +0000 Subject: [PATCH] updates --- ChangeLog | 4 + Documentation/user/cheatsheet.itely | 47 ++++++++++ Documentation/user/refman.itely | 136 +++++++++++++++++++++++----- Documentation/user/tutorial.itely | 12 +-- lily/hyphen-spanner.cc | 6 +- lily/lyric-extender.cc | 4 +- 6 files changed, 174 insertions(+), 35 deletions(-) diff --git a/ChangeLog b/ChangeLog index 63f58b625c..d787b9e92d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2003-05-15 Han-Wen Nienhuys + + * Documentation/user/tutorial.itely: updates + 2003-05-15 Heikki Junes * lilypond-mode.el: Allow Midi on buffer. diff --git a/Documentation/user/cheatsheet.itely b/Documentation/user/cheatsheet.itely index c8cdb16f03..54e5c5a02c 100644 --- a/Documentation/user/cheatsheet.itely +++ b/Documentation/user/cheatsheet.itely @@ -200,5 +200,52 @@ a-\> a a-\! <> @end lilypond + +@item @code{\partial 8} +@tab upstep +@tab +@lilypond[fragment] + \partial 8 + f8 c2 d e +@end lilypond + + +@item @code{\times 2/3} +@tab triplets +@tab +@lilypond[relative 1,verbatim,fragment] + \times 2/3 { f8 g a } +@end lilypond + +@item @code{\lyrics @{ @dots{} @}} +@tab entering lyrics +@tab + +@item @code{\context Lyrics} +@tab printing lyrics +@tab + +@item @code{twin -- kle} +@tab lyric hyphen +@tab +@lilypond[fragment,relative 1] +\addlyrics \notes { g'4 g } + \context Lyrics \lyrics { twin -- kle } +@end lilypond + +@item @code{\chords @{ c:dim f:maj7 @}} +@tab chords +@tab +@lilypond[fragment,relative 1] + \chords { c:dim f:maj7 } +@end lilypond + +@item @code{\context ChordNames} +@tab printing chord names +@tab +@lilypond[fragment,relative 1] + \context ChordNames \chords { c:dim f:maj7 } +@end lilypond + @end multitable diff --git a/Documentation/user/refman.itely b/Documentation/user/refman.itely index f26834f6e5..fed292e34c 100644 --- a/Documentation/user/refman.itely +++ b/Documentation/user/refman.itely @@ -28,8 +28,9 @@ * Rhythmic music:: * Piano music:: * Vocal music:: +* More stanzas:: * Tablatures:: -* Chords:: +* Chord names:: * Writing parts:: * Ancient notation :: * Contemporary notation:: @@ -44,16 +45,13 @@ @section Note entry @cindex Note entry -Notes constitute the most basic elements of LilyPond input, but they do -not form valid input on their own without a @code{\score} block. However, -for the sake of brevity and simplicity we will generally omit -@code{\score} blocks and @code{\paper} declarations in this manual. @menu * Notes:: * Pitches:: * Chromatic alterations:: +* Chords:: * Rests:: * Skips:: * Durations:: @@ -69,6 +67,12 @@ for the sake of brevity and simplicity we will generally omit A note is printed by specifying its pitch and then its duration. +@footnote{Notes constitute the most basic elements of LilyPond input, +but they do not form valid input on their own without a @code{\score} +block. However, for the sake of brevity and simplicity we will +generally omit @code{\score} blocks and @code{\paper} declarations in +this manual.} + @lilypond[fragment,verbatim] cis'4 d'8 e'16 c'16 @end lilypond @@ -82,20 +86,12 @@ A note is printed by specifying its pitch and then its duration. @cindex pitches @cindex entering notes -The verbose syntax for pitch specification is - -@cindex @code{\pitch} -@example - \pitch @var{scmpitch} -@end example - -where @var{scmpitch} is a pitch scheme object. - -In Note and Chord mode, pitches may be designated by names. The -default names are the Dutch note names. The notes are specified by -the letters @code{a} through @code{g}, while the octave is formed with -notes ranging from @code{c} to @code{b}. The pitch @code{c} is an -octave below middle C and the letters span the octave above that C. +The commonest syntax for pitch entry is used in @code{\chords} and +@code{\notes} mode. In Note and Chord mode, pitches may be designated +by names. The notes are specified by the letters @code{a} through +@code{g}, while the octave is formed with notes ranging from @code{c} +to @code{b}. The pitch @code{c} is an octave below middle C and the +letters span the octave above that C. @lilypond[fragment,verbatim] \clef bass @@ -104,10 +100,12 @@ octave below middle C and the letters span the octave above that C. @cindex note names, Dutch -In Dutch, a sharp is formed by adding @code{-is} to the end of a pitch +A sharp is formed by adding @code{-is} to the end of a pitch name and a flat is formed by adding @code{-es}. Double sharps and double flats are obtained by adding @code{-isis} or @code{-eses}. -@code{aes} is contracted to @code{as} in Dutch, but both forms are + +These default names are the Dutch note names. In Dutch, @code{aes} is +contracted to @code{as} in Dutch, but both forms are accepted. Similarly, both @code{es} and @code{ees} are accepted. There are predefined sets of note names for various other languages. @@ -145,6 +143,16 @@ octave; each @code{,} lowers the pitch by an octave. @end lilypond +The verbose syntax for pitch specification is + +@cindex @code{\pitch} +@example + \pitch @var{scmpitch} +@end example + +where @var{scmpitch} is a Scheme object of the @code{Pitch} type. + + @seealso @internalsref{NoteEvent}, @internalsref{NoteHead} @@ -171,6 +179,13 @@ question mark `@code{?}' after the pitch. The automatic production of accidentals can be tuned in many ways. For more information, refer to @ref{Accidentals}. +@node Chords +@subsection Chords + +A chord is formed by a enclosing a set of pitches in @code{<<} and +@code{>>}. + +TODO: accidental overides? @node Rests @subsection Rests @@ -2890,6 +2905,14 @@ The associated object is @internalsref{VoiceFollower}. For a discussion of how to put lyrics into a score, see section @code{Printing lyrics} in the tutorial. +@cindex context variables +@cindex setting context variables +An interpretation context has variables that tune its behavior. These +variables are also called @emph{properties}. The @code{autoBeaming} +variable in a @code{Staff} controls whether 8th and shorter notes are +beamed automatically. Setting the variable to @code{##f}, which is the +boolean value @var{false}, turns it off. + This will create an extender, which is a line that extends over the entire duration of the lyric. This line will @@ -2966,6 +2989,70 @@ See also the sections on @ref{Slurs} and @ref{Breath marks}. [TODO: Write subsection upon usage of ChoirStaff.] + + +@node More stanzas +@section More stanzas + + +@cindex phrasing + +If you have multiple stanzas printed underneath each other, the vertical +groups of syllables should be aligned around punctuation. LilyPond can +do this if you tell it which lyric lines belong to which melody. +We show how you can do this by showing how you could print a frivolous +fragment of a fictional Sesame Street duet. + +@lilypond[singleline,verbatim] +\score { +\addlyrics + \notes \relative c'' \context Voice = duet { \time 3/4 + g2 e4 a2 f4 g2. } + \lyrics \context Lyrics < + \context LyricsVoice = "duet-1" { + \property LyricsVoice . stanza = "Bert" + Hi, my name is bert. } + \context LyricsVoice = "duet-2" { + \property LyricsVoice . stanza = "Ernie" + Ooooo, ch\'e -- ri, je t'aime. } + > +} +@end lilypond + +To this end, give the Voice context an identity, and set the +LyricsVoice to a name starting with that identity followed by a dash. +In the following example, the Voice identity is @code{duet}, +@example +\context Voice = duet @{ + \time 3/4 + g2 e4 a2 f4 g2. @} +@end example +and the +identities of the LyricsVoices are @code{duet-1} and @code{duet-2}. +@example + \context LyricsVoice = "duet-1" @{ + Hi, my name is bert. @} + \context LyricsVoice = "duet-2" @{ + Ooooo, ch\'e -- ri, je t'aime. @} +@end example +The convention for naming @code{LyricsVoice} and @code{Voice} must +also be used to get melismata on rests correct. + + +We add the names of the singers. This can be done by setting +@code{LyricsVoice.Stanza} (for the first system) and +@code{LyricsVoice.stz} for the following systems. You must +surround dots with spaces in @code{\lyrics} mode. + +@example + \property LyricsVoice . stanza = "Bert" + @dots{} + \property LyricsVoice . stanza = "Ernie" +@end example + + + + For entering quotes in Lyrics mode, use the following @example "\"God\"" is "`King'" @@ -2976,6 +3063,7 @@ lyrics. This can confuse the LilyPond -- for example, this might put (empty) lyrics under rests. To remedy this, use @code{\skip}. + @refbugs @cindex ambiguity @@ -3180,8 +3268,8 @@ As tablature is a recent feature, most of the guitar special effects such as bend are not yet supported. -@node Chords -@section Chords +@node Chord names +@section Chord namess @cindex Chords LilyPond has support for both entering and printing chords. @@ -3640,6 +3728,8 @@ you must put @code{\transpose} outside of @code{\relative}, since @code{\transpose}. + + @node Multi measure rests @subsection Multi measure rests @cindex Multi measure rests diff --git a/Documentation/user/tutorial.itely b/Documentation/user/tutorial.itely index 104d488449..e0bb669ff8 100644 --- a/Documentation/user/tutorial.itely +++ b/Documentation/user/tutorial.itely @@ -18,10 +18,10 @@ * Running LilyPond:: Printing music * More basics:: * Printing lyrics:: -* Chord names:: * A lead sheet:: * Listening to output:: * More movements :: Joining separate pieces of music +* Organising larger pieces:: * A piano excerpt:: Piano music * Fine tuning a piece:: * An orchestral score:: Conductor's score and individual parts @@ -872,8 +872,9 @@ resulting in a centered hyphen between two syllables. More options, like putting multiple lines of lyrics below a melody are discussed in @ref{Vocal music}. -@node Chord names -@section Chord names + +@node A lead sheet +@section A lead sheet In popular music, it is common to denote accompaniment as chord-names. Using them in LilyPond has two parts, just like lyrics: entering the @@ -907,9 +908,6 @@ before the chords thus entered: A complete list of modifiers, and other options for layout are in the reference manual section @ref{Chords}. -@node A lead sheet -@section A lead sheet - TODO: template example with chord names, lyrics and staff. @@ -1050,7 +1048,7 @@ will be at the left. @node Organising larger pieces -@sections Organising larger pieces +@section Organising larger pieces TODO: discuss identifiers, p&c, . diff --git a/lily/hyphen-spanner.cc b/lily/hyphen-spanner.cc index 16c31b5d8a..09986ee206 100644 --- a/lily/hyphen-spanner.cc +++ b/lily/hyphen-spanner.cc @@ -117,8 +117,8 @@ Hyphen_spanner::Hyphen_spanner (Spanner*s) ADD_INTERFACE (Hyphen_spanner, "lyric-hyphen-interface", - "A centred hyphen is a simple line between lyrics used to divide -syllables. The length of the hyphen line should stretch based on the -size of the gap between syllables.", + "A centred hyphen is a simple line between lyrics used to divide " +"syllables. The length of the hyphen line should stretch based on the " +"size of the gap between syllables.", "thickness height minimum-length maximum-length word-space"); diff --git a/lily/lyric-extender.cc b/lily/lyric-extender.cc index a809f892ca..944a4f75b0 100644 --- a/lily/lyric-extender.cc +++ b/lily/lyric-extender.cc @@ -67,6 +67,6 @@ Lyric_extender::set_textitem (Spanner*sp, Direction d, Grob*s) ADD_INTERFACE (Lyric_extender,"lyric-extender-interface", - "The extender is a simple line at the baseline of the lyric -that helps show the length of a melissima (tied/slurred note).", + "The extender is a simple line at the baseline of the lyric " +" that helps show the length of a melissima (tied/slurred note).", "word-space height right-trim-amount"); -- 2.39.2