* lily/slur-scoring.cc (move_away_from_staffline): new function.
(get_base_attachments): move away attachment point for breaks
similar to attachment points on slurs (staffline collision, and
half a space of padding)
2004-10-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * Documentation/user/invoking.itely (Reporting bugs): rename.
+
* lily/lexer.ll (Lily_lexer): bump version req to 2.3.22.
* lily/parser.yy (Prefix_composite_music): change no-transposition
* lily/phrasing-slur-engraver.cc (acknowledge_grob): do something
with normal slurs too.
-
+
* lily/slur-scoring.cc (move_away_from_staffline): new function.
(get_base_attachments): move away attachment point for breaks
similar to attachment points on slurs (staffline collision, and
@itemize @bullet
@item Include @code{\version} numbers in every file. Note that all
-templates contain a @code{\version "2.3.16"} string. We
+templates contain a @code{\version "2.3.22"} string. We
highly recommend that you always include the @code{\version}, no matter
how small your file is. Speaking from personal experience, it's
quite frustrating to try to remember which version of LilyPond you were
@lilypond[verbatim,raggedright]
-\version "2.3.16"
+\version "2.3.22"
melody = \relative c' {
\clef treble
\key c \major
@lilypond[verbatim,raggedright]
-\version "2.3.16"
+\version "2.3.22"
melody = \relative c' {
\clef treble
\key c \major
@lilypond[verbatim,raggedright]
-\version "2.3.16"
+\version "2.3.22"
melody = \relative c' {
\clef treble
\key c \major
@lilypond[verbatim,raggedright]
-\version "2.3.16"
+\version "2.3.22"
melody = \relative c' {
\clef treble
\key c \major
@lilypond[verbatim,raggedright]
-\version "2.3.16"
+\version "2.3.22"
upper = \relative c'' {
\clef treble
\key c \major
@lilypond[verbatim,raggedright]
-\version "2.3.16"
+\version "2.3.22"
melody = \relative c'' {
\clef treble
\key c \major
@lilypond[verbatim,raggedright]
-\version "2.3.16"
+\version "2.3.22"
upper = \relative c'' {
\clef treble
\key c \major
@lilypond[verbatim,raggedright]
-\version "2.3.16"
+\version "2.3.22"
global = {
\time 4/4
\key c \major
@lilypond[verbatim,raggedright]
-\version "2.3.16"
+\version "2.3.22"
global = {
\key c \major
\time 4/4
@lilypond[verbatim,raggedright]
-\version "2.3.16"
+\version "2.3.22"
global = {
% incipit
@lilypond[verbatim,raggedright]
-\version "2.3.16"
+\version "2.3.22"
\header {
title = "Song"
subtitle = "(tune)"
@lilypond[verbatim,raggedright]
-\version "2.3.16"
+\version "2.3.22"
\header {
dedication = "dedication"
title = "Title"
--- /dev/null
+@c -*-texinfo-*-
+@node Running LilyPond
+@chapter Running LilyPond
+
+This chapter details the technicalities of running LilyPond.
+
+
+@menu
+* Invoking lilypond::
+* Error messages::
+* Reporting bugs::
+* Editor support::
+* Invoking lilypond-latex::
+@end menu
+
+@node Invoking lilypond
+@section Invoking lilypond
+@cindex Invoking LilyPond
+@cindex command line options
+@cindex options, command line
+@cindex switches
+
+
+The @code{lilypond} may be called as follows from the command line.
+
+@example
+ lilypond [@var{option}]@dots{} @var{file}@dots{}
+@end example
+
+
+When invoked with a filename that has no extension, the @file{.ly}
+extension is tried first. To read input from stdin, use a
+dash @code{-} for @var{file}.
+
+When @file{filename.ly} is processed it will produce
+@file{filename.tex} as output (or @file{filename.ps} for PostScript
+output). If @file{filename.ly} contains more than one @code{\score}
+block, then the rest of the scores will be output in numbered files,
+starting with @file{filename-1.tex}. Several files can be specified;
+they will each be processed independently. @footnote{The status of
+GUILE is not reset after processing a @code{.ly} files, so be careful
+not to change any system defaults from within Scheme.}
+
+
+@section Command line options
+
+The following options are supported:
+
+@table @code
+
+@item -e,--evaluate=@var{expr}
+Evaluate the Scheme @var{expr} before parsing any @file{.ly} files.
+Multiple @code{-e} options may be given, they will be evaluated
+sequentially. The function @code{ly:set-option} allows for access to
+some internal variables. Use @code{-e '(ly:option-usage)'} for more
+information.
+
+@item -f,--format=@var{format}
+@c
+@c
+A comma separated list of back-end output formats to use. Choices are
+@code{tex} (for @TeX{} output, to be processed with La@TeX{}, and
+@code{ps} for PostScript.
+
+There are other output options, but they are intended for developers.
+
+
+@cindex output format, setting
+@cindex PostScript output
+@cindex Scheme dump
+
+@item -h,--help
+Show a summary of usage.
+@item --include, -I=@var{directory}
+Add @var{directory} to the search path for input files.
+@cindex file searching
+@cindex search path
+@item -i,--init=@var{file}
+Set init file to @var{file} (default: @file{init.ly}).
+@item -o,--output=@var{FILE}
+ Set the default output file to @var{FILE}.
+@item --ps
+ Generate PostScript.
+@item --dvi
+ Generate DVI files. In this case, the @TeX{} backend should be
+ specified, i.e. @code{-f tex}.
+@item --png
+ Generate pictures of each page, in PNG format. This implies @code{--ps}.
+@item --pdf
+ Generate PDF. This implies @code{--ps}.
+@item --preview
+ Generate an output file containing the titles and the first system
+of the score.
+
+@item -s,--safe
+Do not trust the @code{.ly} input.
+
+When LilyPond formatting is available through a web server, the
+@code{--safe} @b{MUST} be passed. This will prevent inline Scheme
+code from wreaking havoc, for example
+
+@verbatim
+ #(system "rm -rf /")
+ {
+ c4^#(ly:export (ly:gulp-file "/etc/passwd"))
+ }
+@end verbatim
+
+The @code{--safe} option works by evaluating in-line Scheme
+expressions in a special safe module. This safe module is derived from
+GUILE @file{safe-r5rs} module, but adds a number of functions of the
+LilyPond API. These functions are listed in @file{scm/safe-lily.scm}.
+
+In addition, @code{--safe} disallows @code{\include} directives and
+disables the use of backslashes in @TeX{} strings.
+
+In @code{--safe} mode, it is not possible to import LilyPond variables
+into Scheme.
+
+@item -v,--version
+Show version information.
+@item -V,--verbose
+Be verbose: show full paths of all files read, and give timing
+information.
+
+@item -w,--warranty
+Show the warranty with which GNU LilyPond comes. (It comes with
+@strong{NO WARRANTY}!)
+@end table
+
+@section Environment variables
+
+
+For processing both the @TeX{} and the PostScript output, the
+appropriate environment variables must be set. The following scripts
+do this:
+
+@itemize @bullet
+@item @file{buildscripts/out/lilypond-profile}
+(for SH shells)
+@item @file{buildscripts/out/lilypond-login} (for C-shells)
+@end itemize
+
+They should normally be sourced as part of the login process. If these
+scripts are not run from the system wide login process, then you must
+run it yourself.
+
+@cindex installing LilyPond
+
+If you use sh, bash, or a similar shell, then add the following to
+your @file{.profile}:
+@example
+ . @var{/the/path/to/}lilypond-profile
+@end example
+
+If you use csh, tcsh or a similar shell, then add the following to
+your @file{~/.login}:
+@example
+ source @var{/the/path/to/}lilypond-login
+@end example
+
+Of course, in both cases, you should substitute the proper location of
+either script.
+
+These scripts set the following variables:
+@table @code
+@item TEXMF
+ To make sure that @TeX{} and lilypond find data files (among
+others @file{.tex}, @file{.mf} and @file{.tfm}),
+you have to set @code{TEXMF} to point to the lilypond data
+file tree. A typical setting would be
+@example
+@{/usr/share/lilypond/1.6.0,@{!!/usr/share/texmf@}@}
+@end example
+
+@end table
+
+
+@cindex PostScript
+@cindex TEXMF
+@cindex printing postscript
+
+The binary itself recognizes the following environment variables:
+@table @code
+@item LILYPONDPREFIX
+This specifies a directory where locale messages and
+data files will be looked up by default. The directory should contain
+subdirectories called @file{ly/}, @file{ps/}, @file{tex/}, etc.
+
+@item LANG
+This selects the language for the warning messages.
+@end table
+
+@cindex LANG
+@cindex LILYPONDPREFIX
+
+@node Error messages
+@section Error messages
+
+@cindex error messages
+Different error messages can appear while compiling a file:
+
+@table @emph
+@cindex warning
+
+@item Warning
+ Something looks suspect. If you are requesting something out of the
+ordinary then you will understand the message, and can ignore it.
+However, warnings usually indicate that something is wrong with the
+input file.
+
+@item Error
+Something is definitely wrong. The current processing step (parsing,
+interpreting, or formatting) will be finished, but the next step will
+be skipped.
+
+@cindex error
+@cindex fatal error
+@item Fatal error
+Something is definitely wrong, and LilyPond cannot continue. This
+happens rarely. The most usual cause is misinstalled fonts.
+
+@cindex trace, Scheme
+@cindex call trace
+@cindex Scheme error
+@item Scheme error
+Errors that occur while executing Scheme code are caught by the Scheme
+interpreter. If running with the verbose option (@code{-V} or
+@code{--verbose}) then a call trace is printed of the offending
+function call.
+
+@cindex Programming error
+@item Programming error
+There was some internal inconsistency. These error messages are
+intended to help the programmers and debuggers. Usually, they can be
+ignored. Sometimes, they come in such big quantities that they obscure
+other output. In this case, file a bug-report.
+
+@item Aborted (core dumped)
+This signals a serious programming error that caused the program to
+crash. Such errors are considered critical. If you stumble on one,
+send a bugreport.
+
+
+@end table
+
+@cindex errors, message format
+If warnings and errors can
+be linked to some part of the input file, then error messages have the
+following form
+
+@example
+ @var{filename}:@var{lineno}:@var{columnno}: @var{message}
+ @var{offending input line}
+@end example
+
+A line-break is inserted in offending line to indicate the column
+where the error was found. For example,
+
+@example
+test.ly:2:19: error: not a duration: 5:
+ @{ c'4 e'5
+ g' @}
+@end example
+
+These locations are LilyPond's best guess about where the warning or
+error occured, but (by their very nature) warning and errors occur
+when something unexpected happens. If you can't see an error in the
+indicated line of your input file, try checking one or two lines
+above the indicated position.
+
+
+@node Reporting bugs
+@section Reporting bugs
+
+@cindex bugs
+@cindex reporting bugs
+
+If you have input that results in a crash or an erroneous output, then
+that is a bug. We try respond to bug-reports promptly, and fix them as
+soon as possible. Help us by sending a defective input file, so we can
+reproduce the problem. Make it small, so we can easily debug the
+problem. Don't forget to tell which version of LilyPond you use! Send
+the report to @email{bug-lilypond@@gnu.org}.
+
+When you've found a bug, have a look at our
+@uref{http://lilypond.org/doc/v2.3/bugs/,bug database} to see if it
+has already been reported. You could also try doing a few searches
+on the mailing list for the bug. Sometimes the bug will have already
+been reported and a fix or workaround is already known.
+
+Here is an example of a good bug report:
+
+@verbatim
+
+It seems that placement of accidentals is broken. In the
+following example, the accidental touches the note head.
+
+Using Mac OSX 10.3.5, fink package lilypond-unstable
+
+\version "2.3.22"
+\relative c''{
+ a4 b cis d
+}
+@end verbatim
+
+@lilypond
+\version "2.3.22"
+\relative c''{
+ \override Accidental #'extra-offset = #'(1.0 . 0)
+ a4 b cis d
+}
+@end lilypond
+
+@node Editor support
+@section Editor support
+
+@cindex editors
+@cindex vim
+@cindex emacs
+@cindex modes, editor
+@cindex syntax coloring
+@cindex coloring, syntax
+
+There is support from different editors for LilyPond.
+
+@table @asis
+@item Emacs
+Emacs has a @file{lilypond-mode}, which provides keyword
+autocompletion, indentation, LilyPond specific parenthesis matching
+and syntax coloring, handy compile short-cuts and reading LilyPond
+manuals using Info. If @file{lilypond-mode} is not installed on your
+platform, then read the
+@ifhtml
+@uref{../../../topdocs/out-www/INSTALL.html,installation instructions}.
+@end ifhtml
+@ifnothtml
+installation instructions.
+@end ifnothtml
+
+@item VIM
+
+For @uref{http://www.vim.org,VIM}, a @file{vimrc} is supplied, along with
+syntax coloring tools. For more information, refer to the
+@ifhtml
+@uref{../../../topdocs/out-www/INSTALL.html,installation instructions}.
+@end ifhtml
+@ifnothtml
+installation instructions.
+@end ifnothtml
+
+
+@item JEdit
+
+There exists a plugin for @uref{http://www.jedit.org/,jEdit}. Refer to
+the @uref{http://lily4jedit.sourceforge.net,plugin website} for more
+information.
+
+@end table
+
+For both VIM and Emacs editors, there is also a facility to jump in
+the input file to the source of errors in the graphical output. See
+@ref{Point and click}.
+
+
+
+
+@node Invoking lilypond-latex
+@section Invoking lilypond-latex
+
+Before LilyPond 3.0, the @code{lilypond} program only generated music
+notation. Titles and page layout was done in a separate wrapper
+program. For compatibility with older files, this wrapper program has
+been retained as @code{lilypond-latex}. It uses the LilyPond program
+and La@TeX{} to create a nicely titled piece of sheet music. Use of
+this program is only necessary if the input file contains special
+La@TeX{} options or formatting codes in markup texts.
+
+The @code{lilypond-latex} wrapper is invoked from the command-line as
+follows
+@example
+ @code{lilypond-latex} [@var{option}]@dots{} @var{file}@dots{}
+@end example
+
+To have @code{lilypond-latex} read from stdin, use a dash @code{-} for
+@var{file}. The program supports the following options.
+
+@cindex stdin, reading
+
+@table @code
+@item -k,--keep
+ Keep the temporary directory with all output
+files. The temporary directory is created in the current directory as @code{@code{lilypond}.dir}.
+@item -h,--help
+ Print usage help.
+@item -I,--include=@var{dir}
+ Add @var{dir} to LilyPond's include path.
+@item -o,--output=@var{file}
+ Generate output to @var{file}. The extension of @var{file} is ignored.
+@item --png
+ Also generate pictures of each page, in PNG format.
+@item --preview
+ Also generate a picture of the first system of the score.
+
+@cindex preview
+@cindex picture
+@cindex bitmap
+@cindex pixmap
+@cindex thumbnail
+@cindex screen shot
+
+@item -s,--set=@var{key}=@var{val}
+ Add @var{key}= @var{val} to the settings, overriding those specified
+in the files. Possible keys: @code{language}, @code{latexheaders},
+@code{latexpackages}, @code{latexoptions}, @code{papersize},
+@code{linewidth}, @code{orientation},
+@code{textheight}.
+@item -v,--version
+Show version information.
+@item -V,--verbose
+Be verbose. This prints out commands as they are executed, and more
+information about the formatting process is printed.
+@item --debug
+Print even more information. This is useful when generating bug reports.
+@item -w,--warranty
+Show the warranty with which GNU LilyPond comes. (It comes with
+@strong{NO WARRANTY}!)
+@end table
+
+
+
+@subsection Additional parameters
+
+The @code{lilypond} program responds to several parameters specified
+in a @code{\layout} section of the input file. They can be overridden
+by supplying a @code{--set} command line option.
+
+@table @code
+@item language
+ Specify La@TeX{} language: the @code{babel} package will be
+included. Default: unset.
+
+ Read from the @code{\header} block.
+
+@item latexheaders
+ Specify additional La@TeX{} headers file.
+ Normally read from the @code{\header} block. Default value: empty.
+
+@item latexpackages
+ Specify additional La@TeX{} 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:
+@code{geometry}.
+
+@item latexoptions
+ Specify additional options for the La@TeX{}
+@code{\documentclass}. You can put any valid value here. This was
+designed to allow @code{lilypond} to produce output for double-sided
+paper, with balanced margins and page numbers on alternating sides. To
+achieve this specify @code{twoside}.
+
+@item orientation
+ Set orientation. Choices are @code{portrait} or @code{landscape}. Is
+read from the @code{\layout} block, if set.
+
+@item 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{\layout}
+block.
+
+@item papersize
+ The paper size (as a name, e.g. @code{a4}). It is normally read from
+the @code{\layout} block.
+
+@item fontenc
+ The font encoding, should be set identical to the @code{font-encoding}
+ property in the score.
+@end table
+
+
+
+++ /dev/null
-@c -*-texinfo-*-
-@node Running LilyPond
-@chapter Running LilyPond
-
-This chapter details the technicalities of running LilyPond.
-
-
-@menu
-* Invoking lilypond::
-* Error messages::
-* Reporting bugs::
-* Editor support::
-* Invoking lilypond-latex::
-@end menu
-
-@node Invoking lilypond
-@section Invoking lilypond
-@cindex Invoking LilyPond
-@cindex command line options
-@cindex options, command line
-@cindex switches
-
-
-The @code{lilypond} may be called as follows from the command line.
-
-@example
- lilypond [@var{option}]@dots{} @var{file}@dots{}
-@end example
-
-
-When invoked with a filename that has no extension, the @file{.ly}
-extension is tried first. To read input from stdin, use a
-dash @code{-} for @var{file}.
-
-When @file{filename.ly} is processed it will produce
-@file{filename.tex} as output (or @file{filename.ps} for PostScript
-output). If @file{filename.ly} contains more than one @code{\score}
-block, then the rest of the scores will be output in numbered files,
-starting with @file{filename-1.tex}. Several files can be specified;
-they will each be processed independently. @footnote{The status of
-GUILE is not reset after processing a @code{.ly} files, so be careful
-not to change any system defaults from within Scheme.}
-
-
-@section Command line options
-
-The following options are supported:
-
-@table @code
-
-@item -e,--evaluate=@var{expr}
-Evaluate the Scheme @var{expr} before parsing any @file{.ly} files.
-Multiple @code{-e} options may be given, they will be evaluated
-sequentially. The function @code{ly:set-option} allows for access to
-some internal variables. Use @code{-e '(ly:option-usage)'} for more
-information.
-
-@item -f,--format=@var{format}
-@c
-@c
-A comma separated list of back-end output formats to use. Choices are
-@code{tex} (for @TeX{} output, to be processed with La@TeX{}, and
-@code{ps} for PostScript.
-
-There are other output options, but they are intended for developers.
-
-
-@cindex output format, setting
-@cindex PostScript output
-@cindex Scheme dump
-
-@item -h,--help
-Show a summary of usage.
-@item --include, -I=@var{directory}
-Add @var{directory} to the search path for input files.
-@cindex file searching
-@cindex search path
-@item -i,--init=@var{file}
-Set init file to @var{file} (default: @file{init.ly}).
-@item -o,--output=@var{FILE}
- Set the default output file to @var{FILE}.
-@item --ps
- Generate PostScript.
-@item --dvi
- Generate DVI files. In this case, the @TeX{} backend should be
- specified, i.e. @code{-f tex}.
-@item --png
- Generate pictures of each page, in PNG format. This implies @code{--ps}.
-@item --pdf
- Generate PDF. This implies @code{--ps}.
-@item --preview
- Generate an output file containing the titles and the first system
-of the score.
-
-@item -s,--safe
-Do not trust the @code{.ly} input.
-
-When LilyPond formatting is available through a web server, the
-@code{--safe} @b{MUST} be passed. This will prevent inline Scheme
-code from wreaking havoc, for example
-
-@verbatim
- #(system "rm -rf /")
- {
- c4^#(ly:export (ly:gulp-file "/etc/passwd"))
- }
-@end verbatim
-
-The @code{--safe} option works by evaluating in-line Scheme
-expressions in a special safe module. This safe module is derived from
-GUILE @file{safe-r5rs} module, but adds a number of functions of the
-LilyPond API. These functions are listed in @file{scm/safe-lily.scm}.
-
-In addition, @code{--safe} disallows @code{\include} directives and
-disables the use of backslashes in @TeX{} strings.
-
-In @code{--safe} mode, it is not possible to import LilyPond variables
-into Scheme.
-
-@item -v,--version
-Show version information.
-@item -V,--verbose
-Be verbose: show full paths of all files read, and give timing
-information.
-
-@item -w,--warranty
-Show the warranty with which GNU LilyPond comes. (It comes with
-@strong{NO WARRANTY}!)
-@end table
-
-@section Environment variables
-
-
-For processing both the @TeX{} and the PostScript output, the
-appropriate environment variables must be set. The following scripts
-do this:
-
-@itemize @bullet
-@item @file{buildscripts/out/lilypond-profile}
-(for SH shells)
-@item @file{buildscripts/out/lilypond-login} (for C-shells)
-@end itemize
-
-They should normally be sourced as part of the login process. If these
-scripts are not run from the system wide login process, then you must
-run it yourself.
-
-@cindex installing LilyPond
-
-If you use sh, bash, or a similar shell, then add the following to
-your @file{.profile}:
-@example
- . @var{/the/path/to/}lilypond-profile
-@end example
-
-If you use csh, tcsh or a similar shell, then add the following to
-your @file{~/.login}:
-@example
- source @var{/the/path/to/}lilypond-login
-@end example
-
-Of course, in both cases, you should substitute the proper location of
-either script.
-
-These scripts set the following variables:
-@table @code
-@item TEXMF
- To make sure that @TeX{} and lilypond find data files (among
-others @file{.tex}, @file{.mf} and @file{.tfm}),
-you have to set @code{TEXMF} to point to the lilypond data
-file tree. A typical setting would be
-@example
-@{/usr/share/lilypond/1.6.0,@{!!/usr/share/texmf@}@}
-@end example
-
-@end table
-
-
-@cindex PostScript
-@cindex TEXMF
-@cindex printing postscript
-
-The binary itself recognizes the following environment variables:
-@table @code
-@item LILYPONDPREFIX
-This specifies a directory where locale messages and
-data files will be looked up by default. The directory should contain
-subdirectories called @file{ly/}, @file{ps/}, @file{tex/}, etc.
-
-@item LANG
-This selects the language for the warning messages.
-@end table
-
-@cindex LANG
-@cindex LILYPONDPREFIX
-
-@node Error messages
-@section Error messages
-
-@cindex error messages
-Different error messages can appear while compiling a file:
-
-@table @emph
-@cindex warning
-
-@item Warning
- Something looks suspect. If you are requesting something out of the
-ordinary then you will understand the message, and can ignore it.
-However, warnings usually indicate that something is wrong with the
-input file.
-
-@item Error
-Something is definitely wrong. The current processing step (parsing,
-interpreting, or formatting) will be finished, but the next step will
-be skipped.
-
-@cindex error
-@cindex fatal error
-@item Fatal error
-Something is definitely wrong, and LilyPond cannot continue. This
-happens rarely. The most usual cause is misinstalled fonts.
-
-@cindex trace, Scheme
-@cindex call trace
-@cindex Scheme error
-@item Scheme error
-Errors that occur while executing Scheme code are caught by the Scheme
-interpreter. If running with the verbose option (@code{-V} or
-@code{--verbose}) then a call trace is printed of the offending
-function call.
-
-@cindex Programming error
-@item Programming error
-There was some internal inconsistency. These error messages are
-intended to help the programmers and debuggers. Usually, they can be
-ignored. Sometimes, they come in such big quantities that they obscure
-other output. In this case, file a bug-report.
-
-@item Aborted (core dumped)
-This signals a serious programming error that caused the program to
-crash. Such errors are considered critical. If you stumble on one,
-send a bugreport.
-
-
-@end table
-
-@cindex errors, message format
-If warnings and errors can
-be linked to some part of the input file, then error messages have the
-following form
-
-@example
- @var{filename}:@var{lineno}:@var{columnno}: @var{message}
- @var{offending input line}
-@end example
-
-A line-break is inserted in offending line to indicate the column
-where the error was found. For example,
-
-@example
-test.ly:2:19: error: not a duration: 5:
- @{ c'4 e'5
- g' @}
-@end example
-
-These locations are LilyPond's best guess about where the warning or
-error occured, but (by their very nature) warning and errors occur
-when something unexpected happens. If you can't see an error in the
-indicated line of your input file, try checking one or two lines
-above the indicated position.
-
-
-@node Reporting bugs
-@section Reporting bugs
-
-@cindex bugs
-@cindex reporting bugs
-
-If you have input that results in a crash or an erroneous output, then
-that is a bug. We try respond to bug-reports promptly, and fix them as
-soon as possible. Help us by sending a defective input file, so we can
-reproduce the problem. Make it small, so we can easily debug the
-problem. Don't forget to tell which version of LilyPond you use! Send
-the report to @email{bug-lilypond@@gnu.org}.
-
-When you've found a bug, have a look at our
-@uref{http://lilypond.org/doc/v2.3/bugs/,bug database} to see if it
-has already been reported. You could also try doing a few searches
-on the mailing list for the bug. Sometimes the bug will have already
-been reported and a fix or workaround is already known.
-
-Here is an example of a good bug report:
-
-@verbatim
-
-It seems that placement of accidentals is broken. In the
-following example, the accidental touches the note head.
-
-Using Mac OSX 10.3.5, fink package lilypond-unstable
-
-\version "2.3.16"
-\relative c''{
- a4 b cis d
-}
-@end verbatim
-
-@lilypond
-\version "2.3.16"
-\relative c''{
- \override Accidental #'extra-offset = #'(1.0 . 0)
- a4 b cis d
-}
-@end lilypond
-
-@node Editor support
-@section Editor support
-
-@cindex editors
-@cindex vim
-@cindex emacs
-@cindex modes, editor
-@cindex syntax coloring
-@cindex coloring, syntax
-
-There is support from different editors for LilyPond.
-
-@table @asis
-@item Emacs
-Emacs has a @file{lilypond-mode}, which provides keyword
-autocompletion, indentation, LilyPond specific parenthesis matching
-and syntax coloring, handy compile short-cuts and reading LilyPond
-manuals using Info. If @file{lilypond-mode} is not installed on your
-platform, then read the
-@ifhtml
-@uref{../../../topdocs/out-www/INSTALL.html,installation instructions}.
-@end ifhtml
-@ifnothtml
-installation instructions.
-@end ifnothtml
-
-@item VIM
-
-For @uref{http://www.vim.org,VIM}, a @file{vimrc} is supplied, along with
-syntax coloring tools. For more information, refer to the
-@ifhtml
-@uref{../../../topdocs/out-www/INSTALL.html,installation instructions}.
-@end ifhtml
-@ifnothtml
-installation instructions.
-@end ifnothtml
-
-
-@item JEdit
-
-There exists a plugin for @uref{http://www.jedit.org/,jEdit}. Refer to
-the @uref{http://lily4jedit.sourceforge.net,plugin website} for more
-information.
-
-@end table
-
-For both VIM and Emacs editors, there is also a facility to jump in
-the input file to the source of errors in the graphical output. See
-@ref{Point and click}.
-
-
-
-
-@node Invoking lilypond-latex
-@section Invoking lilypond-latex
-
-Before LilyPond 3.0, the @code{lilypond} program only generated music
-notation. Titles and page layout was done in a separate wrapper
-program. For compatibility with older files, this wrapper program has
-been retained as @code{lilypond-latex}. It uses the LilyPond program
-and La@TeX{} to create a nicely titled piece of sheet music. Use of
-this program is only necessary if the input file contains special
-La@TeX{} options or formatting codes in markup texts.
-
-The @code{lilypond-latex} wrapper is invoked from the command-line as
-follows
-@example
- @code{lilypond-latex} [@var{option}]@dots{} @var{file}@dots{}
-@end example
-
-To have @code{lilypond-latex} read from stdin, use a dash @code{-} for
-@var{file}. The program supports the following options.
-
-@cindex stdin, reading
-
-@table @code
-@item -k,--keep
- Keep the temporary directory with all output
-files. The temporary directory is created in the current directory as @code{@code{lilypond}.dir}.
-@item -h,--help
- Print usage help.
-@item -I,--include=@var{dir}
- Add @var{dir} to LilyPond's include path.
-@item -o,--output=@var{file}
- Generate output to @var{file}. The extension of @var{file} is ignored.
-@item --png
- Also generate pictures of each page, in PNG format.
-@item --preview
- Also generate a picture of the first system of the score.
-
-@cindex preview
-@cindex picture
-@cindex bitmap
-@cindex pixmap
-@cindex thumbnail
-@cindex screen shot
-
-@item -s,--set=@var{key}=@var{val}
- Add @var{key}= @var{val} to the settings, overriding those specified
-in the files. Possible keys: @code{language}, @code{latexheaders},
-@code{latexpackages}, @code{latexoptions}, @code{papersize},
-@code{linewidth}, @code{orientation},
-@code{textheight}.
-@item -v,--version
-Show version information.
-@item -V,--verbose
-Be verbose. This prints out commands as they are executed, and more
-information about the formatting process is printed.
-@item --debug
-Print even more information. This is useful when generating bug reports.
-@item -w,--warranty
-Show the warranty with which GNU LilyPond comes. (It comes with
-@strong{NO WARRANTY}!)
-@end table
-
-
-
-@subsection Additional parameters
-
-The @code{lilypond} program responds to several parameters specified
-in a @code{\layout} section of the input file. They can be overridden
-by supplying a @code{--set} command line option.
-
-@table @code
-@item language
- Specify La@TeX{} language: the @code{babel} package will be
-included. Default: unset.
-
- Read from the @code{\header} block.
-
-@item latexheaders
- Specify additional La@TeX{} headers file.
- Normally read from the @code{\header} block. Default value: empty.
-
-@item latexpackages
- Specify additional La@TeX{} 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:
-@code{geometry}.
-
-@item latexoptions
- Specify additional options for the La@TeX{}
-@code{\documentclass}. You can put any valid value here. This was
-designed to allow @code{lilypond} to produce output for double-sided
-paper, with balanced margins and page numbers on alternating sides. To
-achieve this specify @code{twoside}.
-
-@item orientation
- Set orientation. Choices are @code{portrait} or @code{landscape}. Is
-read from the @code{\layout} block, if set.
-
-@item 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{\layout}
-block.
-
-@item papersize
- The paper size (as a name, e.g. @code{a4}). It is normally read from
-the @code{\layout} block.
-
-@item fontenc
- The font encoding, should be set identical to the @code{font-encoding}
- property in the score.
-@end table
-
-
-
@include introduction.itely
@include tutorial.itely
@include examples.itely
-@include invoking.itexi
+@include invoking.itely
@include notation.itely
@include sound-output.itexi
@include changing-defaults.itely
-\version "2.3.16"
+\version "2.3.22"
% Symbols needed to print accordion music
%
% 2' = T
-\version "2.3.16"
+\version "2.3.22"
chordmodifiers = #default-chord-modifier-list
-\version "2.3.16"
+\version "2.3.22"
%% < 1.8 compatibility switch
#(ly:set-option 'old-relative)
pitchnames = \pitchnamesDeutsch
-\version "2.3.16"
+\version "2.3.22"
#(ly:parser-set-note-names parser pitchnames)
-\version "2.3.16"
+\version "2.3.22"
drumPitchNames =
#'((acousticbassdrum . acousticbassdrum)
-\version "2.3.16"
+\version "2.3.22"
%
% declare the standard dynamic identifiers.
pitchnames = \pitchnamesEnglish
-\version "2.3.16"
+\version "2.3.22"
#(ly:parser-set-note-names parser pitchnames)
-\version "2.3.16"
+\version "2.3.22"
\context {
\name Global
pitchnames = \pitchnamesEspanol
-\version "2.3.16"
+\version "2.3.22"
#(ly:parser-set-note-names parser pitchnames)
-\version "2.3.16"
+\version "2.3.22"
%
% Running LilyPond on this file generates the documentation
-\version "2.3.16"
+\version "2.3.22"
%
% Running LilyPond on this file generates the short interface doc
-\version "2.3.16"
+\version "2.3.22"
startGraceMusic = {
-\version "2.3.16"
+\version "2.3.22"
%%%%%%%%
%%%%%%%% shortcuts common for all styles of gregorian chant notation
#(define-public midi-debug #f)
-\version "2.3.16"
+\version "2.3.22"
\include "declarations-init.ly"
pitchnames = \pitchnamesItaliano
-\version "2.3.16"
+\version "2.3.22"
#(ly:parser-set-note-names parser pitchnames)
-\version "2.3.16"
+\version "2.3.22"
\midi {
\tempo 4=60
\include "performer-init.ly"
-\version "2.3.16"
+\version "2.3.22"
applymusic = #(def-music-function (location func music) (procedure? ly:music?)
-\version "2.3.16"
+\version "2.3.22"
%{
common dutch names for notes. es means flat, is means sharp
pitchnames =\pitchnamesNorsk
-\version "2.3.16"
+\version "2.3.22"
#(ly:parser-set-note-names parser pitchnames)
-\version "2.3.16"
+\version "2.3.22"
\paper {
-\version "2.3.16"
+\version "2.3.22"
-\version "2.3.16"
+\version "2.3.22"
%
% setup for Request->Element conversion. Guru-only
pitchnames = \pitchnamesPortuguese
-\version "2.3.16"
+\version "2.3.22"
#(ly:parser-set-note-names parser pitchnames)
% property-init.ly
-\version "2.3.17"
+\version "2.3.22"
stemUp = \override Stem #'direction = #1
stemDown = \override Stem #'direction = #-1
-\version "2.3.16"
+\version "2.3.22"
major = #`(
-\version "2.3.16"
+\version "2.3.22"
% code char abbreviations
-\version "2.3.16"
+\version "2.3.22"
startGroup = #(make-span-event 'NoteGroupingEvent START)
stopGroup = #(make-span-event 'NoteGroupingEvent STOP)
pitchnames = \pitchnamesSuomi
-\version "2.3.16"
+\version "2.3.22"
#(ly:parser-set-note-names parser pitchnames)
)
pitchnames = \pitchnamesSvenska
-\version "2.3.16"
+\version "2.3.22"
#(ly:parser-set-note-names parser pitchnames)
-\version "2.3.16" %hier stond 2.1.36, mocht ik dat wel veranderen?
+\version "2.3.22" %hier stond 2.1.36, mocht ik dat wel veranderen?
%{