From: Han-Wen Nienhuys Date: Sun, 13 Jun 2004 15:05:00 +0000 (+0000) Subject: * lily/parser.yy (relative_music): start at middle C without pitch X-Git-Tag: release/2.3.4~7 X-Git-Url: https://git.donarmstrong.com/lilypond.git?a=commitdiff_plain;h=95e91ffb8d0d82efbda9d266c63d4ccf0bcc5133;p=lilypond.git * lily/parser.yy (relative_music): start at middle C without pitch argument. * Documentation/user/changing-defaults.itely (Page layout): new node. (Paper size): rename node (Page breaking): new node. (Titling): move from invoking. (File structure): new node. * lily/parser.yy (score_body): allow \header and music anywhere in \score body. --- diff --git a/ChangeLog b/ChangeLog index beb6a55059..1dccd69fec 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2004-06-13 Han-Wen Nienhuys + * lily/parser.yy (relative_music): start at middle C without pitch + argument. + * Documentation/user/changing-defaults.itely (Page layout): new node. (Paper size): rename node (Page breaking): new node. diff --git a/Documentation/user/changing-defaults.itely b/Documentation/user/changing-defaults.itely index 49941b8972..0983403d65 100644 --- a/Documentation/user/changing-defaults.itely +++ b/Documentation/user/changing-defaults.itely @@ -44,8 +44,8 @@ entering numbers, lists, strings and symbols in Scheme. @menu -* Scheme tutorial:: -* File structure:: +* Scheme tutorial:: +* File structure:: * Interpretation contexts:: * Tuning output:: * Fonts:: @@ -231,7 +231,7 @@ respectively, @node File structure @section File structure -The following items may be present in a file at toplevel +The following items may be present in a @file{.ly} file at toplevel @itemize @bullet @item An output definition, such as @code{\bookpaper}, @code{\midi} @@ -276,7 +276,7 @@ defined in the init file @file{scm/lily.scm}. The following example shows three things which may be entered at toplevel -@example +@verbatim \paper { % movements are non-justified by default raggedright = ##t @@ -287,7 +287,7 @@ toplevel } { c'4 d' e2 } -@end example +@end verbatim At any point in a file, any of the following lexical instructions can @@ -298,7 +298,7 @@ be entered: @item @code{\include} @item @code{\encoding} @item @code{\renameinput} -@item +@end itemize @@ -2087,7 +2087,7 @@ The header block for a book supports the following This is a demonstration of the fields available, -@lilypond +@lilypond[verbatim] \book { \header { title = "Title" @@ -2101,10 +2101,18 @@ This is a demonstration of the fields available, instrument = "Instrument" piece = "Piece" } + \score { \header { - piece = "piece" - opus = "opus" + piece = "piece1" + opus = "opus1" + } + { c'1 } + } + \score { + \header { + piece = "piece2" + opus = "opus2" } { c'1 } } @@ -2201,7 +2209,7 @@ The default layout responds to the following settings in the Distance between top-most music system and the page header @item foot-sep Distance between bottom-most music system and the page footer -@end itemize +@end table The default page header puts the page number and the @code{instrument} field from the @code{\header} block on a line. @@ -2211,7 +2219,7 @@ field from the @code{\header} block on a line. The default footer is empty, except for the first page, where it the @code{copyright} field from @code{\header} is inserted, and the last -page, where @code{tagline} from @code{\header} is added (the default +page, where @code{tagline} from @code{\header} is added. The default tagline is ``Engraved by LilyPond (@var{version})''. The header and footer are created by the functions @code{make-footer} @@ -2226,7 +2234,7 @@ page, the latter creates the actual page given the system to put on it. @seealso -Examples: TODO +Examples: @inputfileref{input/test/,page-breaks.ly} diff --git a/Documentation/user/dedication.itely b/Documentation/user/dedication.itely index b1b69a57c9..cc5b1fc081 100644 --- a/Documentation/user/dedication.itely +++ b/Documentation/user/dedication.itely @@ -1,6 +1,6 @@ -@quotation -We would like to dedicate this program to all the friends that we +@quotation +We want to dedicate this program to all the friends that we met through music. Han-Wen and Jan diff --git a/Documentation/user/invoking.itexi b/Documentation/user/invoking.itexi index dcdcdfe74c..deaf79c535 100644 --- a/Documentation/user/invoking.itexi +++ b/Documentation/user/invoking.itexi @@ -213,16 +213,12 @@ information. @c Output format for sheet music. Choices are @code{tex} (for @TeX{} output, to be processed with La@TeX{}, or through @code{lilypond}), -@code{pdftex} for PDF@TeX{} input, @code{ps} (for PostScript), -@code{scm} (for a Scheme dump), @code{sk} (for Sketch). +and @code{ps} for PostScript. -@strong{This option is only for developers}. Only the @TeX{} output of -these is usable for real work. +Other output options are intended for developers. @cindex output format, setting -@cindex Sketch output -@cindex PDFTeX output @cindex PostScript output @cindex Scheme dump diff --git a/Documentation/user/lilypond-book.itely b/Documentation/user/lilypond-book.itely index 42a7263c60..3d458eb7f1 100644 --- a/Documentation/user/lilypond-book.itely +++ b/Documentation/user/lilypond-book.itely @@ -165,16 +165,8 @@ and the are also interpreted. @cindex titling and lilypond-book -@cindex lilypond-book and titling @cindex @code{\header} in La@TeX{} documents -The titling from the @code{\header} section of the fragments can be -imported by adding the following to the top of the La@TeX{} file: - -@example -\input titledefs.tex -\def\preLilyPondExample@{\def\mustmakelilypondtitle@{@}@} -@end example The music will be surrounded by @code{\preLilyPondExample} and @code{\postLilyPondExample}, which are defined to be empty by default. diff --git a/Documentation/user/notation.itely b/Documentation/user/notation.itely index bae708cb0e..9eb9549780 100644 --- a/Documentation/user/notation.itely +++ b/Documentation/user/notation.itely @@ -3305,9 +3305,42 @@ The associated object is @internalsref{VoiceFollower}. @node Vocal music @section Vocal music -This section discusses how to enter and print lyrics. + +The easiest way to add lyrics to a melody, is by appending + + +@cindex \newlyrics +@example + \newlyrics @{ @var{the lyrics} @} +@end example + +to a melody. Here is an example, + +@lilypond[raggedright] + \relative { \time 3/4 c2 e4 g2. } + \newlyrics { play the game } +@end lilypond + +More stanzas can be added by adding more +@code{\newlyrics} sections + +@lilypond[raggedright] + \relative { \time 3/4 c2 e4 g2. } + \newlyrics { play the game } + \newlyrics { speel het spel } + \newlyrics { joue le jeu } +@end lilypond + +The @code{\newlyrics} keyword has three functions: it interprets the +following words as texts instead of notes, it sets up a context for +printing texts (the @code{Lyrics} context), and it couples the melody +with the lyrics, so that the durations of both are aligned. + +These three functions can be controlled separately, and that is what +the following sections are about. @menu +* Easy lyrics entry * Entering lyrics:: * The Lyrics context:: * More stanzas:: @@ -3323,9 +3356,9 @@ This section discusses how to enter and print lyrics. @cindex punctuation Lyrics are entered in a special input mode. This mode is is introduced -by the keyword @code{\lyrics}. In this mode you can enter lyrics, with -punctuation and accents without any hassle. Syllables are entered like -notes, but with pitches replaced by text. For example, +by the keyword @code{\lyrics}. In this mode you can enter lyrics, +with punctuation and accents without any hassle. Syllables are +entered like notes, but with pitches replaced by text. For example, @example \lyrics @{ Twin-4 kle4 twin- kle litt- le star2 @} @end example @@ -3360,16 +3393,18 @@ property commands Any @code{_} character which appears in an unquoted word is converted to a space. This provides a mechanism for introducing spaces into words without using quotes. Quoted words can also be used in Lyrics mode to -specify words that cannot be written with the above rules +specify words that cannot be written with the above rules. The +following example incorporates double quotes @example \lyrics @{ He said: "\"Let" my peo ple "go\"" @} @end example -However, at least for english texts, you should use + +This example is slightly academic, since it gives better looking +results to use matched single quotes, @code{``} and @code{''} @example \lyrics @{ He said: ``Let my peo ple go'' @} @end example -to get the correct shape of the starting and ending quote. @cindex hyphens diff --git a/Documentation/user/tutorial.itely b/Documentation/user/tutorial.itely index 45c0f78ab0..c0ce0f26a3 100644 --- a/Documentation/user/tutorial.itely +++ b/Documentation/user/tutorial.itely @@ -53,7 +53,7 @@ reference. * Printing lyrics:: * A lead sheet:: * Listening to output:: -* Titling:: +* Adding titles:: * Single staff polyphony:: * Piano staves:: * Organizing larger pieces:: @@ -562,7 +562,7 @@ one. For example, @samp{c f} goes up while @samp{c g} goes down @lilypond[quote,notime,fragment,verbatim] \relative { - c'' f c g c + c' f c g c } @end lilypond @@ -1213,8 +1213,8 @@ added @cindex paper block -@node Titling -@section Titling +@node Adding titles +@section Adding titles Bibliographic information is entered in a separate block, the @code{\header} block. The name of the piece, its composer, etc., are diff --git a/input/test/page-breaks.ly b/input/test/page-breaks.ly index 86668c7118..aed5b3ad9d 100644 --- a/input/test/page-breaks.ly +++ b/input/test/page-breaks.ly @@ -1,7 +1,11 @@ \version "2.2.0" \header { - texidoc = "Stress optimal page breaking. This should look nice on 4 a6 pages." + +texidoc = "Stress optimal page breaking. This should look + nice on 4 a6 pages. " + + copyright = "Copyright by /me" title = "Title" diff --git a/lily/parser.yy b/lily/parser.yy index 3907d8b3ea..1c2712250f 100644 --- a/lily/parser.yy +++ b/lily/parser.yy @@ -1171,8 +1171,8 @@ relative_music: } | RELATIVE Composite_music { Music *m = $2; - /* FIXME: why is octave==0 and default not middleC? */ - Pitch middle_c (-1, 0, 0); + + Pitch middle_c (0, 0, 0); $$ = make_music_relative (middle_c, m); scm_gc_unprotect_object (m->self_scm ()); } diff --git a/scm/output-gnome.scm b/scm/output-gnome.scm index 561726558b..969ee73bf1 100644 --- a/scm/output-gnome.scm +++ b/scm/output-gnome.scm @@ -69,6 +69,14 @@ export LD_LIBRARY_PATH=$HOME/usr/pkg/g-wrap/lib:$HOME/usr/pkg/guile-gnome/lib set -ex +if [ -d $HOME/usr/pkg/libffi/ ] ; then + export LDFLAGS=-L$HOME/usr/pkg/libffi/lib/ + export CPPFLAGS=-I$HOME/usr/pkg/libffi/include +fi + +export AUTOMAKE=automake-1.8 +export AUTOCONF=autoconf2.50 + rm -rf test mkdir test cd test @@ -92,7 +100,7 @@ tla get janneke@gnu.org--2004-gnome/g-wrap--janneke g-wrap cd g-wrap rm -rf $HOME/usr/pkg/g-wrap -AUTOMAKE=automake-1.8 AUTOCONF=autoconf2.50 sh autogen.sh --noconfigure +sh autogen.sh --noconfigure mkdir =build cd =build ../configure --prefix=$HOME/usr/pkg/g-wrap @@ -123,7 +131,7 @@ tla get guile-gnome-devel@gnu.org--2004/libgnomecanvas--dev libgnomecanvas ## tla get janneke@gnu.org--2004-gnome/defs--janneke defs rm -rf $HOME/usr/pkg/guile-gnome -AUTOMAKE=automake-1.8 AUTOCONF=autoconf2.50 sh autogen.sh --noconfigure +sh autogen.sh --noconfigure mkdir ../=build cd ../=build @@ -133,6 +141,10 @@ export PKG_CONFIG_PATH=$HOME/usr/pkg/g-wrap/lib/pkgconfig:$PKG_CONFIG_PATH ../src/configure --prefix=$HOME/usr/pkg/guile-gnome + +# requires 800mb RAM with -O2 +(cd libgnomecanvas/gnome/gw; perl -i~ -pe 's/-O2//g' Makefile) + G_WRAP_MODULE_DIR=$HOME/usr/pkg/g-wrap/share/guile/site make install export GUILE_LOAD_PATH=$HOME/usr/pkg/guile-gnome/share/guile:$GUILE_LOAD_PATH