+1.3.122.jcn1
+============
+
+* Doco fixes.
+
+* Small fixes for guile-1.4.1 snapshot.
+
1.3.121.hwn1
============
-@node Reporting Bugs, , , top
+@node Bug reports
@chapter Bug reports
@cindex bugs
+@cindex bug reports
@cindex reporting bugs
LilyPond development moves quickly, so if you have a problem, it is
-
-@node convert-ly, , , Top
+@node convert-ly
@chapter convert-ly
+
+
@code{convert-ly} sequentially applies different
lilypond-conversions to upgrade a Lilypond input file. It uses
@code{\version} statements in the file to detect the old version
-@node Internals, , , Top
+@node Internals
+@chapter Internals
@menu
* Conversion stages:: Lilypond is a multi-pass program.
-@node Development, , , top
+@node Development
@chapter Development
@menu
* Helping with development::
@end menu
-@node CodingStyle, , , Development
+@node CodingStyle
@section CodingStyle - standards while programming for GNU LilyPond
As a general rule, you should always try to continue computations, even
Use them.
-@node Making patches, , , Development
+@node Making patches
@section Making patches
@unnumberedsec Track and distribute your code changes
@end example
-@node Localisation, , , Development
+@node Localisation
@section Localisation - User messages in LilyPond
This document provides some guidelines for uniformising user messages.
@end itemize
-@node Helping with development, , , Development
-
-@chapter Getting involved
+@node Helping with development
+@section Getting involved
If you want to help developing LilyPond your efforts are appreciated.
You can help LilyPond in several ways. Not all tasks requiring
@item Helping @uref{primrose.sourceforge.net,primrose}, a tool for
scanning sheet music.
@end itemize
-
-
-@node Invoking LilyPond, , , top
+@node Invoking LilyPond
@chapter Invoking LilyPond
@cindex Invoking LilyPond
@menu
* Tutorial:: A tutorial introduction to lilypond.
* Invoking LilyPond:: Operation.
-* Reporting Bugs:: Where to report bugs.
+* Bug reports:: Where to report bugs.
* Reference Manual:: Reference Manual.
@c Move to Reference Manual?
* Internals:(lilypond-internals). Auto generated detailed documentation.
@contents
@macro keyindex {word}
-@cindex \\@code{\word\}
+@cindex @code{ \word\ }
+
@end macro
@macro indexcode {word}
-@cindex @code{\word\}
+@cindex @code{ \word\ }
+
@end macro
@mbinclude development.itexi
-@node Index, , , top
+@node Index
@unnumbered Index
@printindex cp
@c ugh: because of @include, we need to fill in these nodes
-@node Reference Manual, , , top
+@node Reference Manual
@chapter Reference Manual
@menu
@node Overview
@section Overview
+
This document@footnote{This document has been revised for LilyPond 1.2.}
describes the the GNU LilyPond input format This format represents a
piece of music in an elegant way, but contains enough information for
both automatic typesetting and automatic performances.
+
LilyPond input can be classified into three types:
@itemize @bullet
@item musical expressions: a musical expression is some combination of
@node Pitch names
@section Pitch names
+
@cindex pitch names
@cindex note names
@cindex chord modifier names
See @file{ly/nederlands.ly} and @file{ly/chord-modifiers.ly} for
specific examples how to do this. tables can be tailored specified
using. Some national note names have been provided, see
-@ref{Other languages}.
+section @ref{Other languages}.
A @code{\paper} block at top level sets the default paper block. A
@code{\midi} block at top level works similarly.
@cindex assignments
-
@node Lexical conventions
@section Lexical conventions
@cindex lexical conventions
-
@unnumberedsubsec Comments
@cindex comment
natural, negative to add flats, or positive to add sharps.
In Note and Chord mode, pitches may be designated by names. See
-section
- @c @ref{Other languages} FIXME
- for pitch names in different languages.
+section @ref{Other languages} for pitch names in different languages.
The syntax for duration specification is
but both forms will be accepted.
LilyPond has predefined sets of notenames for various languages. See
-@ref{Other languages}.
+section @ref{Other languages}.
The optional octave specification takes the form of a series of
single quote (`@code{'}@indexcode{'}') characters or a series of comma
A grace note expression has duration 0; the next real note is
assumed to be the main note.
+
You cannot have the grace note after the main note, in terms of
duration, and main notes, but you can typeset the grace notes to the
right of the main note using the property
notation are called @emph{engravers}, and translators for sound are
called @emph{performers}.
+
@mbinclude properties.itely
@node Page layout
See @file{font.scm} for details of @var{alist}.
@end itemize
-@subsection Paper variables
-
+@subsection Paper variables
The paper block has some variables you may want to use or change:
@c @end quotation
-
@node Pre-defined Identifiers
@section Pre-defined Identifiers
@end table
+
@c -*-texinfo-*-
@c ugh: because of @include, we need to fill in these nodes?
-@node Tutorial, , , Top
+@node Tutorial
@chapter Tutorial
@menu
MAJOR_VERSION=1
MINOR_VERSION=3
PATCH_LEVEL=122
-MY_PATCH_LEVEL=
+MY_PATCH_LEVEL=jcn1
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
# released version.
;;
;; CHORD: (pitches (base . inversion))
(define (default-chord-name-function style chord)
- (let* ((pitches (map new-to-old-pitch (car chord)))
+ (let* ((style-string (symbol->string style))
+ (pitches (map new-to-old-pitch (car chord)))
(modifiers (cdr chord))
(base-and-inversion (if (pair? modifiers)
(cons (new-to-old-pitch (car modifiers))
'(() . ())))
(diff (pitch::diff '(0 0 0) (car pitches)))
(name-func
- (ly-eval (string->symbol (string-append "chord::name-" style))))
+ (ly-eval (string->symbol (string-append "chord::name-" style-string))))
(names-alist
- (ly-eval (string->symbol (string-append "chord::names-alist-" style)))))
+ (ly-eval (string->symbol (string-append "chord::names-alist-" style-string)))))
(let loop ((note-names (reverse pitches))
(chord '())
(user-name #f))
(props (car (cdddr engraver-descr)))
(name (car engraver-descr))
(desc (cadr engraver-descr))
- (objs (caddr engraver-descr))
+ (objs (map symbol->string (caddr engraver-descr)))
)
(string-append
(texi-section 2 (context-name name) #f)
doc)))
+(define (symbol<? l r)
+ (string<? (symbol->string l) (symbol->string r)))
(define (document-paper name)
(let* ((paper-alist
(sort (My_lily_parser::paper_description)
- (lambda (x y) (string<? (car x) (car y)))))
- (names (sort (map car paper-alist) string<?))
+ (lambda (x y) (symbol<? (car x) (car y)))))
+ (names (sort (map symbol->string (map car paper-alist)) string<?))
(contexts (map cdr paper-alist))
(doc (apply string-append
(map (lambda (x) (document-context name x)) contexts))))