[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Patch for 1.4.1
From: |
Mats Bengtsson |
Subject: |
Re: Patch for 1.4.1 |
Date: |
Sun, 20 May 2001 16:39:37 +0200 |
Here's the patch for the rest of the documentation.
I've added some comments every here and there.
/Mats
Generated by (address unknown),
>From = lilypond-1.4.1.mb1, To = lilypond-1.4.1.mb2
usage
cd lilypond-source-dir; patch -E -p1 < lilypond-1.4.1.mb2.diff
Patches do not contain automatically generated files
or (urg) empty directories,
i.e., you should rerun autoconf, configure
diff -urN ../lilypond-1.4.1.mb1/CHANGES ./CHANGES
--- ../lilypond-1.4.1.mb1/CHANGES Fri May 18 23:36:55 2001
+++ ./CHANGES Sat May 19 01:35:13 2001
@@ -1,3 +1,8 @@
+1.4.1.mb2
+=========
+
+*
+
1.4.1.mb1
=========
diff -urN ../lilypond-1.4.1.mb1/Documentation/bibliography/engraving.bib
./Documentation/bibliography/engraving.bib
--- ../lilypond-1.4.1.mb1/Documentation/bibliography/engraving.bib Sun Jan
28 15:19:15 2001
+++ ./Documentation/bibliography/engraving.bib Sun May 20 16:02:55 2001
@@ -237,7 +237,7 @@
@Book {gerou96,
- note = {A concise, alphabetically ordered list of typesetting and music
(notation) issues with a rather simplistic attitude but in most cases
"good-enough" answers JCN},
+ note = {A cheap, concise, alphabetically ordered list of typesetting and
music (notation) issues with a rather simplistic attitude but in most cases
"good-enough" answers JCN},
year = {1996},
title = {Essential Dictionary of Music Notation},
author = {Tom Gerou and Linda Lusk},
diff -urN ../lilypond-1.4.1.mb1/Documentation/user/convert-ly.itexi
./Documentation/user/convert-ly.itexi
--- ../lilypond-1.4.1.mb1/Documentation/user/convert-ly.itexi Sun Apr 15
16:24:20 2001
+++ ./Documentation/user/convert-ly.itexi Sun May 20 15:42:13 2001
@@ -19,21 +19,22 @@
@item -a,--assume-old
If version number cannot be determined, apply all conversions.
@item -e,--edit
- Do an inline edit of the input file. override @code{--output}
+ Do an inline edit of the input file. Overrides @code{--output}.
@item -f,address@hidden
Set the level to convert from. If this is not set, convert-ly will
- guess this, on the basis of @code{\version} strings in the file
+ guess this, on the basis of @code{\version} strings in the file.
@item -o,address@hidden
Set the output file to write.
@item -n,--no-version
Normally, convert-ly adds a @code{\version} indicator
-to the output. Specifying this option suppresses this.
-
address@hidden --show-rules
- Show all known conversions and exit
+ to the output. Specifying this option suppresses this.
address@hidden -s, --show-rules
+ Show all known conversions and exit.
@item address@hidden
Set the goal version of the conversion. It defaults to the latest
available version.
address@hidden -h, --help
+ Print usage help
@end table
@unnumberedsubsec Example
diff -urN ../lilypond-1.4.1.mb1/Documentation/user/converters.itely
./Documentation/user/converters.itely
--- ../lilypond-1.4.1.mb1/Documentation/user/converters.itely Fri May 11
15:29:05 2001
+++ ./Documentation/user/converters.itely Sun May 20 16:03:41 2001
@@ -112,11 +112,9 @@
@refbugs
Known: articulation scripts are buggy. Empty measures confuse etf2ly.
-Report bugs to @email{bug-gnu-music@@gnu.org}.
Written by @email{Han-Wen Nienhuys,hanwen@@cs.uu.nl}.
-
Report bugs to @email{bug-gnu-music@@gnu.org}.
@node abc2ly
@@ -175,7 +173,7 @@
abc2ly ignores the ABC beaming.
Written by @email{Han-Wen Nienhuys,hanwen@@cs.uu.nl}.
-
address@hidden How about Laura? /MB
Report bugs to @email{bug-gnu-music@@gnu.org}.
@@ -280,7 +278,7 @@
@item -v,--version
version information
@item -w,--warranty
-print warranty and copyright. Mup2ly comes with absolutlely @strong{NO
WARRANTY}.
+print warranty and copyright. Mup2ly comes with absolutely @strong{NO
WARRANTY}.
@end table
diff -urN ../lilypond-1.4.1.mb1/Documentation/user/internals.itely
./Documentation/user/internals.itely
--- ../lilypond-1.4.1.mb1/Documentation/user/internals.itely Sun Apr 15
16:24:20 2001
+++ ./Documentation/user/internals.itely Sun May 20 15:34:26 2001
@@ -34,7 +34,7 @@
In this stage @code{Music_iterators} do a traversal of the @code{Music}
structure. The music events thus encountered are reported to
address@hidden, a set objects that collectively form interpretation
address@hidden, a set of objects that collectively form interpretation
contexts.
@@ -59,10 +59,10 @@
@item Breaking
Relations between all grobs are modified to reflect line breaks: When a
-spanner, eg. a slur, crosses a line-break, then the spanner is "broken
+spanner, e.g. a slur, crosses a line-break, then the spanner is "broken
into pieces", for every line that the spanner is in, a copy of the grob
is made. A substitution process redirects all grob-reference so that
-spanner grob will only reference other grobs in the same line.
+each spanner grob will only reference other grobs in the same line.
@item Outputting:
@@ -89,17 +89,24 @@
* Miscellaneous Scheme functions::
@end menu
address@hidden
+ Why not use Scheme syntax for the functions below, such as
+ (ly-input-location? obj) and (ly-get-mus-property m sym) ?
+
+ /MB
address@hidden ignore
+
@node Input location
address@hidden input location
address@hidden Input location
-The parser generates
address@hidden The parser generates
-Input location objects point to a lcoation in the input file. This
+Input location objects point to a location in the input file. This
location is used to generate error messages and to enable the point and
click output.
address@hidden ly-input-location?
-Type predicate
address@hidden ly-input-location? obj
+Type predicate, return true if @var{obj} is an input location.
@end defun
@@ -111,7 +118,8 @@
Moment is a rational number. Since GUILE doesn't support them natively,
so we created our own rational data type.
address@hidden moment?
address@hidden moment? obj
+Type predicate, return true if @var{obj} is a moment.
@end defun
@defun make-moment num den
@@ -134,8 +142,8 @@
@end defun
address@hidden duration? d
-type predicate for Duration
address@hidden duration? obj
+Type predicate, return true if @var{obj} is a duration.
@end defun
@node Pitch data type
@@ -193,7 +201,7 @@
@end defun
@defun music? obj
-A type predicate, return true if @var{obj} is a music object.
+Type predicate, return true if @var{obj} is a music object.
@end defun
@defun ly-music-name music
@@ -208,9 +216,10 @@
reports the events it finds to interpretation contexts. It is not yet
user-serviceable.
address@hidden c++-function?
-type predicate for c++-function. Music_iterator are created from
-schemified C++ constructors. Such a constructor is a @code{c++-function}.
address@hidden c++-function? obj
+Type predicate, return true if @var{obj} is a c++-function.
+Music_iterator are created from schemified C++ constructors. Such a
+constructor is a @code{c++-function}.
@end defun
@node Translator
@@ -263,10 +272,9 @@
In music notation, lots of symbols are related in some way. You can
think of music notation as a graph where nodes are formed by the
-symbols, and the arcs by their relations. A grob is node in that graph.
+symbols, and the arcs by their relations. A grob is a node in that graph.
The directed edges in the graph are formed by references to other grobs
(i.e. pointers).
-
This big graph of grobs specifies the notation problem. The solution of
this problem is a description of the printout in closed form, i.e. a
list of values. These values are Molecules. (see @ref{Molecules})
@@ -284,7 +292,7 @@
If you keep following offset reference points, you will always end up at
the root object. This root object is called @code{Line_of_score}, and it
-represents a system (ie. a line of music).
+represents a system (i.e. a line of music).
All grobs carry a set of grob-properties. In the Stem example above,
the property @code{direction} is set to value @code{1}. The function
@@ -296,7 +304,7 @@
A grob is often associated with a symbol, but some grobs do not print
any symbols. They take care of grouping objects. For example, there is a
separate grob that stacks staffs vertically. The @code{NoteCollision}
-also is an abstract grob: it only moves around chords, but doesn't print
+is also an abstract grob: it only moves around chords, but doesn't print
anything.
A complete list of grob types is found in the generated documentation.
@@ -331,7 +339,7 @@
-Offset callbacks can be stacked, ie.
+Offset callbacks can be stacked, i.e.
@example
\property .... \override #'Y-offset-callbacks = #(list
@@ -358,9 +366,9 @@
@subsection Setting grob properties
Grob properties are stored as GUILE association lists, with symbols as
-keys. In GUILE you can access these using functions described @ref{Grob
-Scheme functions}. From C++, grob properties can be accessed using
-these functions:
+keys. In GUILE you can access these using functions described in
+Section @ref{Grob Scheme functions}. From C++, grob properties can be
+accessed using these functions:
@example
SCM get_grob_property (SCM) const;
@@ -373,12 +381,12 @@
@end example
All lookup functions identify undefined properties with end-of-list
-(ie. @code{'()} in Scheme or @code{SCM_EOL} in C)
+(i.e. @code{'()} in Scheme or @code{SCM_EOL} in C)
Properties are stored in two ways:
@itemize @bullet
@item mutable properties.
-grob properties that change from object to object. The storage of
+Grob properties that change from object to object. The storage of
these are private to a grob. For example pointers to other grobs are
always stored in the mutable properties.
@@ -386,7 +394,7 @@
Grob properties that are shared across different grobs of the same
type. The storage is shared, and hence it is read-only. Typically, this
is used to store function callbacks, and default settings. They are
-initially read from from @file{scm/grob-description.scm}.
+initially read from @file{scm/grob-description.scm}.
@end itemize
You can change immutable grob properties with the \override syntax:
@@ -403,8 +411,7 @@
\property Voice.stem \revert #'direction
@end example
-If you use this a lot, this gets old quickly. So we also have a
-shorthand,
+There is also a shorthand,
@example
\property Context.GrobType \set #'prop = #VAL
@@ -420,7 +427,7 @@
@end example
In this case, in every grob that satisfies @var{pred}, the grob property
- @var{sym} is set to @var{val} is done. For example
+ @var{sym} is set to @var{val}. For example
@example
\outputproperty
@@ -437,7 +444,7 @@
@node Grob interfaces
@unnumberedsubsec Grob interfaces
-Grob properties form a namespace where you can set variables per
+Grob properties form a name space where you can set variables per
object. Each object however, may have multiple functions. For example,
consider a dynamic symbol, such @code{\ff} (fortissimo). It is printed
above or below the staff, it is a dynamic sign, and it is a kind of
@@ -473,7 +480,7 @@
@unnumberedsubsec Items and Spanners
Grobs can also be distinguished in their role in the horizontal spacing.
-A lot of grobs define constraints on the spacing by their sizes. For
+Many grobs define constraints on the spacing by their sizes. For
example, note heads, clefs, stems, and all other symbols with a fixed
shape. These grobs form a subtype called @code{Item}.
@@ -484,7 +491,7 @@
also the X-reference point of the spanner.
Some items need special treatment for line breaking. For example, a
-clef is normally only printed at the start of a line (ie. after a line
+clef is normally only printed at the start of a line (i.e. after a line
break). To model this, `breakable' items (clef, key signature, bar lines,
etc.) are copied twice. Then we have three versions of each breakable
item: one version if there is no line break, one version that is printed
@@ -565,7 +572,7 @@
can run with the @code{-f scm} option. The scheme expressions are then
dumped in the output file.
-All visible, i.e. non-transparant, grobs have a callback to create a
+All visible, i.e. non-transparent, grobs have a callback to create a
Molecule. The name of the property is @code{molecule-callback}, and its
value should be a Scheme function taking one argument (the grob) and
returning a Molecule. Most molecule callbacks are written in C++, but
@@ -608,7 +615,7 @@
them. This information is stored in font metric files. LilyPond can read
two types of font-metrics: @TeX{} Font Metric files (TFM files) and
Adobe Font Metric files (AFM files). LilyPond will always try to load
-AFM files first they files are more versatile.
+AFM files first since they are more versatile.
@defun ly-get-default-font gr
This returns the default font for grob @var{gr}.
@@ -641,7 +648,8 @@
@end defun
@defun dir?
-type predicate. A direction is a -1, 0 or 1.
+type predicate. A direction is a -1, 0 or 1, where -1 represents left or
+down and 1 represents right or up.
@end defun
@defun ly-number->string num
diff -urN ../lilypond-1.4.1.mb1/Documentation/user/lilypond-book.itely
./Documentation/user/lilypond-book.itely
--- ../lilypond-1.4.1.mb1/Documentation/user/lilypond-book.itely Tue Apr
17 20:33:28 2001
+++ ./Documentation/user/lilypond-book.itely Sun May 20 15:53:24 2001
@@ -1,3 +1,5 @@
address@hidden -*-texinfo-*-
+
@node lilypond-book
@chapter lilypond-book
@@ -25,7 +27,7 @@
line width and font size definitions before @code{CONTENTS}, so the
music samples will match the layout of your document.
-Very often, if you mix music and text, the music is often only a few
+Very often, if you mix music and text, the music is only a few
notes or at most a few bars. This music should be as short as possible
and not stretched to be aligned to the right margin. lilypond-book does
this automatically if you don't use a @code{\score} block in
@@ -46,12 +48,12 @@
@end example
In the texinfo version, bitmaps of the music are also generated, so you
-can also make a HTML document with embedded music.
+can make a HTML document with embedded music.
@section TeXinfo reference
-Your markup the lilypond code like this:
+You specify the lilypond code like this:
@example
@@lilypond[options, go, here]
YOUR LILYPOND CODE
@@ -61,8 +63,8 @@
@end example
address@hidden knows the default margins, and a few papersizes.
-These commands should be in the beginning of the document:
address@hidden knows the default margins, and a few paper
+sizes. One of these commands should be in the beginning of the document:
@itemize @bullet
@item @code{@@afourpaper}
@item @code{@@afourlatex}
@@ -97,15 +99,17 @@
@section address@hidden reference
-Your markup the lilypond code like this:
+You specify the lilypond code like this:
@example
\begin[option, go, address@hidden@}
YOUR LILYPOND CODE
address@hidden@}
@end example
address@hidden
+\lilypondfile[options, go,address@hidden@address@hidden
address@hidden example
or
-
@example
address@hidden YOUR LILYPOND CODE @}
@end example
@@ -148,12 +152,12 @@
@table @code
@item eps
This will create the music as eps graphics and include it into the
-document with the @code{\includegraphics} command. It works in Latex
-only.
+document with the @code{\includegraphics} command. It works in
address@hidden only.
This enables you to place music examples in the running text (and not in
a separate paragraph). To avoid that address@hidden places the music on a line
-of its one, there should be no empty lines between the normal text and
+of its own, there should be no empty lines between the normal text and
the lilypond environment. For inline music, you probably also need a
smaller music font size (eg. 11 pt or 13 pt)
@@ -214,7 +218,7 @@
The opposite of @code{singleline}: justify and break lines.
@item fragment
@item nofragment
- Override @command{lilypond-book} autodetection of what type of code is in
the
+ Override @command{lilypond-book} auto detection of what type of code is in
the
lilypond block, voice contents or complete code.
@item printfilename
Prints the file name before the music example. Useful in conjunction
@@ -226,7 +230,7 @@
When you run @command{lilypond-book} it will generate lots of small
files that Lilypond will process. So to avoid all the garbage in
your source directory, you should either change to a temporary
-directory, or use the @code{--outdir} commandline options:
+directory, or use the @code{--outdir} command line options:
@code{cd out && lilypond-book ../yourfile.tex}
@@ -237,7 +241,7 @@
TeXinfo input will be written to a file with extension @file{.texi}.
If you use @code{--outdir}, you should also @code{cd} to that directory
-before running LaTeX or makeinfo. This may seem a little kludgy, but
+before running LaTeX or makeinfo. This may seem a little kludgey, but
both Latex and makeinfo expect picture files (the music) to be in the
current working directory. Moreover, if you do this, LaTeX will not
clutter you normal working directory with output files.
@@ -246,7 +250,7 @@
@cindex lilypond-book and titling
@cindex \header in LaTeX documents
-If you want to combine music that has titling in @code{\header}
+If you want to add titling from the @code{\header} section of the
files, you should add the following to the top of your LaTeX
@example
\input titledefs.tex
@@ -261,7 +265,7 @@
@item @option{-f}, @option{--format=}
Specify the document type to process, @code{latex} or @code{texi}.
- @command{lilypond-book} usually figure out this automatically.
+ @command{lilypond-book} usually figure this out automatically.
@item address@hidden
Set the fontsize to use for lilypond if no fontsize is given
as option.
@@ -290,7 +294,7 @@
@item address@hidden
The name of address@hidden file to output. If this option is not given,
- the output name derived from the input name.
+ the output name is derived from the input name.
@item address@hidden
place generated files in @var{DIR}.
@item --version
@@ -310,11 +314,11 @@
The address@hidden address@hidden@} command is ignored.
-The TeXinfo command @code{pagesize} is on the TODO list for Lilypond 1.4.
-But changing the linewidth in other ways will not give you a straight
+The TeXinfo command @code{pagesize} is on the TODO list for Lilypond 1.4,
+but changing the linewidth in other ways will not give you a straight
right margin.
-Ignores almost all address@hidden commands that changes margins and linewidths.
+Almost all address@hidden commands that change margins and line widths are
ignored.
Since there is no finder's fee which doubles every year, there is no
need to wait for the prize money to grow. So send a bug report today if
diff -urN ../lilypond-1.4.1.mb1/Documentation/user/ly2dvi.itexi
./Documentation/user/ly2dvi.itexi
--- ../lilypond-1.4.1.mb1/Documentation/user/ly2dvi.itexi Sun Apr 15
16:24:20 2001
+++ ./Documentation/user/ly2dvi.itexi Sun May 20 15:42:21 2001
@@ -3,7 +3,7 @@
@node ly2dvi
@chapter ly2dvi
address@hidden is a Python script that creates a nicely title output file
address@hidden is a Python script that creates a nicely titled output file
from an input file for address@hidden It can create a DVI or PS file. It
works by running LilyPond on the input files, creating a address@hidden
wrapper around the output, and running address@hidden (and optionally
@@ -24,7 +24,7 @@
@item -d,--dependencies
Write makefile dependencies for every input file.
@item -h,--help
- Print help.
+ Print usage help.
@item -I,address@hidden
Add @var{DIR} to LilyPond's include path.
@item -m,--no-paper
@@ -34,7 +34,7 @@
@item -o,address@hidden
Generate output to @var{FILE}. The extension of @var{FILE} is ignored.
@item -P,--postscript
- Also generate PostScript output.
+ Also generate PostScript output, using dvips.
@item -s,address@hidden@var{VAL}
Add @var{KEY}= @var{VAL} to the settings, overriding those specified
in the files. Possible keys: @code{language}, @code{latexheaders},
@@ -61,13 +61,13 @@
@item subtitle
Subtitle, centered below the title.
@item poet
- Name of the poet, left flushed below the below subtitle.
+ Name of the poet, left flushed below the subtitle.
@item composer
Name of the composer, right flushed below the subtitle.
@item metre
- Meter string, left flushed below the below poet.
+ Meter string, left flushed below the poet.
@item opus
- Name of the opus, right flushed below the below composer.
+ Name of the opus, right flushed below the composer.
@item arranger
Name of the arranger, right flushed below the opus.
@item instrument
@@ -94,9 +94,9 @@
@unnumberedsubsec Additional parameters
-Ly2dvi responds to several parameters specified in the LilyPond
-file. They can be overridden by supplying a @code{--set} command line
-option.
+Ly2dvi responds to several parameters specified in a @code{\paper}
+section of the LilyPond file. They can be overridden by supplying a
address@hidden command line option.
@table @code
@item language
@@ -110,7 +110,7 @@
Normally read from the @code{\header} block. Default value: empty
address@hidden latexheaders
address@hidden latexpackages
Specify additional address@hidden packages file. This works cumulative,
so you can add multiple packages using multiple @code{-s=latexpackages}
options.
Normally read from the @code{\header} block. Default value:
@@ -123,6 +123,10 @@
Set orientation. Choices are @code{portrait} or @code{landscape}. Is
read from the @code{\paper} block, if set.
address@hidden textheight
+ The vertical extension of the music on the page. It is normally
+ calculated automatically, based on the paper size.
+
@item linewidth
The music line width. It is normally read from the @code{\paper}
block.
diff -urN ../lilypond-1.4.1.mb1/Documentation/user/refman.itely
./Documentation/user/refman.itely
--- ../lilypond-1.4.1.mb1/Documentation/user/refman.itely Sat May 19
01:05:30 2001
+++ ./Documentation/user/refman.itely Sun May 20 15:36:05 2001
@@ -655,7 +655,7 @@
Changing the value of @code{timeSignatureFraction} also causes a
fraction to be printed. This grob is @code{TimeSignature}.
-The actual symbol that's printed can be customised with the style
+The actual symbol that's printed can be customized with the style
property.
@lilypond[fragment, verbatim, singleline]
\time 3/4 s2
@@ -3086,7 +3086,7 @@
markup-item: property | abbrev
property: (@var{key} . @var{value})
abbrev: @code{columns lines roman music bold italic named super sub}
- @code{ overstrike text finger volta timesig mmrest mark script }
+ @code{overstrike text finger volta timesig mmrest mark script}
@code{large Large dynamic}
@end example
@@ -3206,12 +3206,27 @@
a b c b \blanknotes c \unblanknotes d
}
}
address@hidden lilypond
address@hidden lilypond
+This method makes the grobs invisible but they still take the normal space.
+To remove all traces of the grob, you can redefine the function
+typesetting them:
address@hidden
+\score {
+ \notes\relative c'' {
+ \key c \minor
+ \time 6/4
+ as bes c bes c d \break
+ \property Staff.KeySignature \override #'molecule-callback = #'()
+ as bes c bes c d
+ }
+ \paper{linewidth=5.0\cm indent=0}
+}
address@hidden lilypond
-A very rigorous way of removing grobs from the output is to remove the
-engraver that creates them. For example,
+A very rigorous way of removing grobs from the whole score is to remove
+the engraver that creates them. For example,
address@hidden
address@hidden,verbatim]
\score {\notes { c'4 d'8 e'8 g2 }
\paper { \translator {
\VoiceContext
@@ -3220,13 +3235,12 @@
}
@end lilypond
-
@node Dirty tricks
@subsection Dirty tricks
@cindex embedded tex
It is possible to use @TeX{} commands in the strings, but this should be
-avoided because this makes it impossible for LilyPond to compute the
+avoided because it makes it impossible for LilyPond to compute the
exact length of the string, which may lead to collisions. Also, @TeX{}
commands won't work with direct PostScript output (see @ref{PostScript
output}).
@@ -3344,8 +3358,8 @@
@cindex @code{interscoreline}
@item @code{interscoreline}
- Sets the spacing between systems.
-Not set by default.
+ Sets the spacing between systems. The default is 16pt.
+
@cindex @code{interscorelinefill}
@item @code{interscorelinefill}
@@ -3462,7 +3476,7 @@
Page breaks are normally computed by @TeX{}, so they are not under
direct control of LilyPond. However, you can insert a commands into the
@file{.tex} output to instruct @TeX{} where to break pages. For more
-details, see the example file @file{input/test/between-systems.ly}
+details, see the example file @file{input/regression/between-systems.ly}
@@ -3513,7 +3527,7 @@
@refbugs
-Titling is not generated.
+Titling is not generated unless you use @file{ly2dvi}.
@node PostScript output
@@ -3567,7 +3581,7 @@
then written to disk in postscript, @TeX{} or ASCII art. Before it is
written, the page description is represented as Scheme expressions. You
can also dump these Scheme expressions to a file, which may be
-convenient for debugging output routines. This done with the Scheme
+convenient for debugging output routines. This is done with the Scheme
output format
@example
@@ -3643,10 +3657,10 @@
It's easy to change the glyphs, though; if you think you can do better,
have a look at @file{mf/*.af}.
-Lots of resizable symbols such as slurs, ties, tuplets are missing.
+Lots of resizable symbols such as slurs, ties and tuplets are missing.
The poor looks of most ASCII Art output and its limited general
-usefulness make that ASCII Art output has a low priority; it may be
+usefulness gives ASCII Art output a low priority; it may be
dropped in future versions.
@c . {Sound}
@@ -3747,10 +3761,9 @@
* Point and click::
@end menu
-One of the applications of LilyPond is to enter music from existing
-written or printed material. When you're doing this kind of copying
-work, you can easily make mistakes. This section deals with tricks and
-features that help you enter music, and find and correct mistakes.
+When entering music with LilyPond, it is easy to introduce errors. This
+section deals with tricks and features that help you enter music, and
+find and correct mistakes.
@c . {Relative}
@node Relative
@@ -3794,7 +3807,7 @@
@end lilypond
If the preceding item is a chord, the first note of the chord is used
-to determine the first note of the next chord. But other notes
+to determine the first note of the next chord. However, other notes
within the second chord are determined by looking at the immediately
preceding note.
@@ -3926,7 +3939,7 @@
will complain about not finding @code{src:X:Y} files. Those complaints
are harmless, and can be ignored.
-When using @code{line-colum-location}, the cursor will be one off; it
+When using @code{line-column-location}, the cursor will be one off; it
will not jump to the exact note that you clicked, but to the next one.
[FIXME]
@@ -3966,9 +3979,9 @@
LilyPond. During the interpretation phase of LilyPond (when it prints
"interpreting music"), the music expression in a @code{\score} block is
interpreted in time order. This is the same order that humans hear and
-play music.
+play the music.
-During this interpretation, the interpretation context is holds the
+During this interpretation, the interpretation context holds the
state for the current point within the music. It contains information
like
@@ -3986,7 +3999,9 @@
Contexts associated with sheet music output are called @emph{notation
contexts}, those for sound output are called @emph{performance
-contexts}.
+contexts}. The default definitions of the standard notation and
+performance contexts can be found in @file{ly/engraver.ly} and
address@hidden/performer.ly}, respectively.
@node Creating contexts
@@ -4028,7 +4043,8 @@
@node Default contexts
@subsection Default contexts
-Most music expressions don't need @code{\context}: they inherit the
+Most music expressions don't need an explicit @code{\context}
+declaration: they inherit the
notation context from their parent. Each note is a music expression, and
as you can see in the following example, only the sequential music
enclosing the three notes has an explicit context.
@@ -4040,7 +4056,7 @@
There are some quirks that you must keep in mind when dealing with
defaults:
-First, every top-level music is interpreted by the Score context, in other
+First, every top level music is interpreted by the Score context, in other
words, you may think of @code{\score} working like
@example
\score @{
@@ -4048,8 +4064,8 @@
@}
@end example
-Second, sequential music follows the contexts of its
-``children''. Consider the following example.
+Second, contexts are created automatically to be able to interpret the
+music expressions. Consider the following example.
@lilypond[verbatim, singleline]
\score { \context Score \notes { c'4 ( d' )e' } }
@@ -4180,7 +4196,7 @@
To simplify editing translators, all standard contexts have standard
identifiers called @address@hidden, e.g. @code{StaffContext},
address@hidden
address@hidden, see @file{ly/engraver.ly}.
@node Defining new contexts
@subsection Defining new contexts
@@ -4246,17 +4262,18 @@
End-users generally don't need this command.
@item @code{\accepts} @var{contextname}
- Add @var{contextname} to the list of context this context can
- contain. The first listed context is the context to create by
- default.
+ Add @var{contextname} to the list of contexts this context can
+ contain in the context hierarchy. The first listed context is the
+ context to create by default.
@item @code{\denies}. The opposite of @code{\accepts}. Added for
completeness, but is never used in practice.
@item @code{\name} @var{contextname}
- This sets name of the context, e.g. @code{Staff}, @code{Voice}. If
- the name is not specified, the translator won't do anything.
+ This sets the type name of the context, e.g. @code{Staff},
+ @code{Voice}. If the name is not specified, the translator won't do
+ anything.
@end itemize
In the @code{\paper} block, it is also possible to define translator
@@ -4336,7 +4353,7 @@
@subsubsection Default output
Default values for the @code{\paper} and @code{\midi} block are set by
-entering such a block at top-level.
+entering such a block at the top level.
@c . {Header}
@subsubsection Header
@@ -4362,7 +4379,7 @@
@subsubsection Default output
-A @code{\midi} or @code{\paper} block at top-level sets the default
+A @code{\midi} or @code{\paper} block at top level sets the default
paper block for all scores that lack an explicit paper block.
@c . {Identifiers}
@@ -4370,9 +4387,18 @@
@subsection Identifiers
@cindex Identifiers
-All of the information in a LilyPond input file, is represented as a
-Scheme value. In addition to normal Scheme data types (such as pair,
-number, boolean, etc.), LilyPond has a number of specialized data types,
address@hidden
+ What has this section got to do with identifiers?
+ It seems more appropriate in the introduction to Chapter 4,
+ "Internals".
+
+ /MB
address@hidden ignore
+
+All of the information in a LilyPond input file, is internally
+represented as a Scheme value. In addition to normal Scheme data types
+(such as pair, number, boolean, etc.), LilyPond has a number of
+specialized data types,
@itemize @bullet
@item Input
@@ -4620,13 +4646,13 @@
@cindex @code{\lyrics}
To simplify entering notes, lyrics, and chords, LilyPond has three
-special input modes on top of the default mode: note, lyrics and chords
-mode. These input modes change the way that normal, unquoted words are
-interpreted: for example, the word @code{cis} may be interpreted as a
-C-sharp, as a lyric syllable `cis' or as a C-sharp major triad
-respectively.
+special input modes in addition to the default mode: note, lyrics and
+chords mode. These input modes change the way that normal, unquoted
+words are interpreted: for example, the word @code{cis} may be
+interpreted as a C-sharp, as a lyric syllable `cis' or as a C-sharp
+major triad respectively.
-A mode switch is entered as a compound music expressions
+A mode switch is entered as a compound music expression
@example
@code{\notes} @var{musicexpr}
@code{\chords} @var{musicexpr}
@@ -4727,7 +4753,7 @@
LilyPond contains a Scheme interpreter (the GUILE library) for
-internal use. In some places Scheme expressions also form valid syntax:
+internal use. In some places, Scheme expressions also form valid syntax:
wherever it is allowed,
@example
address@hidden
@@ -4740,7 +4766,7 @@
expressions. The first one is a symbol (@code{foobar}), the second one
an integer (namely, 3).
-In-line scheme may be used at top level. In this case the result is
+In-line scheme may be used at the top level. In this case the result is
discarded.
Scheme is a full-blown programming language, and a full discussion is
diff -urN ../lilypond-1.4.1.mb1/VERSION ./VERSION
--- ../lilypond-1.4.1.mb1/VERSION Sat May 19 01:08:20 2001
+++ ./VERSION Sat May 19 01:35:00 2001
@@ -2,7 +2,7 @@
MAJOR_VERSION=1
MINOR_VERSION=4
PATCH_LEVEL=1
-MY_PATCH_LEVEL=mb1
+MY_PATCH_LEVEL=mb2
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
# released version.
- Patch for 1.4.1, Mats Bengtsson, 2001/05/18
- Re: Patch for 1.4.1,
Mats Bengtsson <=