NAME = documentation
LANGS = $(shell $(PYTHON) $(top-src-dir)/python/langdefs.py)
-SUBDIRS=user bibliography pictures topdocs misc po $(LANGS)
+SUBDIRS=devel user bibliography pictures topdocs misc po $(LANGS)
STEPMAKE_TEMPLATES=documentation texinfo tex
LOCALSTEPMAKE_TEMPLATES=lilypond ly
LILYPOND_BOOK_FLAGS=--extra-options '-e "(ly:set-option (quote internal-type-checking) \#t)"'
include $(depth)/make/stepmake.make
-HTML_PAGE_NAMES= index devel translations
+HTML_PAGE_NAMES= index translations
OUT_HTML_FILES= $(HTML_PAGE_NAMES:%=$(outdir)/%.html)
OUT_CSS_FILES= $(CSS_FILES:%.css=$(outdir)/%.css)
<tr>
<td valign="baseline" class="left-column">
<ul>
- <li><a class="title" href="devel.html">Resourcen für Entwickler</a>
+ <li><a class="title" href="devel/index.html">Resourcen für Entwickler</a>
<br>(Dokumentation für Entwickler und Mitwirkende.)</li>
</ul>
</td><td class="right-column">
{allowing-fingerings-to-be-printed-inside-the-staff.ly}
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-{avoiding-collisions-of-chord-fingering-with-beams.ly}
+{avoiding-collisions-with-chord-fingerings.ly}
@seealso
Notationsreferenz:
}
\addlyrics { O \markup { \concat{ Ph \char ##x0153 be! } } }
}
-\markup { "Copyright 2008" \char ##x00A9 }
+\markup { "Copyright 2008--2009" \char ##x00A9 }
@end lilypond
Um das Copyright-Zeichen zu notieren, kann folgender Code eingesetzt werden:
@author Das LilyPond-Entwicklerteam
-Copyright @copyright{} 1999--2008 bei den Autoren
+Copyright @copyright{} 1999--2009 bei den Autoren
@emph{The translation of the following copyright notice is provided
for courtesy to non-English speakers, but only the notice in English
@end titlepage
@copying
-Copyright @copyright{} 1999--2008 bei den Autoren
+Copyright @copyright{} 1999--2009 bei den Autoren
@emph{The translation of the following copyright notice is provided
for courtesy to non-English speakers, but only the notice in English
@ifnottex
Diese Datei dokumentiert die Erlernung des Programmes GNU LilyPond.
-Copyright @copyright{} 1999--2008 bei den Autoren
+Copyright @copyright{} 1999--2009 bei den Autoren
@emph{The translation of the following copyright notice is provided
for courtesy to non-English speakers, but only the notice in English
@author Das LilyPond-Entwicklerteam
-Copyright @copyright{} 1999--2008 bei den Autoren
+Copyright @copyright{} 1999--2009 bei den Autoren
@emph{The translation of the following copyright notice is provided
for courtesy to non-English speakers, but only the notice in English
@end titlepage
@copying
-Copyright @copyright{} 1999--2008 bei den Autoren
+Copyright @copyright{} 1999--2009 bei den Autoren
@emph{The translation of the following copyright notice is provided
for courtesy to non-English speakers, but only the notice in English
@ifnottex
Diese Datei dokumentiert die Programmbenutzung von GNU LilyPond.
-Copyright 1999--2008 bei den Autoren
+Copyright 1999--2009 bei den Autoren
@emph{The translation of the following copyright notice is provided
for courtesy to non-English speakers, but only the notice in English
@titlefont{Benutzerhandbuch}
@author Das LilyPond-Entwicklerteam
-Copyright @copyright{} 1999--2008 bei den Autoren
+Copyright @copyright{} 1999--2009 bei den Autoren
@emph{The translation of the following copyright notice is provided
for courtesy to non-English speakers, but only the notice in English
@end titlepage
@copying
-Copyright @copyright{} 1999--2008 bei den Autoren
+Copyright @copyright{} 1999--2009 bei den Autoren
@emph{The translation of the following copyright notice is provided
for courtesy to non-English speakers, but only the notice in English
@ifnottex
Diese Datei dokumentiert GNU LilyPond.
-Copyright 1999--2008 bei den Autoren.
+Copyright 1999--2009 bei den Autoren.
@emph{The translation of the following copyright notice is provided
for courtesy to non-English speakers, but only the notice in English
+++ /dev/null
-<html>
-<!--
- Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
-
- When revising a translation, copy the HEAD committish of the
- version that you are working on. See TRANSLATION for details.
-!-->
- <head>
- <title>LilyPond @TOPLEVEL_VERSION@ Developers Resources</title>
- <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
- <meta name="aesop" content="links">
- <meta name="description"
- content="Top-level index to developers documentation for
- LilyPond @TOPLEVEL_VERSION@">
- </head>
-
- <body>
-
- <div class="header">
- <h1>LilyPond developers resources</h1>
- </div>
-
- <div class="subheader">
- <p>
- <strong>Version @TOPLEVEL_VERSION@</strong>
- <br>
- <strong>@DATE@</strong>
- </p>
- </div>
-
- <table id="navigation">
- <tbody>
- <tr>
- <td class="left-column">
- <ul>
- <li><a class="title"
- href="../input/regression/collated-files.html">Regression
- tests</a> (~ 5 Mb, in <a class="title"
- href="../input/regression/collated-files.pdf">PDF</a>)
- <br>(general tests)</li>
- <li><a class="title"
- href="../input/regression/musicxml/collated-files.html">MusicXML regression
- tests</a> (in <a class="title"
- href="../input/regression/musicxml/collated-files.pdf">PDF</a>)
- <br>(musicxml2ly tests)</li>
- </ul></td>
- <td class="right-column">
- <ul>
- <li><a class="title" href="http://lilypond.org/test">Regression tests results</a>
- <br>(for comparison between releases)</li>
- <li><a class="title" href="bibliography/index.html">Bibliography</a>
- <br>(on background information)</li>
- </ul></td>
- </tr>
- <tr>
- <td valign="baseline" class="left-column">
- <ul>
- <li><a class="title" href="http://lilypond.org/web/devel">lilypond.org development page</a>
- <br>(for all contributors)</li>
- <li><a class="title" href="http://git.sv.gnu.org/gitweb/?p=lilypond.git">lilypond.git repository</a>
- <br>(official sources)</li>
- <li><a class="title" href="http://git.sv.gnu.org/gitweb/?p=lilypond.git;a=blob_plain;f=README;hb=gub">GUB Readme</a>
- <br>(about Grand Unified Binaries packages)</li>
- </ul>
- </td><td class="right-column">
- <ul>
- <li><a class="title" href="http://git.sv.gnu.org/gitweb/?p=lilypond.git;a=blob_plain;f=Documentation%2Fuser%2FREADME.txt;hb=master">Documentation Readme</a>
- <br>(for documentation editors)</li>
- <li><a class="title" href="http://git.sv.gnu.org/gitweb/?p=lilypond.git;a=blob_plain;f=README;hb=web">lilypond.org Readme</a>
-and <a class="title" href="http://git.sv.gnu.org/gitweb/?p=lilypond.git;a=blob_plain;f=TRANSLATION;hb=web">Translation</a>
-<br>(how to translate and build lilypond.org website)</li>
- <li>
- <a class="title" href="http://git.sv.gnu.org/gitweb/?p=lilypond.git;a=blob_plain;f=Documentation%2FTRANSLATION;hb=lilypond%2Ftranslation">Documentation translation</a>
- <br>(how to translate documentation)</li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p><a href="index.html">Go back</a> to the Documentation index.</a></p>
-
-</body>
-</html>
--- /dev/null
+depth = ../..
+
+STEPMAKE_TEMPLATES = documentation tex texinfo topdocs
+LOCALSTEPMAKE_TEMPLATES = ly
+
+include $(depth)/make/stepmake.make
+
+HTML_PAGE_NAMES = index
+OUT_HTML_FILES = $(HTML_PAGE_NAMES:%=$(outdir)/%.html)
+
+
+MASTER_TEXI_FILES = contrib-guide.texi
+PDF_FILES = $(MASTER_TEXI_FILES:%.texi=$(outdir)/%.pdf)
+HTML_FILES = $(MASTER_TEXI_FILES:%.texi=$(outdir)/%/index.html) \
+ $(MASTER_TEXI_FILES:%.texi=$(outdir)/%-big-page.html)
+
+default: local-doc
+
+local-WWW-1: $(PDF_FILES)
+
+local-WWW-2: $(HTML_FILES) $(OUT_HTML_FILES)
+
+$(PDF_FILES) $(HTML_FILES): $(ITEXI_FILES)
--- /dev/null
+@c -*- coding: us-ascii; mode: texinfo; -*-
+@node Compiling
+@chapter Compiling
+
+@menu
+* move AU 1 here::
+@end menu
+
+
+@node move AU 1 here
+@section move AU 1 here
+
+
+
--- /dev/null
+\input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
+@ignore
+ Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
+
+ When revising a translation, copy the HEAD committish of the
+ version that you are working on. See TRANSLATION for details.
+@end ignore
+@setfilename contrib-guide.info
+@settitle GNU LilyPond Contributor's Guide
+@documentencoding UTF-8
+@documentlanguage en
+
+@include macros.itexi
+
+@afourpaper
+
+@c Keep this here, since it pertains to the direntry below.
+@ignore
+Distributions will want to install lilypond.info in postinstall, doing:
+
+ install-info --info-dir=/usr/share/info out[-www]/lilypond.info
+
+ * Prepend GNU for dir, must be unique.
+
+ * Do not list the `lilypond' node at toplevel, so that `info lilypond'
+ goes to Top.
+
+ * List all commands in direntry.
+
+@c * lilypond: (lilypond/lilypond)Running LilyPond. Invoking the
+@c LilyPond program.
+@end ignore
+
+
+@ifnottex
+@node Top
+@top GNU LilyPond --- Contributor's Guide
+@chapheading The music typesetter
+@c HJJ: Info needs `@top', which is a synonym for `@unnumbered' in TeX.
+@end ifnottex
+
+
+@ifhtml
+@ifclear bigpage
+This document is also available as a
+@uref{source/Documentation/user/lilypond.pdf,PDF} and as
+@uref{source/Documentation/user/lilypond-big-page.html,one big page}.
+@end ifclear
+@ifset bigpage
+This document is also available as a
+@uref{source/Documentation/user/lilypond.pdf,PDF} and as a
+@uref{source/Documentation/user/lilypond/index.html,HTML indexed multiple pages}.
+@end ifset
+@end ifhtml
+
+
+@finalout
+
+@titlepage
+@title LilyPond
+@subtitle The music typesetter
+@titlefont{Contributor's Guide}
+@author The LilyPond development team
+
+Copyright @copyright{} 1999--2008 by the authors
+
+@quotation
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1
+or any later version published by the Free Software Foundation;
+with no Invariant Sections.
+A copy of the license is included in the section entitled ``GNU
+Free Documentation License''.
+@end quotation
+
+@vskip 20pt
+
+For LilyPond version
+@end titlepage
+
+@copying
+Copyright @copyright{} 1999--2008 by the authors
+
+@quotation
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1
+or any later version published by the Free Software Foundation;
+with no Invariant Sections.
+A copy of the license is included in the section entitled ``GNU
+Free Documentation License''.
+@end quotation
+@end copying
+
+@ifnottex
+This file documents GNU LilyPond.
+
+Copyright 1999--2008 by the authors
+
+@quotation
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1
+or any later version published by the Free Software Foundation;
+with no Invariant Sections.
+A copy of the license is included in the section entitled ``GNU
+Free Documentation License''.
+@end quotation
+@end ifnottex
+
+@ifnottex
+For more information about how this fits with the other
+
+@cindex web site
+@cindex URL
+
+More information can be found at
+@uref{http://@/www@/.lilypond@/.org/}. The website contains on-line copies
+of this and other documentation.
+
+@menu
+* Starting with git::
+* Compiling::
+* Documentation work::
+* Website work::
+* LSR work::
+* Issues::
+* Programming work::
+* Release work::
+@end menu
+@end ifnottex
+
+@contents
+
+@include git-starting.itexi
+@include compiling.itexi
+@include doc-work.itexi
+@include website-work.itexi
+@include lsr-work.itexi
+@include issues.itexi
+@include programming-work.itexi
+@include release-work.itexi
+
+@bye
+
--- /dev/null
+@c -*- coding: us-ascii; mode: texinfo; -*-
+@node Documentation work
+@chapter Documentation work
+
+@menu
+* Introduction to documentation work::
+* Texinfo crash course::
+* Documentation policy::
+* Tips for writing docs::
+* Updating docs with convert-ly::
+* Translating the documentation::
+@end menu
+
+
+@node Introduction to documentation work
+@section Introduction to documentation work
+
+Our documentation tries to adhere to the @ref{Documentation
+policy} as strictly as possible. One policy in particular is
+often questioned by potential contributors: we do not repeat
+material in the Notation Reference, and instead provide links to
+the @qq{definitive} presentation of that information.
+
+Some people point out, with good reason, that this makes the
+documentation harder to read. If we repeated certain information
+in relevant places, readers would be less likely to miss that
+information.
+
+That reasoning is sound, but we have two counter-arguments.
+First, the Notation Reference -- one of @emph{five} manuals for
+users to read -- is already over 500 pages long. If we repeated
+material, we could easily exceed 1000 pages! Second, and much
+more importantly, LilyPond is an evolving project. New features
+are added, bugs are fixed, and bugs are discovered and documented.
+If features are discussed in multiple places, the documentation
+team must find every instance. Since the manual is so large, it
+is impossible for one person to have the location of every piece
+of information memorized, so any attempt to update the
+documentation will invariably omit a few places. This second
+concern is not at all theoretical; the documentation used to be
+plagued with inconsistent information.
+
+If the documentation were targeted for a specific version -- say,
+LilyPond 2.10.5 -- and we had unlimited resources to spend on
+documentation, then we could avoid this second problem. But since
+LilyPond evolves (and that is a very good thing!), and since we
+have quite limited resources, this policy remains in place.
+
+A few other policies (such as not permitting the use of tweaks in
+the main portion of NR 1+2) may also seem counter-intuitive, but
+they also stem from attempting to find the most effective use of
+limited documentation help.
+
+
+
+@node Texinfo crash course
+@section Texinfo crash course
+
+The language is called texinfo; you can see its manual here:
+@uref{http://www.gnu.org/software/texinfo/manual/texinfo/}
+
+However, you don't need to read those docs. The most important
+thing to notice is that text is text. If you see a mistake in the
+text, you can fix it. If you want to change the order of
+something, you can cut-and-paste that stuff into a new location.
+
+@warning{Rule of thumb: follow the examples in the existing docs.
+You can learn most of what you need to know from this; if you want
+to do anything fancy, discuss it on @code{lilypond-devel} first.}
+
+
+@subsection Sectioning commands
+
+Most of the manual operates at the
+ @@node Foo
+ @@subsubsection Foo
+level. Sections are created with
+ @@node Foo
+ @@subsection Foo
+commands.
+
+* Please leave two blank lines above a @@node; this makes it easier
+ to findw sections in texinfo.
+
+* sectioning commands (@@node and @@section) must not appear inside
+ an @@ignore. Separate those commands with a space, ie @@n ode.
+
+
+
+@subsection LilyPond formatting
+
+* Use two spaces for indentation in lilypond examples. (no tabs)
+
+* All text strings should be prefaced with #. LilyPond does not
+ strictly require this, but it is helpful to get users accustomed
+ to this scheme construct. ie
+ \set Staff.instrumentName = #"cello"
+
+* All engravers should have double-quotes around them:
+ \consists "Spans_arpeggio_engraver"
+ Again, LilyPond does not strictly require this, but it is a
+ useful standard to follow.
+
+* Examples should end with a complete bar if possible.
+
+* If possible, only write one bar per line. The notes on each
+ line should be an independent line -- tweaks should occur on
+ their own line if possible.
+ Bad:
+ \override textscript #'padding = #3 c1^"hi"
+ Good:
+ \override textscript #'padding = #3
+ c1^"hi"
+
+* Most LilyPond input should be produced with:
+ @@lilypond[verbatim,quote,relative=2]
+ or
+ @@lilypond[verbatim,quote,relative=1]
+
+ If you want to use \layout@{@} or define variables, use
+ @@lilypond[verbatim,quote]
+
+ In rare cases, other options may be used (or omitted), but ask first.
+
+* Inspirational headwords are produced with
+ @@lilypondfile[quote,ragged-right,line-width=16\cm,staffsize=16]
+ @{pitches-headword.ly@}
+
+* LSR snippets are linked with
+ @@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+ @{filename.ly@}
+ excepted in Templates, where `doctitle' may be omitted.
+
+* Avoid long stretches of input code. Noone is going to read them
+ in print. Please create a smaller example. (the smaller
+ example does not need to be minimal, however)
+
+* Specify durations for at least the first note of every bar.
+
+* If possible, end with a complete bar.
+
+* Comments should go on their own line, and be placed before the
+ line(s) to which they refer.
+
+* Add extra spaces around @{ @} marks; ie
+ not: \chordmode @{c e g@}
+ but instead: \chordmode @{ c e g @}
+
+* If you only have one bar per line, omit bar checks. If you
+ put more than one bar per line (not recommended), then include
+ bar checks.
+
+* If you want to work on an example outside of the manual (for
+ easier/faster processing), use this header:
+
+\paper @{
+ #(define dump-extents #t)
+ indent = 0\mm
+ line-width = 160\mm - 2.0 * 0.4\in
+ ragged-right = ##t
+ force-assignment = #""
+ line-width = #(- line-width (* mm 3.000000))
+@}
+
+\layout @{
+@}
+
+ You may not change any of these values. If you are making an
+ example demonstrating special \paper@{@} values, contact the
+ Documentation Editor.
+
+
+@subsection Text formatting
+
+* Lines should be less than 72 characters long. (I personally
+ recommend writing with 66-char lines, but don't bother modifying
+ existing material.)
+
+* Do not use tabs.
+
+* Do not use spaces at the beginning of a line (except in @@example
+ or @@verbatim environments), and do not use more than a single
+ space between words. `makeinfo' copies the input lines verbatim
+ without removing those spaces.
+
+* Use two spaces after a period.
+
+* In examples of syntax, use @@var@{musicexpr@} for a music
+ expression.
+
+* Don't use @@rinternals@{@} in the main text. If you're tempted to
+ do so, you're probably getting too close to "talking through the
+ code". If you really want to refer to a context, use @@code@{@} in
+ the main text and @@rinternals@{@} in the @@seealso.
+
+* Variables or numbers which consist of a single character
+ (probably followed by a punctuation mark) should be tied
+ properly, either to the previous or the next word. Example:
+
+ The variable@@tie@{@}@@var@{a@} ...
+
+* To get consistent indentation in the DVI output it is better to
+ avoid the @@verbatim environment. Use the @@example environment
+ instead if possible, but without extraneous indentation. For
+ example, this
+
+ @@example
+ foo @{
+ bar
+ @}
+ @@end example
+
+ should be replaced with
+
+ @@example
+ foo @{
+ bar
+ @}
+ @@end example
+
+ where `@@example' starts the line (without leading spaces).
+
+* Do not compress the input vertically; this is, do not use
+
+ Beginning of logical unit
+ @@example
+ ...
+ @@end example
+ continuation of logical unit
+
+ but
+
+ Beginning of logical unit
+
+ @@example
+ ...
+ @@end example
+
+ @@noindent
+ continuation of logical unit
+
+ This makes it easier to avoid forgetting the `@@noindent'. Only
+ use @@noindent if the material is discussing the same material;
+ new material should simply begin without anything special on the
+ line above it.
+
+* in @@itemize use @@item on a separate line like this:
+ @@itemize
+ @@item
+ Foo
+
+ @@item
+ Bar
+
+ Do not use @@itemize @@bullet.
+
+* To get LilyPond version, use @@version@{@} (this does not work inside
+ LilyPond snippets). If you write "@@version@{@}" (enclosed with
+ quotes), or generally if @@version@{@} is not followed by a space,
+ enclose it with
+
+ @@w@{ ... @}
+
+ e.g.
+
+ @@w@{"@@version@{@}"@}
+
+ to prevent an ugly line break in PDF output.
+
+
+@subsection Syntax survey
+
+@@c - single line comments
+ "@@c NOTE:" is a comment which should remain in the final
+ version. (gp only command ;)
+@@ignore ... @@end ignore - multi-line comment
+
+@@cindex - General index. Please add as many as you can. Don't
+ capitalize the first word.
+@@funindex - is for a \lilycommand.
+
+@@example ... @@end ignore - example text that should be set as a
+ blockquote. Any @{@} must be escaped with @@@{ @}@@
+@@itemize @@item A @@item B ... @@end itemize - for bulleted lists.
+ Do not compress vertically like this.
+
+@@code@{@} - typeset in a tt-font. Use for actual lilypond code or
+ property/context names. If the name contains a space, wrap
+ the entire thing inside @@w@{@@code@{ @}@}.
+@@notation@{@} - refers to pieces of notation, e.g.
+ "@@notation@{cres.@}". Also use to specific lyrics ("the
+ @@notation@{A - men@} is centered"). Only use once per subsection
+ per term.
+@@q@{@} - Single quotes. Used for `vague' terms.
+@@qq@{@} - Double quotes. Used for actual quotes ("he said") or for
+ introducing special input modes.
+
+@@tie@{@} - Variables or numbers which consist of a single character
+ (probably followed by a punctuation mark) should be tied
+ properly, either to the previous or the next word. Example:
+ "The letter@@tie@{@}@@q@{I@} is skipped"
+
+@@var - Use for variables.
+@@warning@{@} - produces a "Note: " box. Use for important messages.
+
+@@bs - Generates a backslash inside @@warning.
+ Any `\' used inside @@warning (and @@q or @@qq) must be written as `@@bs@{@}'
+ (texinfo would also allow \\, but this breaks with PDF output).
+
+
+
+@subsection Other text concerns
+
+* References must occur at the end of a sentence, for more
+ information see @@ref@{the texinfo manual@}. Ideally this should
+ also be the final sentence of a paragraph, but this is not
+ required. Any link in a doc section must be duplicated in the
+ @@seealso section at the bottom.
+
+* Introducing examples must be done with
+ . (ie finish the previous sentence/paragaph)
+ : (ie `in this example:')
+ , (ie `may add foo with the blah construct,')
+ The old "sentence runs directly into the example" method is not
+ allowed any more.
+
+* Abbrevs in caps, e.g., HTML, DVI, MIDI, etc.
+
+* Colon usage
+
+ 1. To introduce lists
+ 2. When beginning a quote: "So, he said,..."
+ This usage is rarer. Americans often just use a comma.
+ 3. When adding a defining example at the end of a sentence.
+
+* Non-ASCII characters which are in utf-8 should be directly used;
+ this is, don't say `Ba@@ss@{@}tuba' but `Baßtuba'. This ensures that
+ all such characters appear in all output formats.
+
+
+
+
+@node Documentation policy
+@section Documentation policy
+
+
+@subsection Books
+
+There are four parts to the documentation: the Learning Manual,
+the Notation Reference, the Program Reference, and the Music
+Glossary.
+
+* Learning Manual:
+ The LM is written in a tutorial style which introduces the most
+ important concepts, structure and syntax of the elements of a
+ LilyPond score in a carefully graded sequence of steps.
+ Explanations of all musical concepts used in the Manual can be
+ found in the Music Glossary, and readers are assumed to have no
+ prior knowledge of LilyPond. The objective is to take readers to
+ a level where the Notation Reference can be understood and
+ employed to both adapt the templates in the Appendix to their
+ needs and to begin to construct their own scores. Commonly used
+ tweaks are introduced and explained. Examples are provided
+ throughout which, while being focussed on the topic being
+ introduced, are long enough to seem real in order to retain the
+ readers' interest. Each example builds on the previous material,
+ and comments are used liberally. Every new aspect is thoroughly
+ explained before it is used.
+
+Users are encouraged to read the complete Learning Manual from
+start-to-finish.
+
+
+* Notation Reference: a (hopefully complete) description of
+ LilyPond input notation. Some material from here may be
+ duplicated in the Learning Manual (for teaching), but consider
+ the NR to be the "definitive" description of each notation
+ element, with the LM being an "extra". The goal is _not_ to
+ provide a step-by-step learning environment -- do not avoid
+ using notation that has not be introduced previously in the
+ NR (for example, use \break if appropriate). This section is
+ written in formal technical writing style.
+
+Avoid duplication. Although users are not expected to read this
+manual from start to finish, they should be familiar with the
+material in the Learning Manual (particularly ``Fundamental
+Concepts''), so do not repeat that material in each section of
+this book. Also watch out for common constructs, like ^ - _ for
+directions -- those are explained in NR 3. In NR 1, you can
+write:
+DYNAMICS may be manually placed above or below the
+staff, see @@ref@{Controlling direction and placement@}.
+
+Most tweaks should be added to LSR and not placed directly in the
+.itely file. In some cases, tweaks may be placed in the main
+text, but ask about this first.
+
+Finally, you should assume that users know what the notation
+means; explaining musical concepts happens in the Music Glossary.
+
+
+* Application Usage: information about using the program lilypond
+ with other programs (lilypond-book, operating systems, GUIs,
+ convert-ly, etc). This section is written in formal technical
+ writing style.
+
+Users are not expected to read this manual from start to finish.
+
+
+* Music Glossary: information about the music notation itself.
+ Explanations and translations about notation terms go here.
+
+Users are not expected to read this manual from start to finish.
+
+* Internals Reference: not really a documentation book, since it
+ is automagically generated from the source, but this is its
+ name.
+
+
+@subsection Section organization
+
+The order of headings inside documentation sections should be:
+
+main docs
+@@predefined
+@@endpredefined
+@@snippets
+@@seealso
+@@knownissues
+
+* You _must_ include a @@seealso. The order of items inside the
+ @@seealso section is
+
+ Music Glossary:
+ @@rglos@{foo@},
+ @@rglos@{bar@}.
+
+ Learning Manual:
+ @@rlearning@{baz@},
+ @@rlearning@{foozle@}.
+
+ Notation Reference:
+ @@ruser@{faazle@},
+ @@ruser@{boo@}.
+
+ Application Usage:
+ @@rprogram@{blah@}.
+
+ Installed Files:
+ @@file@{path/to/dir/blahz@}.
+
+ Snippets: @@rlsr@{section@}.
+
+ Internals Reference:
+ @@rinternals@{fazzle@},
+ @@rinternals@{booar@}.
+
+ If there are multiple entries, separate them by commas
+ but do not include an `and'.
+
+ Always end with a period.
+
+ Place each link on a new line as above; this makes it much
+ easier to add or remove links. In the output, they
+ appear on a single line.
+
+ ("Snippets" is REQUIRED; the others are optional)
+
+ Any new concepts or links which require an explanation should go
+ as a full sentence(s) in the main text.
+
+ Don't insert an empty line between @@seealso and the first entry!
+ Otherwise there is excessive vertical space in the PDF output.
+
+* To create links, use @@ref@{@} if the link is within the same
+ manual.
+
+* @@predefined ... @@endpredefined is for commands in ly/*-init.ly
+ FIXME?
+
+* Do not include any real info in second-level sections (ie 1.1
+ Pitches). A first-level section may have introductory material,
+ but other than that all material goes into third-level sections
+ (ie 1.1.1 Writing Pitches).
+
+
+@subsection Checking cross-references
+
+Cross-references between different manuals are heavily used in the
+documentation, but they are not checked during compilation. However,
+if you compile the documentation, a script called check_texi_refs can
+help you with checking and fixing these cross-references; for
+information on usage, cd into a source tree where documentation has
+been built, cd into Documentation and look for check-xrefs and
+fix-xrefs targets in 'make help' output. Note that you have to find
+yourself the source files to fix cross-references in the generated
+documentation such as the Internals Reference; e.g. you can grep
+scm/ and lily/.
+
+
+@subsection General writing
+
+* Do not forget to create @@cindex entries for new sections of text.
+ Enter commands with @@funindex, i.e.
+ @@cindex pitches, writing in different octaves
+ @@funindex \relative
+ do not bother with the @@code@{@} (they are added automatically). These
+ items are added to both the command index and the unified index.
+
+ Both index commands should go in front of the actual material.
+
+ @@cindex entries should not be capitalized, ie
+ @@cindex time signature
+ is preferred. (instead of `Time signature') Only use capital
+ letters for musical terms which demand them, like D.S. al Fine.
+
+ For scheme functions, only include the final part, ie
+ @@funindex modern-voice-cautionary
+ and NOT
+ @@funindex #(set-accidental-style modern-voice-cautionary)
+
+* Preferred terms:
+ - in general, use the American spellings. The internal
+ lilypond property names use this spelling.
+ - list of specific terms:
+canceled
+simultaenous NOT concurrent
+measure: the unit of music
+bar line: the symbol delimiting a measure NOT barline
+note head NOT notehead
+chord construct NOT chord (when referring to <>)
+
+
+@subsection Technical writing style
+
+* Do not refer to LilyPond in the text. The reader knows what the
+ manual is about. If you do, capitalization is LilyPond.
+
+* If you explicitly refer to `lilypond' the program (or any other
+ command to be executed), say `@@command@{lilypond@}'.
+
+* Do not explicitly refer to the reader/user. There is no one
+ else besides the reader and the writer.
+
+* Do not use abbreviations (don't, won't, etc.). If you do, use a
+ comma after it:
+
+ blabla blabla, i.e., blabla blabla
+
+* Avoid fluff (``Notice that,'' ``as you can see,''
+ ``Currently,'').
+
+* The use of the word `illegal' is inappropriate in most cases.
+ Say `invalid' instead.
+
+
+@node Tips for writing docs
+@section Tips for writing docs
+
+In the NR, I highly recommend working on one subsection at a time.
+For each subsection,
+
+- check the mundane formatting. Are the headings (@@predefined,
+ @@seealso, etc) in the right order?
+- add any appropriate index entries.
+- check the links in the @@seealso section -- links to music
+ glossary, internal references, and other NR sections are the
+ main concern. Check for potential additions.
+- move LSR-worthy material into LSR. Add the snippet (or
+ just send it to Valentin for adding), delete the material from
+ the .itely file, and add a @@lilypondfile command.
+
+- check the examples and descriptions. Do they still work?
+ *Do not* assume that the existing text is accurate/complete;
+ some of the manual is highly out of date.
+- is the material in the @@knownissues still accurate?
+- process anything on the TODO list on the GDP web site.
+- can the examples be improved (made more explanatory), or is
+ there any missing info? (feel free to ask specific questions
+ on -user; a couple of people claimed to be interesting in being
+ "consultants" who would help with such questions)
+
+In general, I favor short text explanations with good examples --
+"an example is worth a thousand words". When I worked on the
+docs, I spent about half my time just working on those tiny
+lilypond examples. Making easily-understandable examples is much
+harder than it looks.
+
+
+TWEAKS
+
+In general, any \set or \override commands should go in the
+"select snippets" section, which means that they should go in LSR
+and not the .itely file. For some cases, the command obviously
+belongs in the "main text" (ie not inside @@predefined or @@seealso
+or whatever) -- instrument names are a good example of this.
+ \set Staff.instrumentName = #"foo"
+On the other side of this,
+ \override Score.Hairpin #'after-line-breaking = ##t
+clearly belongs in LSR.
+
+I'm quite willing to discuss specific cases if you think that a
+tweaks needs to be in the main text. But items that can go into
+LSR are easier to maintain, so I'd like to move as much as
+possible into there.
+
+
+It would be "nice" if you spent a lot of time crafting nice tweaks
+for users... but my recommendation is *not* to do this. There's a
+lot of doc work to do without adding examples of tweaks. Tweak
+examples are trivial to add later -- they could be made by normal
+users, or by you after GDP is over.
+
+Basically, it's not something that needs to be done while I'm
+around. Remember that I'm gone in August at the latest; there's a
+*lot* of doc work that should be done before then. I strongly
+recommend that you save all the tweaks until later.
+
+
+FINAL
+
+- when you think you're finished, let me know. I'll spend a few
+ minutes and send you a list of mistakes to fix.
+ (there's a *lot* of details to cover; we'll probably spend a
+ week going back and forth like this. See earlier warning about
+ hating me by the time you're done with a doc section :)
+- I'll ask people on -user to review the Snippet list at this
+ time; correcting things on the Snippet list is much easier than
+ getting comments on the integrated snippets.
+- when we're both satisfied with the section, we'll invite
+ comments from -user. Judging from my experience with Pitches,
+ it will take between three and five weeks to keep on revising
+ the "final" version.
+
+I personally found it quite frustrating to still be fixing
+problems in a doc section which I thought was "perfect" a whole
+bloody *month* ago. Don't get me wrong; it's great that we get so
+many comments from -user. :) But just be aware that when you
+think you're finally done with a section, you're actually only
+halfway there.
+
+
+
+
+
+
+
+@node Updating docs with convert-ly
+@section Updating doc with convert-ly
+
+cd into Documentation and run
+
+@example
+find . -name '*.itely' | xargs convert-ly -e
+@end example
+
+@noindent
+(This also updates translated docs.)
+
+
+
+
+@node Translating the documentation
+@section Translating the documentation
+
+
--- /dev/null
+@c -*- coding: us-ascii; mode: texinfo; -*-
+@node Starting with git
+@chapter Starting with git
+
+@menu
+* Getting the source code::
+* Updating the source code::
+* Sharing your changes::
+* Other interesting Git commands::
+* Git on Windows::
+@end menu
+
+
+@node Getting the source code
+@section Getting the source code
+
+The source code is kept in a git respository.
+
+@warning{These instructions assume that you are using the
+command-line version of git 1.5 or higher.}
+
+
+@menu
+* Main source code::
+* Website source code::
+* Documentation translations source code::
+* Other branches::
+* Git user configuration::
+@end menu
+
+@node Main source code
+@subsection Main source code
+
+To get the main source code and documentation,
+
+FIXME: test this!!!
+
+@example
+mkdir lilypond; cd lilypond
+git init-db
+git remote add -f -t master -m master origin git://git.sv.gnu.org/lilypond.git/
+git checkout -b master origin/master
+@end example
+
+
+@node Website source code
+@subsection Website source code
+
+To get the website (including translations),
+
+@example
+mkdir lilyweb ; cd lilyweb
+git init-db
+git remote add -f -t web -m web origin git://git.sv.gnu.org/lilypond.git/
+git checkout -b web origin/web
+@end example
+
+
+@node Documentation translations source code
+@subsection Documentation translations source code
+
+To translate the documentation (@emph{not} the website),
+
+FIXME: change
+
+@example
+mkdir lilytranslate ; cd lilytranslate
+git init-db
+git remote add -f -t web -m web origin git://git.sv.gnu.org/lilypond.git/
+git checkout -b web origin/web
+@end example
+
+
+@menu
+* Other branches::
+* Git user configuration::
+@end menu
+
+@node Other branches
+@subsection Other branches
+
+Most contributors will never need to touch the other branches. If
+you wish to do so, you will need more familiarity with git.
+
+@itemize
+
+@item @code{gub}:
+This stores the Grand Unified Binary, our cross-platform building
+tool.
+
+@example
+FIXME: insert new gub addy
+@end example
+
+@item @code{dev/XYZ}:
+These branches are for individual developers. They store code
+which is not yet stable enough to be added to the @code{master}
+branch.
+
+@item @code{stable/XYZ}:
+The branches are kept for archival reasons.
+
+@end itemize
+
+
+@node Git user configuration
+@subsection Git user configuration
+
+To configure git to automatically use your name and email address
+for patches,
+
+@example
+git config --global user.name "MYNAME"
+git config --global user.email myemail@@example.net
+@end example
+
+
+@node Updating the source code
+@section Updating the source code
+
+@menu
+* Importance of updating::
+* Update command::
+* Resolving conflicts::
+* Technical notes::
+@end menu
+
+@node Importance of updating
+@subsection Importance of updating
+
+In a large project like LilyPond, contributors sometimes edit the
+same file at the same time. As long as everybody updates their
+version of the file with the most recent changes (@qq{pull}ing),
+there are generally no problems with this multiple-person editing.
+However, serious problems can arise if you do not pull before
+attempting commit.
+
+@node Update command
+@subsection Updating command
+
+Whenever you are asked to pull, it means you should update your
+local copy of the repository with the changes made by others on
+the remote @code{git.sv.gnu.org} repository:
+
+@example
+git pull origin
+@end example
+
+@node Resolving conflicts
+@subsection Resolving conflicts
+
+Occasionally an update may result in conflicts -- this happens
+when you and somebody else hae modified the same part of the same
+file and git cannot figure out how to merge the two versions
+together. When this happens, you must manually merge the two
+versions.
+
+@example
+TODO
+@end example
+
+
+@node Technical notes
+@subsection Technical notes
+
+Let's explain a bit of Git vocabulary. The @code{git pull
+origin} command is just a shortcut for this command:
+
+@example
+git pull git://git.sv.gnu.org/lilypond.git/ MY-BRANCH:origin/MY-BRANCH
+@end example
+
+A commit is a set of changes made to the sources; it also includes the
+committish of the parent commit, the name and e-mail of the author
+(the person who wrote the changes), the name and e-mail of the
+committer (the person who brings these changes into the git
+repository), and a commit message.
+
+A committish is the SHA1 checksum of a commit, a number made of 40
+hexadecimal digits, which acts as the internal unique identifier for
+this commit. To refer to a particular revision, don't use vague
+references like the (approximative) date, simply copy'n'paste the
+committish.
+
+A branch is a tree (in the mathematical or computer science sense) of
+commits, and the topmost commit of this branch is called a head.
+
+The "git fetch" command above has created a branch called origin/web
+in your local Git repository. As this branch is a copy of the remote
+branch web from git.sv.gnu.org LilyPond repository, it is
+called a `remote branch', and is meant to track the changes on the
+branch from git.sv.gnu.org: it will be updated every time you run 'git
+pull' or 'git fetch' with this branch reference as argument, e.g.
+by using .git/remotes/web remote file when running 'git fetch web'.
+
+The 'git checkout' command above has created a branch named 'web'. At
+the beginning, this branch is identical to 'origin/web', but it will
+differ as soon as you make changes, e.g. adding newly translated
+pages. Whenever you pull, you merge the changes from origin/web and
+your web branch since the last pulling. If you do not have push
+(i.e. "write") access on git.sv.gnu.org, your web branch will always
+differ from origin/web. In this case, remember that other people
+working like you on the remote web branch of
+git://git.sv.gnu.org/lilypond.git/ know nothing about your own web
+branch: this means that whenever you use a committish or make a patch,
+others expect you to take the lastest commit of origin/web branch as a
+reference.
+
+This README tries to explain most of Git commands needed for
+translating the web site. However, you are invited to read
+further documentation to make git more familiar to you; for
+instance, take a look at @uref{http://git.or.cz/gitwiki/},
+especially GitDocumentation and GitGlossary; a good alternative to
+reading the wiki is reading the first two chapters of Git User's
+Manual at
+@uref{http://www.kernel.org/pub/software/scm/git/docs/user-manual.html}
+
+
+
+
+@node Sharing your changes
+@section Sharing your changes
+
+
+@menu
+* Producing a patch::
+* Committing directly::
+@end menu
+
+@node Producing a patch
+@subsection Producing a patch
+
+Once you have finished editing your files, checked that your
+changes meet the @ref{Code style} and/or @ref{Documentation
+policy}, and checked that the entire thing compiles, you may
+
+@example
+git commit -a
+git-format-patch HEAD
+@end example
+
+Send an email to @email{lilypond-devel@@gnu.org} with the diff as
+an attachment.
+
+
+@node Committing directly
+@subsection Committing directly
+
+Most contributors do not have permission to commit directly. If
+you do, edit @file{.git/config} to contain
+
+@example
+FIXME?
+@end example
+
+You may then @code{git push}.
+
+
+@node Other interesting Git commands
+@section Other interesting Git commands
+
+The commands above don't only bring you the latest version of the
+sources, but also the full history of revisions (revisons, also
+called commits, are changes made to the sources), stored in the
+.git directory. You can browse this history with
+
+@example
+git log # only shows the logs (author, committish and commit message)
+git log -p # also shows diffs
+gitk # shows history graphically
+@end example
+
+
+
+
+@node Git on Windows
+@section Git on Windows
+
+
+
--- /dev/null
+<html>
+<!--
+ Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
+
+ When revising a translation, copy the HEAD committish of the
+ version that you are working on. See TRANSLATION for details.
+!-->
+ <head>
+ <title>LilyPond @TOPLEVEL_VERSION@ Developers Resources</title>
+ <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
+ <meta name="aesop" content="links">
+ <meta name="description"
+ content="Top-level index to developers documentation for
+ LilyPond @TOPLEVEL_VERSION@">
+ </head>
+
+ <body>
+
+ <div class="header">
+ <h1>LilyPond developers resources</h1>
+ </div>
+
+ <div class="subheader">
+ <p>
+ <strong>Version @TOPLEVEL_VERSION@</strong>
+ <br>
+ <strong>@DATE@</strong>
+ </p>
+ </div>
+
+ <table align="center">
+ <tr>
+ <td>
+ <br>
+ <a class="title" href="contrib-guide/index.html">Contributors'
+ Guide</a>
+ (in <a class="title" href="contrib-guide-big-page.html">one
+ big page</a>, in <a class="title" href="contrib-guide.pdf">PDF</a>)
+ <br>(how to participate in development)
+ </td>
+ <tr>
+ </table>
+
+ <table id="navigation">
+ <tbody>
+ <tr>
+ <td class="left-column">
+ <ul>
+ <li><a class="title"
+ href="../../input/regression/collated-files.html">Regression
+ tests</a> (~ 5 Mb, in <a class="title"
+ href="../../input/regression/collated-files.pdf">PDF</a>)
+ <br>(general tests)</li>
+ <li><a class="title"
+ href="../../input/regression/musicxml/collated-files.html">MusicXML regression
+ tests</a> (in <a class="title"
+ href="../../input/regression/musicxml/collated-files.pdf">PDF</a>)
+ <br>(musicxml2ly tests)</li>
+ </ul></td>
+ <td class="right-column">
+ <ul>
+ <li><a class="title" href="http://lilypond.org/test">Regression tests results</a>
+ <br>(for comparison between releases)</li>
+ <li><a class="title" href="../bibliography/index.html">Bibliography</a>
+ <br>(on background information)</li>
+ </ul></td>
+ </tr>
+ <tr>
+ <td valign="baseline" class="left-column">
+ <ul>
+ <li><a class="title" href="http://lilypond.org/web/devel">lilypond.org development page</a>
+ <br>(for all contributors)</li>
+ <li><a class="title" href="http://git.sv.gnu.org/gitweb/?p=lilypond.git">lilypond.git repository</a>
+ <br>(official sources)</li>
+ <li><a class="title" href="http://git.sv.gnu.org/gitweb/?p=lilypond.git;a=blob_plain;f=README;hb=gub">GUB Readme</a>
+ <br>(about Grand Unified Binaries packages)</li>
+ </ul>
+ </td><td class="right-column">
+ <ul>
+ <li><a class="title" href="http://git.sv.gnu.org/gitweb/?p=lilypond.git;a=blob_plain;f=Documentation%2Fuser%2FREADME.txt;hb=master">Documentation Readme</a>
+ <br>(for documentation editors)</li>
+ <li><a class="title" href="http://git.sv.gnu.org/gitweb/?p=lilypond.git;a=blob_plain;f=README;hb=web">lilypond.org Readme</a>
+and <a class="title" href="http://git.sv.gnu.org/gitweb/?p=lilypond.git;a=blob_plain;f=TRANSLATION;hb=web">Translation</a>
+<br>(how to translate and build lilypond.org website)</li>
+ <li>
+ <a class="title" href="http://git.sv.gnu.org/gitweb/?p=lilypond.git;a=blob_plain;f=Documentation%2FTRANSLATION;hb=lilypond%2Ftranslation">Documentation translation</a>
+ <br>(how to translate documentation)</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p><a href="../index.html">Go back</a> to the Documentation index.</a></p>
+
+</body>
+</html>
--- /dev/null
+@c -*- coding: us-ascii; mode: texinfo; -*-
+@node Issues
+@chapter Issues
+
+@menu
+* Introduction to issues::
+* Issue classification::
+* Adding issues to the tracker::
+@end menu
+
+
+@node Introduction to issues
+@section Introduction to issues
+
+First, @qq{issue} isn't just a politically-correct term for
+@qq{bug}. We use the same tracker for feature requests and code
+TODOs, so the term @qq{bug} wouldn't be accurate.
+
+Second, the classification of what counts as a bug vs. feature
+request, and the priorities assigned to bugs, are a matter of
+concern @strong{for developers only}. If you are curious about
+the classification, read on, but don't complain that your
+particular issue is higher priority or counts as a bug rather than
+a feature request.
+
+
+@node Issue classification
+@section Issue classification
+
+
+@node Adding issues to the tracker
+@section Adding issues to the tracker
+
+
+
+
+
+
--- /dev/null
+@c -*- coding: us-ascii; mode: texinfo; -*-
+@node LSR work
+@chapter LSR work
+
+@menu
+* Introduction to LSR::
+* Adding snippets::
+* Approving snippets::
+* LSR to git::
+@end menu
+
+
+@node Introduction to LSR
+@section Introduction to LSR
+
+
+@node Adding snippets
+@section Adding snippets
+
+
+@node Approving snippets
+@section Approving snippets
+
+
+@node LSR to git
+@section LSR to git
+
+
--- /dev/null
+@c -*- coding: us-ascii; mode: texinfo; -*-
+@node Programming work
+@chapter Programming work
+
+@menu
+* Introduction to programming::
+* Code style::
+@end menu
+
+
+@node Introduction to programming
+@section Introduction to programming
+
+blah blah
+
+
+@node Code style
+@section Code style
+@c email to wl@gnu.org when I get here.
+
+@menu
+@end menu
+
+@subsection Outputting errors
+
+As a general rule, you should always try to continue computations,
+even if there is some kind of error. When the program stops, it
+is often very hard for a user to pinpoint what part of the input
+causes an error. Finding the culprit is much easier if there is
+some viewable output.
+
+So functions and methods do not return errorcodes, they never
+crash, but report a programming_error and try to carry on.
+
+@subsection Languages
+
+C++ and Python are preferred. Python code should use PEP 8.
+
+@subsection Filenames
+
+Definitions of classes that are only accessed via pointers (*) or
+references (&) shall not be included as include files.
+
+@verbatim
+ filenames
+
+ ".hh" Include files
+ ".cc" Implementation files
+ ".icc" Inline definition files
+ ".tcc" non inline Template defs
+
+ in emacs:
+
+ (setq auto-mode-alist
+ (append '(("\\.make$" . makefile-mode)
+ ("\\.cc$" . c++-mode)
+ ("\\.icc$" . c++-mode)
+ ("\\.tcc$" . c++-mode)
+ ("\\.hh$" . c++-mode)
+ ("\\.pod$" . text-mode)
+ )
+ auto-mode-alist))
+@end verbatim
+
+The class Class_name is coded in @q{class-name.*}
+
+@subsection Indentation
+
+Standard GNU coding style is used. In emacs:
+
+@verbatim
+ (add-hook 'c++-mode-hook
+ '(lambda() (c-set-style "gnu")
+ ))
+@end verbatim
+
+If you like using font-lock, you can also add this to your
+@q{.emacs}:
+
+@verbatim
+ (setq font-lock-maximum-decoration t)
+ (setq c++-font-lock-keywords-3
+ (append
+ c++-font-lock-keywords-3
+ '(("\\b\\(a-zA-Z_?+_\\)\\b" 1 font-lock-variable-name-face) ("\\b\\(A-Z?+a-z_?+\\)\\b" 1 font-lock-type-face))
+ ))
+@end verbatim
+
+
+@subsection Classes and Types
+
+@verbatim
+ This_is_a_class
+@end verbatim
+
+
+@subsection Members
+
+Member variable names end with an underscore:
+
+@verbatim
+ Type Class::member_
+@end verbatim
+
+
+@subsection Macros
+
+Macro names should be written in uppercase completely.
+
+
+@subsection Broken code
+
+Do not write broken code. This includes hardwired dependencies,
+hardwired constants, slow algorithms and obvious limitations. If
+you can not avoid it, mark the place clearly, and add a comment
+explaining shortcomings of the code.
+
+We reject broken-in-advance on principle.
+
+@subsection Naming
+
+
+@subsection Messages
+
+Messages need to follow Localization.
+
+
+@subsection Localization
+
+This document provides some guidelines for programmers write user
+messages. To help translations, user messages must be
+uniformized. Follow these rules when coding for LilyPond.
+Hopefully, this can be replaced by general GNU guidelines in the
+future. Even better would be to have an English (en_BR, en_AM)
+helping programmers writing consistent messages for all GNU
+programs.
+
+Not-preferred messages are marked with `+'. By convention,
+ungrammatical examples are marked with `*'.
+
+@itemize
+
+@item
+Every message to the user should be localised (and thus be marked
+for localisation). This includes warning and error messages.
+
+@item
+Don't localise/gettextify:
+
+@itemize
+@item
+`programming_error ()'s
+
+@item
+`programming_warning ()'s
+
+@item
+debug strings
+
+@item
+output strings (PostScript, TeX, etc.)
+
+@end itemize
+
+@item
+Messages to be localised must be encapsulated in `_ (STRING)' or
+`_f (FORMAT, ...)'. Eg:
+
+@verbatim
+ warning (_ ("need music in a score"));
+ error (_f ("cannot open file: `%s'", file_name));
+@end verbatim
+
+In some rare cases you may need to call `gettext ()' by hand. This
+happens when you pre-define (a list of) string constants for later
+use. In that case, you'll probably also need to mark these string
+constants for translation, using `_i (STRING)'. The `_i' macro is
+a no-op, it only serves as a marker for `xgettext'.
+
+@verbatim
+ char const* messages[] = {
+ _i ("enable debugging output"),
+ _i ("ignore lilypond version"),
+ 0
+ };
+
+
+ void
+ foo (int i)
+ {
+ puts (gettext (messages i));
+ }
+@end verbatim
+
+See also `flower/getopt-long.cc' and `lily/main.cc'.
+
+@item
+Do not use leading or trailing whitespace in messages. If you need
+whitespace to be printed, prepend or append it to the translated
+message
+
+@verbatim
+ message (Calculating line breaks... + " ");
+@end verbatim
+
+@item
+Error or warning messages displayed with a file name and line
+number never start with a capital, eg,
+
+@verbatim
+ foo.ly: 12: not a duration: 3
+@end verbatim
+
+Messages containing a final verb, or a gerund (`-ing'-form) always
+start with a capital. Other (simpler) messages start with a
+lowercase letter
+
+@verbatim
+ Processing foo.ly...
+ `foo': not declared.
+ Not declaring: `foo'.
+@end verbatim
+
+@item
+Avoid abbreviations or short forms, use `cannot' and `do not'
+rather than `can't' or `don't'
+To avoid having a number of different messages for the same
+situation, we'll use quoting like this `"message: `%s'"' for all
+strings. Numbers are not quoted:
+
+@verbatim
+ _f ("cannot open file: `%s'", name_str)
+ _f ("cannot find character number: %d", i)
+@end verbatim
+
+@item
+Think about translation issues. In a lot of cases, it is better to
+translate a whole message. The english grammar mustn't be imposed
+on the translator. So, instead of
+
+@verbatim
+ stem at + moment.str () + does not fit in beam
+@end verbatim
+
+have
+
+@verbatim
+ _f ("stem at %s does not fit in beam", moment.str ())
+@end verbatim
+
+@item
+Split up multi-sentence messages, whenever possible. Instead of
+
+@verbatim
+ warning (_f ("out of tune! Can't find: `%s'",
+"Key_engraver"));
+ warning (_f ("cannot find font `%s', loading default",
+ font_name));
+@end verbatim
+
+rather say:
+
+@verbatim
+ warning (out of tune:;
+ warning (_f ("cannot find: `%s', "Key_engraver"));
+ warning (_f ("cannot find font: `%s', font_name));
+ warning (_f ("Loading default font"));
+@end verbatim
+
+@item
+If you must have multiple-sentence messages, use full punctuation.
+Use two spaces after end of sentence punctuation. No punctuation
+(esp. period) is used at the end of simple messages.
+
+@verbatim
+ _f ("Non-matching braces in text `%s', adding braces", text)
+ Debug output disabled. Compiled with NPRINT.
+ _f ("Huh? Not a Request: `%s'. Ignoring.", request)
+@end verbatim
+
+@item
+Do not modularise too much; a lot of words cannot be translated
+without context. It's probably safe to treat most occurences of
+words like stem, beam, crescendo as separately translatable words.
+
+@item
+When translating, it is preferable to put interesting information
+at the end of the message, rather than embedded in the middle.
+This especially applies to frequently used messages, even if this
+would mean sacrificing a bit of eloquency. This holds for original
+messages too, of course.
+
+@verbatim
+ en: cannot open: `foo.ly'
+ + nl: kan `foo.ly' niet openen (1)
+ kan niet openen: `foo.ly'* (2)
+ niet te openen: `foo.ly'* (3)
+@end verbatim
+
+
+The first nl message, although grammatically and stylistically
+correct, is not friendly for parsing by humans (even if they speak
+dutch). I guess we'd prefer something like (2) or (3).
+
+@item
+Do not run make po/po-update with GNU gettext < 0.10.35
+
+@end itemize
+
+
+
--- /dev/null
+@c -*- coding: us-ascii; mode: texinfo; -*-
+@node Release work
+@chapter Release work
+
+@menu
+* Development phases::
+* Minor release checklist::
+* Major release checklist::
+@end menu
+
+
+@node Development phases
+@section Development phases
+
+There are 2.5 states of development for LilyPond.
+
+@itemize
+
+@item @strong{Stable phase}:
+Starting from the release of a new major version @code{2.x.0}, the
+following patches @strong{MAY NOT} be merged with master:
+
+@itemize
+@item Any change to the input syntax. If a file compiled with a
+previous @code{2.x} version, then it must compile in the new
+version.
+
+@item New features with new syntax @emph{may be committed},
+although once committed that syntax cannot change during the
+remainder of the stable phase.
+
+@item Any change to the build dependencies (including programming
+libraries, documentation process programs, or python modules used
+in the buildscripts). If a contributor could compile a previous
+lilypond @code{2.x}, then he must be able to compile the new
+version.
+
+@end itemize
+
+@item @strong{Development phase}:
+Any commits are fine. Readers may be familiar with the term
+@qq{merge window} from following Linux kernel news.
+
+
+@item @strong{Release prep phase}:
+FIXME: I don't like that name.
+
+A new git branch @code{stable/2.x} is created, and a major release
+is made in two weeks.
+
+@itemize
+
+@item @code{stable/2.x branch}:
+Only translation updates and important bugfixes are allows.
+
+@item @code{master}:
+Normal @qq{stable phase} development occurs.
+
+@end itemize
+
+If we discover the need to change the syntax or build system, we
+will apply it and re-start the release prep phase.
+
+@end itemize
+
+This marks a radical change from previous practice in LilyPond.
+However, this setup is not intended to slow development -- as a
+rule of thumb, the next development phase will start within a
+month of somebody wanting to commit something which is not
+permitted during the stable phase.
+
+
+
+@node Minor release checklist
+@section Minor release checklist
+
+A @qq{minor release} means an update of @code{y} in @code{2.x.y}.
+
+email brief summary to info-lilypond
+
+
+
+@node Major release checklist
+@section Major release checklist
+
+A @qq{major release} means an update of @code{x} in @code{2.x.0}.
+
+Before release:
+
+* write release notes. note: stringent size requirements for
+ various websites, so be brief.
+
+* write preface section for manual.
+
+* submit pots for translation : send url of tarball to
+translation@@iro.umontreal.ca, mentioning lilypond-VERSION.pot
+
+* Check reg test
+
+* Check all 2ly scripts.
+
+* Run convert-ly on all files, bump parser minimum version.
+
+* Make FTP directories on lilypond.org
+
+* website:
+ - Make new table in download.html
+
+ - add to documentation list
+
+ - revise examples tour.html/howto.html
+
+ - add to front-page quick links
+
+ - change all links to the stable documentation
+
+ - doc auto redirects to v2.LATEST-STABLE
+
+News:
+
+ comp.music.research
+ comp.os.linux.announce
+
+ comp.text.tex
+ rec.music.compose
+
+Mail:
+
+ info-lilypond@@gnu.org
+
+linux-audio-announce@@lists.linuxaudio.org
+linux-audio-user@@lists.linuxaudio.org
+linux-audio-dev@@lists.linuxaudio.org
+
+ tex-music@@icking-music-archive.org
+
+ --- non-existant?
+ abcusers@@blackmill.net
+
+ rosegarden-user@@lists.sourceforge.net
+ info-gnu@@gnu.org
+ noteedit-user@@berlios.de
+
+ gmane.comp.audio.fomus.devel
+ gmane.linux.audio.users
+ gmane.linux.audio.announce
+ gmane.comp.audio.rosegarden.devel
+
+Web:
+
+ lilypond.org
+ freshmeat.net
+ linuxfr.com
+ http://www.apple.com/downloads
+ harmony-central.com (news@@harmony-central.com)
+ versiontracker.com [auto]
+ hitsquad.com [auto]
+ http://www.svgx.org
+
+
+
+
--- /dev/null
+@c -*- coding: us-ascii; mode: texinfo; -*-
+@node Website work
+@chapter Website work
+
+@menu
+* Introduction to website work::
+* Translating the website::
+@end menu
+
+
+@node Introduction to website work
+@section Introduction to website work
+
+
+
+
+@node Translating the website
+@section Translating the website
+
+
+
<td valign="baseline" class="left-column">
<ul>
<li>
- <a class="title" href="devel.html">Recursos para desarrolladores</a><br>
+ <a class="title" href="devel/index.html">Recursos para desarrolladores</a><br>
(documentos de interés para desarrolladores y colaboradores)</li>
</ul>
</td>
{allowing-fingerings-to-be-printed-inside-the-staff.ly}
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-{avoiding-collisions-of-chord-fingering-with-beams.ly}
+{avoiding-collisions-with-chord-fingerings.ly}
@seealso
}
\addlyrics { O \markup { \concat{ Ph \char ##x0153 be! } } }
}
-\markup { "Copyright 2008" \char ##x00A9 }
+\markup { "Copyright 2008--2009" \char ##x00A9 }
@end lilypond
Para escribir el símbolo de copyright en la nota de créditos, utilice:
@author El equipo de desarrollo de LilyPond
-Copyright @copyright{} 1999--2008 por los autores
+Copyright @copyright{} 1999--2009 por los autores
@emph{La traducción de la siguiente nota de copyright se ofrece como
cortesía para las personas de habla no inglesa, pero únicamente la
@end titlepage
@copying
-Copyright @copyright{} 1999--2008 por los autores
+Copyright @copyright{} 1999--2009 por los autores
@emph{La traducción de la siguiente nota de copyright se ofrece como
cortesía para las personas de habla no inglesa, pero únicamente la
@ifnottex
Este archivo es la documentación de GNU LilyPond orientada a quienes empiezan con el programa.
-Copyright @copyright{} 1999--2008 por los autores
+Copyright @copyright{} 1999--2009 por los autores
@emph{La traducción de la siguiente nota de copyright se ofrece como
cortesía para las personas de habla no inglesa, pero únicamente la
@author El equipo de desarrollo de LilyPond
-Copyright @copyright{} 1999--2008 por los autores
+Copyright @copyright{} 1999--2009 por los autores
@emph{La traducción de la siguiente nota de copyright se ofrece como
cortesía para las personas de habla no inglesa, pero únicamente la
@copying
-Copyright @copyright{} 1999--2008 por los autores
+Copyright @copyright{} 1999--2009 por los autores
@emph{La traducción de la siguiente nota de copyright se ofrece como
cortesía para las personas de habla no inglesa, pero únicamente la
@ifnottex
Este archivo es la documentación de la utilización del programa GNU LilyPond.
-Copyright 1999--2008 por los autores
+Copyright 1999--2009 por los autores
@emph{La traducción de la siguiente nota de copyright se ofrece como
cortesía para las personas de habla no inglesa, pero únicamente la
@titlefont{Manual de referencia de la notación}
@author El equipo de desarrollo de LilyPond
-Copyright @copyright{} 1999--2008 por los autores
+Copyright @copyright{} 1999--2009 por los autores
@emph{La traducción de la siguiente nota de copyright se ofrece como
cortesía para las personas de habla no inglesa, pero únicamente la
@end titlepage
@copying
-Copyright @copyright{} 1999--2008 por los autores
+Copyright @copyright{} 1999--2009 por los autores
@emph{La traducción de la siguiente nota de copyright se ofrece como
cortesía para las personas de habla no inglesa, pero únicamente la
@ifnottex
Este archivo es la documentación de GNU LilyPond.
-Copyright 1999--2008 por los autores
+Copyright 1999--2009 por los autores
@emph{La traducción de la siguiente nota de copyright se ofrece como
cortesía para las personas de habla no inglesa, pero únicamente la
<tr>
<td valign="baseline" class="left-column">
<ul>
- <li><a class="title" href="devel.html">Ressources de développement</a>
+ <li><a class="title" href="devel/index.html">Ressources de développement</a>
<br>— documentation pour les développeurs et contributeurs</li>
</ul>
</td><td class="right-column">
@snippets
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-{avoiding-collisions-of-chord-fingering-with-beams.ly}
+{avoiding-collisions-with-chord-fingerings.ly}
@seealso
@author L'équipe de développement de LilyPond
-Copyright @copyright{} 1999--2008 par les auteurs
+Copyright @copyright{} 1999--2009 par les auteurs
@emph{The translation of the following copyright notice is provided
for courtesy to non-English speakers, but only the notice in English
@end titlepage
@copying
-Copyright @copyright{} 1999--2008 par les auteurs
+Copyright @copyright{} 1999--2009 par les auteurs
@emph{The translation of the following copyright notice is provided
for courtesy to non-English speakers, but only the notice in English
@ifnottex
Ce fichier documente GNU LilyPond.
-Copyright @copyright{} 1999--2008 par les auteurs
+Copyright @copyright{} 1999--2009 par les auteurs
@emph{The translation of the following copyright notice is provided
for courtesy to non-English speakers, but only the notice in English
@author L'équipe de développement de LilyPond
-Copyright @copyright{} 1999--2008 par les auteurs
+Copyright @copyright{} 1999--2009 par les auteurs
@emph{The translation of the following copyright notice is provided
for courtesy to non-English speakers, but only the notice in English
@ifnottex
Ce fichier documente GNU LilyPond.
-Copyright @copyright{} 1999--2008 par les auteurs
+Copyright @copyright{} 1999--2009 par les auteurs
@emph{The translation of the following copyright notice is provided
for courtesy to non-English speakers, but only the notice in English
@author L'équipe de développement de LilyPond
-Copyright @copyright{} 1999--2008 par les auteurs
+Copyright @copyright{} 1999--2009 par les auteurs
@emph{The translation of the following copyright notice is provided
for courtesy to non-English speakers, but only the notice in English
@ifnottex
Ce fichier documente GNU LilyPond.
-Copyright @copyright{} 1999--2008 par les auteurs
+Copyright @copyright{} 1999--2009 par les auteurs
@emph{The translation of the following copyright notice is provided
for courtesy to non-English speakers, but only the notice in English
<tr>
<td valign="baseline" class="left-column">
<ul>
- <li><a class="title" href="devel.html">Developers resources</a>
+ <li><a class="title" href="devel/index.html">Developers resources</a>
<br>(documentation for developers and contributors)</li>
</ul>
</td><td class="right-column">
include $(depth)/make/stepmake.make
-MAKEINFO_FLAGS += -I $(top-src-dir)/Documentation/user
-TEXI2HTML_FLAGS += -I $(top-src-dir)/Documentation/user
-
local-WWW-1: $(OUT_TEXI_FILES)
.SECONDARY:
-
{allowing-fingerings-to-be-printed-inside-the-staff.ly}
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-{avoiding-collisions-of-chord-fingering-with-beams.ly}
+{avoiding-collisions-with-chord-fingerings.ly}
@seealso
}
\addlyrics { O \markup { \concat{ Ph \char ##x0153 be! } } }
}
-\markup { "Copyright 2008" \char ##x00A9 }
+\markup { "Copyright 2008--2009" \char ##x00A9 }
@end lilypond
To enter the copyright sign in the copyright notice use:
@itemize
@item Pitches
-@item Quarter tones (See @ref{Accidentals}. Rendering needs a
+@item Microtones (See @ref{Accidentals}. Rendering needs a
player that supports pitch bend.)
@item Chords entered as chord names
@item Rhythms entered as note durations, including tuplets
@item Crescendi, decrescendi over a single note
@item Tremolos entered with @q{@code{:}[@var{number}]}
@item Figured bass
+@item Microtonal chords
@end itemize
@author The LilyPond development team
-Copyright @copyright{} 1999--2008 by the authors
+Copyright @copyright{} 1999--2009 by the authors
@quotation
Permission is granted to copy, distribute and/or modify this document
@end titlepage
@copying
-Copyright @copyright{} 1999--2008 by the authors
+Copyright @copyright{} 1999--2009 by the authors
@quotation
Permission is granted to copy, distribute and/or modify this document
@ifnottex
This file documents GNU LilyPond for beginners.
-Copyright 1999--2008 by the authors
+Copyright 1999--2009 by the authors
@quotation
Permission is granted to copy, distribute and/or modify this document
@author The LilyPond development team
-Copyright @copyright{} 1999--2008 by the authors
+Copyright @copyright{} 1999--2009 by the authors
@quotation
Permission is granted to copy, distribute and/or modify this document
@end titlepage
@copying
-Copyright @copyright{} 1999--2008 by the authors
+Copyright @copyright{} 1999--2009 by the authors
@quotation
Permission is granted to copy, distribute and/or modify this document
@ifnottex
This file documents GNU LilyPond program usage.
-Copyright 1999--2008 by the authors
+Copyright 1999--2009 by the authors
@quotation
Permission is granted to copy, distribute and/or modify this document
@titlefont{Notation Reference}
@author The LilyPond development team
-Copyright @copyright{} 1999--2008 by the authors
+Copyright @copyright{} 1999--2009 by the authors
@quotation
Permission is granted to copy, distribute and/or modify this document
@end titlepage
@copying
-Copyright @copyright{} 1999--2008 by the authors
+Copyright @copyright{} 1999--2009 by the authors
@quotation
Permission is granted to copy, distribute and/or modify this document
@ifnottex
This file documents GNU LilyPond.
-Copyright 1999--2008 by the authors
+Copyright 1999--2009 by the authors
@quotation
Permission is granted to copy, distribute and/or modify this document
TOPDOC_TXT_FILES = $(addprefix $(top-build-dir)/Documentation/topdocs/$(outdir)/,$(addsuffix .txt,$(TOPDOC_FILES)))
IN_FILES := $(call src-wildcard,*.in)
-EXTRA_DIST_FILES = VERSION .gitignore SConstruct lilypond-texi2html.init \
+EXTRA_DIST_FILES = VERSION .gitignore lilypond-texi2html.init \
$(README_FILES) $(SCRIPTS) $(IN_FILES)
INSTALLATION_DIR=$(local_lilypond_datadir)
INSTALLATION_FILES=$(config_make) VERSION
WWW-post:
# need UTF8 setting in case this is hosted on a website.
+ $(MAKE) -C scripts/build out=
echo -e 'AddDefaultCharset utf-8\nAddCharset utf-8 .html\nAddCharset utf-8 .en\nAddCharset utf-8 .nl\nAddCharset utf-8 .txt\n' > $(top-build-dir)/.htaccess
$(buildscript-dir)/mutopia-index -o $(outdir)/examples.html input/
find $(outdir) -name '*-root' | xargs rm -rf
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 1999--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; (c) 1999--2009 Jan Nieuwenhuizen <janneke@gnu.org>
;;;;
;;;; Changed 2001--2003 Heikki Junes <heikki.junes@hut.fi>
;;;; * Add PS-compilation, PS-viewing and MIDI-play (29th Aug 2001)
source file of the Flower Library
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "cpu-timer.hh"
source file of the Flower Library
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the Flower Library
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
/*
process command line, GNU style.
- this is Copyleft (c) 1996--2008 Han-Wen Nienhuys, <hanwen@xs4all.nl>
+ this is Copyleft (c) 1996--2009 Han-Wen Nienhuys, <hanwen@xs4all.nl>
*/
#include "getopt-long.hh"
source file of the Flower Library
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef ARITHMETIC_OPERATOR_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef AXES_HH
/*
flowerlib
- (c) 1996--2008 Han-Wen Nienhuys
+ (c) 1996--2009 Han-Wen Nienhuys
*/
#ifndef COMPARE_HH
#define COMPARE_HH
source file of the Flower Library
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef CPU_TIMER_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef DIRECTION_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef DRUL_ARRAY_HH
source file of the Flower Library
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef FILE_NAME_HH
source file of the Flower Library
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef FILE_PATH_HH
/*
flower-proto.hh -- typenames in flowerlib
- (c) 1996--2008 Han-Wen Nienhuys
+ (c) 1996--2009 Han-Wen Nienhuys
*/
#ifndef FLOWER_PROTO_HH
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef GUILE_COMPATIBILITY_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef INTERNATIONAL_HH
/*
interval.hh -- part of flowerlib
- (c) 1996--2008 Han-Wen Nienhuys
+ (c) 1996--2009 Han-Wen Nienhuys
*/
#ifndef INTERVAL_HH
source file of the Flower Library
- (c) 1996--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1996--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef INTERVAL_TCC
source file of the flowerlib
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef LIBC_EXTENSION_HH
source file of the Flower Library
- (c) 2006--2008 Joe Neeman <joeneeman@gmail.com>
+ (c) 2006--2009 Joe Neeman <joeneeman@gmail.com>
*/
#ifndef MATRIX_HH
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef MEMORY_STREAM_HH
/*
offset.hh -- part of GNU LilyPond
- (c) 1996--2008 Han-Wen Nienhuys
+ (c) 1996--2009 Han-Wen Nienhuys
*/
#ifndef OFFSET_HH
source file of the Flower Library
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef PARRAY_HH
/*
* poly.h -- routines for manipulation of polynomials in one var
*
- * (c) 1993--2008 Han-Wen Nienhuys
+ * (c) 1993--2009 Han-Wen Nienhuys
*/
#ifndef POLY_H
source file of the Flower Library
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef PQUEUE_HH
source file of the Flower Library
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef RATIONAL_HH
source file of the Flower Library
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef REAL_HH
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2006--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef STD_STRING_HH
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2006--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef STD_VECTOR_HH
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2006--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the Flower Library
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef VIRTUAL_METHODS_HH
source file of the LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef WARN_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "config.hh"
source file of the Flower Library
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "interval.hh"
source file of the flowerlib
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include <cassert>
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "offset.hh"
/*
poly.cc -- routines for manipulation of polynomials in one var
- (c) 1993--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1993--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "polynomial.hh"
source file of the Flower Library
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "rational.hh"
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2006--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "std-string.hh"
source file of the Flower Library
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "warn.hh"
doctitlees = "Añadir un bajo cifrado encima o debajo de las notas"
doctitlefr = "Ajout d'une basse chiffrée au-dessus ou au-dessous des notes"
-
texidoc = "
When writing a figured bass, here's a way to specify if you want your
"
doctitlees = "Escritura de partes de percusión"
+ texidocfr = "
+Grâce à la puissance des outils préconfigurés tels que la fonction
+@code{\\drummode} et le contexte @code{DrumStaff}, la saisie de
+parties pour percussions est extrêmement simplifiée : chaque composant
+d'une batterie trouve sa place sur une portée dédiée (avec une clef
+spécifique) et les têtes de note sont spécifiques à chaque élément.
+Il est également possible d'affecter un symbole particulier à chaque
+élément, tout comme de restreindre le nombre de lignes de la portée.
+
+"
+
+ doctitlefr = "Ajout de parties de batterie"
+
+
texidoc = "
Using the powerful pre-configured tools such as the @code{\\drummode}
function and the @code{DrumStaff} context, inputting drum parts is
"
doctitlees = "Ajuste del especiado vertical de la letra"
+ texidocfr = "
+Cet extrait illustre la manière de rapprocher la ligne de paroles
+de la portée.
+
+"
+ doctitlefr = "Ajustement de l'espacement vertical des paroles"
+
+
texidoc = "
This snippet shows how to bring the lyrics line closer to the staff.
doctitlees = "Tipografía de música antigua"
+ texidocfr ="
+Voici comment graver la plupart, sinon tous les symboles que
+LilyPond prend en charge en matière de musique ancienne.
+
+"
+ doctitlefr = "Gravure de musique ancienne"
+
texidoc = "
Shown here are many (all?) of the symbols that are included in
LilyPond's support for ancient notation.
zwischen den Systemen geschrieben.
"
+ texidocfr = "
+Lorsque l'on transcrit de la musique mensurale, il est d'usage
+d'indiquer en début de partition, par un « incipit », les tonalité
+et tempo originaux. De nos jours, les musiciens ont l'habitude de
+voir des barres de mesure qui les aide à appréhender la structure
+rythmique. Ces barres n'existaient pas du temps où ces œuvres ont
+été écrites ; en fait, la métrique évoluait au fil de la pièce. Un
+compromis consiste à imprimer des barres de mesure entre les portées
+plutôt que sur la portée elle-même.
+
+"
+ doctitle = "Exemples de notation ancienne -- transcription moderne de musique mensurale"
+
texidoc = "
When transcribing mensural music, an incipit at the beginning of the
piece is useful to indicate the original key and tempo. While today
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
-%% This file is in the public domain.
-\version "2.12.0"
-
-\header {
- lsrtags = "rhythms, editorial-annotations, chords, tweaks-and-overrides"
-
- texidoces = "
-Las digitaciones y los números de cuerda aplicados a notas
-individuales evitan a las barras automáticamente, pero de forma
-predeterminada esto no es cierto para las digitaciones y números
-de cuerda que se aplican a notas concretas de acordes. El ejemplo
-siguiente muestra cómo se puede sobreescribir este comportamiento
-predeterminado:
-
-"
- doctitlees = "Evitar colisiones entre digitaciones de acordes y barras de corchea"
-
- texidoc = "
-Fingerings and string numbers applied to individual notes will
-automatically avoid beams, but this is not true by default for
-fingerings and string numbers applied to the individual notes of
-chords. The following example shows how this default behavior can be
-overridden:
-
-"
- doctitle = "Avoiding collisions of chord fingering with beams"
- texidocfr = "
-Les doigtés et les numéros de cordes attachés à des notes seules
-évitent automatiquement les barres de ligature, mais ce n'est pas le
-cas par défaut pour les doigtés ou numéros de cordes attachés aux
-notes d'un accord. L'exemple qui suit montre comment ce comportement
-par défaut peut être corrigé.
-"
- doctitlefr = "Éviter les collisions entre les doigtés d'accords et les ligatures"
-} % begin verbatim
-
-\relative c' {
- \set fingeringOrientations = #'(up)
- \set stringNumberOrientations = #'(up)
- \set strokeFingerOrientations = #'(up)
-
- % Default behavior
- r8
- <f c'-5>8
- <f c'\5>8
- <f c'-\rightHandFinger #2 >8
-
- % Corrected to avoid collisions
- r8
- \override Fingering #'add-stem-support = ##t
- <f c'-5>8
- \override StringNumber #'add-stem-support = ##t
- <f c'\5>8
- \override StrokeFinger #'add-stem-support = ##t
- <f c'-\rightHandFinger #2 >8
-}
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.12.0"
+
+\header {
+ lsrtags = "rhythms, editorial-annotations, chords, tweaks-and-overrides"
+
+ texidoc = "
+Fingerings and string numbers applied to individual notes will
+automatically avoid beams and stems, but this is not true by default
+for fingerings and string numbers applied to the individual notes of
+chords. The following example shows how this default behavior can be
+overridden.
+
+"
+ doctitle = "Avoiding collisions with chord fingerings"
+} % begin verbatim
+
+\relative c' {
+ \set fingeringOrientations = #'(up)
+ \set stringNumberOrientations = #'(up)
+ \set strokeFingerOrientations = #'(up)
+
+ % Default behavior
+ r8
+ <f c'-5>8
+ <f c'\5>8
+ <f c'-\rightHandFinger #2 >8
+
+ % Corrected to avoid collisions
+ r8
+ \override Fingering #'add-stem-support = ##t
+ <f c'-5>8
+ \override StringNumber #'add-stem-support = ##t
+ <f c'\5>8
+ \override StrokeFinger #'add-stem-support = ##t
+ <f c'-\rightHandFinger #2 >8
+}
adding-a-figured-bass-above-or-below-the-notes.ly
adding-bar-lines-to-chordnames-context.ly
-avoiding-collisions-of-chord-fingering-with-beams.ly
+avoiding-collisions-with-chord-fingerings.ly
changing-chord-separator.ly
changing-the-chord-names-to-german-or-semi-german-notation.ly
changing-the-positions-of-figured-bass-alterations.ly
\version "2.12.0"
\header {
- lsrtags = "expressive-marks, editorial-annotations, tweaks-and-overrides"
- texidoc = "Creating a delayed turn, where the lower note of the
- turn uses the accidental, requires several overrides. The
- @code{outside-staff-priority} property must be set to #f, as otherwise
- this would take precedence over the @code{avoid-slur property}. The
- value of @code{halign} is used to position the turn horizontally."
+ lsrtags = "expressive-marks, editorial-annotations,tweaks-and-overrides"
+
+ texidoc = "
+Creating a delayed turn, where the lower note of the
+turn uses the accidental, requires several overrides. The
+@code{outside-staff-priority} property must be set to @code{#f},
+as otherwise this would take precedence over the
+@code{avoid-slur property}. The value of @code{halign} is used
+to position the turn horizontally."
doctitle = "Creating a delayed turn"
} % begin verbatim
allowing-fingerings-to-be-printed-inside-the-staff.ly
analysis-brackets-above-the-staff.ly
applying-note-head-styles-depending-on-the-step-of-the-scale.ly
-avoiding-collisions-of-chord-fingering-with-beams.ly
+avoiding-collisions-with-chord-fingerings.ly
blanking-staff-lines-using-the--whiteout-command.ly
changing-a-single-notes-size-in-a-chord.ly
changing-the-appearance-of-a-slur-from-solid-to-dotted-or-dashed.ly
all octaves.
+For microtonal scales where a \"sharp\" is not 100 cents, @code{alter}
+refers to the alteration as a proportion of a 200-cent whole tone.
+
+
Here is an example of a possible key signature for generating a
whole-tone scale:
adding-drum-parts.ly
automatic-beam-subdivisions.ly
automatic-beams-two-per-two-in-4-4-or-2-2-time-signature.ly
-avoiding-collisions-of-chord-fingering-with-beams.ly
+avoiding-collisions-with-chord-fingerings.ly
beam-endings-in-score-context.ly
beam-grouping-in-7-8-time.ly
beams-across-line-breaks.ly
analysis-brackets-above-the-staff.ly
-avoiding-collisions-of-chord-fingering-with-beams.ly
+avoiding-collisions-with-chord-fingerings.ly
caesura-railtracks-with-fermata.ly
changing-a-single-notes-size-in-a-chord.ly
changing-form-of-multi--measure-rests.ly
\header {
lsrtags = "editorial-annotations, tweaks-and-overrides"
+ texidocfr = "
+Lorsqu'il est impossible d'obtenir facilement une allure particulière
+pour les têtes de note en recourant à la technique du @code{\\markup}, un
+code Postscript peut vous tirer d'embarras. Voici comment générer des
+têtes ressemblant à des parallélogrammes.
+
+"
+ doctitlefr = "Utilisation de Postscript pour générer des têtes de note à l'allure particulière"
+
texidoc = "
When a note head with a special shape cannot easily be generated with
graphic markup, PostScript code can be used to generate the shape.
\version "2.12.0"
\header {
- lsrtags = "expressive-marks, editorial-annotations,
-tweaks-and-overrides"
+ lsrtags = "expressive-marks, editorial-annotations, tweaks-and-overrides"
texidoc = "
Creating a delayed turn, where the lower note of the
<<
\chords {
a2 a
- c2 c
- d1
+ \repeat unfold 3 {
+ c c c d d
+ }
}
\new Voice = "mel" {
\textLengthOn
% Set global properties of fret diagram
\override TextScript #'size = #1.2
- \override TextScript #'fret-diagram-details #'finger-code = #'below-string
+ \override TextScript
+ #'fret-diagram-details #'finger-code = #'below-string
\override TextScript #'fret-diagram-details #'dot-color = #'black
%% A chord for ukelele
}
}
+ %% These chords will be in normal orientation
+
+ %% C major for guitar, barred on third fret
+ % verbose style
+ % roman fret label, finger labels below string, straight barre
+ c'2^\markup {
+ % 110% of default size
+ \override #'(size . 1.1) {
+ \override #'(fret-diagram-details . (
+ (number-type . roman-lower)
+ (finger-code . below-string)
+ (barre-type . straight))) {
+ \fret-diagram-verbose #'((mute 6)
+ (place-fret 5 3 1)
+ (place-fret 4 5 2)
+ (place-fret 3 5 3)
+ (place-fret 2 5 4)
+ (place-fret 1 3 1)
+ (barre 5 1 3))
+ }
+ }
+ }
+
+ %% C major for guitar, barred on third fret
+ %% Double barre used to test barre function
+ % verbose style
+ c'2^\markup {
+ % 110% of default size
+ \override #'(size . 1.1) {
+ \override #'(fret-diagram-details . (
+ (number-type . arabic)
+ (dot-label-font-mag . 0.9)
+ (finger-code . in-dot)
+ (fret-label-font-mag . 0.6)
+ (fret-label-vertical-offset . 0)
+ (label-dir . -1)
+ (mute-string . "M")
+ (xo-font-magnification . 0.4)
+ (xo-padding . 0.3))) {
+ \fret-diagram-verbose #'((mute 6)
+ (place-fret 5 3 1)
+ (place-fret 4 5 2)
+ (place-fret 3 5 3)
+ (place-fret 2 5 4)
+ (place-fret 1 3 1)
+ (barre 4 2 5)
+ (barre 5 1 3))
+ }
+ }
+ }
+
+ %% C major for guitar, with capo on third fret
+ % verbose style
+ c'2^\markup {
+ % 110% of default size
+ \override #'(size . 1.1) {
+ \override #'(fret-diagram-details . (
+ (number-type . roman-upper)
+ (dot-label-font-mag . 0.9)
+ (finger-code . none)
+ (fret-label-vertical-offset . 0.5)
+ (xo-font-magnification . 0.4)
+ (xo-padding . 0.3))) {
+ \fret-diagram-verbose #'((mute 6)
+ (capo 3)
+ (open 5)
+ (place-fret 4 5 1)
+ (place-fret 3 5 2)
+ (place-fret 2 5 3)
+ (open 1))
+ }
+ }
+ }
+
+ %% simple D chord
+ d'2^\markup {
+ \override #'(fret-diagram-details . (
+ (finger-code . below-string)
+ (dot-radius . 0.35)
+ (dot-position . 0.5)
+ (fret-count . 3))) {
+ \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;"
+ }
+ }
+
+ %% simple D chord, large top fret thickness
+ d'2^\markup {
+ \override #'(fret-diagram-details . (
+ (finger-code . below-string)
+ (dot-radius . 0.35)
+ (dot-position . 0.5)
+ (top-fret-thickness . 7)
+ (fret-count . 3))) {
+ \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;"
+ }
+ }
+
+ % These chords will be in landscape orientation
+ \override TextScript
+ #'fret-diagram-details #'orientation = #'landscape
+
+ %% C major for guitar, barred on third fret
+ % verbose style
+ % roman fret label, finger labels below string, straight barre
+ c'2^\markup {
+ % 110% of default size
+ \override #'(size . 1.1) {
+ \override #'(fret-diagram-details . (
+ (number-type . roman-lower)
+ (finger-code . below-string)
+ (barre-type . straight))) {
+ \fret-diagram-verbose #'((mute 6)
+ (place-fret 5 3 1)
+ (place-fret 4 5 2)
+ (place-fret 3 5 3)
+ (place-fret 2 5 4)
+ (place-fret 1 3 1)
+ (barre 5 1 3))
+ }
+ }
+ }
+
+ %% C major for guitar, barred on third fret
+ %% Double barre used to test barre function
+ % verbose style
+ c'2^\markup {
+ % 110% of default size
+ \override #'(size . 1.1) {
+ \override #'(fret-diagram-details . (
+ (number-type . arabic)
+ (dot-label-font-mag . 0.9)
+ (finger-code . in-dot)
+ (fret-label-font-mag . 0.6)
+ (fret-label-vertical-offset . 0)
+ (label-dir . -1)
+ (mute-string . "M")
+ (xo-font-magnification . 0.4)
+ (xo-padding . 0.3))) {
+ \fret-diagram-verbose #'((mute 6)
+ (place-fret 5 3 1)
+ (place-fret 4 5 2)
+ (place-fret 3 5 3)
+ (place-fret 2 5 4)
+ (place-fret 1 3 1)
+ (barre 4 2 5)
+ (barre 5 1 3))
+ }
+ }
+ }
+
+ %% C major for guitar, with capo on third fret
+ % verbose style
+ c'2^\markup {
+ % 110% of default size
+ \override #'(size . 1.1) {
+ \override #'(fret-diagram-details . (
+ (number-type . roman-upper)
+ (dot-label-font-mag . 0.9)
+ (finger-code . none)
+ (fret-label-vertical-offset . 0.5)
+ (xo-font-magnification . 0.4)
+ (xo-padding . 0.3))) {
+ \fret-diagram-verbose #'((mute 6)
+ (capo 3)
+ (open 5)
+ (place-fret 4 5 1)
+ (place-fret 3 5 2)
+ (place-fret 2 5 3)
+ (open 1))
+ }
+ }
+ }
+
+ %% simple D chord
+ d'2^\markup {
+ \override #'(fret-diagram-details . (
+ (finger-code . below-string)
+ (dot-radius . 0.35)
+ (dot-position . 0.5)
+ (fret-count . 3))) {
+ \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;"
+ }
+ }
+
+ %% simple D chord, large top fret thickness
+ d'2^\markup {
+ \override #'(fret-diagram-details . (
+ (finger-code . below-string)
+ (dot-radius . 0.35)
+ (dot-position . 0.5)
+ (top-fret-thickness . 7)
+ (fret-count . 3))) {
+ \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;"
+ }
+ }
+
+ % These chords will be in opposing-landscape orientation
+ \override TextScript #'fret-diagram-details
+ #'orientation = #'opposing-landscape
+
%% C major for guitar, barred on third fret
% verbose style
% roman fret label, finger labels below string, straight barre
}
%% C major for guitar, barred on third fret
+ %% Double barre used to test barre function
% verbose style
c'2^\markup {
% 110% of default size
(fret-label-vertical-offset . 0)
(label-dir . -1)
(mute-string . "M")
- (orientation . landscape)
(xo-font-magnification . 0.4)
(xo-padding . 0.3))) {
\fret-diagram-verbose #'((mute 6)
(place-fret 3 5 3)
(place-fret 2 5 4)
(place-fret 1 3 1)
+ (barre 4 2 5)
(barre 5 1 3))
}
}
}
+ %% C major for guitar, with capo on third fret
+ % verbose style
+ c'2^\markup {
+ % 110% of default size
+ \override #'(size . 1.1) {
+ \override #'(fret-diagram-details . (
+ (number-type . roman-upper)
+ (dot-label-font-mag . 0.9)
+ (finger-code . none)
+ (fret-label-vertical-offset . 0.5)
+ (xo-font-magnification . 0.4)
+ (xo-padding . 0.3))) {
+ \fret-diagram-verbose #'((mute 6)
+ (capo 3)
+ (open 5)
+ (place-fret 4 5 1)
+ (place-fret 3 5 2)
+ (place-fret 2 5 3)
+ (open 1))
+ }
+ }
+ }
+
%% simple D chord
- d'1^\markup {
+ d'2^\markup {
+ \override #'(fret-diagram-details . (
+ (finger-code . below-string)
+ (dot-radius . 0.35)
+ (dot-position . 0.5)
+ (fret-count . 3))) {
+ \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;"
+ }
+ }
+
+ %% simple D chord, large top fret thickness
+ d'2^\markup {
\override #'(fret-diagram-details . (
(finger-code . below-string)
(dot-radius . 0.35)
(dot-position . 0.5)
+ (top-fret-thickness . 7)
(fret-count . 3))) {
\fret-diagram-terse #"x;x;o;2-1;3-2;2-3;"
}
\header {
- texidoc="Beams are place automatically; the last measure should have a single
+ texidoc="Beams are placed automatically; the last measure should have a single
beam."
}
\relative c''{
\time 1/2
+
c8 c c c
c16 c c c c c c c
c32 c c c c c c c c c c c c c c c
\time 1/4
- c8 c
+ c8 c
c16 c c c
c32 c c c c c c c
\time 1/8
\time 3/2
c8 c c c c c c c c c c c
c16 c c c c c c c c c c c c c c c c c c c c c c c
+ c32 c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
\time 3/4
c8 c c c c c
c16 c c c c c c c c c c c
c8 c c c
c16 c c c c c c c
c32 c c c c c c c c c c c c c c c
+ \time 4/16
+ c8 c
+ c16 c c c
+ c32 c c c c c c c
\time 6/8
c8 c c c c c
c16 c c c c c c c c c c c
+ c32 c c c c c c c c c c c c c c c c c c c c c c c
\time 9/8
c8 c c c c c c c c
c16 c c c c c c c c c c c c c c c c c
+ c32 c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
+ \time 12/8
+ c8 c c c c c c c c c c c
+ c16 c c c c c c c c c c c c c c c c c c c c c c c
+ c32 c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
}
--- /dev/null
+\version "2.12.0"
+
+\header {
+ texidoc="
+A capo indicator can be added with a fret-diagram-verbose
+string, and its thickness can be changed.
+
+"
+}
+
+\layout { ragged-right = ##t }
+
+<<
+ \chords {
+ c1 |
+ c1
+ }
+
+ \new Voice {
+ \textLengthOn
+
+ %% C major for guitar, with capo on third fret
+ % verbose style
+ c' ^\markup {
+ \fret-diagram-verbose #'((mute 6)
+ (capo 3)
+ (open 5)
+ (place-fret 4 5 1)
+ (place-fret 3 5 2)
+ (place-fret 2 5 3)
+ (open 1))}
+
+ %% C major for guitar, with capo on third fret
+ % thinner capo
+ % verbose style
+ \override TextScript #'fret-diagram-details
+ #'capo-thickness = #0.2
+ c' ^\markup {
+ \fret-diagram-verbose #'((mute 6)
+ (capo 3)
+ (open 5)
+ (place-fret 4 5 1)
+ (place-fret 3 5 2)
+ (place-fret 2 5 3)
+ (open 1)) }
+
+ }
+>>
+
+
--- /dev/null
+\version "2.12.0"
+
+\header {
+ texidoc="
+Dots indicating fingerings can be changed in location,
+size, and coloring.
+
+"
+}
+
+\layout { ragged-right = ##t }
+
+<<
+ \chords {
+ c1 |
+ c1 |
+ c1 |
+ c1
+ }
+
+ \new Voice {
+ \textLengthOn
+
+ %% C major for guitar, verbose style
+ c'1 ^\markup {
+ \fret-diagram-verbose #'((mute 6)
+ (place-fret 5 3 1)
+ (place-fret 4 5 2)
+ (place-fret 3 5 3)
+ (place-fret 2 5 4)
+ (place-fret 1 3 1)
+ (barre 5 1 1))}
+
+ %% C major for guitar, verbose style
+ \override TextScript #'fret-diagram-details
+ #'dot-radius = #0.3
+ c' ^\markup {
+ \fret-diagram-verbose #'((mute 6)
+ (place-fret 5 3 1)
+ (place-fret 4 5 2)
+ (place-fret 3 5 3)
+ (place-fret 2 5 4)
+ (place-fret 1 3 1)
+ (barre 5 1 1))}
+
+ %% C major for guitar, verbose style
+ \revert TextScript #'fret-diagram-details #'dot-radius
+ \once \override TextScript #'fret-diagram-details
+ #'dot-color = #'white
+ c' ^\markup {
+ \fret-diagram-verbose #'((mute 6)
+ (place-fret 5 3 1)
+ (place-fret 4 5 2)
+ (place-fret 3 5 3)
+ (place-fret 2 5 4)
+ (place-fret 1 3 1)
+ (barre 5 1 1))}
+
+ %% C major for guitar, verbose style
+ \once \override TextScript #'fret-diagram-details
+ #'dot-position = #0.5
+ c'1 ^\markup {
+ \fret-diagram-verbose #'((mute 6)
+ (place-fret 5 3 1)
+ (place-fret 4 5 2)
+ (place-fret 3 5 3)
+ (place-fret 2 5 4)
+ (place-fret 1 3 1)
+ (barre 5 1 1))}
+
+ }
+>>
+
+
--- /dev/null
+\version "2.12.0"
+
+\header {
+ texidoc="
+Finger labels can be added, either in dots or below strings.
+Dot color can be changed, and fingering label font size
+can be adjusted.
+
+"
+}
+
+\layout { ragged-right = ##t }
+
+<<
+ \chords {
+ c1 |
+ c1 |
+ c1 |
+ c1 |
+ c1
+ }
+
+ \new Voice {
+ \textLengthOn
+ %% C major for guitar, verbose style
+ \override TextScript #'fret-diagram-details
+ #'finger-code = #'below-string
+ c'1 ^\markup {
+ \fret-diagram-verbose #'((mute 6)
+ (place-fret 5 3 1)
+ (place-fret 4 5 2)
+ (place-fret 3 5 3)
+ (place-fret 2 5 4)
+ (place-fret 1 3 1)
+ (barre 5 1 1))}
+
+ %% C major for guitar, verbose style
+ \override TextScript #'fret-diagram-details
+ #'string-label-font-mag = #0.4
+ c'1 ^\markup {
+ \fret-diagram-verbose #'((mute 6)
+ (place-fret 5 3 1)
+ (place-fret 4 5 2)
+ (place-fret 3 5 3)
+ (place-fret 2 5 4)
+ (place-fret 1 3 1)
+ (barre 5 1 1))}
+
+ %% C major for guitar, verbose style
+ \override TextScript #'fret-diagram-details
+ #'finger-code = #'in-dot
+ c' ^\markup {
+ \fret-diagram-verbose #'((mute 6)
+ (place-fret 5 3 1)
+ (place-fret 4 5 2)
+ (place-fret 3 5 3)
+ (place-fret 2 5 4)
+ (place-fret 1 3 1)
+ (barre 5 1 1))}
+
+ %% C major for guitar, verbose style
+ \once \override TextScript #'fret-diagram-details
+ #'dot-color = #'white
+ c' ^\markup {
+ \fret-diagram-verbose #'((mute 6)
+ (place-fret 5 3 1)
+ (place-fret 4 5 2)
+ (place-fret 3 5 3)
+ (place-fret 2 5 4)
+ (place-fret 1 3 1)
+ (barre 5 1 1))}
+
+ %% C major for guitar, verbose style
+ \once \override TextScript #'fret-diagram-details
+ #'dot-label-font-mag = #0.75
+ c'1 ^\markup {
+ \fret-diagram-verbose #'((mute 6)
+ (place-fret 5 3 1)
+ (place-fret 4 5 2)
+ (place-fret 3 5 3)
+ (place-fret 2 5 4)
+ (place-fret 1 3 1)
+ (barre 5 1 1))}
+
+ }
+>>
+
+
--- /dev/null
+\version "2.12.0"
+
+\header {
+ texidoc="
+The label for the lowest fret can be changed in location,
+size, and number type.
+
+"
+}
+
+\layout { ragged-right = ##t }
+
+<<
+ \chords {
+ c1 |
+ c1 |
+ c1
+ }
+
+ \new Voice {
+ \textLengthOn
+
+ %% C major for guitar, verbose style
+ c'1 ^\markup {
+ \fret-diagram-verbose #'((mute 6)
+ (place-fret 5 3 1)
+ (place-fret 4 5 2)
+ (place-fret 3 5 3)
+ (place-fret 2 5 4)
+ (place-fret 1 3 1)
+ (barre 5 1 1))}
+
+ %% C major for guitar, verbose style
+ \override TextScript #'fret-diagram-details
+ #'label-dir = #LEFT
+ \override TextScript #'fret-diagram-details
+ #'number-type = #'roman-upper
+ c' ^\markup {
+ \fret-diagram-verbose #'((mute 6)
+ (place-fret 5 3 1)
+ (place-fret 4 5 2)
+ (place-fret 3 5 3)
+ (place-fret 2 5 4)
+ (place-fret 1 3 1)
+ (barre 5 1 1))}
+
+ %% C major for guitar, verbose style
+ \revert TextScript #'fret-diagram-details #'label-dir
+ \override TextScript #'fret-diagram-details
+ #'fret-label-font-mag = #0.4
+ \override TextScript #'fret-diagram-details
+ #'number-type = #'arabic
+ \once \override TextScript #'fret-diagram-details
+ #'fret-label-vertical-offset = #0.25
+ c' ^\markup {
+ \fret-diagram-verbose #'((mute 6)
+ (place-fret 5 3 1)
+ (place-fret 4 5 2)
+ (place-fret 3 5 3)
+ (place-fret 2 5 4)
+ (place-fret 1 3 1)
+ (barre 5 1 1))}
+
+ }
+>>
+
+
--- /dev/null
+\version "2.12.0"
+
+\header {
+ texidoc="
+Fret diagrams can be presented in landscape mode.
+
+"
+}
+
+\layout { ragged-right = ##t }
+
+<<
+ \chords {
+ c1 |
+ c1 |
+ c1 |
+ c1
+ }
+
+ \new Voice {
+ \textLengthOn
+ \override TextScript #'fret-diagram-details
+ #'orientation = #'landscape
+
+ %% C major for guitar, regular style
+ c'1 ^\markup {
+ \fret-diagram #"6-x;5-3-3;4-2-2;3-o;2-1;1-o;"}
+
+ %% C major for guitar with barre on fret 3, regular style
+ \once \override TextScript #'fret-diagram-details
+ #'label-dir = #LEFT
+ \once \override TextScript #'fret-diagram-details
+ #'barre-type = #'straight
+ c' ^\markup {
+ \fret-diagram
+ #"f:1;s:1.2;6-x;c:5-1-3;5-3-1;4-5-2;3-5-3;2-5-4;1-3-1;"}
+
+ %% C major for guitar with two barres, regular style
+
+ c' ^\markup {
+ \fret-diagram
+ #"f:2;h:5;6-x;c:5-1-3;5-3-1;c:4-2-5;4-5-4;3-5-4;2-5-4;1-3-1;"}
+
+ %% C major for guitar, with capo
+ c' ^\markup {
+ \fret-diagram-verbose #'((mute 6)
+ (capo 3)
+ (place-fret 4 5 1)
+ (place-fret 3 5 2)
+ (place-fret 2 5 3))}
+
+ }
+>>
+
+
--- /dev/null
+\version "2.12.0"
+
+\header {
+ texidoc="
+Fret diagrams can be presented in landscape mode.
+
+"
+}
+
+\layout { ragged-right = ##t }
+
+<<
+ \chords {
+ c1 |
+ c1 |
+ c1 |
+ c1
+ }
+
+ \new Voice {
+ \textLengthOn
+ \override TextScript #'fret-diagram-details
+ #'orientation = #'opposing-landscape
+
+ %% C major for guitar, regular style
+ c'1 ^\markup {
+ \fret-diagram #"6-x;5-3-3;4-2-2;3-o;2-1;1-o;"}
+
+ %% C major for guitar with barre on fret 3, regular style
+ \once \override TextScript #'fret-diagram-details
+ #'label-dir = #LEFT
+ \once \override TextScript #'fret-diagram-details
+ #'barre-type = #'straight
+ c' ^\markup {
+ \fret-diagram
+ #"f:1;s:1.2;6-x;c:5-1-3;5-3-1;4-5-2;3-5-3;2-5-4;1-3-1;"}
+
+ %% C major for guitar with two barres, regular style
+
+ c' ^\markup {
+ \fret-diagram
+ #"f:2;h:5;6-x;c:5-1-3;5-3-1;c:4-2-5;4-5-4;3-5-4;2-5-4;1-3-1;"}
+
+ %% C major for guitar, with capo
+ c' ^\markup {
+ \fret-diagram-verbose #'((mute 6)
+ (capo 3)
+ (place-fret 4 5 1)
+ (place-fret 3 5 2)
+ (place-fret 2 5 3))}
+
+ }
+>>
+
+
--- /dev/null
+\version "2.12.0"
+
+\header {
+ texidoc="
+Number of frets and number of strings can be changed from the
+defaults.
+
+"
+}
+
+\layout { ragged-right = ##t }
+
+<<
+ \chords {
+ d1 |
+ a1
+ }
+
+ \new Voice {
+ \textLengthOn
+
+ % Simple Guitar D diagram with defaults
+
+ d'1 ^\markup {
+ \fret-diagram #"6-x;5-x;4-o;3-2-1;2-3-2;1-2-3;"
+ } |
+
+ % A chord for ukelele -- change both string and fret count
+ a'1 ^\markup {
+ \fret-diagram #"w:4;h:5;4-2-2;3-1-1;2-o;1-o;"
+ }
+ }
+>>
+
+
--- /dev/null
+\version "2.12.0"
+
+\header {
+ texidoc="
+The label for the lowest fret can be changed in location,
+size, and number type.
+
+"
+}
+
+\layout { ragged-right = ##t }
+
+<<
+ \chords {
+ d1 |
+ d1 |
+ d1
+ }
+
+ \new Voice {
+ \textLengthOn
+
+ %% D major for guitar, terse style
+ d'1 ^\markup {
+ \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;"}
+
+ %% D major for guitar, terse style
+ \once \override TextScript #'fret-diagram-details
+ #'top-fret-thickness = #5
+ \once \override TextScript #'fret-diagram-details
+ #'xo-font-magnification = #0.3
+ d'1 ^\markup {
+ \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;"}
+
+ %% D major for guitar, terse style
+ \override TextScript #'fret-diagram-details
+ #'mute-string = #"M"
+ \override TextScript #'fret-diagram-details
+ #'open-string = #"*"
+ \override TextScript #'fret-diagram-details
+ #'xo-padding = #0.5
+ d'1 ^\markup {
+ \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;"}
+
+ }
+>>
+
+
+++ /dev/null
-\version "2.12.0"
-
-\paper {
- ragged-right = ##t
-}
-
-<<
- \chords {a2 a c c c d}
-
- \new Voice =mel {
- \textLengthOn
- % Set global properties of fret diagram
- \override Voice.TextScript #'size = #'1.2
- \override Voice.TextScript #'(fret-diagram-details finger-code) = #'below-string
- \override Voice.TextScript #'(fret-diagram-details dot-color) = #'black
-
- %% A chord for ukelele
- a'2 ^\markup
- \override #'(fret-diagram-details . (
- (string-count . 4)
- (dot-color . white)
- (finger-code . in-dot))){
- \fret-diagram #"4-2-2;3-1-1;2-o;1-o;"}
- %% A chord for ukelele, with formatting defined in definition string
- % 1.2 * size, 4 strings, 4 frets, fingerings below string
- % dot radius .35 of fret spacing, dot position 0.55 of fret spacing
- a'2 ^\markup
- \override #'(fret-diagram-details . (
- (dot-color . white)
- (open-string . "o"))){
- \fret-diagram #"s:1.2;w:4;h:3;f:2;d:0.35;p:0.55;4-2-2;3-1-1;2-o;1-o;"}
- %% C major for guitar, barred on third fret
- % verbose style
- % roman fret label, finger labels below string, straight barre
- c' ^\markup
- \override #'(size . 1.1) { % 110% of default size
- \override #'(fret-diagram-details . (
- (number-type . roman-lower)
- (finger-code . below-string)
- (barre-type . straight))) {
- \fret-diagram-verbose #'((mute 6)
- (place-fret 5 3 1)
- (place-fret 4 5 2)
- (place-fret 3 5 3)
- (place-fret 2 5 4)
- (place-fret 1 3 1)
- (barre 5 1 3)) }}
-
- %% C major for guitar, barred on third fret
- % verbose style
- c' ^\markup
- \override #'(size . 1.1) { % 110% of default size
- \override #'(fret-diagram-details . (
- (number-type . arabic)
- (dot-label-font-mag . 0.9)
- (finger-code . in-dot)
- (fret-label-font-mag . 0.6)
- (fret-label-vertical-offset . 0)
- (label-dir . -1)
- (mute-string . "M")
- (orientation . landscape)
- (xo-font-magnification . 0.4)
- (xo-padding . 0.3))) {
- \fret-diagram-verbose #'((mute 6)
- (place-fret 5 3 1)
- (place-fret 4 5 2)
- (place-fret 3 5 3)
- (place-fret 2 5 4)
- (place-fret 1 3 1)
- (barre 5 1 3)) }}
-
-
- %% C major for guitar, with capo on third fret
- % verbose style
- c' ^\markup
- \override #'(size . 1.1) { % 110% of default size
- \override #'(fret-diagram-details . (
- (dot-label-font-mag . 0.9)
- (finger-code . in-dot)
- (xo-font-magnification . 0.4)
- (xo-padding . 0.3))) {
- \fret-diagram-verbose #'((mute 6)
- (capo 3)
- (open 5)
- (place-fret 4 5 1)
- (place-fret 3 5 2)
- (place-fret 2 5 3)
- (open 1)) }}
-
- %% simple D chord
-
- d' ^\markup
- \override #'(fret-diagram-details . (
- (finger-code . below-string)
- (dot-radius . 0.35)
- (dot-position . 0.5)
- (fret-count . 3)))
- {
- \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;" }
- }
->>
+++ /dev/null
- texidocfr = "
-Lorsqu'il est impossible d'obtenir facilement une allure particulière
-pour les têtes de note en recourant à la technique du @code{\\markup}, un
-code Postscript peut vous tirer d'embarras. Voici comment générer des
-têtes ressemblant à des parallélogrammes.
-
-"
- doctitlefr = "Utilisation de Postscript pour générer des têtes de note à
-l'allure particulière"
--- /dev/null
+ texidocfr = "
+Lorsqu'il est impossible d'obtenir facilement une allure particulière
+pour les têtes de note en recourant à la technique du @code{\\markup}, un
+code Postscript peut vous tirer d'embarras. Voici comment générer des
+têtes ressemblant à des parallélogrammes.
+
+"
+ doctitlefr = "Utilisation de Postscript pour générer des têtes de note à l'allure particulière"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Modified 2001--2002 by Rune Zedeler <rz@daimi.au.dk>
*/
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2002--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2001--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2001--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "accidental-interface.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "align-interface.hh"
source file of the GNU LilyPond music typesetter
- (c) 2007--2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2007--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "all-font-metrics.hh"
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Juergen Reuter <reuter@ipd.uka.de>
+ (c) 2002--2009 Juergen Reuter <reuter@ipd.uka.de>
Han-Wen Nienhuys <hanwen@xs4all.nl
*/
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Juergen Reuter <reuter@ipd.uka.de>
+ (c) 2002--2009 Juergen Reuter <reuter@ipd.uka.de>
*/
#include "ambitus.hh"
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "context.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "arpeggio.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "audio-column.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "audio-element-info.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include <cassert>
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "audio-item.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "audio-staff.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1999--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "bar-line.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2005 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "context.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "axis-group-engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "axis-group-interface.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "axis-group-interface.hh"
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2006--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "text-interface.hh"
source file of the GNU LilyPond music typesetter
- (c) 2001--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2001--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "context.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "bar-line.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "paper-column.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "beam.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1996--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "performer.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "beaming-pattern.hh"
/*
bend-engraver.cc -- implement Bend_engraver
- (c) 2006--2008 Han-Wen Nienhuys
+ (c) 2006--2009 Han-Wen Nienhuys
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "misc.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "bezier.hh"
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "book.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "book.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1996--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "box.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
#include "protected-scm.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2001--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2001--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include <cstdio>
/*
breathing_sign-engraver.cc -- implement Breathing_sign_engraver
- (c) 1999--2008 Michael Krause
+ (c) 1999--2009 Michael Krause
written for the GNU LilyPond music typesetter
/*
breathing_sign.cc -- implement Breathing_sign
- (c) 1999--2008 Michael Krause
+ (c) 1999--2009 Michael Krause
written for the GNU LilyPond music typesetter
TODO: --> see breathing-sign-engraver.cc
- Extensions for ancient notation (c) 2003--2008 by Juergen Reuter
+ Extensions for ancient notation (c) 2003--2009 by Juergen Reuter
*/
#include "breathing-sign.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2005 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "change-iterator.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "chord-name.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1999--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "chord-name.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Erik Sandberg <mandolaerik@gmail.com>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Erik Sandberg <mandolaerik@gmail.com>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>,
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>,
Mats Bengtsson <matsb@s3.kth.se>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "clef.hh"
/*
cluster-engraver.cc -- implement Cluster_engraver
- (c) 2002--2008 Juergen Reuter <reuter@ipd.uka.de>
+ (c) 2002--2009 Juergen Reuter <reuter@ipd.uka.de>
Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Juergen Reuter <reuter@ipd.uka.de>
+ (c) 2002--2009 Juergen Reuter <reuter@ipd.uka.de>
Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2003--2008 Juergen Reuter <reuter@ipd.uka.de>
+ (c) 2003--2009 Juergen Reuter <reuter@ipd.uka.de>
*/
#include "coherent-ligature-engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "column-x-positions.hh"
/*
completion-note-heads-engraver.cc -- Completion_heads_engraver
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include <cctype>
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Joe Neeman <joeneeman@gmail.com>
+ (c) 2006--2009 Joe Neeman <joeneeman@gmail.com>
*/
#include "constrained-breaking.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
/* TODO: should junk this class an replace by
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "context-handle.hh"
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "context.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2002--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "music-wrapper-iterator.hh"
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "context.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Juergen Reuter <reuter@ipd.uka.de>,
+ (c) 2000--2009 Juergen Reuter <reuter@ipd.uka.de>,
Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Juergen Reuter <reuter@ipd.uka.de>
+ (c) 2000--2009 Juergen Reuter <reuter@ipd.uka.de>
*/
/* TODO:
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "lily-guile.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "directional-element-interface.hh"
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Erik Sandberg <mandolaerik@gmail.com>
+ (c) 2006--2009 Erik Sandberg <mandolaerik@gmail.com>
*/
#include "dispatcher.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "rhythmic-head.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "dot-column.hh"
terms of the GNU General Public License. LilyPond comes with NO
WARRANTY.
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include <cstdio>
file of the GNU LilyPond music typesetter
- (c) 2007--2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2007--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2006--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "dots.hh"
/*
drum-note-engraver.cc
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include <cctype>
source file of the GNU LilyPond music typesetter
- (c) 1996--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1996--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "performer.hh"
source file of the LilyPond music typesetter
- (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the LilyPond music typesetter
- (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2008--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "axis-group-interface.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "performer.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "note-head.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "context.hh"
Sourcefile of GNU LilyPond music type setter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "event-chord-iterator.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "event-iterator.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Glen Prideaux <glenprideaux@iname.com>,
+ (c) 1999--2009 Glen Prideaux <glenprideaux@iname.com>,
Han-Wen Nienhuys <hanwen@xs4all.nl>,
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include <map>
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "config.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "font-interface.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "font-metric.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Mats Bengtsson <matsb@s3.kth.se> (the ugly TeX parsing in text_dimension)
*/
source file of the GNU LilyPond music typesetter
- (c) 2003--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2003--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2001--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2001--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "grob.hh"
source file of the GNU LilyPond music typesetter
- (c) 2007--2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2007--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "freetype.hh"
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include <cstring>
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "cpu-timer.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "global-context.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "global-ctor.hh"
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "grace-iterator.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "music.hh"
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Han-Wen <hanwen@lilypond.org>
+ (c) 2006--2009 Han-Wen <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2003--2008 Juergen Reuter <reuter@ipd.uka.de>
+ (c) 2003--2009 Juergen Reuter <reuter@ipd.uka.de>
*/
#include "gregorian-ligature-engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 2003--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2003--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "gregorian-ligature.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "grid-line-interface.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "grob-array.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "context.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "lily-guile.hh"
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2002--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "grob-interface.hh"
source file of the GNU LilyPond music typesetter
- (c) 2001--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2001--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "context.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "grob.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "grob.hh"
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2006--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "hairpin.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "axis-group-engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2002--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2002--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "horizontal-bracket.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Glen Prideaux <glenprideaux@iname.com>,
+ (c) 1999--2009 Glen Prideaux <glenprideaux@iname.com>,
Han-Wen Nienhuys <hanwen@xs4all.nl>,
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2002--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "identifier-smob.hh"
source file of the LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "includable-lexer.hh"
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2002--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef ACCIDENTAL_INTERFACE_HH
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2002--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef ACCIDENTAL_PLACEMENT_HH
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef ALIGN_INTERFACE_HH
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef ALL_FONTS_HH
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Juergen Reuter <reuter@ipd.uka.de>
+ (c) 2000--2009 Juergen Reuter <reuter@ipd.uka.de>
*/
#ifndef AMBITUS_HH
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef ARPEGGIO_HH
/*
audio-column.hh -- declare Audio_column
- (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef AUDIO_COLUMN_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef AUDIO_ITEM_INFO_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef AUDIO_ELEMENT_HH
/*
audio-item.hh -- declare Audio_items
- (c) 1996--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1996--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef AUDIO_ITEM_HH
/*
audio-staff.hh -- declare Audio_staff
- (c) 1996--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1996--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef AUDIO_STAFF_HH
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef AXIS_GROUP_ENGRAVER_HH
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef AXIS_GROUP_INTERFACE_HH
/*
bar.hh -- part of GNU LilyPond
- (c) 1996--2008 Han-Wen Nienhuys
+ (c) 1996--2009 Han-Wen Nienhuys
*/
#ifndef BAR_HH
/*
bar.hh -- part of GNU LilyPond
- (c) 1996--2008 Han-Wen Nienhuys
+ (c) 1996--2009 Han-Wen Nienhuys
*/
#ifndef BAR_HH
source file of the LilyPond music typesetter
- (c) 1996--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1996--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef BEAMING_PATTERN_HH
/*
bezier.hh -- declare Bezier and Bezier_bow
- (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef BEZIER_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef BOOK_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef BREAK_ALIGN_INTERFACE_HH
/*
breathing-sign.hh
- Copyright (c) 1999--2008 Michael Krause
+ Copyright (c) 1999--2009 Michael Krause
written for the GNU LilyPond music typesetter
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2005 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef CHANGE_ITERATOR_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1999--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef CHORD_NAME_HH
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef CHORD_TREMOLO_ITERATOR_HH
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef CLEF_HH
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Juergen Reuter <reuter@ipd.uka.de>
+ (c) 2002--2009 Juergen Reuter <reuter@ipd.uka.de>
*/
#ifndef CLUSTER_HH
source file of the GNU LilyPond music typesetter
- (c) 2003--2008 Juergen Reuter <reuter@ipd.uka.de>
+ (c) 2003--2009 Juergen Reuter <reuter@ipd.uka.de>
*/
#ifndef COHERENT_LIGATURE_ENGRAVER_HH
#define COHERENT_LIGATURE_ENGRAVER_HH
/*
column-x-positions.hh -- part of GNU LilyPond
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef COLUMN_X_POSITIONS_HH
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Joe Neeman <joeneeman@gmail.com>
+ (c) 2006--2009 Joe Neeman <joeneeman@gmail.com>
*/
#ifndef CONSTRAINED_BREAKING_HH
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef CONTEXT_DEF_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef CONTEXT_HANDLE_HH
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef CONTEXT_HH
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Juergen Reuter <reuter@ipd.uka.de>
+ (c) 2000--2009 Juergen Reuter <reuter@ipd.uka.de>
*/
#ifndef CUSTOS_HH
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef DIMENSION_CACHE_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef DIRECTIONAL_ELEMENT_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef DOT_COLUMN_HH
terms of the GNU General Public License. LilyPond comes with NO
WARRANTY.
- (c) 2007--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2007--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef DOT_CONFIGURATION_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef DOTS_HH
source file of the LilyPond music typesetter
- (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef DURATION_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef ENGRAVER_GROUP_HH
source file of the GNU LilyPond music typesetter
- (c) 1996--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1996--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef ENGRAVER_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef EVENT_CHORD_ITERATOR_HH
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2006--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Erik Sandberg <mandolaerik@gmail.com>
*/
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef FILE_NAME_MAP_HH
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef FONT_INTERFACE_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef FONT_METRIC_HH
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef FREETYPE_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef GLOBAL_CONTEXT_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef GLOBAL_CTOR_HH
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef GRACE_FIXUP_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef NEWGRACE_ITERATOR_HH
source file of the GNU LilyPond music typesetter
- (c) 2003--2008 Juergen Reuter <reuter@ipd.uka.de>
+ (c) 2003--2009 Juergen Reuter <reuter@ipd.uka.de>
*/
#ifndef GREGORIAN_LIGATURE_ENGRAVER_HH
#define GREGORIAN_LIGATURE_ENGRAVER_HH
source file of the GNU LilyPond music typesetter
- (c) 2003--2008 Juergen Reuter <reuter@ipd.uka.de>
+ (c) 2003--2009 Juergen Reuter <reuter@ipd.uka.de>
*/
#ifndef GREGORIAN_LIGATURE_HH
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef GRID_LINE_INTERFACE_HH
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef GROB_ARRAY_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef STAFFELEMINFO_HH
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2002--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef INTERFACE_HH
source file of the LilyPond music typesetter
- (c) 1996--2008 Han-Wen Nienhuys
+ (c) 1996--2009 Han-Wen Nienhuys
*/
#ifndef GROB_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef GROUP_INTERFACE_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef HAIRPIN_HH
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef HARA_KIRI_VERTICAL_GROUP_SPANNER_HH
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef HORIZONTAL_BRACKET_HH
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2002--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef IDENTIFIER_SMOB_HH
source file of the LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef INCLUDABLE_LEXER_HH
source file of the LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef INPUT_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef ITEM_HH
#define ITEM_HH
/*
keyword.hh -- part of GNU LilyPond
- (c) 1996--2008 Han-Wen Nienhuys
+ (c) 1996--2009 Han-Wen Nienhuys
*/
#ifndef KEYWORD_HH
/*
leastsquare.hh -- part of GNU LilyPond
- (c) 1996--2008 Han-Wen Nienhuys
+ (c) 1996--2009 Han-Wen Nienhuys
*/
#ifndef LEASTSQUARE_HH
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Juergen Reuter <reuter@ipd.uka.de>
+ (c) 2002--2009 Juergen Reuter <reuter@ipd.uka.de>
*/
#ifndef LIGATURE_ENGRAVER_HH
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef LILY_GUILE_MACROS_HH
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef LILY_GUILE_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef MY_LILY_LEXER_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef LILY_PARSER_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef LILY_PROTO_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1999--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef LILY_VERSION_HH
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef LILYPOND_VERSION_HH
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef LINE_INTERFACE_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2002--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef LY_MODULE_HH
#define LY_MODULE_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef LY_SMOBS_ICC
/*
extender-spanner.hh -- part of GNU LilyPond
- (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef EXTENDER_SPANNER_HH
/*
hyphen-spanner.hh -- part of GNU LilyPond
- (c) 1999--2008 Glen Prideaux <glenprideaux@iname.com>
+ (c) 1999--2009 Glen Prideaux <glenprideaux@iname.com>
*/
#ifndef HYPHEN_SPANNER_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef MAIN_HH
#define MAIN_HH
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2002--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef MEASURE_GROUPING_SPANNER_HH
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Juergen Reuter <reuter@ipd.uka.de>,
+ (c) 2002--2009 Juergen Reuter <reuter@ipd.uka.de>,
Pal Benko <benkop@freestart.hu>
*/
source file of the GNU LilyPond music typesetter
- (c) 2007--2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2007--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
/*
midi-item.hh -- declare Midi items
- (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef MIDI_ITEM_HH
/*
midi-stream.hh -- declare Midi_stream
- (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef MIDI_STREAM_HH
/*
midi-walker.hh -- declare Midi_walker
- (c) 1996--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1996--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2005--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef MINGW_COMPATIBILITY_HH
source file of the GNU LilyPond music typesetter
- (c) 2007--2008 Nicolas Sceaux <nicolas.sceaux@free.fr>
+ (c) 2007--2009 Nicolas Sceaux <nicolas.sceaux@free.fr>
*/
#ifndef MINIMAL_PAGE_BREAKING_HH
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef MISC_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef MODIFIED_FONT_METRIC_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef MOMENT_HH
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef MULTI_MEASURE_REST_HH
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef MUSIC_FUNCTION_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef MUSIC_ITERATOR_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef MUSIC_OUTPUT_HH
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef MUSIC_SEQUENCE_HH
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef MUSIC_WRAPPER_ITERATOR_HH
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef MUSIC_WRAPPER_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef MUSIC_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef COLLISION_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef NOTE_COLUMN_HH
/*
note-head.hh -- part of GNU LilyPond
- (c) 1996--2008 Han-Wen Nienhuys
+ (c) 1996--2009 Han-Wen Nienhuys
*/
#ifndef NOTEHEAD_HH
source file of the GNU LilyPond music typesetter
- (c) 2001--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2001--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef NOTE_SPACING_HH
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef OPEN_TYPE_FONT_HH
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Joe Neeman <joeneeman@gmail.com>
+ (c) 2006--2009 Joe Neeman <joeneeman@gmail.com>
*/
#ifndef OPTIMAL_PAGE_BREAKING_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef MUSIC_OUTPUT_DEF_HH
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Joe Neeman <joeneeman@gmail.com>
+ (c) 2006--2009 Joe Neeman <joeneeman@gmail.com>
*/
#ifndef PAGE_BREAKING_HH
source file of the GNU LilyPond music typesetter
- (c) 2007--2008 Nicolas Sceaux <nicolas.sceaux@free.fr>
+ (c) 2007--2009 Nicolas Sceaux <nicolas.sceaux@free.fr>
*/
#ifndef PAGE_MARKER_HH
source file of the GNU LilyPond music typesetter
- (c) 2007--2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2007--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Joe Neeman <joeneeman@gmail.com>
+ (c) 2006--2009 Joe Neeman <joeneeman@gmail.com>
*/
#ifndef PAGE_SPACING_HH
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Joe Neeman <joeneeman@gmail.com>
+ (c) 2006--2009 Joe Neeman <joeneeman@gmail.com>
*/
#ifndef PAGE_TURN_PAGE_BREAKING_HH
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef PANGO_FONT_HH
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2004--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef PAPER_BOOK_HH
#define PAPER_BOOK_HH
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef PAPER_COLUMN_ENGRAVER_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef PAPER_COLUMN_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef PAPER_OUTPUTTER_HH
source file of the GNU LilyPond music typesetter
- (c) 1996--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1996--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef PAPER_SCORE_HH
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2004--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef PAPER_SYSTEM_HH
#define PAPER_SYSTEM_HH
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef PARSE_SCM_HH
source file of the GNU LilyPond music typesetter
- (c) 2001--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2001--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef PERCENT_REPEAT_ITEM_HH
/*
performance.hh -- declare Performance
- (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef PERFORMANCE_HH
/*
performer-group.hh -- declare Performer_group
- (c) 1996--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1996--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
/*
performer.hh -- declare Performer
- (c) 1996--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1996--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef PITCH_INTERVAL_HH
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef MUSICAL_PITCH_HH
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef POINTER_GROUP_INTERFACE_HH
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2004--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef PROPERTY_OBJECT_HH
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef PROFILE_HH
source file of the GNU LilyPond music typesetter
- (c) 2001--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2001--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef SCM_OPTION_HH
#define SCM_OPTION_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef PROPERTY_ITERATOR_HH
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef PROTECTED_SCM_HH
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef REPEATED_MUSIC_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef REST_COLLISION_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef REST_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef RHYTHMIC_HEAD_HH
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef ROD_HH
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2006--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Erik Sandberg <mandolaerik@gmail.com>
+ (c) 2006--2009 Erik Sandberg <mandolaerik@gmail.com>
*/
#ifndef SCHEME_LISTENER_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef SCM_HASH_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef SCORE_ENGRAVER_HH
/*
score-performer.hh -- declare Score_performer
- (c) 1996--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1996--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef SCORE_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef Script_COLUMN_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef SCRIPT_INTERFACE_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef SELF_ALIGNMENT_INTERFACE_HH
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef SINGLE_MALT_GROUPING_ITEM_HH
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2002--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef SEQUENTIAL_ITERATOR_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef SIDE_POSITION_INTERFACE_HH
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef SIMPLE_MUSIC_ITERATOR_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef SIMPLE_SPACER_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef SIMULTANEOUS_MUSIC_ITERATOR_HH
source file of the GNU LilyPond music typesetter
- (c) 2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2008--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Joe Neeman <joeneeman@gmail.com>
+ (c) 2006--2009 Joe Neeman <joeneeman@gmail.com>
*/
#ifndef SKYLINE_HH
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef SLUR_CONFIGURATION_HH
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2006--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef SLUR_SCORING_HH
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef SLUR_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef SMOBS_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1999--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef SOURCE_FILE_HH
/*
sources.hh -- part of LilyPond
- (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef SOURCES_HH
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef SPACEABLE_GROB_HH
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2002--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "grob-interface.hh"
#include "lily-proto.hh"
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2006--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef SPACING_SPANNER_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef SPAN_BAR_HH
/*
spanner.hh -- part of GNU LilyPond
- (c) 1996--2008 Han-Wen Nienhuys
+ (c) 1996--2009 Han-Wen Nienhuys
*/
#ifndef SPANNER_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef SPRING_HH
source file of the GNU LilyPond music typesetter
- (c) 2001--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2001--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef STAFF_SPACING_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef STAFF_SYMBOL_REFERENCER_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef STAFF_SYMBOL_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef STEM_INFO_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef ABBREV_HH
/*
stem.hh -- declare Stem
- (c) 1996--2008 Han-Wen Nienhuys
+ (c) 1996--2009 Han-Wen Nienhuys
*/
#ifndef STEM_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef STENCIL_HH
#define STENCIL_HH
source file of the GNU LilyPond music typesetter
- (c) 2001--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2001--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef STREAM_HH
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef SYSTEM_START_DELIMITER_HH
/*
system.hh -- part of GNU LilyPond
- (c) 1996--2008 Han-Wen Nienhuys
+ (c) 1996--2009 Han-Wen Nienhuys
*/
#ifndef SYSTEM_HH
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef TIE_COLUMN_HH
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2006--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2007--2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2007--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef TIE_HH
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>,
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>,
Erik Sandberg <mandolaerik@gmail.com>
*/
/*
time_signature.hh -- declare Time_signature
- (c) 1996--2008 Han-Wen Nienhuys
+ (c) 1996--2009 Han-Wen Nienhuys
*/
#ifndef METER_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef TIMING_TRANSLATOR_HH
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef TRANSLATOR_DISPATCH_LIST_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef TRANSLATOR_GROUP_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef TRANSLATOR_HH
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef TRANSLATOR_ICC
/*
tuplet-bracket.hh -- part of GNU LilyPond
- (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef Tuplet_bracket_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef TYPESWALLOW_TRANSLATOR_HH
source file of the GNU LilyPond music typesetter
- (c) 2003--2008 Juergen Reuter <reuter@ipd.uka.de>
+ (c) 2003--2009 Juergen Reuter <reuter@ipd.uka.de>
*/
#ifndef VATICANA_LIGATURE_HH
/*
volta-spanner.hh -- part of GNU LilyPond
- (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef VOLTA_SPANNER_HH
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "std-string.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "input.hh"
source file of the LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "input.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2006--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "item.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "bar-line.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "audio-item.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1996--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
keyplacement by Mats Bengtsson
*/
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1996--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1996--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "least-squares.hh"
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "pointer-group-interface.hh"
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include <map>
source file of the LilyPond music typesetter
- (c) 1996--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1996--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Juergen Reuter <reuter@ipd.uka.de>
+ (c) 2002--2009 Juergen Reuter <reuter@ipd.uka.de>
*/
#include "international.hh"
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Juergen Reuter <reuter@ipd.uka.de>
+ (c) 2002--2009 Juergen Reuter <reuter@ipd.uka.de>
*/
#include "ligature-engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2006--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "lily-lexer.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include <unistd.h>
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1999--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "lily-version.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include <ctype.h>
VALUE "FileDescription", "LilyPond"
VALUE "FileVersion", "@MAJOR_VERSION@.@MINOR_VERSION@.@PATCH_LEVEL@.@BUILD_VERSION@"
VALUE "InternalName", "LilyPond@"
- VALUE "LegalCopyright ", "Copyright (C) 1995--2008 Han-Wen Nienhuys and Jan Nieuwenhuizen, and others."
+ VALUE "LegalCopyright ", "Copyright (C) 1995--2009 Han-Wen Nienhuys and Jan Nieuwenhuizen, and others."
VALUE "OriginalFilename", "lilypond.exe"
VALUE "ProductName", "LilyPond"
VALUE "ProductVersion", "@MAJOR_VERSION@.@MINOR_VERSION@.@PATCH_LEVEL@"
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "line-interface.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "align-interface.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2002--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "lily-guile.hh"
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "dispatcher.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "music.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
lyric-extender.cc -- implement Lyric_extender
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
Han-Wen Nienhuys
*/
source file of the GNU LilyPond music typesetter
- (c) 2003--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2003--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "lyric-hyphen.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "audio-item.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "main.hh"
static void
copyright ()
{
- printf (_f ("Copyright (c) %s by\n%s and others.",
- "1996--2008",
+ /* Do not update the copyright years here, run grand-replace.sh. */
+ printf (_f ("Copyright (c) %s by\n%s and others.", "1996--2009",
AUTHORS).c_str ());
printf ("\n");
}
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include <cctype>
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2002--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "warn.hh"
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2002--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "measure-grouping-spanner.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Juergen Reuter <reuter@ipd.uka.de>,
+ (c) 2002--2009 Juergen Reuter <reuter@ipd.uka.de>,
Pal Benko <benkop@freestart.hu>
*/
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Juergen Reuter <reuter@ipd.uka.de>,
+ (c) 2002--2009 Juergen Reuter <reuter@ipd.uka.de>,
Pal Benko <benkop@freestart.hu>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include <cctype>
source file of the GNU LilyPond music typesetter
- (c) 2007--2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2007--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "midi-item.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "midi-stream.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2007--2008 Nicolas Sceaux <nicolas.sceaux@free.fr>
+ (c) 2007--2009 Nicolas Sceaux <nicolas.sceaux@free.fr>
*/
#include "international.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include <cctype>
using namespace std;
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "ly-module.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "moment.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "moment.hh"
/*
multi_measure_rest-engraver.cc -- implement Multi_measure_rest_engraver
- (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "multi-measure-rest.hh"
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "music-function.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "music-output.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "music.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "music-sequence.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "music-wrapper-iterator.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "music-wrapper.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "music.hh"
source file of the GNU LilyPond music typesetter
- (c) 2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2008--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "note-collision.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "note-column.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2006--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "note-head.hh"
/*
note-heads-engraver.cc -- part of GNU LilyPond
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1996--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "performer.hh"
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2006--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2001--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2001--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "note-spacing.hh"
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "modified-font-metric.hh"
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "open-type-font.hh"
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Joe Neeman <joeneeman@gmail.com>
+ (c) 2006--2009 Joe Neeman <joeneeman@gmail.com>
*/
#include "international.hh"
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "text-interface.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys
+ (c) 2000--2009 Han-Wen Nienhuys
*/
#include "protected-scm.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "output-def.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "output-def.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Joe Neeman <joeneeman@gmail.com>
+ (c) 2006--2009 Joe Neeman <joeneeman@gmail.com>
*/
#include "paper-book.hh"
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Joe Neeman <joeneeman@gmail.com>
+ (c) 2006--2009 Joe Neeman <joeneeman@gmail.com>
*/
#include "page-breaking.hh"
source file of the GNU LilyPond music typesetter
- (c) 2007--2008 Nicolas Sceaux <nicolas.sceaux@free.fr>
+ (c) 2007--2009 Nicolas Sceaux <nicolas.sceaux@free.fr>
*/
#include "page-marker.hh"
source file of the GNU LilyPond music typesetter
- (c) 2007--2008 Nicolas Sceaux <nicolas.sceaux@free.fr>
+ (c) 2007--2009 Nicolas Sceaux <nicolas.sceaux@free.fr>
*/
#include "page-marker.hh"
source file of the GNU LilyPond music typesetter
- (c) 2007--2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2007--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Joe Neeman <joeneeman@gmail.com>
+ (c) 2006--2009 Joe Neeman <joeneeman@gmail.com>
*/
#include "page-spacing.hh"
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Joe Neeman <joeneeman@gmail.com>
+ (c) 2006--2009 Joe Neeman <joeneeman@gmail.com>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Joe Neeman <joeneeman@gmail.com>
+ (c) 2006--2009 Joe Neeman <joeneeman@gmail.com>
*/
#include "page-turn-page-breaking.hh"
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#define PANGO_ENABLE_BACKEND // ugh, why necessary?
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#define PANGO_ENABLE_BACKEND // ugh, why necessary?
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "config.hh"
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "dimensions.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "paper-book.hh"
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2004--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "paper-book.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "paper-column-engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "paper-column.hh"
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "dimensions.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "paper-outputter.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "paper-score.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1996--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "paper-score.hh"
source file of the GNU LilyPond music typesetter
- (c) 2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2008--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2004--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "paper-system.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "parse-scm.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2009 Jan Nieuwenhuizen <janneke@gnu.org>
Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys
+ (c) 2004--2009 Han-Wen Nienhuys
*/
#include "context.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>, Erik Sandberg <mandolaerik@gmail.com>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>, Erik Sandberg <mandolaerik@gmail.com>
*/
source file of the GNU LilyPond music typesetter
- (c) 2001--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2001--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "percent-repeat-item.hh"
source file of the GNU LilyPond music typesetter
- (c) 2001--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2001--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Erik Sandberg <mandolaerik@gmail.com>
*/
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "performance.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "performance.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1996--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1996--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1996--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include <cstdlib>
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2006--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2003--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2003--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "stencil.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Jan Nieuwenhuizen <janneke@gnu.org>,
+ (c) 2000--2009 Jan Nieuwenhuizen <janneke@gnu.org>,
Erik Sandberg <mandolaerik@gmail.com>
Chris Jackson <chris@fluffhouse.org.uk> - extended to support
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "performer.hh"
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "pitch-interval.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "pitch.hh"
LY_DEFINE (ly_make_pitch, "ly:make-pitch",
2, 1, 0, (SCM octave, SCM note, SCM alter),
"@var{octave} is specified by an integer, zero for the octave"
- " containing middle@tie{}C. @var{note} is a number from 0"
- " to@tie{}6, with 0 corresponding to pitch@tie{}C and 6"
- " corresponding to pitch@tie{}B. @var{alter} is a rational"
- " number of whole tones for alteration.")
+ " containing middle@tie{}C. @var{note} is a number indexing the"
+ " global default scale, with 0 corresponding to pitch@tie{}C"
+ " and 6 usually corresponding to pitch@tie{}B. @var{alter} is"
+ " a rational number of 200-cent whole tones for alteration.")
+
{
LY_ASSERT_TYPE (scm_is_integer, octave, 1);
LY_ASSERT_TYPE (scm_is_integer, note, 2);
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "pitch.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "pointer-group-interface.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "prob.hh"
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2004--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "prob.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "profile.hh"
source file of the GNU LilyPond music typesetter
- (c) 2001--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2001--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "program-option.hh"
crash if internally the wrong type is used for a grob property.
*/
bool do_internal_type_checking_global;
-bool strict_infinity_checking = false;
+bool strict_infinity_checking = false;
static SCM option_hash;
-void internal_set_option (SCM var, SCM val)
+
+void
+internal_set_option (SCM var,
+ SCM val)
{
if (0)
;
else if (var == ly_symbol2scm ("old-relative"))
{
lily_1_8_relative = to_boolean (val);
- /* Needs to be reset for each file that uses this option. */
+ /* Needs to be reset for each file that uses this option. */
lily_1_8_compatibility_used = to_boolean (val);
val = scm_from_bool (to_boolean (val));
}
val = scm_from_bool (to_boolean (val));
}
-
scm_hashq_set_x (option_hash, var, val);
-
-
}
-
ssize const HELP_INDENT = 30;
ssize const INDENT = 2;
ssize const SEPARATION = 5;
get_help_string ()
{
SCM alist = ly_hash2alist (option_hash);
- SCM convertor = ly_lily_module_constant ("scm->string");
+ SCM converter = ly_lily_module_constant ("scm->string");
vector<string> opts;
{
SCM sym = scm_caar (s);
SCM val = scm_cdar (s);
- string opt_spec
- = String_convert::char_string (' ', INDENT)
- + ly_symbol2string (sym)
- + " ("
- + ly_scm2string (scm_call_1 (convertor, val))
- + ")";
+ string opt_spec = String_convert::char_string (' ', INDENT)
+ + ly_symbol2string (sym)
+ + " ("
+ + ly_scm2string (scm_call_1 (converter, val))
+ + ")";
if (opt_spec.length () + SEPARATION > HELP_INDENT)
- {
- opt_spec += "\n"
- + String_convert::char_string (' ', HELP_INDENT);
- }
+ opt_spec += "\n" + String_convert::char_string (' ', HELP_INDENT);
else
- opt_spec += String_convert::char_string (' ', HELP_INDENT - opt_spec.length ());
+ opt_spec += String_convert::char_string (' ', HELP_INDENT
+ - opt_spec.length ());
SCM opt_help_scm
- = scm_object_property (sym, ly_symbol2scm ("program-option-documentation"));
+ = scm_object_property (sym,
+ ly_symbol2scm ("program-option-documentation"));
string opt_help = ly_scm2string (opt_help_scm);
replace_all (&opt_help,
string ("\n"),
opts.push_back (opt_spec + opt_help + "\n");
}
- string help ("Options supported by ly:set-option\n\n");
+ string help ("Options supported by `ly:set-option':\n\n");
vector_sort (opts, less<string> ());
for (vsize i = 0; i < opts.size (); i++)
help += opts[i];
-
- help += string ("\n");
return help;
}
"Print @code{ly:set-option} usage.")
{
string help = get_help_string ();
- progress_indication (help);
+ puts (help.c_str());
return SCM_UNSPECIFIED;
}
+
LY_DEFINE (ly_add_option, "ly:add-option", 3, 0, 0,
(SCM sym, SCM val, SCM description),
"Add a program option @var{sym} with default @var{val}.")
{
if (!option_hash)
- {
- option_hash = scm_permanent_object (scm_c_make_hash_table (11));
- }
+ option_hash = scm_permanent_object (scm_c_make_hash_table (11));
LY_ASSERT_TYPE (ly_is_symbol, sym, 1);
LY_ASSERT_TYPE (scm_is_string, description, 3);
return SCM_UNSPECIFIED;
}
+
LY_DEFINE (ly_set_option, "ly:set-option", 1, 1, 0, (SCM var, SCM val),
"Set a program option.")
{
string varstr = ly_scm2string (scm_symbol_to_string (var));
if (varstr.substr (0, 3) == string ("no-"))
{
- var = ly_symbol2scm (varstr.substr (3, varstr.length () -3).c_str ());
+ var = ly_symbol2scm (varstr.substr (3, varstr.length () - 3).c_str ());
val = scm_from_bool (!to_boolean (val));
}
return SCM_UNSPECIFIED;
}
+
LY_DEFINE (ly_command_line_options, "ly:command-line-options", 0, 0, 0, (),
"The Scheme options specified on command-line with @option{-d}.")
{
- return ly_string2scm (init_scheme_variables_global);
+ return ly_string2scm (init_scheme_variables_global);
}
+
LY_DEFINE (ly_command_line_code, "ly:command-line-code", 0, 0, 0, (),
"The Scheme code specified on command-line with @option{-e}.")
{
- return ly_string2scm (init_scheme_code_global);
+ return ly_string2scm (init_scheme_code_global);
}
+
LY_DEFINE (ly_command_line_verbose_p, "ly:command-line-verbose?", 0, 0, 0, (),
"Was @code{be_verbose_global} set?")
{
}
-
LY_DEFINE (ly_all_options, "ly:all-options",
0, 0, 0, (),
"Get all option settings in an alist.")
LY_ASSERT_TYPE (ly_is_symbol, var, 1);
return scm_hashq_ref (option_hash, var, SCM_BOOL_F);
}
-
-
source file of the GNU LilyPond music typesetter
- (c) 2007--2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2007--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "property-iterator.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "protected-scm.hh"
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "music-wrapper-iterator.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "input.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "music.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "repeated-music.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "warn.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "rest-collision.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "rest.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "rhythmic-head.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "rod.hh"
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2006--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
2007--2008 Rune Zedeler
2008 Joe Neeman <joeneeman@gmail.com>
*/
1, 0, 0, (SCM steps),
"Create a scale."
" The argument is a vector of rational numbers, each of which"
- " represents the number of tones of a pitch above the tonic.")
+ " represents the number of 200 cent tones of a pitch above the"
+ " tonic.")
{
bool type_ok = scm_is_vector (steps);
LY_DEFINE (ly_set_default_scale, "ly:set-default-scale",
1, 0, 0, (SCM scale),
- "Set the global default scale.")
+ "Set the global default scale. This determines the tuning of"
+ " pitches with no accidentals or key signatures. The first"
+ " pitch is C. Alterations are calculated relative to this"
+ " scale. The number of pitches in this scale determines the"
+ " number of scale steps that make up an octave. Usually the"
+ " 7-note major scale.")
{
LY_ASSERT_SMOB (Scale, scale, 1);
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Erik Sandberg <mandolaerik@gmail.com>
+ (c) 2006--2009 Erik Sandberg <mandolaerik@gmail.com>
*/
#include "scheme-listener.hh"
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Erik Sandberg <mandolaerik@gmail.com>
+ (c) 2006--2009 Erik Sandberg <mandolaerik@gmail.com>
*/
#include "scheme-listener.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "scm-hash.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "score-engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1996--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "score-performer.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "score.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "score.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "script-column.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "script-interface.hh"
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2006--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "self-alignment-interface.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "separation-item.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "sequential-iterator.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "side-position-interface.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "simple-closure.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "simple-music-iterator.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include <cstdio>
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
TODO:
- add support for different stretch/shrink constants?
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "simultaneous-music-iterator.hh"
source file of the GNU LilyPond music typesetter
- (c) 2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2008--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Joe Neeman <joeneeman@gmail.com>
+ (c) 2006--2009 Joe Neeman <joeneeman@gmail.com>
*/
#include "skyline.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>, Erik Sandberg
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>, Erik Sandberg
<mandolaerik@gmail.com>
*/
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "slur-configuration.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1996--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "performer.hh"
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2006--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1996--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1996--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1996--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1996--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "smobs.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "sources.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "spaceable-grob.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "spacing-spanner.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "staff-spacing.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 2007--2008 Joe Neeman <joeneeman@gmail.com>
+ (c) 2007--2009 Joe Neeman <joeneeman@gmail.com>
*/
#include "spacing-interface.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "system.hh"
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2006--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "spacing-spanner.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2009 Jan Nieuwenhuizen <janneke@gnu.org>
Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "bar-line.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "span-bar.hh"
source file of the GNU LilyPond music typesetter
- (c) 2007--2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2007--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2007--2008 Han-Wen Nienhuys <hanwen@lilypond.org>
+ (c) 2007--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1996--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1996--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "pointer-group-interface.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "spring.hh"
source file of the GNU LilyPond music typesetter
- (c) 2007--2008 Joe Neeman <joeneeman@gmail.com>
+ (c) 2007--2009 Joe Neeman <joeneeman@gmail.com>
*/
#include "spring.hh"
source file of the GNU LilyPond music typesetter
- (c) 2001--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2001--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "staff-symbol.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "warn.hh"
source file of the GNU LilyPond music typesetter
- (c) 2001--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2001--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "staff-spacing.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "grob.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "staff-symbol-referencer.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "staff-symbol.hh"
source file of the GNU LilyPond music typesetter
- (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "context.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>, Glen Prideaux <glenprideaux@iname.com>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>, Glen Prideaux <glenprideaux@iname.com>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "stem-tremolo.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1996--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
TODO: This is way too hairy
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "stencil.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "stencil.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "stencil.hh"
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Erik Sandberg <mandolaerik@gmail.com>
+ (c) 2006--2009 Erik Sandberg <mandolaerik@gmail.com>
*/
#include "stream-event.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "grob.hh"
#include "stencil.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "performer.hh"
source file of the GNU LilyPond music typesetter
- (c) 2007--2008 Joe Neeman <joeneeman@gmail.com>
+ (c) 2007--2009 Joe Neeman <joeneeman@gmail.com>
*/
#include "align-interface.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "system-start-delimiter.hh"
source file of the GNU LilyPond music typesetter
- (c) 2006--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2006--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1996--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1996--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "system.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
/*
tab-note-heads-engraver.cc -- part of GNU LilyPond
- (c) 2002--2008 Han-Wen Nienhuys, Jean-Baptiste Lamy <jiba@tuxfamily.org>,
+ (c) 2002--2009 Han-Wen Nienhuys, Jean-Baptiste Lamy <jiba@tuxfamily.org>,
*/
#include <cctype>
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "moment.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "performer.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "directional-element-interface.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "tie-column.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "performer.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "tie.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>,
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>,
Erik Sandberg <mandolaerik@gmail.com>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver-group.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "audio-item.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1996--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "time-signature.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "timing-translator.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "translator.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "translator-dispatch-list.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "score-engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>,
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>,
Erik Sandberg <mandolaerik@gmail.com>
*/
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2002--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "context-def.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "translator.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
/*
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include <cstdio>
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "beam.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "translator.hh"
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2002--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "music.hh"
source file of the GNU LilyPond music typesetter
- (c) 2003--2008 Juergen Reuter <reuter@ipd.uka.de>
+ (c) 2003--2009 Juergen Reuter <reuter@ipd.uka.de>
*/
#include "gregorian-ligature-engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 2003--2008 Juergen Reuter <reuter@ipd.uka.de>
+ (c) 2003--2009 Juergen Reuter <reuter@ipd.uka.de>
*/
#include "vaticana-ligature.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "context.hh"
source file of the GNU LilyPond music typesetter
- (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include <cstring>
source file of the GNU LilyPond music typesetter
- (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 2002--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2002--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "music.hh"
%%%%
%%%% source file of the GNU LilyPond music typesetter
%%%%
-%%%% (c) 2008 Carl D. Sorensen <c_sorensen@byu.edu>
+%%%% (c) 2008--2009 Carl D. Sorensen <c_sorensen@byu.edu>
\version "2.12.0"
%%%%
%%%% source file of the GNU LilyPond music typesetter
%%%%
-%%%% (c) 2008 Carl D. Sorensen <c_sorensen@byu.edu>
+%%%% (c) 2008--2009 Carl D. Sorensen <c_sorensen@byu.edu>
%%% Add basic chordshapes
%
% This is part of the Lilypond distribution files
%
-% Copyright 2008 by Jonathan Kulp
+% Copyright 2008--2009 by Jonathan Kulp
%
program_prefix\
program_suffix\
sharedstatedir\
+ src-dir\
+ top-src-dir\
%
% source file of the GNU LilyPond music typesetter
%
-% (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+% (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
fet_begingroup ("accordion");
%
% source file of the GNU LilyPond music typesetter
%
-% (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+% (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
fet_begingroup ("arrowheads");
% source file of the Feta (not an acronym for Font-En-Tja)
% pretty-but-neat music font
%
-% (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+% (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
% Jan Nieuwenhuizen <janneke@gnu.org>
%
% These macros help create ascii logging output
%
% source file of the GNU LilyPond music typesetter
%
-% (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+% (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
fet_begingroup ("flags");
% source file of the Feta (not an acronym for Font-En-Tja)
% pretty-but-neat music font
%
-% (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+% (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
% Jan Nieuwenhuizen <janneke@gnu.org>
%
% source file of LilyPond's pretty-but-neat music font
%
-% (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+% (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
% & Han-Wen Nienhuys <hanwen@xs4all.nl>
% & Juergen Reuter <reuter@ipd.uka.de>
%
%
% source file of the Feta (Font-En-Tja) music font
%
-% (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+% (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
%
font_count := 0;
%
% source file of the Feta (Font-En-Tja) music font
%
-% (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+% (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
%
font_count := 1;
%
% source file of the Feta (Font-En-Tja) music font
%
-% (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+% (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
%
font_count := 2;
%
% source file of the Feta (Font-En-Tja) music font
%
-% (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+% (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
%
font_count := 3;
%
% source file of the Feta (Font-En-Tja) music font
%
-% (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+% (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
%
font_count := 4;
%
% source file of the Feta (Font-En-Tja) music font
%
-% (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+% (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
%
font_count := 5;
%
% source file of the Feta (Font-En-Tja) music font
%
-% (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+% (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
%
font_count := 6;
%
% source file of the Feta (Font-En-Tja) music font
%
-% (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+% (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
%
font_count := 7;
%
% source file of the Feta (Font-En-Tja) music font
%
-% (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+% (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
%
font_count := 8;
%
% source file of the Feta (not the Font-En-Tja) music font
%
-% (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+% (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
ex# := (dynamic_design_size / 2.4) * pt#;
%
% source file of the Feta (not the Font-En-Tja) music font
%
-% (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+% (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
fet_begingroup ("rests");
% source file of the Feta (defintively not an abbreviation for Font-En-Tja)
% music font
%
-% (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+% (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
%
%
% source file of the Feta (not the Font-En-Tja) music font
%
-% (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+% (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
fet_begingroup ("brackettips");
%
% source file of the Feta (not the Font-En-Tja) music font
%
-% (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>,
+% (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>,
% Jan Nieuwenhuizen <janneke@gnu.org>,
% Juergen Reuter <reuter@ipd.uka.de>
%
% source file of the GNU LilyPond music typesetter
%
-% (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+% (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
%
%
% source file of the Feta (not the Font-En-Tja) music font
%
-% (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+% (c) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
height# := number_design_size;
%
% source file of the GNU LilyPond music typesetter
%
-% (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+% (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
stafflines := 5;
%
% source file of the Feta (not the Font-En-Tja) music font
%
-% (c) 2000--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+% (c) 2000--2009 Jan Nieuwenhuizen <janneke@gnu.org>
%
% Voor Cup
%
% source file of the GNU LilyPond music typesetter
%
-% (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+% (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
fet_begingroup ("dots");
% source file of the Feta (defintively not an abbreviation for Font-En-Tja)
% music font
%
-% (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+% (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
% Jan Nieuwenhuizen <janneke@gnu.org>
%
% source file of the Feta (definitely not an abbreviation for Font-En-Tja)
% music font
%
-% (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+% (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
%
% this file is included by feta-scripts.mf
%
% source file of the Feta (not an abbreviation of Font-En-Tja) music font
%
-% (c) 1998--2008 Mats Bengtsson <matsb@s3.kth.se>,
+% (c) 1998--2009 Mats Bengtsson <matsb@s3.kth.se>,
% Christian Mondrup <scancm@biobase.dk>
fet_begingroup ("timesig");
%
% feta-toevallig.mf -- implement Accidentals
%
-% (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+% (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
%
%
% source file of LilyPond's pretty-but-neat music font
%
-% (c) 2001--2008 Juergen Reuter <reuter@ipd.uka.de>
+% (c) 2001--2009 Juergen Reuter <reuter@ipd.uka.de>
%
fet_begingroup ("accidentals");
%
% source file of LilyPond's pretty-but-neat music font
%
-% (c) 2001--2008 Juergen Reuter <reuter@ipd.uka.de>
+% (c) 2001--2009 Juergen Reuter <reuter@ipd.uka.de>
%
fet_begingroup ("clefs");
%
% source file of LilyPond's pretty-but-neat music font
%
-% (c) 2000--2008 Juergen Reuter <reuter@ipd.uka.de>
+% (c) 2000--2009 Juergen Reuter <reuter@ipd.uka.de>
%
save black_notehead_width;
%
% source file of LilyPond's pretty-but-neat music font
%
-% (c) 2006--2008 Juergen Reuter <reuter@ipd.uka.de>
+% (c) 2006--2009 Juergen Reuter <reuter@ipd.uka.de>
%
fet_begingroup ("dots");
%
% source file of LilyPond's pretty-but-neat music font
%
-% (c) 2001--2008 Juergen Reuter <reuter@ipd.uka.de>
+% (c) 2001--2009 Juergen Reuter <reuter@ipd.uka.de>
%
fet_begingroup ("flags");
%
% source file of LilyPond's pretty-but-neat music font
%
-% (c) 2002--2008 Juergen Reuter <reuter@ipd.uka.de>
+% (c) 2002--2009 Juergen Reuter <reuter@ipd.uka.de>
%
%
% source file of LilyPond's pretty-but-neat music font
%
-% (c) 2001--2008 Juergen Reuter <reuter@ipd.uka.de>
+% (c) 2001--2009 Juergen Reuter <reuter@ipd.uka.de>
%
% Neo-mensural heads originally by
% Christian Mondrup and Mats Bengtsson
%
% source file of LilyPond's pretty-but-neat music font
%
-% (c) 2001--2008 Juergen Reuter <reuter@ipd.uka.de>
+% (c) 2001--2009 Juergen Reuter <reuter@ipd.uka.de>
%
%
% source file of LilyPond's pretty-but-neat music font
%
-% (c) 2001--2008 Juergen Reuter <reuter@ipd.uka.de>
+% (c) 2001--2009 Juergen Reuter <reuter@ipd.uka.de>
%
% Neo-mensural rests originally by
% Christian Mondrup and Mats Bengtsson.
%
% source file of LilyPond's pretty-but-neat music font
%
-% (c) 2002--2008 Juergen Reuter <reuter@ipd.uka.de>
+% (c) 2002--2009 Juergen Reuter <reuter@ipd.uka.de>
%
fet_begingroup ("scripts");
%
% source file of LilyPond's pretty-but-neat music font
%
-% (c) 1998--2008 Mats Bengtsson <matsb@s3.kth.se>,
+% (c) 1998--2009 Mats Bengtsson <matsb@s3.kth.se>,
% Christian Mondrup <scancm@biobase.dk>
-% (c) 2002--2008 Juergen Reuter <reuter@ipd.uka.de>
+% (c) 2002--2009 Juergen Reuter <reuter@ipd.uka.de>
%
fet_begingroup ("timesig");
"Project-Id-Version: lilypond 2.12.0\n"
"Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs\n"
"POT-Creation-Date: 2008-12-20 11:58+0100\n"
-"PO-Revision-Date: 2008-12-31 17:51+0200\n"
+"PO-Revision-Date: 2009-01-06 20:11+0200\n"
"Last-Translator: Till Rettig <till.rettig@gmx.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
#: volta-engraver.cc:110
msgid "already have a volta spanner, ending that one prematurely"
-msgstr "Wiederholungskasten bereits vorhanden, wird vorzeitig beendet"
+msgstr "Wiederholungsklammer bereits vorhanden, wird vorzeitig beendet"
#: volta-engraver.cc:114
msgid "also already have an ended spanner"
#: musicxml2ly.py:2576
msgid ""
-"Copyright (c) 2005--2008 by\n"
+"Copyright (c) 2005--2009 by\n"
" Han-Wen Nienhuys <hanwen@xs4all.nl>,\n"
" Jan Nieuwenhuizen <janneke@gnu.org> and\n"
" Reinhold Kainhofer <reinhold@kainhofer.com>\n"
msgstr ""
-"Copyright (c) 2005--2008 por\n"
+"Copyright (c) 2005--2009 por\n"
" Han-Wen Nienhuys <hanwen@xs4all.nl>,\n"
" Jan Nieuwenhuizen <janneke@gnu.org> y\n"
" Reinhold Kainhofer <reinhold@kainhofer.com>\n"
#: musicxml2ly.py:2576
msgid ""
-"Copyright (c) 2005--2008 by\n"
+"Copyright (c) 2005--2009 by\n"
" Han-Wen Nienhuys <hanwen@xs4all.nl>,\n"
" Jan Nieuwenhuizen <janneke@gnu.org> and\n"
" Reinhold Kainhofer <reinhold@kainhofer.com>\n"
msgstr ""
-"Copyright (c) 2005--2008 by\n"
+"Copyright (c) 2005--2009 by\n"
" Han-Wen Nienhuys <hanwen@xs4all.nl>,\n"
" Jan Nieuwenhuizen <janneke@gnu.org> and\n"
" Reinhold Kainhofer <reinhold@kainhofer.com>\n"
# Translation of LilyPond.
-# Copyright (C) 2008 Han-Wen Nienhuys, Jan Nieuwenhuizen
+# Copyright (C) 2008--2009 Han-Wen Nienhuys, Jan Nieuwenhuizen
# This file is distributed under the same license as lilypond package.
#
msgid ""
#: musicxml2ly.py:2576
msgid ""
-"Copyright (c) 2005--2008 by\n"
+"Copyright (c) 2005--2009 by\n"
" Han-Wen Nienhuys <hanwen@xs4all.nl>,\n"
" Jan Nieuwenhuizen <janneke@gnu.org> and\n"
" Reinhold Kainhofer <reinhold@kainhofer.com>\n"
# Ukrainian translations for lilypond package
# Переклад українською для пакету lilypond.
-# Copyright (C) 2007--2008 THE PACKAGE'S COPYRIGHT HOLDER
+# Copyright (C) 2007--2009 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Youri Bulka <jblk@icmail.net>, 2007.
#
#: musicxml2ly.py:2171
msgid ""
-"Copyright (c) 2005--2008 by\n"
+"Copyright (c) 2005--2009 by\n"
" Han-Wen Nienhuys <hanwen@xs4all.nl>,\n"
" Jan Nieuwenhuizen <janneke@gnu.org> and\n"
" Reinhold Kainhofer <reinhold@kainhofer.com>\n"
return str
-# TODO: lots of other syntax change should be done here as well
+# TODO: lots of other syntax changes should be done here as well
@rule ((1, 3, 92), 'basicXXXProperties -> XXX, Repeat_engraver -> Volta_engraver')
def conv (str):
str = re.sub ('basicCollisionProperties', 'NoteCollision', str)
str = re.sub ('\\\\voicefour', '\\\\voiceFour', str)
# I don't know exactly when these happened...
- # ugh, we loose context setting here...
+ # ugh, we lose context setting here...
str = re.sub ('\\\\property *[^ ]*verticalDirection[^=]*= *#?"?(1|(\\\\up))"?', '\\\\stemUp\\\\slurUp\\\\tieUp', str)
str = re.sub ('\\\\property *[^ ]*verticalDirection[^=]*= *#?"?((-1)|(\\\\down))"?', '\\\\stemDown\\\\slurDown\\\\tieDown', str)
str = re.sub ('\\\\property *[^ ]*verticalDirection[^=]*= *#?"?(0|(\\\\center))"?', '\\\\stemBoth\\\\slurBoth\\\\tieBoth', str)
str = re.sub ('\\\\property *[^ .]*[.]?([a-z]+)VerticalDirection[^=]*= *#?"?((-1)|(\\\\down))"?', '\\\\\\1Down', str)
str = re.sub ('\\\\property *[^ .]*[.]?([a-z]+)VerticalDirection[^=]*= *#?"?(0|(\\\\center))"?', '\\\\\\1Both', str)
- # (lacks capitalisation slur -> Slur)
+ # (lacks capitalization slur -> Slur)
str = re.sub ('([a-z]+)VerticalDirection[^=]*= *#?"?(1|(\\\\up))"?', '\\1 \\\\override #\'direction = #1', str)
str = re.sub ('([a-z]+)VerticalDirection[^=]*= *#?"?((-1)|(\\\\down))"?', '\\1 \\override #\'direction = #-1', str)
str = re.sub ('([a-z]+)VerticalDirection[^=]*= *#?"?(0|(\\\\center))"?', '\\1 \\\\override #\'direction = #0', str)
return str
-@rule ((2, 11, 15), "#'edge-height -> #'bound-details #'right/left #'text = ...")
+@rule ((2, 11, 15), "TextSpanner #'edge-height -> #'bound-details #'right/left #'text = ...")
def conv (str):
def sub_edge_height (m):
s = ''
('right', m.group (4))]:
if h and float (h):
- once = m.group(1)
+ once = m.group (1)
if not once:
once = ''
+ context = m.group (2)
+ if not context:
+ context = ''
- s += (r"%s \override %s #'bound-details #'%s #'text = \markup { \draw-line #'(0 . %s) }"
- % (once, m.group (2), var, h))
+ s += (r"%s \override %sTextSpanner #'bound-details #'%s #'text = \markup { \draw-line #'(0 . %s) }"
+ % (once, context, var, h))
s += '\n'
return s
- str = re.sub (r"(\\once)?\s*\\override\s*([a-zA-Z.]+)\s*#'edge-height\s*=\s*#'\(([0-9.-]+)\s+[.]\s+([0-9.-]+)\)",
- sub_edge_height, str)
+ str = re.sub (r"(\\once)?\s*\\override\s*([a-zA-Z]+\s*[.]\s*)?TextSpanner\s*#'edge-height\s*=\s*#'\(\s*([0-9.-]+)\s+[.]\s+([0-9.-]+)\s*\)", sub_edge_height, str)
return str
#
# source file of the GNU LilyPond music typesetter
#
-# (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+# (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
# Jan Nieuwenhuizen <janneke@gnu.org>
import __main__
source file of the GNU LilyPond music typesetter
- (c) 2001--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2001--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
;;;; auto-beam.scm -- Auto-beam-engraver settings
;;;;
;;;; source file of the GNU LilyPond music typesetter
-;;;;
-;;;; (c) 2000--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;;
+;;;; (c) 2000--2009 Jan Nieuwenhuizen <janneke@gnu.org>
-;;; specify generic beam begin and end times
+;;; specify generic beam end times
;;; format:
;;;
(define-public default-auto-beam-settings
`(
- ;; in 3 2 time:
- ;; end beams each 1 2 note
- ;; end beams with 16th notes each 1 4 note
- ;; end beams with 32nd notes each 1 8 note
+ ;; in 2 2 time:
+ ;; use beatLength for all except 32nd notes
+ ;; end beams with 32nd notes each 1 4 beat
- ((end * * 3 2) . ,(ly:make-moment 1 2))
- ((end * * 3 2) . ,(ly:make-moment 2 2))
+ ((end 1 32 2 2) . ,(ly:make-moment 1 4))
+ ((end 1 32 2 2) . ,(ly:make-moment 2 4))
+ ((end 1 32 2 2) . ,(ly:make-moment 3 4))
+
+ ;; in 3 2 time:
+ ;; use beatLength for all except 16th and 32nd notes
+ ;; end beams with 16th notes each 1 4 beat
+ ;; end beams with 32nd notes each 1 8 beat
((end 1 16 3 2) . ,(ly:make-moment 1 4))
- ((end 1 16 3 2) . ,(ly:make-moment 1 2))
+ ((end 1 16 3 2) . ,(ly:make-moment 2 4))
((end 1 16 3 2) . ,(ly:make-moment 3 4))
+ ((end 1 16 3 2) . ,(ly:make-moment 4 4))
((end 1 16 3 2) . ,(ly:make-moment 5 4))
((end 1 32 3 2) . ,(ly:make-moment 1 8))
- ((end 1 32 3 2) . ,(ly:make-moment 1 4))
+ ((end 1 32 3 2) . ,(ly:make-moment 2 8))
((end 1 32 3 2) . ,(ly:make-moment 3 8))
- ((end 1 32 3 2) . ,(ly:make-moment 1 2))
+ ((end 1 32 3 2) . ,(ly:make-moment 4 8))
((end 1 32 3 2) . ,(ly:make-moment 5 8))
- ((end 1 32 3 2) . ,(ly:make-moment 3 4))
+ ((end 1 32 3 2) . ,(ly:make-moment 6 8))
((end 1 32 3 2) . ,(ly:make-moment 7 8))
+ ((end 1 32 3 2) . ,(ly:make-moment 8 8))
((end 1 32 3 2) . ,(ly:make-moment 9 8))
- ((end 1 32 3 2) . ,(ly:make-moment 5 4))
+ ((end 1 32 3 2) . ,(ly:make-moment 10 8))
((end 1 32 3 2) . ,(ly:make-moment 11 8))
- ((end * * 3 4) . ,(ly:make-moment 3 4))
+ ;; in 2 4 time:
+ ;; use beatLength for all except 32nd notes
+ ;; end beams with 32nd notes each 1 8 beat
- ((end 1 16 3 4) . ,(ly:make-moment 1 4))
- ((end 1 16 3 4) . ,(ly:make-moment 1 2))
+ ((end 1 32 2 4) . ,(ly:make-moment 1 8))
+ ((end 1 32 2 4) . ,(ly:make-moment 2 8))
+ ((end 1 32 2 4) . ,(ly:make-moment 3 8))
+
+ ;; in 3 4 time:
+ ;; override beatLength which would end beams at 1 4 beats
+ ;; end beams with 16th notes each 1 4 beat
+ ;; end beams with 32nd notes each 1 8 beat
+ ((end * * 3 4) . ,(ly:make-moment 3 4))
+ ((end 1 16 3 4) . ,(ly:make-moment 1 4))
+ ((end 1 16 3 4) . ,(ly:make-moment 2 4))
((end 1 32 3 4) . ,(ly:make-moment 1 8))
- ((end 1 32 3 4) . ,(ly:make-moment 1 4))
+ ((end 1 32 3 4) . ,(ly:make-moment 2 8))
((end 1 32 3 4) . ,(ly:make-moment 3 8))
- ((end 1 32 3 4) . ,(ly:make-moment 1 2))
+ ((end 1 32 3 4) . ,(ly:make-moment 4 8))
((end 1 32 3 4) . ,(ly:make-moment 5 8))
- ((end * * 3 8) . ,(ly:make-moment 3 8))
-
;; in common time:
- ;; end beams each 1 2 note
- ;; end beams with 32nd notes each 1 8 note
- ;; end beams with 1 8 triplets each 1 4 note
+ ;; override beatLength which would end beams at 1 4 beats
+ ;; end all beams at 1 2 beat
+ ;; end beams with 8th triplets each 1 4 beat
+ ;; end beams with 16th notes each 1 4 beat
+ ;; end beams with 32nd notes each 1 8 beat
((end * * 4 4) . ,(ly:make-moment 1 2))
+
((end 1 12 4 4) . ,(ly:make-moment 1 4))
((end 1 12 4 4) . ,(ly:make-moment 3 4))
((end 1 16 4 4) . ,(ly:make-moment 3 4))
((end 1 32 4 4) . ,(ly:make-moment 1 8))
- ((end 1 32 4 4) . ,(ly:make-moment 1 4))
+ ((end 1 32 4 4) . ,(ly:make-moment 2 8))
((end 1 32 4 4) . ,(ly:make-moment 3 8))
((end 1 32 4 4) . ,(ly:make-moment 5 8))
- ((end 1 32 4 4) . ,(ly:make-moment 3 4))
+ ((end 1 32 4 4) . ,(ly:make-moment 6 8))
((end 1 32 4 4) . ,(ly:make-moment 7 8))
- ((end * * 2 4) . ,(ly:make-moment 1 4))
- ((end 1 32 2 4) . ,(ly:make-moment 1 8))
- ((end 1 32 2 4) . ,(ly:make-moment 3 8))
+ ;; in 3 8 time:
+ ;; override beatLength which would end beams at 1 8 beats
+
+ ((end * * 3 8) . ,(ly:make-moment 3 8))
+
+ ;; in 4 8 time
+ ;; override beatLength which would end beams at 1 8 beats
+ ;; end all beams at 1 4 beat
+ ;; end beams with 32nd notes each 1 8 beat
((end * * 4 8) . ,(ly:make-moment 1 4))
((end 1 32 4 8) . ,(ly:make-moment 1 8))
((end 1 32 4 8) . ,(ly:make-moment 3 8))
- ((end * * 4 16) . ,(ly:make-moment 1 8))
-
;; in 6 8, 9 8 and 12 8 time:
- ;; use beatGrouping for all except 1 32nd notes
- ;; end beams with 32nd notes every 1 8 note
+ ;; use beatGrouping for all except 32nd notes
+ ;; end beams with 32nd notes each 1 8 beat
((end 1 32 6 8) . ,(ly:make-moment 1 8))
((end 1 32 6 8) . ,(ly:make-moment 2 8))
((end 1 32 12 8) . ,(ly:make-moment 9 8))
((end 1 32 12 8) . ,(ly:make-moment 10 8))
((end 1 32 12 8) . ,(ly:make-moment 11 8))
+
+ ;; in 4 16 time
+ ;; end all beams each 1 8 beat
+
+ ((end * * 4 16) . ,(ly:make-moment 1 8))
+
))
(define (override-property-setting context property setting value)
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2005--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; (c) 2005--2009 Jan Nieuwenhuizen <janneke@gnu.org>
;;;; Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
;;;; Han-Wen Nienhuys <hanwen@xs4all.nl>
;;; Note: this file can't be used without LilyPond executable
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
(define-public (construct-chord-elements root duration modifications)
" Build a chord on root using modifiers in MODIFICATIONS. NoteEvents
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2003--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; (c) 2003--2009 Jan Nieuwenhuizen <janneke@gnu.org>
;;;; NOTE: this is experimental code
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2000--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; (c) 2000--2009 Jan Nieuwenhuizen <janneke@gnu.org>
;;;; Han-Wen Nienhuys <hanwen@xs4all.nl>
(define (natural-chord-alteration p)
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
(define (define-grob-property symbol type? description)
@code{dot-label-font-mag} -- Magnification for font used to
label fret dots. Default value 1.
@item
+@code{dot-position} -- Location of dot in fret space. Default
+0.6 for dots without labels, 0.95-@code{dot-radius} for dots with
+labels.
+@item
@code{dot-radius} -- Radius of dots, in terms of fret spaces.
Default value 0.425 for labeled dots, 0.25 for unlabeled dots.
@item
@code{fret-label-font-mag} -- The magnification of the font used to label
the lowest fret number. Default 0.5
@item
-@code{fret-label-vertical-offset} -- The vertical offset of the fret label
-from the fret. Default -0.2
+@code{fret-label-vertical-offset} -- The offset of the fret label
+from the center of the fret in direction parallel to strings. Default 0.
@item
@code{label-dir} -- Side to which the fret label is attached.
@code{-1}, @code{#LEFT}, or @code{#DOWN} for left or down;
string. Default \"o\".
@item
@code{orientation} -- Orientation of fret-diagram. Options include
-@code{normal} and @code{landscape}. Default @code{normal}.
+@code{normal}, @code{landscape}, and @code{opposing-landscape}.
+Default @code{normal}.
@item
@code{string-count} -- The number of strings. Default 6.
@item
@code{string-label-font-mag} -- The magnification of the font used to label
-fingerings at the string, rather than in the dot. Default value 0.6.
+fingerings at the string, rather than in the dot. Default value 0.6 for
+@code{normal} orientation, 0.5 for @code{landscape} and
+@code{opposing-landscape}.
@item
@code{top-fret-thickness} -- The thickness of the top fret line, as a multiple
of the standard thickness. Default value 3.
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
;;;; distances are given in line-thickness (thicknesses) and
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
;;; define-music-display-methods.scm -- data for displaying music
;;; expressions using LilyPond notation.
;;;
-;;; (c) 2005--2008 Nicolas Sceaux <nicolas.sceaux@free.fr>
+;;; (c) 2005--2009 Nicolas Sceaux <nicolas.sceaux@free.fr>
;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
(define (music-property-description symbol type? description)
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
;; TODO: should link back into user manual.
;;
;; source file of the GNU LilyPond music typesetter
;;
-;; (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;; (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;
(map ly:register-stencil-expression
;;;
;;;
;;;
-;;; (c) 2005--2008 Nicolas Sceaux <nicolas.sceaux@free.fr>
+;;; (c) 2005--2009 Nicolas Sceaux <nicolas.sceaux@free.fr>
;;;
;;; - This file defines the procedures used to define display methods for each
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
(define (interface-doc-string interface grob-description)
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
(use-modules
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
(define (music-props-doc)
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
(define (engraver-makes-grob? name-symbol grav)
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
;;; File entry point for generated documentation
@titlefont{Internals Reference}
@author The LilyPond development team
-Copyright @copyright{} 1999--2008 by the authors
+Copyright @copyright{} 1999--2009 by the authors
@vskip 20pt
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
(use-modules (oop goops)
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2005--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; (c) 2005--2009 Jan Nieuwenhuizen <janneke@gnu.org>
(define-module (scm editor))
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2004--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; (c) 2004--2009 Jan Nieuwenhuizen <janneke@gnu.org>
(define-public latin1-coding-vector
#(.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
(define cache-hash-tab (make-hash-table 11))
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
;; TODO:
;;
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
(define-module (scm framework-eps))
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
(define-module (scm framework-ps))
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2004--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; (c) 2004--2009 Jan Nieuwenhuizen <janneke@gnu.org>
(define-module (scm framework-svg))
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2004--2008 Carl D. Sorensen <c_sorensen@byu.edu>
+;;;; (c) 2004--2009 Carl D. Sorensen <c_sorensen@byu.edu>
-(define (fret-parse-marking-list marking-list fret-count)
- (let* ((fret-range (list 1 fret-count))
- (capo-fret 0)
- (barre-list '())
- (dot-list '())
- (xo-list '())
- (output-alist '()))
- (let parse-item ((mylist marking-list))
- (if (not (null? mylist))
- (let* ((my-item (car mylist)) (my-code (car my-item)))
- (cond
- ((or (eq? my-code 'open)(eq? my-code 'mute))
- (set! xo-list (cons* my-item xo-list)))
- ((eq? my-code 'barre)
- (set! barre-list (cons* (cdr my-item) barre-list)))
- ((eq? my-code 'capo)
- (set! capo-fret (cadr my-item)))
- ((eq? my-code 'place-fret)
- (set! dot-list (cons* (cdr my-item) dot-list))))
- (parse-item (cdr mylist)))))
- ;; calculate fret-range
- (let ((maxfret 0)
- (minfret (if (> capo-fret 0) capo-fret 99)))
- (let updatemax ((fret-list dot-list))
- (if (null? fret-list)
- '()
- (let ((fretval (second (car fret-list))))
- (if (> fretval maxfret) (set! maxfret fretval))
- (if (< fretval minfret) (set! minfret fretval))
- (updatemax (cdr fret-list)))))
- (if (> maxfret fret-count)
- (set! fret-range
- (list minfret
- (let ((upfret (- (+ minfret fret-count) 1)))
- (if (> maxfret upfret) maxfret upfret)))))
- (set! capo-fret (1+ (- capo-fret minfret)))
- ; subtract fret from dots
- (set! dot-list (subtract-base-fret (- (car fret-range) 1) dot-list)))
- (acons 'fret-range fret-range
- (acons 'barre-list barre-list
- (acons 'dot-list dot-list
- (acons 'xo-list xo-list
- (acons 'capo-fret capo-fret '())))))))
+;
+; Utility functions
+;
+;
+
+(define (cons-fret new-value old-list)
+ "Put together a fret-list in the format desired by parse-string"
+ (if (eq? old-list '())
+ (list new-value)
+ (cons* new-value old-list)))
+
+(define (get-numeric-from-key keystring)
+ "Get the numeric value from a key of the form k:val"
+ (string->number (substring keystring 2 (string-length keystring))))
+
+(define (numerify mylist)
+ "Convert string values to numeric or character"
+ (if (null? mylist)
+ '()
+ (let ((numeric-value (string->number (car mylist))))
+ (if numeric-value
+ (cons* numeric-value (numerify (cdr mylist)))
+ (cons* (car (string->list (car mylist)))
+ (numerify (cdr mylist)))))))
+
+(define (stepmag mag)
+ "Calculate the font step necessary to get a desired magnification"
+ (* 6 (/ (log mag) (log 2))))
+
+(define (fret-count fret-range)
+ "Calculate the fret count for the diagram given the range of frets in the diagram."
+ (1+ (- (cdr fret-range) (car fret-range))))
(define (subtract-base-fret base-fret dot-list)
"Subtract @var{base-fret} from every fret in @var{dot-list}"
(third this-list)))
(subtract-base-fret base-fret (cdr dot-list))))))
+(define (make-bezier-sandwich-list start stop base height
+ half-thickness orientation)
+ "Make the argument list for a bezier sandwich from
+string coordinate @var{start} to string-coordinate @var{stop} with a
+baseline at fret coordinate @var{base}, a height of
+@var{height}, and a half thickness of @var{half-thickness}."
+ (let* ((width (+ (- stop start) 1))
+ (cp-left-width (+ (* width half-thickness) start))
+ (cp-right-width (- stop (* width half-thickness)))
+ (bottom-control-point-height
+ (- base (- height half-thickness)))
+ (top-control-point-height
+ (- base height))
+ (left-end-point
+ (stencil-coordinates base start orientation))
+ (right-end-point
+ (stencil-coordinates base stop orientation))
+ (left-upper-control-point
+ (stencil-coordinates
+ top-control-point-height cp-left-width orientation))
+ (left-lower-control-point
+ (stencil-coordinates
+ bottom-control-point-height cp-left-width orientation))
+ (right-upper-control-point
+ (stencil-coordinates
+ top-control-point-height cp-right-width orientation))
+ (right-lower-control-point
+ (stencil-coordinates
+ bottom-control-point-height cp-right-width orientation)))
+ ; order of bezier control points is:
+ ; left cp low, right cp low, right end low, left end low
+ ; right cp high, left cp high, left end high, right end high.
+ ;
+ (list left-lower-control-point
+ right-lower-control-point
+ right-end-point
+ left-end-point
+ right-upper-control-point
+ left-upper-control-point
+ left-end-point
+ right-end-point)))
+
+(define (drop-paren item-list)
+ "Drop a final parentheses from a fret indication list
+@code{item-list} resulting from a terse string specification of barre."
+ (if (> (length item-list) 0)
+ (let* ((max-index (- (length item-list) 1))
+ (last-element (car (list-tail item-list max-index))))
+ (if (or (equal? last-element ")") (equal? last-element "("))
+ (list-head item-list max-index)
+ item-list))
+ item-list))
+
+(define (get-sub-list value master-list)
+ "Get a sub-list whose cadr is equal to @var{value} from @var{master-list}"
+ (if (eq? master-list '())
+ #f
+ (let ((sublist (car master-list)))
+ (if (equal? (cadr sublist) value)
+ sublist
+ (get-sub-list value (cdr master-list))))))
+
+(define (merge-details key alist-list . default)
+ "Return @code{alist-list} entries for @code{key}, in one combined alist.
+There can be two @code{alist-list} entries for a given key. The first
+comes from the override-markup function, the second comes
+from property settings during a regular override.
+This is necessary because some details can be set in one
+place, while others are set in the other. Both details
+lists must be merged into a single alist.
+Return @code{default} (optional, else #f) if not
+found."
+
+ (define (helper key alist-list default)
+ (if (null? alist-list)
+ default
+ (let* ((handle (assoc key (car alist-list))))
+ (if (pair? handle)
+ (append (cdr handle) (chain-assoc-get key (cdr alist-list) '()))
+ (helper key (cdr alist-list) default)))))
+
+ (helper key alist-list
+ (if (pair? default) (car default) #f)))
+
+;
+; Conversions between fret/string coordinate system and x-y coordinate
+; system.
+;
+; Fret coordinates are measured down the fretboard from the nut,
+; starting at 0.
+;
+; String coordinates are measured from the lowest string, starting at 0.
+;
+; The x-y origin is at the intersection of the nut and the lowest string.
+;
+; X coordinates are positive to the right.
+; Y coordinates are positive up.
+;
+
+(define (negate-extent extent)
+ "Return the extent in an axis opposite to the axis of @code{extent}."
+ (cons (- (cdr extent)) (- (car extent))))
+
+(define (stencil-fretboard-extent stencil fretboard-axis orientation)
+ "Return the extent of @code{stencil} in the @code{fretboard-axis}
+direction."
+ (if (eq? fretboard-axis 'fret)
+ (cond ((eq? orientation 'landscape)
+ (ly:stencil-extent stencil X))
+ ((eq? orientation 'opposing-landscape)
+ (negate-extent (ly:stencil-extent stencil X)))
+ (else
+ (negate-extent (ly:stencil-extent stencil Y))))
+ ; else -- eq? fretboard-axis 'string
+ (cond ((eq? orientation 'landscape)
+ (ly:stencil-extent stencil Y))
+ ((eq? orientation 'opposing-landscape)
+ (negate-extent (ly:stencil-extent stencil Y)))
+ (else
+ (ly:stencil-extent stencil Y)))))
+
+
+(define (stencil-fretboard-offset stencil fretboard-axis orientation)
+ "Return a the stencil coordinates of the center of @code{stencil}
+in the @code{fretboard-axis} direction."
+ (* 0.5 (interval-length
+ (stencil-fretboard-extent stencil fretboard-axis orientation))))
+
+(define (stencil-coordinates fret-coordinate string-coordinate orientation)
+ "Return a pair @code{(x-coordinate . y-coordinate)} in stencil coordinate
+system."
+ (cond
+ ((eq? orientation 'landscape)
+ (cons fret-coordinate string-coordinate))
+ ((eq? orientation 'opposing-landscape)
+ (cons (- fret-coordinate) (- string-coordinate)))
+ (else
+ (cons string-coordinate (- fret-coordinate)))))
+
+;
+; Functions that create stencils used in the fret diagram
+;
+
(define (sans-serif-stencil layout props mag text)
"Create a stencil in sans-serif font based on @var{layout} and @var{props}
with magnification @var{mag} of the string @var{text}."
(prepend-alist-chain 'font-family 'sans props))))
(interpret-markup layout my-props text)))
-(define (draw-strings string-count fret-range th size orientation)
+
+(define (string-stencil string string-count fret-range
+ th thickness-factor size orientation)
+ "Make a stencil for @code{string}, given the fret-diagram
+overall parameters."
+ (let* ((string-thickness (* th (expt (1+ thickness-factor) string)))
+ (start-coordinates
+ (stencil-coordinates
+ 0
+ (* size (1- string))
+ orientation))
+ (end-coordinates
+ (stencil-coordinates
+ (* size (1+ (fret-count fret-range)))
+ (* size (1- string))
+ orientation)))
+ (make-line-stencil
+ string-thickness
+ (car start-coordinates) (cdr start-coordinates)
+ (car end-coordinates) (cdr end-coordinates))))
+
+(define (fret-stencil fret fret-range string-count th size orientation)
+ "Make a stencil for @code{fret}, given the fret-diagram overall parameters."
+ (let* ((start-coordinates
+ (stencil-coordinates
+ (* size fret)
+ 0
+ orientation))
+ (end-coordinates
+ (stencil-coordinates
+ (* size fret)
+ (* size (1- string-count))
+ orientation)))
+ (make-line-stencil
+ th
+ (car start-coordinates) (cdr start-coordinates)
+ (car end-coordinates) (cdr end-coordinates))))
+
+(define (make-straight-barre-stencil
+ size half-thickness fret-coordinate
+ start-string-coordinate end-string-coordinate orientation)
+ "Create a straight barre stencil."
+ (let ((start-point
+ (stencil-coordinates
+ (* size fret-coordinate)
+ (* size start-string-coordinate)
+ orientation))
+ (end-point
+ (stencil-coordinates
+ (* size fret-coordinate)
+ (* size end-string-coordinate)
+ orientation)))
+ (make-line-stencil
+ half-thickness
+ (car start-point)
+ (cdr start-point)
+ (car end-point)
+ (cdr end-point))))
+
+(define (make-curved-barre-stencil
+ size half-thickness fret-coordinate
+ start-string-coordinate end-string-coordinate orientation)
+ "Create a curved barre stencil."
+ (let* ((bezier-thick 0.1)
+ (bezier-height 0.5)
+ (bezier-list
+ (make-bezier-sandwich-list
+ (* size start-string-coordinate)
+ (* size end-string-coordinate)
+ (* size fret-coordinate)
+ (* size bezier-height)
+ (* size bezier-thick)
+ orientation))
+ (box-lower-left
+ (stencil-coordinates
+ (+ (* size fret-coordinate) half-thickness)
+ (- (* size start-string-coordinate) half-thickness)
+ orientation))
+ (box-upper-right
+ (stencil-coordinates
+ (- (* size fret-coordinate) (* size bezier-height) half-thickness)
+ (+ (* size end-string-coordinate) half-thickness)
+ orientation))
+ (x-extent (cons (car box-lower-left) (car box-upper-right)))
+ (y-extent (cons (cdr box-lower-left) (cdr box-upper-right))))
+ (ly:make-stencil
+ (list 'bezier-sandwich
+ `(quote ,bezier-list)
+ (* size bezier-thick))
+ x-extent
+ y-extent)))
+
+
+;
+;
+; Functions used to draw fret-diagram elements
+;
+;
+
+(define (draw-strings string-count fret-range th
+ thickness-factor size orientation)
"Draw the string lines for a fret diagram with
@var{string-count} strings and frets as indicated in @var{fret-range}.
Line thickness is given by @var{th}, fret & string spacing by
@var{size}. Orientation is determined by @var{orientation}. "
- (let* ((fret-count (+ (- (cadr fret-range) (car fret-range)) 1))
- (sl (* (+ fret-count 1) size))
- (sth (* size th))
- (gap (- size sth))
- (string-stencil
- (if (eq? orientation 'normal)
- (make-line-stencil sth 0 0 0 sl)
- (make-line-stencil sth 0 0 sl 0))))
- (if (= string-count 1)
- string-stencil
- (if (eq? orientation 'normal)
- (ly:stencil-combine-at-edge
- (draw-strings (- string-count 1) fret-range th size orientation)
- X RIGHT
- string-stencil
- gap)
- (ly:stencil-combine-at-edge
- (draw-strings (- string-count 1) fret-range th size orientation)
- Y UP
- string-stencil
- gap)))))
+
+ (define (helper x)
+ (if (null? (cdr x))
+ (string-stencil
+ (car x) string-count fret-range th
+ thickness-factor size orientation)
+ (ly:stencil-add
+ (string-stencil
+ (car x) string-count fret-range th
+ thickness-factor size orientation)
+ (helper (cdr x)))))
+
+ (let* ( (string-list (map 1+ (iota string-count))))
+ (helper string-list)))
(define (draw-fret-lines fret-count string-count th size orientation)
"Draw @var{fret-count} fret lines for a fret diagram
with @var{string-count} strings. Line thickness is given by @var{th},
fret & string spacing by @var{size}. Orientation is given by @var{orientation}"
- (let* ((sth (* size th))
- (gap (- size sth))
- (fret-line (draw-fret-line string-count th size orientation)))
- (if (= fret-count 1)
- fret-line
- (if (eq? orientation 'normal)
- (ly:stencil-combine-at-edge
- (draw-fret-lines
- (- fret-count 1) string-count th size orientation)
- Y UP
- fret-line
- gap 0)
- (ly:stencil-combine-at-edge
- (draw-fret-lines
- (- fret-count 1) string-count th size orientation)
- X RIGHT
- fret-line
- gap 0)))))
-
-(define (draw-fret-line string-count th size orientation)
- "Draw a fret line for a fret diagram."
- (let* ((fret-length (* (- string-count 1) size))
- (sth (* size th))
- (half-thickness (* sth 0.5)))
- (if (eq? orientation 'normal)
- (make-line-stencil sth half-thickness size
- (- fret-length half-thickness) size)
- (make-line-stencil sth 0 half-thickness
- 0 (- fret-length half-thickness)))))
+ (define (helper x)
+ (if (null? (cdr x))
+ (fret-stencil
+ (car x) fret-count string-count th
+ size orientation)
+ (ly:stencil-add
+ (fret-stencil
+ (car x) fret-count string-count th
+ size orientation)
+ (helper (cdr x)))))
+
+ (let* ((fret-list (iota (1+ fret-count))))
+ (helper fret-list)))
(define (draw-thick-zero-fret details string-count th size orientation)
- "Draw a thick zeroth fret for a fret diagram whose base fret is not 1."
+ "Draw a thick zeroth fret for a fret diagram whose base fret is 1."
(let* ((sth (* th size))
+ (half-thick (* 0.5 sth))
(top-fret-thick
- (* sth (assoc-get 'top-fret-thickness details 3.0)))
- (half-thick (* sth 0.5))
- (x1 half-thick)
- (x2 (+ half-thick (* size (- string-count 1))))
- (y1 (- half-thick))
- (y2 (+ top-fret-thick half-thick))
- (x-extent (cons (- x1) x2))
- (y-extent (cons sth top-fret-thick)))
- (if (eq? orientation 'normal)
- (ly:make-stencil (list 'round-filled-box x1 x2 y1 y2 sth)
- x-extent y-extent)
- (ly:make-stencil (list 'round-filled-box y1 y2 x1 x2 sth)
- y-extent x-extent))))
+ (* sth (assoc-get 'top-fret-thickness details 3.0)))
+ (start-string-coordinate (- half-thick))
+ (end-string-coordinate (+ (* size (1- string-count)) half-thick))
+ (start-fret-coordinate half-thick)
+ (end-fret-coordinate (- half-thick top-fret-thick))
+ (lower-left
+ (stencil-coordinates
+ start-fret-coordinate start-string-coordinate orientation))
+ (upper-right
+ (stencil-coordinates
+ end-fret-coordinate end-string-coordinate orientation)))
+ (make-filled-box-stencil
+ (cons (car lower-left) (car upper-right))
+ (cons (cdr lower-left) (cdr upper-right)))))
+
(define (draw-capo details string-count fret fret-count th size
dot-pos orientation)
"Draw a capo indicator across the full width of the fret-board
- at fret capo-fret."
- (let* ((sth (* th size))
- (capo-thick
- (* size (assoc-get 'capo-thickness details 0.5)))
- (half-thick (* capo-thick 0.5))
- (last-string-pos 0)
- (first-string-pos (* size (- string-count 1)))
- (fret-pos ( * size (if (eq? orientation 'normal)
- (+ 2 (- fret-count fret dot-pos))
- (1- (+ dot-pos fret))))))
- (if (eq? orientation 'normal)
- (make-line-stencil capo-thick
- last-string-pos fret-pos first-string-pos fret-pos)
- (make-line-stencil capo-thick
- fret-pos last-string-pos fret-pos first-string-pos))))
-
+at @var{fret}."
+(let* (;(sth (* th size))
+ (capo-thick
+ (* size (assoc-get 'capo-thickness details 0.5)))
+ (half-thick (* capo-thick 0.5))
+ (last-string-pos 0)
+ (first-string-pos (* size (- string-count 1)))
+ (fret-pos ( * size (1- (+ dot-pos fret))))
+ (start-point
+ (stencil-coordinates fret-pos first-string-pos orientation))
+ (end-point
+ (stencil-coordinates fret-pos last-string-pos orientation)))
+ (make-line-stencil
+ capo-thick
+ (car start-point) (cdr start-point)
+ (car end-point) (cdr end-point))))
(define (draw-frets fret-range string-count th size orientation)
"Draw the fret lines for a fret diagram with
@var{string-count} strings and frets as indicated in @var{fret-range}.
Line thickness is given by @var{th}, fret & string spacing by
@var{size}. Orientation is given by @var{orientation}."
- (let* ((fret-count (+ (- (cadr fret-range) (car fret-range)) 1))
- (fret-length (* (- string-count 1) size))
- (half-thickness (* th 0.5))
- (base-fret (car fret-range))
- (fret-zero (draw-fret-line string-count th size orientation)))
- (if (eq? orientation 'normal)
- (ly:stencil-combine-at-edge
- (draw-fret-lines fret-count string-count th size orientation)
- Y UP
- fret-zero
- (- size th))
- (ly:stencil-combine-at-edge
- fret-zero X RIGHT
- (draw-fret-lines fret-count string-count th size orientation)
- (- size th)))))
+ (let* ((my-fret-count (fret-count fret-range)))
+ (draw-fret-lines my-fret-count string-count th size orientation)))
(define (draw-dots layout props string-count fret-count
size finger-code
dot-position dot-radius dot-thickness dot-list orientation)
"Make dots for fret diagram."
- (let* ((details (chain-assoc-get 'fret-diagram-details props '()))
+ (let* ((details (merge-details 'fret-diagram-details props '()))
(scale-dot-radius (* size dot-radius))
(scale-dot-thick (* size dot-thickness))
(dot-color (assoc-get 'dot-color details 'black))
- (finger-xoffset -0.25)
- (finger-yoffset (* -0.5 size ))
+ (finger-label-padding 0.3)
(dot-label-font-mag
- (* scale-dot-radius (assoc-get 'dot-label-font-mag details 1.0)))
+ (* scale-dot-radius (assoc-get 'dot-label-font-mag details 1.0)))
(string-label-font-mag
- (* size (assoc-get 'string-label-font-mag details 0.6)))
+ (* size
+ (assoc-get 'string-label-font-mag details
+ (cond ((or (eq? orientation 'landscape)
+ (eq? orientation 'opposing-landscape))
+ 0.5)
+ (else 0.6)))))
(mypair (car dot-list))
(restlist (cdr dot-list))
(string (car mypair))
(fret (cadr mypair))
- (xpos (* size (if (eq? orientation 'normal)
- (- string-count string)
- (+ (- fret 1 ) dot-position))))
- (ypos (* size (if (eq? orientation 'normal)
- (+ 2 (- fret-count fret dot-position ))
- (- string-count string))))
+ (fret-coordinate (* size (+ (1- fret) dot-position)))
+ (string-coordinate (* size (- string-count string)))
+ (dot-coordinates
+ (stencil-coordinates fret-coordinate string-coordinate orientation))
(extent (cons (- scale-dot-radius) scale-dot-radius))
(finger (caddr mypair))
(finger (if (number? finger) (number->string finger) finger))
- (dotstencil (if (eq? dot-color 'white)
- (ly:stencil-add
- (make-circle-stencil
+ (dot-stencil (if (eq? dot-color 'white)
+ (ly:stencil-add
+ (make-circle-stencil
scale-dot-radius scale-dot-thick #t)
- (ly:stencil-in-color
+ (ly:stencil-in-color
(make-circle-stencil
- (- scale-dot-radius (* 0.5 scale-dot-thick))
- 0 #t)
+ (- scale-dot-radius (* 0.5 scale-dot-thick))
+ 0 #t)
1 1 1))
- (make-circle-stencil
- scale-dot-radius scale-dot-thick #t)))
- (positioned-dot (begin
- (ly:stencil-translate-axis
- (ly:stencil-translate-axis dotstencil xpos X)
- ypos Y)))
- (labeled-dot-stencil
- (if (or (eq? finger '())(eq? finger-code 'none))
- positioned-dot
- (if (eq? finger-code 'in-dot)
- (let* ((finger-label
- (centered-stencil
- (sans-serif-stencil
- layout props dot-label-font-mag finger))))
- (ly:stencil-translate-axis
- (ly:stencil-translate-axis
- (ly:stencil-add
- dotstencil
- (if (eq? dot-color 'white)
- finger-label
- (ly:stencil-in-color finger-label 1 1 1)))
- xpos X)
- ypos Y))
- (if (eq? finger-code 'below-string)
- (ly:stencil-add
- positioned-dot
- (if (eq? orientation 'normal)
- (ly:stencil-translate-axis
- (ly:stencil-translate-axis
- (centered-stencil
- (sans-serif-stencil
- layout props string-label-font-mag finger))
- xpos X)
- (* size finger-yoffset) Y)
- (ly:stencil-translate-axis
- (ly:stencil-translate-axis
- (centered-stencil
- (sans-serif-stencil
- layout props string-label-font-mag finger))
- (* size (+ 2 fret-count finger-yoffset)) X)
- ypos Y)))
- ;unknown finger-code
- positioned-dot)))))
+ (make-circle-stencil
+ scale-dot-radius scale-dot-thick #t)))
+ (positioned-dot (translate-stencil dot-stencil dot-coordinates))
+ (labeled-dot-stencil
+ (cond
+ ((or (eq? finger '())(eq? finger-code 'none))
+ positioned-dot)
+ ((eq? finger-code 'in-dot)
+ (let ((finger-label
+ (centered-stencil
+ (sans-serif-stencil
+ layout props dot-label-font-mag finger))))
+ (translate-stencil
+ (ly:stencil-add
+ dot-stencil
+ (if (eq? dot-color 'white)
+ finger-label
+ (ly:stencil-in-color finger-label 1 1 1)))
+ dot-coordinates)))
+ ((eq? finger-code 'below-string)
+ (let* ((label-stencil
+ (centered-stencil
+ (sans-serif-stencil
+ layout props string-label-font-mag
+ finger)))
+ (label-fret-offset
+ (stencil-fretboard-offset
+ label-stencil 'fret orientation))
+ (label-fret-coordinate
+ (+ (* size (+ 1 fret-count finger-label-padding))
+ label-fret-offset))
+ (label-string-coordinate string-coordinate)
+ (label-translation
+ (stencil-coordinates
+ label-fret-coordinate
+ label-string-coordinate
+ orientation)))
+ (ly:stencil-add
+ positioned-dot
+ (translate-stencil label-stencil label-translation))))
+ (else ;unknown finger-code
+ positioned-dot))))
(if (null? restlist)
- labeled-dot-stencil
- (ly:stencil-add
- (draw-dots
+ labeled-dot-stencil
+ (ly:stencil-add
+ (draw-dots
layout props string-count fret-count size finger-code
dot-position dot-radius dot-thickness restlist orientation)
- labeled-dot-stencil))))
+ labeled-dot-stencil))))
-(define (draw-xo layout props string-count fret-range size xo-list orientation)
+(define (draw-xo
+ layout props string-count fret-range size xo-list orientation)
"Put open and mute string indications on diagram, as contained in
@var{xo-list}."
- (let* ((details (chain-assoc-get 'fret-diagram-details props '()))
- (fret-count (+ (- (cadr fret-range) (car fret-range) 1)))
+ (let* ((details (merge-details 'fret-diagram-details props '()))
(xo-font-mag
- (* size (assoc-get 'xo-font-magnification details 0.5)))
- (xo-horizontal-offset (* size -0.35))
+ (* size (assoc-get
+ 'xo-font-magnification details
+ (cond ((or (eq? orientation 'landscape)
+ (eq? orientation 'opposing-landscape))
+ 0.4)
+ (else 0.4)))))
(mypair (car xo-list))
(restlist (cdr xo-list))
(glyph-string (if (eq? (car mypair) 'mute)
- (assoc-get 'mute-string details "X")
- (assoc-get 'open-string details "O")))
- (xpos
- (+ (* (- string-count (cadr mypair)) size) xo-horizontal-offset ))
- (glyph-stencil (if (eq? orientation 'normal)
- (ly:stencil-translate-axis
- (sans-serif-stencil
- layout props (* size xo-font-mag) glyph-string)
- xpos X)
- (ly:stencil-translate-axis
- (sans-serif-stencil
- layout props (* size xo-font-mag) glyph-string)
- xpos Y))))
+ (assoc-get 'mute-string details "X")
+ (assoc-get 'open-string details "O")))
+ (glyph-string-coordinate (* (- string-count (cadr mypair)) size))
+ (glyph-stencil
+ (centered-stencil
+ (sans-serif-stencil
+ layout props (* size xo-font-mag) glyph-string)))
+ (glyph-stencil-coordinates
+ (stencil-coordinates 0 glyph-string-coordinate orientation))
+ (positioned-glyph
+ (translate-stencil glyph-stencil glyph-stencil-coordinates)))
(if (null? restlist)
- glyph-stencil
+ positioned-glyph
(ly:stencil-add
(draw-xo
layout props string-count fret-range size restlist orientation)
- glyph-stencil))))
-
-(define (make-bezier-sandwich-list start stop base height thickness orientation)
- "Make the argument list for a bezier sandwich from
-@var{start} to @var{stop} with a baseline at @var{base}, a height of
-@var{height}, and a thickness of @var{thickness}. If @var{orientation} is
-@var{'normal}, @var{base} is a y coordinate, otherwise it's an x coordinate."
- (let* ((width (+ (- stop start) 1))
- (x1 (+ (* width thickness) start))
- (x2 (- stop (* width thickness)))
- (bottom-control-point-height
- (if (eq? orientation 'normal)
- (+ base (- height thickness))
- (- base (- height thickness))))
- (top-control-point-height
- (if (eq? orientation 'normal)
- (+ base height)
- (- base height))))
- ; order of bezier control points is:
- ; left cp low, right cp low, right end low, left end low
- ; right cp high, left cp high, left end high, right end high.
- (if (eq? orientation 'normal)
- (list (cons x1 bottom-control-point-height)
- (cons x2 bottom-control-point-height)
- (cons stop base)
- (cons start base)
- (cons x2 top-control-point-height)
- (cons x1 top-control-point-height)
- (cons start base)
- (cons stop base))
- (list (cons bottom-control-point-height x1)
- (cons bottom-control-point-height x2)
- (cons base stop)
- (cons base start)
- (cons top-control-point-height x2)
- (cons top-control-point-height x1)
- (cons base start)
- (cons base stop)))))
+ positioned-glyph))))
(define (draw-barre layout props string-count fret-range
- size finger-code dot-position dot-radius
- barre-list orientation)
+ size finger-code dot-position dot-radius
+ barre-list orientation)
"Create barre indications for a fret diagram"
(if (not (null? barre-list))
- (let* ((details (chain-assoc-get 'fret-diagram-details props '()))
- (string1 (caar barre-list))
- (string2 (cadar barre-list))
- (fret (caddar barre-list))
- (top-fret (cadr fret-range))
- (low-fret (car fret-range))
- (barre-type (assoc-get 'barre-type details 'curved))
- (scale-dot-radius (* size dot-radius))
- (barre-vertical-offset 0.5)
- ;; 2 is 1 for empty fret at bottom of figure + 1 for interval
- ;; (top-fret - fret + 1) -- not an arbitrary constant
- (dot-center-y
- (* size (- (+ 2 (- (cadr fret-range) fret)) dot-position)))
- (dot-center-fret-coordinate (+ (- fret low-fret) dot-position))
- (barre-fret-coordinate
- (+ dot-center-fret-coordinate
- (* (- barre-vertical-offset 0.5) dot-radius)))
- (barre-start-string-coordinate (- string-count string1))
- (barre-end-string-coordinate (- string-count string2))
- (bottom
- (+ dot-center-y (* barre-vertical-offset scale-dot-radius)))
- (left (* size (- string-count string1)))
- (right (* size (- string-count string2)))
- (bezier-thick 0.1)
- (bezier-height 0.5)
- (bezier-list
- (if (eq? orientation 'normal)
- (make-bezier-sandwich-list
- (* size barre-start-string-coordinate)
- (* size barre-end-string-coordinate)
- (* size (+ 2 (- top-fret
- (+ low-fret barre-fret-coordinate))))
- (* size bezier-height)
- (* size bezier-thick)
- orientation)
- (make-bezier-sandwich-list
- (* size barre-start-string-coordinate)
- (* size barre-end-string-coordinate)
- (* size barre-fret-coordinate)
- (* size bezier-height)
- (* size bezier-thick)
- orientation)))
+ (let* ((details (merge-details 'fret-diagram-details props '()))
+ (string1 (caar barre-list))
+ (string2 (cadar barre-list))
+ (barre-fret (caddar barre-list))
+ (top-fret (cdr fret-range))
+ (low-fret (car fret-range))
+ (fret (1+ (- barre-fret low-fret)))
+ (barre-vertical-offset 0.5)
+ (dot-center-fret-coordinate (+ (1- fret) dot-position))
+ (barre-fret-coordinate
+ (+ dot-center-fret-coordinate
+ (* (- barre-vertical-offset 0.5) dot-radius)))
+ (barre-start-string-coordinate (- string-count string1))
+ (barre-end-string-coordinate (- string-count string2))
+ (scale-dot-radius (* size dot-radius))
+ (barre-type (assoc-get 'barre-type details 'curved))
(barre-stencil
- (if (eq? barre-type 'straight)
- (if (eq? orientation 'normal)
- (make-line-stencil scale-dot-radius left dot-center-y
- right dot-center-y)
- (make-line-stencil scale-dot-radius
- (* size barre-fret-coordinate)
- (* size barre-start-string-coordinate)
- (* size barre-fret-coordinate)
- (* size barre-end-string-coordinate)))
- (if (eq? orientation 'normal)
- (ly:make-stencil
- (list 'bezier-sandwich
- `(quote ,bezier-list)
- (* size bezier-thick))
- (cons left right)
- (cons bottom (+ bottom (* size bezier-height))))
- (ly:make-stencil
- (list 'bezier-sandwich
- `(quote ,bezier-list)
- (* size bezier-thick))
- (cons bottom (+ bottom (* size bezier-height)))
- (cons left right))))))
- (if (not (null? (cdr barre-list)))
+ (cond
+ ((eq? barre-type 'straight)
+ (make-straight-barre-stencil size scale-dot-radius
+ barre-fret-coordinate barre-start-string-coordinate
+ barre-end-string-coordinate orientation))
+ ((eq? barre-type 'curved)
+ (make-curved-barre-stencil size scale-dot-radius
+ barre-fret-coordinate barre-start-string-coordinate
+ barre-end-string-coordinate orientation)))))
+(if (not (null? (cdr barre-list)))
(ly:stencil-add
- barre-stencil
- (draw-barre layout props string-count fret-range size finger-code
- dot-position dot-radius (cdr barre-list)))
+ barre-stencil
+ (draw-barre layout props string-count fret-range size finger-code
+ dot-position dot-radius (cdr barre-list) orientation))
barre-stencil ))))
-(define (stepmag mag)
- "Calculate the font step necessary to get a desired magnification"
- (* 6 (/ (log mag) (log 2))))
-
(define (label-fret layout props string-count fret-range size orientation)
"Label the base fret on a fret diagram"
- (let* ((details (chain-assoc-get 'fret-diagram-details props '()))
- (base-fret (car fret-range))
- (label-font-mag (assoc-get 'fret-label-font-mag details 0.5))
- (label-vertical-offset
- (assoc-get 'fret-label-vertical-offset details -0.2))
- (number-type (assoc-get 'number-type details 'roman-lower))
- (fret-count (+ (- (cadr fret-range) (car fret-range)) 1))
- (label-text
- (cond
- ((equal? number-type 'roman-lower)
- (fancy-format #f "~(~@r~)" base-fret))
- ((equal? number-type 'roman-upper)
- (fancy-format #f "~@r" base-fret))
- ((equal? 'arabic number-type)
- (fancy-format #f "~d" base-fret))
- (else (fancy-format #f "~(~@r~)" base-fret)))))
- (if (eq? orientation 'normal)
- (ly:stencil-translate-axis
- (sans-serif-stencil layout props (* size label-font-mag) label-text)
- (* size (+ fret-count label-vertical-offset)) Y)
- (ly:stencil-translate-axis
- (sans-serif-stencil layout props (* size label-font-mag) label-text)
- (* size (+ 1 label-vertical-offset)) X))))
-
-(define-builtin-markup-command (fret-diagram-verbose layout props marking-list)
+ (let* ((details (merge-details 'fret-diagram-details props '()))
+ (base-fret (car fret-range))
+ (label-font-mag (assoc-get 'fret-label-font-mag details 0.5))
+ (label-space (* 0.5 size))
+ (label-dir (assoc-get 'label-dir details RIGHT))
+ (label-vertical-offset
+ (assoc-get 'fret-label-vertical-offset details 0))
+ (number-type
+ (assoc-get 'number-type details 'roman-lower))
+ (label-text
+ (cond
+ ((equal? number-type 'roman-lower)
+ (fancy-format #f "~(~@r~)" base-fret))
+ ((equal? number-type 'roman-upper)
+ (fancy-format #f "~@r" base-fret))
+ ((equal? 'arabic number-type)
+ (fancy-format #f "~d" base-fret))
+ (else (fancy-format #f "~(~@r~)" base-fret))))
+ (label-stencil
+ (centered-stencil
+ (sans-serif-stencil
+ layout props (* size label-font-mag) label-text)))
+ (label-half-width
+ (stencil-fretboard-offset label-stencil 'string orientation))
+ (label-outside-diagram (+ label-space label-half-width)))
+ (translate-stencil
+ label-stencil
+ (stencil-coordinates
+ (1+ (* size label-vertical-offset))
+ (if (eq? label-dir LEFT)
+ (- label-outside-diagram)
+ (+ (* size (1- string-count)) label-outside-diagram))
+ orientation))))
+
+;;
+;;
+;; markup commands and associated functions
+;;
+;;
+;;
+
+(define (fret-parse-marking-list marking-list my-fret-count)
+ "Parse a fret-diagram-verbose marking list into component sublists"
+ (let* ((fret-range (cons 1 my-fret-count))
+ (capo-fret 0)
+ (barre-list '())
+ (dot-list '())
+ (xo-list '())
+ (output-alist '()))
+ (let parse-item ((mylist marking-list))
+ (if (not (null? mylist))
+ (let* ((my-item (car mylist)) (my-code (car my-item)))
+ (cond
+ ((or (eq? my-code 'open)(eq? my-code 'mute))
+ (set! xo-list (cons* my-item xo-list)))
+ ((eq? my-code 'barre)
+ (set! barre-list (cons* (cdr my-item) barre-list)))
+ ((eq? my-code 'capo)
+ (set! capo-fret (cadr my-item)))
+ ((eq? my-code 'place-fret)
+ (set! dot-list (cons* (cdr my-item) dot-list))))
+ (parse-item (cdr mylist)))))
+ ;; calculate fret-range
+ (let ((maxfret 0)
+ (minfret (if (> capo-fret 0) capo-fret 99)))
+ (let updatemax ((fret-list dot-list)) ;CHANGE THIS TO HELPER FUNCTION?
+ (if (null? fret-list)
+ '()
+ (let ((fretval (second (car fret-list))))
+ (if (> fretval maxfret) (set! maxfret fretval))
+ (if (< fretval minfret) (set! minfret fretval))
+ (updatemax (cdr fret-list)))))
+ (if (> maxfret my-fret-count)
+ (set! fret-range
+ (cons minfret
+ (let ((upfret (- (+ minfret my-fret-count) 1)))
+ (if (> maxfret upfret) maxfret upfret)))))
+ (set! capo-fret (1+ (- capo-fret minfret)))
+ ; subtract fret from dots
+ (set! dot-list (subtract-base-fret (- (car fret-range) 1) dot-list)))
+ (acons 'fret-range fret-range
+ (acons 'barre-list barre-list
+ (acons 'dot-list dot-list
+ (acons 'xo-list xo-list
+ (acons 'capo-fret capo-fret '())))))))
+
+(define (make-fret-diagram layout props marking-list)
+ "Make a fret diagram markup"
+ (let* (
+ ; note: here we get items from props that are needed in this routine,
+ ; or that are needed in more than one of the procedures
+ ; called from this routine. If they're only used in one of the
+ ; sub-procedure, they're obtained in that procedure
+ (size (chain-assoc-get 'size props 1.0)) ; needed for everything
+;TODO -- get string-count directly from length of stringTunings;
+; from FretBoard engraver, but not from markup call
+ (details (merge-details 'fret-diagram-details props '()))
+ (string-count
+ (assoc-get 'string-count details 6)) ; needed for everything
+ (my-fret-count
+ (assoc-get 'fret-count details 4)) ; needed for everything
+ (orientation
+ (assoc-get 'orientation details 'normal)) ; needed for everything
+ (finger-code
+ (assoc-get
+ 'finger-code details 'none)) ; needed for draw-dots and draw-barre
+ (default-dot-radius
+ (if (eq? finger-code 'in-dot) 0.425 0.25)) ; bigger dots if labeled
+ (default-dot-position
+ (if (eq? finger-code 'in-dot)
+ (- 0.95 default-dot-radius)
+ 0.6)) ; move up to make room for bigger if labeled
+ (dot-radius
+ (assoc-get
+ 'dot-radius details default-dot-radius)) ; needed for draw-dots
+ ; and draw-barre
+ (dot-position
+ (assoc-get
+ 'dot-position details default-dot-position)) ; needed for draw-dots
+ ; and draw-barre
+ (th
+ (* (ly:output-def-lookup layout 'line-thickness)
+ (chain-assoc-get 'thickness props 0.5))) ; needed for draw-frets
+ ; and draw-strings
+ (thickness-factor (assoc-get 'string-thickness-factor details 0))
+ (alignment
+ (chain-assoc-get 'align-dir props -0.4)) ; needed only here
+ (xo-padding
+ (* size (assoc-get 'xo-padding details 0.2))) ; needed only here
+ (parameters (fret-parse-marking-list marking-list my-fret-count))
+ (capo-fret (assoc-get 'capo-fret parameters 0))
+ (dot-list (cdr (assoc 'dot-list parameters)))
+ (xo-list (cdr (assoc 'xo-list parameters)))
+ (fret-range (cdr (assoc 'fret-range parameters)))
+ (my-fret-count (fret-count fret-range))
+ (barre-list (cdr (assoc 'barre-list parameters)))
+ (barre-type
+ (assoc-get 'barre-type details 'curved))
+ (fret-diagram-stencil
+ (ly:stencil-add
+ (draw-strings
+ string-count fret-range th thickness-factor size orientation)
+ (draw-frets fret-range string-count th size orientation))))
+ (if (and (not (null? barre-list))
+ (not (eq? 'none barre-type)))
+ (set! fret-diagram-stencil
+ (ly:stencil-add
+ (draw-barre layout props string-count fret-range size
+ finger-code dot-position dot-radius
+ barre-list orientation)
+ fret-diagram-stencil)))
+ (if (not (null? dot-list))
+ (set! fret-diagram-stencil
+ (ly:stencil-add
+ fret-diagram-stencil
+ (draw-dots layout props string-count my-fret-count
+ size finger-code dot-position dot-radius
+ th dot-list orientation))))
+ (if (= (car fret-range) 1)
+ (set! fret-diagram-stencil
+ (ly:stencil-add
+ fret-diagram-stencil
+ (draw-thick-zero-fret
+ details string-count th size orientation))))
+ (if (not (null? xo-list))
+ (let* ((diagram-fret-top
+ (car (stencil-fretboard-extent
+ fret-diagram-stencil
+ 'fret
+ orientation)))
+ (xo-stencil
+ (draw-xo layout props string-count fret-range
+ size xo-list orientation))
+ (xo-fret-offset
+ (stencil-fretboard-offset
+ xo-stencil 'fret orientation)))
+ (set! fret-diagram-stencil
+ (ly:stencil-add
+ fret-diagram-stencil
+ (translate-stencil
+ xo-stencil
+ (stencil-coordinates
+ (- diagram-fret-top
+ xo-fret-offset
+ (* size xo-padding))
+ 0 ; no string offset
+ orientation))))))
+
+ (if (> capo-fret 0)
+ (set! fret-diagram-stencil
+ (ly:stencil-add
+ fret-diagram-stencil
+ (draw-capo details string-count capo-fret my-fret-count
+ th size dot-position orientation))))
+ (if (> (car fret-range) 1)
+ (set! fret-diagram-stencil
+ (ly:stencil-add
+ fret-diagram-stencil
+ (label-fret
+ layout props string-count fret-range size orientation))))
+ (ly:stencil-aligned-to
+ (ly:stencil-aligned-to fret-diagram-stencil X alignment)
+ Y 0)))
+
+(define (fret-parse-definition-string props definition-string)
+ "Parse a fret diagram string and return a pair containing:
+@var{props}, modified as necessary by the definition-string
+a fret-indication list with the appropriate values"
+ (let* ((fret-count 4)
+ (string-count 6)
+ (fret-range (cons 1 fret-count))
+ (barre-list '())
+ (dot-list '())
+ (xo-list '())
+ (output-list '())
+ (new-props '())
+ (details (merge-details 'fret-diagram-details props '()))
+ (items (string-split definition-string #\;)))
+ (let parse-item ((myitems items))
+ (if (not (null? (cdr myitems)))
+ (let ((test-string (car myitems)))
+ (case (car (string->list (substring test-string 0 1)))
+ ((#\s) (let ((size (get-numeric-from-key test-string)))
+ (set! props (prepend-alist-chain 'size size props))))
+ ((#\f) (let* ((finger-code (get-numeric-from-key test-string))
+ (finger-id (case finger-code
+ ((0) 'none)
+ ((1) 'in-dot)
+ ((2) 'below-string))))
+ (set! details
+ (acons 'finger-code finger-id details))))
+ ((#\c) (set! output-list
+ (cons-fret
+ (cons
+ 'barre
+ (numerify
+ (string-split (substring test-string 2) #\-)))
+ output-list)))
+ ((#\h) (let ((fret-count (get-numeric-from-key test-string)))
+ (set! details
+ (acons 'fret-count fret-count details))))
+ ((#\w) (let ((string-count (get-numeric-from-key test-string)))
+ (set! details
+ (acons 'string-count string-count details))))
+ ((#\d) (let ((dot-size (get-numeric-from-key test-string)))
+ (set! details
+ (acons 'dot-radius dot-size details))))
+ ((#\p) (let ((dot-position (get-numeric-from-key test-string)))
+ (set! details
+ (acons 'dot-position dot-position details))))
+ (else
+ (let ((this-list (string-split test-string #\-)))
+ (if (string->number (cadr this-list))
+ (set! output-list
+ (cons-fret
+ (cons 'place-fret (numerify this-list))
+ output-list))
+ (if (equal? (cadr this-list) "x" )
+ (set! output-list
+ (cons-fret
+ (list 'mute (string->number (car this-list)))
+ output-list))
+ (set! output-list
+ (cons-fret
+ (list 'open (string->number (car this-list)))
+ output-list)))))))
+ (parse-item (cdr myitems)))))
+ ; add the modified details
+ (set! props
+ (prepend-alist-chain 'fret-diagram-details details props))
+ `(,props . ,output-list))) ;ugh -- hard-coded spell -- procedure better
+
+(define-public
+ (fret-parse-terse-definition-string props definition-string)
+ "Parse a fret diagram string that uses terse syntax;
+return a pair containing:
+@var{props}, modified to include the string-count determined by the
+definition-string, and
+a fret-indication list with the appropriate values"
+;TODO -- change syntax to fret\string-finger
+
+ (let* ((details (merge-details 'fret-diagram-details props '()))
+ (barre-start-list '())
+ (output-list '())
+ (new-props '())
+ (items (string-split definition-string #\;))
+ (string-count (- (length items) 1)))
+ (let parse-item ((myitems items))
+ (if (not (null? (cdr myitems)))
+ (let* ((test-string (car myitems))
+ (current-string (- (length myitems) 1))
+ (indicators (string-split test-string #\ )))
+ (let parse-indicators ((myindicators indicators))
+ (if (not (eq? '() myindicators))
+ (let* ((this-list (string-split (car myindicators) #\-))
+ (max-element-index (- (length this-list) 1))
+ (last-element
+ (car (list-tail this-list max-element-index)))
+ (fret
+ (if (string->number (car this-list))
+ (string->number (car this-list))
+ (car this-list))))
+ (if (equal? last-element "(")
+ (begin
+ (set! barre-start-list
+ (cons-fret (list current-string fret)
+ barre-start-list))
+ (set! this-list
+ (list-head this-list max-element-index))))
+ (if (equal? last-element ")")
+ (let* ((this-barre
+ (get-sub-list fret barre-start-list))
+ (insert-index (- (length this-barre) 1)))
+ (set! output-list
+ (cons-fret (cons* 'barre
+ (car this-barre)
+ current-string
+ (cdr this-barre))
+ output-list))
+ (set! this-list
+ (list-head this-list max-element-index))))
+ (if (number? fret)
+ (set!
+ output-list
+ (cons-fret (cons*
+ 'place-fret
+ current-string
+ (drop-paren (numerify this-list)))
+ output-list))
+ (if (equal? (car this-list) "x" )
+ (set!
+ output-list
+ (cons-fret
+ (list 'mute current-string)
+ output-list))
+ (set!
+ output-list
+ (cons-fret
+ (list 'open current-string)
+ output-list))))
+ (parse-indicators (cdr myindicators)))))
+ (parse-item (cdr myitems)))))
+ (set! details (acons 'string-count string-count details))
+ (set! props (prepend-alist-chain 'fret-diagram-details details props))
+ `(,props . ,output-list))) ; ugh -- hard coded; proc is better
+
+
+(define-builtin-markup-command
+ (fret-diagram-verbose layout props marking-list)
(pair?) ; argument type (list, but use pair? for speed)
instrument-specific-markup ; markup type
((align-dir -0.4) ; properties and defaults
(make-fret-diagram layout props marking-list))
-(define (make-fret-diagram layout props marking-list)
- "Make a fret diagram markup"
- (let* (
- ; note: here we get items from props that are needed in this routine,
- ; or that are needed in more than one of the procedures
- ; called from this routine. If they're only used in one of the
- ; sub-procedure, they're obtained in that procedure
- (size (chain-assoc-get 'size props 1.0)) ; needed for everything
-;TODO -- get string-count directly from length of stringTunings;
-; from FretBoard engraver, but not from markup call
-;TODO -- adjust padding for fret label? it appears to be too close to dots
- (details
- (chain-assoc-get
- 'fret-diagram-details props '())) ; fret diagram details
- (string-count
- (assoc-get 'string-count details 6)) ; needed for everything
- (fret-count
- (assoc-get 'fret-count details 4)) ; needed for everything
- (orientation
- (assoc-get 'orientation details 'normal)) ; needed for everything
- (finger-code
- (assoc-get
- 'finger-code details 'none)) ; needed for draw-dots and draw-barre
- (default-dot-radius
- (if (eq? finger-code 'in-dot) 0.425 0.25)) ; bigger dots if labeled
- (default-dot-position
- (if (eq? finger-code 'in-dot)
- (- 0.95 default-dot-radius)
- 0.6)) ; move up to make room for bigger if labeled
- (dot-radius
- (assoc-get
- 'dot-radius details default-dot-radius)) ; needed for draw-dots
- ; and draw-barre
- (dot-position
- (assoc-get
- 'dot-position details default-dot-position)) ; needed for draw-dots
- ; and draw-barre
- (th
- (* (ly:output-def-lookup layout 'line-thickness)
- (chain-assoc-get 'thickness props 0.5))) ; needed for draw-frets
- ; and draw-strings
- (alignment
- (chain-assoc-get 'align-dir props -0.4)) ; needed only here
- (xo-padding
- (* size (assoc-get 'xo-padding details 0.2))) ; needed only here
- (label-space (* 0.25 size))
- (label-dir (assoc-get 'label-dir details RIGHT))
- (parameters (fret-parse-marking-list marking-list fret-count))
- (capo-fret (assoc-get 'capo-fret parameters 0))
- (dot-list (cdr (assoc 'dot-list parameters)))
- (xo-list (cdr (assoc 'xo-list parameters)))
- (fret-range (cdr (assoc 'fret-range parameters)))
- (fret-count (1+ (- (cadr fret-range) (car fret-range))))
- (barre-list (cdr (assoc 'barre-list parameters)))
- (barre-type
- (assoc-get 'barre-type details 'curved))
- (fret-diagram-stencil
- (ly:stencil-add
- (draw-strings string-count fret-range th size orientation)
- (draw-frets fret-range string-count th size orientation))))
- (if (and (not (null? barre-list))
- (not (eq? 'none barre-type)))
- (set! fret-diagram-stencil
- (ly:stencil-add
- (draw-barre layout props string-count fret-range size
- finger-code dot-position dot-radius
- barre-list orientation)
- fret-diagram-stencil)))
- (if (not (null? dot-list))
- (set! fret-diagram-stencil
- (ly:stencil-add
- fret-diagram-stencil
- (draw-dots layout props string-count fret-count
- size finger-code dot-position dot-radius
- th dot-list orientation))))
- (if (= (car fret-range) 1)
- (set! fret-diagram-stencil
- (if (eq? orientation 'normal)
- (ly:stencil-combine-at-edge
- fret-diagram-stencil Y UP
- (draw-thick-zero-fret
- props string-count th size orientation))
- (ly:stencil-combine-at-edge
- fret-diagram-stencil X LEFT
- (draw-thick-zero-fret
- props string-count th size orientation)))))
- (if (not (null? xo-list))
- (set! fret-diagram-stencil
- (if (eq? orientation 'normal)
- (ly:stencil-combine-at-edge
- fret-diagram-stencil Y UP
- (draw-xo layout props string-count fret-range
- size xo-list orientation)
- xo-padding )
- (ly:stencil-combine-at-edge
- fret-diagram-stencil X LEFT
- (draw-xo layout props string-count fret-range
- size xo-list orientation)
- xo-padding))))
- (if (> capo-fret 0)
- (set! fret-diagram-stencil
- (ly:stencil-add
- fret-diagram-stencil
- (draw-capo details string-count capo-fret fret-count
- th size dot-position orientation))))
- (if (> (car fret-range) 1)
- (set! fret-diagram-stencil
- (if (eq? orientation 'normal)
- (ly:stencil-combine-at-edge
- fret-diagram-stencil X label-dir
- (label-fret layout props string-count fret-range
- size orientation)
- label-space)
- (ly:stencil-combine-at-edge
- fret-diagram-stencil Y label-dir
- (label-fret layout props string-count fret-range
- size orientation)
- label-space))))
- (ly:stencil-aligned-to fret-diagram-stencil X alignment)))
(define-builtin-markup-command (fret-diagram layout props definition-string)
(string?) ; argument type
Note: There is no limit to the number of fret indications per string.
@end itemize"
(let ((definition-list
- (fret-parse-definition-string props definition-string)))
+ (fret-parse-definition-string props definition-string)))
(fret-diagram-verbose-markup
layout (car definition-list) (cdr definition-list))))
-(define (fret-parse-definition-string props definition-string)
- "Parse a fret diagram string and return a pair containing:
- props, modified as necessary by the definition-string
- a fret-indication list with the appropriate values"
- (let* ((fret-count 4)
- (string-count 6)
- (fret-range (list 1 fret-count))
- (barre-list '())
- (dot-list '())
- (xo-list '())
- (output-list '())
- (new-props '())
- (details (merge-details 'fret-diagram-details props '()))
- (items (string-split definition-string #\;)))
- (let parse-item ((myitems items))
- (if (not (null? (cdr myitems)))
- (let ((test-string (car myitems)))
- (case (car (string->list (substring test-string 0 1)))
- ((#\s) (let ((size (get-numeric-from-key test-string)))
- (set! props (prepend-alist-chain 'size size props))))
- ((#\f) (let* ((finger-code (get-numeric-from-key test-string))
- (finger-id (case finger-code
- ((0) 'none)
- ((1) 'in-dot)
- ((2) 'below-string))))
- (set! details
- (acons 'finger-code finger-id details))))
- ((#\c) (set! output-list
- (cons-fret
- (cons
- 'barre
- (numerify
- (string-split (substring test-string 2) #\-)))
- output-list)))
- ((#\h) (let ((fret-count (get-numeric-from-key test-string)))
- (set! details
- (acons 'fret-count fret-count details))))
- ((#\w) (let ((string-count (get-numeric-from-key test-string)))
- (set! details
- (acons 'string-count string-count details))))
- ((#\d) (let ((dot-size (get-numeric-from-key test-string)))
- (set! details
- (acons 'dot-radius dot-size details))))
- ((#\p) (let ((dot-position (get-numeric-from-key test-string)))
- (set! details
- (acons 'dot-position dot-position details))))
- (else
- (let ((this-list (string-split test-string #\-)))
- (if (string->number (cadr this-list))
- (set! output-list
- (cons-fret
- (cons 'place-fret (numerify this-list))
- output-list))
- (if (equal? (cadr this-list) "x" )
- (set! output-list
- (cons-fret
- (list 'mute (string->number (car this-list)))
- output-list))
- (set! output-list
- (cons-fret
- (list 'open (string->number (car this-list)))
- output-list)))))))
- (parse-item (cdr myitems)))))
- ; add the modified details
- (set! props
- (prepend-alist-chain 'fret-diagram-details details props))
- `(,props . ,output-list))) ;ugh -- hard-coded spell -- procedure better
-
-(define (cons-fret new-value old-list)
- "Put together a fret-list in the format desired by parse-string"
- (if (eq? old-list '())
- (list new-value)
- (cons* new-value old-list)))
-
-(define (get-numeric-from-key keystring)
- "Get the numeric value from a key of the form k:val"
- (string->number (substring keystring 2 (string-length keystring))))
-
-(define (numerify mylist)
- "Convert string values to numeric or character"
- (if (null? mylist)
- '()
- (let ((numeric-value (string->number (car mylist))))
- (if numeric-value
- (cons* numeric-value (numerify (cdr mylist)))
- (cons* (car (string->list (car mylist)))
- (numerify (cdr mylist)))))))
-
(define-builtin-markup-command
(fret-diagram-terse layout props definition-string)
(string?) ; argument type
@end itemize"
;; TODO -- change syntax to fret\string-finger
(let ((definition-list
- (fret-parse-terse-definition-string props definition-string)))
+ (fret-parse-terse-definition-string props definition-string)))
(fret-diagram-verbose-markup layout
- (car definition-list)
- (cdr definition-list))))
+ (car definition-list)
+ (cdr definition-list))))
-(define-public
- (fret-parse-terse-definition-string props definition-string)
- "Parse a fret diagram string that uses terse syntax; return a pair containing:
- props, modified to include the string-count determined by the
- definition-string, and
- a fret-indication list with the appropriate values"
-;TODO -- change syntax to fret\string-finger
-
- (let* ((details (merge-details 'fret-diagram-details props '()))
- (barre-start-list '())
- (output-list '())
- (new-props '())
- (items (string-split definition-string #\;))
- (string-count (- (length items) 1)))
- (let parse-item ((myitems items))
- (if (not (null? (cdr myitems)))
- (let* ((test-string (car myitems))
- (current-string (- (length myitems) 1))
- (indicators (string-split test-string #\ )))
- (let parse-indicators ((myindicators indicators))
- (if (not (eq? '() myindicators))
- (let* ((this-list (string-split (car myindicators) #\-))
- (max-element-index (- (length this-list) 1))
- (last-element
- (car (list-tail this-list max-element-index)))
- (fret
- (if (string->number (car this-list))
- (string->number (car this-list))
- (car this-list))))
- (if (equal? last-element "(")
- (begin
- (set! barre-start-list
- (cons-fret (list current-string fret)
- barre-start-list))
- (set! this-list
- (list-head this-list max-element-index))))
- (if (equal? last-element ")")
- (let* ((this-barre
- (get-sub-list fret barre-start-list))
- (insert-index (- (length this-barre) 1)))
- (set! output-list
- (cons-fret (cons* 'barre
- (car this-barre)
- current-string
- (cdr this-barre))
- output-list))
- (set! this-list
- (list-head this-list max-element-index))))
- (if (number? fret)
- (set!
- output-list
- (cons-fret (cons*
- 'place-fret
- current-string
- (drop-paren (numerify this-list)))
- output-list))
- (if (equal? (car this-list) "x" )
- (set!
- output-list
- (cons-fret
- (list 'mute current-string)
- output-list))
- (set!
- output-list
- (cons-fret
- (list 'open current-string)
- output-list))))
- (parse-indicators (cdr myindicators)))))
- (parse-item (cdr myitems)))))
- (set! details (acons 'string-count string-count details))
- (set! props (prepend-alist-chain 'fret-diagram-details details props))
- `(,props . ,output-list))) ; ugh -- hard coded; proc is better
-(define (drop-paren item-list)
- "Drop a final parentheses from a fret indication list
- resulting from a terse string specification of barre."
- (if (> (length item-list) 0)
- (let* ((max-index (- (length item-list) 1))
- (last-element (car (list-tail item-list max-index))))
- (if (or (equal? last-element ")") (equal? last-element "("))
- (list-head item-list max-index)
- item-list))
- item-list))
-
-(define (get-sub-list value master-list)
- "Get a sub-list whose cadr is equal to @var{value} from @var{master-list}"
- (if (eq? master-list '())
- #f
- (let ((sublist (car master-list)))
- (if (equal? (cadr sublist) value)
- sublist
- (get-sub-list value (cdr master-list))))))
-
-(define (merge-details key alist-list . default)
- "Return ALIST-LIST entries for key, in one combined alist.
- There can be two ALIST-LIST entries for a given key. The first
- comes from the override-markup function, the second comes
- from property settings during a regular override.
- This is necessary because some details can be set in one
- place, while others are set in the other. Both details
- lists must be merged into a single alist.
- Return DEFAULT (optional, else #f) if not
- found."
-
- (define (helper key alist-list default)
- (if (null? alist-list)
- default
- (let* ((handle (assoc key (car alist-list))))
- (if (pair? handle)
- (append (cdr handle) (chain-assoc-get key (cdr alist-list) '()))
- (helper key (cdr alist-list) default)))))
-
- (helper key alist-list
- (if (pair? default) (car default) #f)))
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2007--2008 Joe Neeman <joeneeman@gmail.com>
+;;;; (c) 2007--2009 Joe Neeman <joeneeman@gmail.com>
(define-module (scm graphviz)
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2008 Reinhold Kainhofer <reinhold@kainhofer.com>
+;;;; (c) 2008--2009 Reinhold Kainhofer <reinhold@kainhofer.com>
;;
;; source file of the GNU LilyPond music typesetter
;;
-;; (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;; (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;
(define-module (scm kpathsea))
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2000--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; (c) 2000--2009 Jan Nieuwenhuizen <janneke@gnu.org>
;;;;
(define ((check-beam-quant posl posr) beam posns)
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2004--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; (c) 2004--2009 Jan Nieuwenhuizen <janneke@gnu.org>
;;;; Han-Wen Nienhuys <hanwen@xs4all.nl>
(define-module (scm layout-page-layout)
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2000--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; (c) 2000--2009 Jan Nieuwenhuizen <janneke@gnu.org>
;
; this is put into the slur-details property of Slur and PhrasingSlur
(define default-slur-details
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
;;;; Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; don't confuse users with #<procedure .. > syntax.
;;
(define-public (scm->string val)
- (if (and (procedure? val) (symbol? (procedure-name val)))
+ (if (and (procedure? val)
+ (symbol? (procedure-name val)))
(symbol->string (procedure-name val))
(string-append
- (if (self-evaluating? val) "" "'")
- (call-with-output-string (lambda (port) (display val port))))))
+ (if (self-evaluating? val)
+ (if (string? val)
+ "\""
+ "")
+ "'")
+ (call-with-output-string (lambda (port) (display val port)))
+ (if (string? val)
+ "\""
+ ""))))
(define-public (!= lst r)
(not (= lst r)))
-;;;; lily.scm -- toplevel Scheme stuff
+;;;; lily.scm -- top-level Scheme stuff
;;;;
;;;; source file of the GNU LilyPond music typesetter
-;;;;
-;;;; (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;;
+;;;; (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
;;;; Han-Wen Nienhuys <hanwen@xs4all.nl>
;; Internationalisation: (_i "to be translated") gets an entry in the
-;; POT file (gettext ) must be invoked explicitely to do the actual
+;; POT file; (gettext ...) must be invoked explicitly to do the actual
;; "translation".
-;;(define-macro (_i x) x)
-;;(define-macro-public _i (x) x)
-;;(define-public-macro _i (x) x)
+;;
+;; (define-macro (_i x) x)
+;; (define-macro-public _i (x) x)
+;; (define-public-macro _i (x) x)
;; Abbrv-PWR!
+
(defmacro-public _i (x) x)
(read-enable 'positions)
(define scheme-options-definitions
`(
-
;; NAMING: either
;; - [subject-]object-object-verb +"ing"
;; - [subject-]-verb-object-object
- (anti-alias-factor 1 "render at higher resolution and scale down result\nto prevent jaggies in PNG")
- (backend ps "which backend to use by default; Options: eps, null, ps [default], scm, svg)")
- (check-internal-types #f "check every property assignment for types")
- (clip-systems #f "Generate cut-out snippets of a score")
- (datadir #f "LilyPond prefix for data files (Readonly).")
- (debug-gc #f "dump memory debugging statistics")
- (debug-gc-assert-parsed-dead #f "for memory debugging:
-ensure that all refs to parsed objects are dead. This is an internal option, and is switched on automatically for -ddebug-gc.")
- (debug-lexer #f "debug the flex lexer")
- (debug-page-breaking-scoring #f "dump scores for many different page breaking configurations")
- (debug-parser #f "debug the bison parser")
- (debug-property-callbacks #f "debug cyclic callback chains")
- (debug-skylines #f "debug skylines")
+ ;; Avoid overlong lines in `lilypond -dhelp'! Strings should not
+ ;; be longer than 48 characters per line.
+
+ (anti-alias-factor 1
+"Render at higher resolution (using given factor)
+and scale down result to prevent jaggies in
+PNG images.")
+ (backend ps
+"Select backend. Possible values: 'eps, 'null,
+'ps, 'scm, 'svg.")
+ (check-internal-types #f
+"Check every property assignment for types.")
+ (clip-systems #f
+"Generate cut-out snippets of a score.")
+ (datadir #f
+"LilyPond prefix for data files (read-only).")
+ (debug-gc #f
+"Dump memory debugging statistics.")
+ (debug-gc-assert-parsed-dead #f
+"For memory debugging: Ensure that all
+references to parsed objects are dead. This is
+an internal option, and is switched on
+automatically for `-ddebug-gc'.")
+ (debug-lexer #f
+"Debug the flex lexer.")
+ (debug-page-breaking-scoring #f
+"Dump scores for many different page breaking
+configurations.")
+ (debug-parser #f
+"Debug the bison parser.")
+ (debug-property-callbacks #f
+"Debug cyclic callback chains.")
+ (debug-skylines #f
+"Debug skylines.")
(delete-intermediate-files #f
- "delete unusable PostScript files")
- (dump-profile #f "dump memory and time information for each file")
- (dump-cpu-profile #f "dump timing information (system-dependent)")
- (dump-signatures #f "dump output signatures of each system. Used for regression testing.")
-
- (eps-box-padding #f "Pad EPS bounding box left edge. Guarantee alignment between systems in LaTeX.")
+"Delete unusable, intermediate PostScript files.")
+ (dump-profile #f
+"Dump memory and time information for each file.")
+ (dump-cpu-profile #f
+"Dump timing information (system-dependent).")
+ (dump-signatures #f
+"Dump output signatures of each system. Used for
+regression testing.")
+ (eps-box-padding #f
+"Pad left edge of the output EPS bounding box by
+given amount (in mm).")
(gs-load-fonts #f
- "load fonts via Ghostscript.")
+"Load fonts via Ghostscript.")
(gs-load-lily-fonts #f
- "load only lilypond fonts via Ghostscript.")
- (gui #f "running from gui; redirect stderr to log file")
- (help #f "show this help.")
- (include-book-title-preview #t "include book-titles in preview images.")
- (include-eps-fonts #t "Include fonts in separate-system EPS files.")
- (job-count #f "Process in parallel")
- (log-file #f "redirect output to log FILE.log")
+"Load only LilyPond fonts via Ghostscript.")
+ (gui #f
+"Run LilyPond from a GUI and redirect stderr to
+a log file.")
+ (help #f
+"Show this help.")
+ (include-book-title-preview #t
+"Include book titles in preview images.")
+ (include-eps-fonts #t
+"Include fonts in separate-system EPS files.")
+ (job-count #f
+"Process in parallel, using the given number of
+jobs.")
+ (log-file #f
+"If string FOO is given as argument, redirect
+output to log file `FOO.log'.")
(midi-extension ,(if (eq? PLATFORM 'windows)
"mid"
"midi")
- "set the default file extension for MIDI")
-
+"Set the default file extension for MIDI output
+file to given string.")
(old-relative #f
- "relative for simultaneous music works
-similar to chord syntax")
- (point-and-click #t "use point & click")
- (paper-size "a4" "the default paper size")
- (pixmap-format "png16m" "GS format to use for pixel images")
- (preview #f "make a incipit image. ")
- (print-pages #t "print pages normally. ")
- (protected-scheme-parsing #t "continue when finding errors in inline
-scheme are caught in the parser. If off, halt
-on errors, and print a stack trace.")
- (profile-property-accesses #f "keep statistics of get_property() calls.")
-
- (resolution 101 "resolution for generating PNG bitmaps")
- (read-file-list #f "Read files to be processed from command line arguments")
- (relative-includes #f "When processing an \\include command, look for the included file
-relative to the current file (instead of the root file)")
-
- (safe #f "Run safely")
- (strict-infinity-checking #f "If yes, crash on encountering Inf/NaN.")
- (strip-output-dir #t "If yes, strip directories from input files.")
- (separate-log-files #f "Output to FILE.log per file.")
- (trace-memory-frequency #f "Record Scheme cell usage this many times per second, and dump to file.")
- (trace-scheme-coverage #f "Record coverage of Scheme files")
+"Make \\relative mode for simultaneous music work
+similar to chord syntax.")
+ (point-and-click #t
+"Add point & click links to PDF output.")
+ (paper-size "a4"
+"Set default paper size.")
+ (pixmap-format "png16m"
+"Set GhostScript's output format for pixel images.")
+ (preview #f
+"Create PNG and EPS preview images also.")
+ (print-pages #t
+"Print pages in the normal way.")
+ (protected-scheme-parsing #t
+"Continue when errors in inline scheme are caught
+in the parser. If #f, halt on errors and print
+a stack trace.")
+ (profile-property-accesses #f
+"Keep statistics of get_property() calls.")
+ (resolution 101
+"Set resolution for generating PNG pixmaps to
+given value (in dpi).")
+ (read-file-list #f
+"Specify name of a file which contains a list of
+input files to be processed.")
+ (relative-includes #f
+"When processing an \\include command, look for
+the included file relative to the current file
+(instead of the root file)")
+ (safe #f
+"Run in safer mode.")
+ (strict-infinity-checking #f
+"Force a crash on encountering Inf and NaN
+floating point exceptions.")
+ (strip-output-dir #t
+"Don't use directories from input files while
+constructing output file names.")
+ (separate-log-files #f
+"For input files `FILE1.ly', `FILE2.ly', ...
+output log data to files `FILE1.log',
+`FILE2.log', ...")
+ (trace-memory-frequency #f
+"Record Scheme cell usage this many times per
+second. Dump results to `FILE.stacks' and
+`FILE.graph'.")
+ (trace-scheme-coverage #f
+"Record coverage of Scheme files in `FILE.cov'.")
(show-available-fonts #f
- "List font names available.")
- (verbose ,(ly:command-line-verbose?) "value for the --verbose flag")
+"List available font names.")
+ (verbose ,(ly:command-line-verbose?)
+"Value of the --verbose flag (read-only).")
))
-;; need to do this in the beginning. Other parts of the
-;; Scheme init depend on these options.
-;;
-(for-each
- (lambda (x)
- (ly:add-option (car x) (cadr x) (caddr x)))
- scheme-options-definitions)
+;; Need to do this in the beginning. Other parts of the Scheme
+;; initialization depend on these options.
-(for-each
- (lambda (x)
- (ly:set-option (car x) (cdr x)))
- (eval-string (ly:command-line-options)))
+(for-each (lambda (x)
+ (ly:add-option (car x) (cadr x) (caddr x)))
+ scheme-options-definitions)
+
+(for-each (lambda (x)
+ (ly:set-option (car x) (cdr x)))
+ (eval-string (ly:command-line-options)))
(debug-set! stack 0)
(srfi srfi-14)
(scm clip-region)
(scm memory-trace)
- (scm coverage)
- )
-(define-public fancy-format format)
+ (scm coverage))
+
+(define-public fancy-format
+ format)
+
(define-public (ergonomic-simple-format dest . rest)
"Like ice-9 format, but without the memory consumption."
-
(if (string? dest)
(apply simple-format (cons #f (cons dest rest)))
(apply simple-format (cons dest rest))))
-(define format ergonomic-simple-format)
+(define format
+ ergonomic-simple-format)
;; my display
-(define-public (myd k v) (display k) (display ": ") (display v) (display ", ")
+(define-public (myd k v)
+ (display k)
+ (display ": ")
+ (display v)
+ (display ", ")
v)
(define-public (print . args)
(apply format (cons (current-output-port) args)))
-;;; General settings
-;;; debugging evaluator is slower. This should
-;;; have a more sensible default.
+;;; General settings.
+;;;
+;;; Debugging evaluator is slower. This should have a more sensible
+;;; default.
(if (or (ly:get-option 'verbose)
(ly:get-option 'trace-memory-frequency)
- (ly:get-option 'trace-scheme-coverage)
- )
+ (ly:get-option 'trace-scheme-coverage))
(begin
(ly:set-option 'protected-scheme-parsing #f)
(debug-enable 'debug)
(debug-enable 'backtrace)
(read-enable 'positions)))
-
(if (ly:get-option 'trace-scheme-coverage)
(coverage:enable))
(case PLATFORM
((windows)
- (define native-getcwd getcwd)
+ (define native-getcwd
+ getcwd)
+
(define (slashify x)
(if (string-index x #\\)
x
(string-regexp-substitute
"//*" "/"
(string-regexp-substitute "\\\\" "/" x))))
+
;; FIXME: this prints a warning.
(define-public (ly-getcwd)
(slashify (native-getcwd))))
- (else (define-public ly-getcwd getcwd)))
+
+ (else
+ (define-public ly-getcwd
+ getcwd)))
(define-public (is-absolute? file-name)
(let ((file-name-length (string-length file-name)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define (type-check-list location signature arguments)
- "Typecheck a list of arguments against a list of type
-predicates. Print a message at LOCATION if any predicate failed."
-
- (define (recursion-helper signature arguments count)
- (define (helper pred? arg count)
+ "Typecheck a list of arguments against a list of type predicates.
+Print a message at LOCATION if any predicate failed."
+ (define (recursion-helper signature arguments count)
+ (define (helper pred? arg count)
(if (not (pred? arg))
-
(begin
(ly:input-message
location
#t
(and (helper (car signature) (car arguments) count)
(recursion-helper (cdr signature) (cdr arguments) (1+ count)))))
-
(recursion-helper signature arguments 1))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; output
-
-;;(define-public (output-framework) (write "hello\n"))
+;; (define-public (output-framework) (write "hello\n"))
(define output-ps-module
(make-module 1021 (list (resolve-interface '(scm output-ps)))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Safe definitions utility
-(define safe-objects (list))
+
+(define safe-objects
+ (list))
(define-macro (define-safe-public arglist . body)
- "Define a variable, export it, and mark it as safe, ie usable in LilyPond safe mode.
-The syntax is the same as `define*-public'."
+ "Define a variable, export it, and mark it as safe, i.e. usable in
+LilyPond safe mode. The syntax is the same as `define*-public'."
(define (get-symbol arg)
(if (pair? arg)
(get-symbol (car arg))
arg))
+
(let ((safe-symbol (get-symbol arglist)))
`(begin
(define*-public ,arglist
(ly:set-default-scale (ly:make-scale #(0 1 2 5/2 7/2 9/2 11/2)))
-
-
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; other files.
-
-(define
- init-scheme-files
+(define init-scheme-files
'("lily-library.scm"
- "file-cache.scm"
- "define-event-classes.scm"
- "define-music-types.scm"
- "output-lib.scm"
- "c++.scm"
- "chord-ignatzek-names.scm"
- "chord-entry.scm"
- "chord-generic-names.scm"
- "stencil.scm"
- "markup.scm"
- "music-functions.scm"
- "part-combiner.scm"
- "autochange.scm"
- "define-music-properties.scm"
- "auto-beam.scm"
- "chord-name.scm"
-
- "parser-ly-from-scheme.scm"
- "ly-syntax-constructors.scm"
-
- "define-context-properties.scm"
- "translation-functions.scm"
- "script.scm"
- "midi.scm"
- "layout-beam.scm"
- "parser-clef.scm"
- "layout-slur.scm"
- "font.scm"
- "encoding.scm"
-
- "flag-styles.scm"
- "fret-diagrams.scm"
- "harp-pedals.scm"
- "predefined-fretboards.scm"
- "define-markup-commands.scm"
- "define-grob-properties.scm"
- "define-grobs.scm"
- "define-grob-interfaces.scm"
- "define-stencil-commands.scm"
- "titling.scm"
-
- "paper.scm"
- "backend-library.scm"
- "x11-color.scm"
-
- ;; must be after everything has been defined
- "safe-lily.scm"))
-
+ "file-cache.scm"
+ "define-event-classes.scm"
+ "define-music-types.scm"
+ "output-lib.scm"
+ "c++.scm"
+ "chord-ignatzek-names.scm"
+ "chord-entry.scm"
+ "chord-generic-names.scm"
+ "stencil.scm"
+ "markup.scm"
+ "music-functions.scm"
+ "part-combiner.scm"
+ "autochange.scm"
+ "define-music-properties.scm"
+ "auto-beam.scm"
+ "chord-name.scm"
+
+ "parser-ly-from-scheme.scm"
+ "ly-syntax-constructors.scm"
+
+ "define-context-properties.scm"
+ "translation-functions.scm"
+ "script.scm"
+ "midi.scm"
+ "layout-beam.scm"
+ "parser-clef.scm"
+ "layout-slur.scm"
+ "font.scm"
+ "encoding.scm"
+
+ "flag-styles.scm"
+ "fret-diagrams.scm"
+ "harp-pedals.scm"
+ "predefined-fretboards.scm"
+ "define-markup-commands.scm"
+ "define-grob-properties.scm"
+ "define-grobs.scm"
+ "define-grob-interfaces.scm"
+ "define-stencil-commands.scm"
+ "titling.scm"
+
+ "paper.scm"
+ "backend-library.scm"
+ "x11-color.scm"
+
+ ;; must be after everything has been defined
+ "safe-lily.scm"))
(for-each ly:load init-scheme-files)
-
(set! type-p-name-alist
- `(
- (,boolean-or-symbol? . "boolean or symbol")
+ `((,boolean-or-symbol? . "boolean or symbol")
(,boolean? . "boolean")
(,char? . "char")
(,grob-list? . "list of grobs")
(,number-or-string? . "number or string")
(,number-pair? . "pair of numbers")
(,number? . "number")
- (,output-port? . "output port")
+ (,output-port? . "output port")
(,pair? . "pair")
(,procedure? . "procedure")
(,rhythmic-location? . "rhythmic location")
(define (profile-measurements)
(let* ((t (times))
(stats (gc-stats)))
-
- (list
- (- (+ (tms:cutime t)
- (tms:utime t))
- (ly:assoc-get 'gc-time-taken stats))
-
- (ly:assoc-get 'total-cells-allocated stats 0)
- )))
+ (list (- (+ (tms:cutime t)
+ (tms:utime t))
+ (ly:assoc-get 'gc-time-taken stats))
+ (ly:assoc-get 'total-cells-allocated stats 0))))
(define (dump-profile base last this)
- (let*
- ((outname (format "~a.profile" (dir-basename base ".ly")))
- (diff (map (lambda (y) (apply - y)) (zip this last))))
-
+ (let* ((outname (format "~a.profile" (dir-basename base ".ly")))
+ (diff (map (lambda (y) (apply - y)) (zip this last))))
(ly:progress "\nWriting timing to ~a..." outname)
(format (open-file outname "w")
"time: ~a\ncells: ~a\n"
(if (ly:get-option 'dump-cpu-profile)
(car diff)
0)
- (cadr diff)
- )))
-
+ (cadr diff))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; debug mem leaks
+;; debug memory leaks
+
+(define gc-dumping
+ #f)
-(define gc-dumping #f)
-(define gc-protect-stat-count 0)
+(define gc-protect-stat-count
+ 0)
(define-public (dump-live-object-stats outfile)
- (for-each
- (lambda (x)
- (format outfile "~a: ~a\n" (car x) (cdr x)))
- (sort (gc-live-object-stats)
- (lambda (x y)
- (string<? (car x) (car y))))))
+ (for-each (lambda (x)
+ (format outfile "~a: ~a\n" (car x) (cdr x)))
+ (sort (gc-live-object-stats)
+ (lambda (x y)
+ (string<? (car x) (car y))))))
(define-public (dump-gc-protects)
(set! gc-protect-stat-count (1+ gc-protect-stat-count))
- (let* ((protects (sort
- (hash-table->alist (ly:protects))
- (lambda (a b)
- (< (object-address (car a))
- (object-address (car b))))))
-
+ (let* ((protects (sort (hash-table->alist (ly:protects))
+ (lambda (a b)
+ (< (object-address (car a))
+ (object-address (car b))))))
(out-file-name (string-append
"gcstat-" (number->string gc-protect-stat-count)
".scm"))
- (outfile (open-file out-file-name "w")))
-
+ (outfile (open-file out-file-name "w")))
(set! gc-dumping #t)
(display (format "Dumping GC statistics ~a...\n" out-file-name))
- (display
- (map (lambda (y)
- (let ((x (car y))
- (c (cdr y)))
- (display
- (format "~a (~a) = ~a\n" (object-address x) c x)
- outfile)))
- (filter
- (lambda (x)
- (not (symbol? (car x))))
- protects))
- outfile)
-
+ (display (map (lambda (y)
+ (let ((x (car y))
+ (c (cdr y)))
+ (display
+ (format "~a (~a) = ~a\n" (object-address x) c x)
+ outfile)))
+ (filter
+ (lambda (x)
+ (not (symbol? (car x))))
+ protects))
+ outfile)
(format outfile "\nprotected symbols: ~a\n"
- (apply + (map (lambda (obj-count) (if (symbol? (car obj-count))
- (cdr obj-count)
- 0))
- protects)))
+ (apply + (map (lambda (obj-count)
+ (if (symbol? (car obj-count))
+ (cdr obj-count)
+ 0))
+ protects)))
;; (display (ly:smob-protects))
(newline outfile)
(ly:set-option 'debug-gc-assert-parsed-dead #t)
(gc)
(ly:set-option 'debug-gc-assert-parsed-dead #f)
-
(set! stats (gc-live-object-stats))
(display "Dumping live object statistics.\n")
(dump-live-object-stats outfile)))
-
(newline outfile)
- (let*
- ((stats (gc-stats)))
-
- (for-each
- (lambda (sym)
- (display
- (format "~a ~a ~a\n"
- gc-protect-stat-count
- sym
- (let ((sym-stat (assoc sym stats)))
- (if sym-stat
- (cdr sym-stat)
- "?")))
- outfile))
- '(protected-objects bytes-malloced cell-heap-size
-
- )))
-
+ (let* ((stats (gc-stats)))
+ (for-each (lambda (sym)
+ (display
+ (format "~a ~a ~a\n"
+ gc-protect-stat-count
+ sym
+ (let ((sym-stat (assoc sym stats)))
+ (if sym-stat
+ (cdr sym-stat)
+ "?")))
+ outfile))
+ '(protected-objects bytes-malloced cell-heap-size)))
(set! gc-dumping #f)
- (close-port outfile)
-
- ))
-
+ (close-port outfile)))
(define (check-memory)
- "read /proc/self to check up on memory use."
+ "Read `/proc/self' to check up on memory use."
(define (gulp-file name)
(let* ((file (open-input-file name))
(text (read-delimited "" file)))
(close file)
text))
- (let*
- ((stat (gulp-file "/proc/self/status"))
- (lines (string-split stat #\newline))
- (interesting (filter identity
- (map
- (lambda (l)
- (string-match "^VmData:[ \t]*([0-9]*) kB" l))
- lines)))
- (mem (string->number (match:substring (car interesting) 1)))
- )
-
-
+
+ (let* ((stat (gulp-file "/proc/self/status"))
+ (lines (string-split stat #\newline))
+ (interesting (filter identity
+ (map
+ (lambda (l)
+ (string-match "^VmData:[ \t]*([0-9]*) kB" l))
+ lines)))
+ (mem (string->number (match:substring (car interesting) 1))))
(display (format "VMDATA: ~a\n" mem))
(display (gc-stats))
(if (> mem 100000)
- (begin
- (dump-gc-protects)
- (raise 1)))
-
- ))
+ (begin (dump-gc-protects)
+ (raise 1)))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
(define (multi-fork count)
- "Split this process in COUNT helpers. Returns either a list of pids,
-or the number of the process."
+ "Split this process into COUNT helpers. Returns either a list of
+PIDs or the number of the process."
(define (helper count acc)
(if (> count 0)
- (let*
- ((pid (primitive-fork)))
- (if (= pid 0)
- (1- count)
- (helper (1- count) (cons pid acc))))
- acc))
+ (let* ((pid (primitive-fork)))
+ (if (= pid 0)
+ (1- count)
+ (helper (1- count) (cons pid acc))))
+ acc))
+
(helper count '()))
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define-public (lilypond-main files)
"Entry point for LilyPond."
-
(eval-string (ly:command-line-code))
-
(if (ly:get-option 'help)
- (begin
- (ly:option-usage)
- (exit 0)))
-
+ (begin (ly:option-usage)
+ (exit 0)))
(if (ly:get-option 'show-available-fonts)
- (begin
- (ly:font-config-display-fonts)
- (exit 0)
- ))
-
-
+ (begin (ly:font-config-display-fonts)
+ (exit 0)))
(if (ly:get-option 'gui)
(gui-main files))
-
(if (null? files)
- (begin
- (ly:usage)
- (exit 2)))
-
+ (begin (ly:usage)
+ (exit 2)))
(if (ly:get-option 'read-file-list)
(set! files
(filter (lambda (s)
(> (string-length s) 0))
(apply append
- (map (lambda (f) (string-split (ly:gulp-file f) #\nl))
- files)))
- ))
-
+ (map (lambda (f)
+ (string-split (ly:gulp-file f) #\nl))
+ files)))))
(if (and (number? (ly:get-option 'job-count))
(>= (length files) (ly:get-option 'job-count)))
- (let*
- ((count (ly:get-option 'job-count))
- (split-todo (split-list files count))
- (joblist (multi-fork count))
- (errors '()))
-
+ (let* ((count (ly:get-option 'job-count))
+ (split-todo (split-list files count))
+ (joblist (multi-fork count))
+ (errors '()))
(if (not (string-or-symbol? (ly:get-option 'log-file)))
(ly:set-option 'log-file "lilypond-multi-run"))
-
(if (number? joblist)
- (begin
- (ly:set-option
- 'log-file (format "~a-~a"
- (ly:get-option 'log-file) joblist))
- (set! files (vector-ref split-todo joblist)))
-
- (begin
- (ly:progress "\nForking into jobs: ~a\n" joblist)
- (for-each
- (lambda (pid)
- (let* ((stat (cdr (waitpid pid))))
-
- (if (not (= stat 0))
- (set! errors
- (acons (list-element-index joblist pid)
- stat errors)))))
- joblist)
-
- (for-each
- (lambda (x)
- (let* ((job (car x))
- (state (cdr x))
- (logfile (format "~a-~a.log"
- (ly:get-option 'log-file) job))
- (log (ly:gulp-file logfile))
- (len (string-length log))
- (tail (substring log (max 0 (- len 1024)))))
-
- (if (status:term-sig state)
- (ly:message
- "\n\n~a\n"
- (format (_ "job ~a terminated with signal: ~a")
- job (status:term-sig state)))
- (ly:message
- (_ "logfile ~a (exit ~a):\n~a")
- logfile (status:exit-val state) tail))))
-
- errors)
-
- (if (pair? errors)
- (ly:error "Children ~a exited with errors." (map car errors)))
-
- ;; must overwrite individual entries
- (if (ly:get-option 'dump-profile)
- (dump-profile "lily-run-total" '(0 0) (profile-measurements)))
-
- (exit (if (null? errors) 0 1))))))
-
+ (begin (ly:set-option
+ 'log-file (format "~a-~a"
+ (ly:get-option 'log-file) joblist))
+ (set! files (vector-ref split-todo joblist)))
+ (begin (ly:progress "\nForking into jobs: ~a\n" joblist)
+ (for-each
+ (lambda (pid)
+ (let* ((stat (cdr (waitpid pid))))
+ (if (not (= stat 0))
+ (set! errors
+ (acons (list-element-index joblist pid)
+ stat errors)))))
+ joblist)
+ (for-each
+ (lambda (x)
+ (let* ((job (car x))
+ (state (cdr x))
+ (logfile (format "~a-~a.log"
+ (ly:get-option 'log-file) job))
+ (log (ly:gulp-file logfile))
+ (len (string-length log))
+ (tail (substring log (max 0 (- len 1024)))))
+ (if (status:term-sig state)
+ (ly:message
+ "\n\n~a\n"
+ (format (_ "job ~a terminated with signal: ~a")
+ job (status:term-sig state)))
+ (ly:message
+ (_ "logfile ~a (exit ~a):\n~a")
+ logfile (status:exit-val state) tail))))
+ errors)
+ (if (pair? errors)
+ (ly:error "Children ~a exited with errors."
+ (map car errors)))
+ ;; must overwrite individual entries
+ (if (ly:get-option 'dump-profile)
+ (dump-profile "lily-run-total"
+ '(0 0) (profile-measurements)))
+ (exit (if (null? errors)
+ 0
+ 1))))))
(if (string-or-symbol? (ly:get-option 'log-file))
(ly:stderr-redirect (format "~a.log" (ly:get-option 'log-file)) "w"))
-
(let ((failed (lilypond-all files)))
(if (ly:get-option 'trace-scheme-coverage)
(begin
- (coverage:show-all (lambda (f) (string-contains f "lilypond"))
- )))
-
+ (coverage:show-all (lambda (f)
+ (string-contains f "lilypond")))))
(if (pair? failed)
- (begin
- (ly:error (_ "failed files: ~S") (string-join failed))
- (exit 1))
+ (begin (ly:error (_ "failed files: ~S") (string-join failed))
+ (exit 1))
(begin
;; HACK: be sure to exit with single newline
(ly:message "")
(do-measurements (ly:get-option 'dump-profile))
(handler (lambda (key failed-file)
(set! failed (append (list failed-file) failed)))))
-
(gc)
(for-each
(lambda (x)
- (let*
- ((start-measurements (if do-measurements
- (profile-measurements)
- #f))
- (base (dir-basename x ".ly"))
- (all-settings (ly:all-options)))
-
+ (let* ((start-measurements (if do-measurements
+ (profile-measurements)
+ #f))
+ (base (dir-basename x ".ly"))
+ (all-settings (ly:all-options)))
(if separate-logs
(ly:stderr-redirect (format "~a.log" base) "w"))
(if ping-log
(format ping-log "Procesing ~a\n" base))
-
- (if (ly:get-option 'trace-memory-frequency)
+ (if (ly:get-option 'trace-memory-frequency)
(mtrace:start-trace (ly:get-option 'trace-memory-frequency)))
-
(lilypond-file handler x)
(if start-measurements
(dump-profile x start-measurements (profile-measurements)))
-
(if (ly:get-option 'trace-memory-frequency)
- (begin
- (mtrace:stop-trace)
- (mtrace:dump-results base)))
-
- (for-each
- (lambda (s)
- (ly:set-option (car s) (cdr s)))
- all-settings)
-
+ (begin (mtrace:stop-trace)
+ (mtrace:dump-results base)))
+ (for-each (lambda (s)
+ (ly:set-option (car s) (cdr s)))
+ all-settings)
(ly:clear-anonymous-modules)
(ly:set-option 'debug-gc-assert-parsed-dead #t)
(gc)
(ly:set-option 'debug-gc-assert-parsed-dead #f)
-
-
(if (ly:get-option 'debug-gc)
(dump-gc-protects)
(if (= (random 40) 1)
(ly:reset-all-fonts)))))
-
files)
;; we want the failed-files notice in the aggregrate logfile.
(if ping-log
(format ping-log "Failed files: ~a\n" failed))
-
(if (ly:get-option 'dump-profile)
(dump-profile "lily-run-total" '(0 0) (profile-measurements)))
-
failed))
(define (lilypond-file handler file-name)
(define-public (gui-main files)
(if (null? files)
(gui-no-files-handler))
-
(if (not (string? (ly:get-option 'log-file)))
(let* ((base (dir-basename (car files) ".ly"))
(log-name (string-append base ".log")))
(ly:message (_ "Redirecting output to ~a...") log-name))
(ly:stderr-redirect log-name "w")
(ly:message "# -*-compilation-*-"))
-
- (let ((failed (lilypond-all files)))
- (if (pair? failed)
- (begin
- ;; ugh
- (ly:stderr-redirect "foo" "r")
- (system (get-editor-command log-name 0 0 0))
- (ly:error (_ "failed files: ~S") (string-join failed))
- ;; not reached?
- (exit 1))
- (exit 0)))))
+ (let ((failed (lilypond-all files)))
+ (if (pair? failed)
+ (begin
+ ;; ugh
+ (ly:stderr-redirect "foo" "r")
+ (system (get-editor-command log-name 0 0 0))
+ (ly:error (_ "failed files: ~S") (string-join failed))
+ ;; not reached?
+ (exit 1))
+ (exit 0)))))
(define (gui-no-files-handler)
(let* ((ly (string-append (ly:effective-prefix) "/ly/"))
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2003--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 2003--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
"
Internally markup is stored as lists, whose head is a function.
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2000--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; (c) 2000--2009 Jan Nieuwenhuizen <janneke@gnu.org>
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
;;;; Han-Wen Nienhuys <hanwen@xs4all.nl>
;; (use-modules (ice-9 optargs))
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
;;;; Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
;;;; Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;; Note: currently misused as testbed for titles with markup, see
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2002--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; (c) 2002--2009 Jan Nieuwenhuizen <janneke@gnu.org>
;;;; http://www.w3.org/TR/SVG11
;;;; http://www.w3.org/TR/SVG12/ -- page, pageSet in draft
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
(define-public (set-paper-dimension-variables mod)
(module-define! mod 'dimension-variables
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
;; (name . (glyph clef-position octavation))
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2004--2008 Nicolas Sceaux <nicolas.sceaux@free.fr>
+;;;; (c) 2004--2009 Nicolas Sceaux <nicolas.sceaux@free.fr>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
(define gen-lily-sym
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
;; todo: figure out how to make module,
;; without breaking nested ly scopes
;;;;
;;;; source file of the GNU LilyPOnd music typesetter
;;;;
-;;;; (c) 2008 Carl D. Sorensen <c_sorensen@byu.edu>
+;;;; (c) 2008--2009 Carl D. Sorensen <c_sorensen@byu.edu>
(define-public (parse-terse-string terse-definition)
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2005--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; (c) 2005--2009 Jan Nieuwenhuizen <janneke@gnu.org>
(define-module (scm ps-to-png))
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
(map
(lambda (sym)
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2000--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
(define-public default-script-alist
'(("thumb" .
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; (c) 1998--2009 Jan Nieuwenhuizen <janneke@gnu.org>
;;;; Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2003--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 2003--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+(define-public (translate-stencil stencil coordinate-pair)
+ "Translate @code{stencil} by the distances specified in
+@code{coordinate-pair}."
+ (ly:stencil-translate-axis
+ (ly:stencil-translate-axis stencil (cdr coordinate-pair) Y)
+ (car coordinate-pair) X))
(define-public (stack-stencils axis dir padding stils)
"Stack stencils STILS in direction AXIS, DIR, using PADDING."
(interval-widen xext (/ width 2))
(interval-widen yext (/ width 2)))))
+(define-public (make-round-filled-box-stencil xext yext blot-diameter)
+ "Make a filled rounded box."
+
+ (ly:make-stencil
+ (list 'round-filled-box (- (car xext)) (cdr xext)
+ (- (car yext)) (cdr yext) blot-diameter)
+ xext yext))
+
(define-public (make-filled-box-stencil xext yext)
"Make a filled box."
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2004--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; (c) 2004--2009 Jan Nieuwenhuizen <janneke@gnu.org>
;;;; Han-Wen Nienhuys <hanwen@xs4all.nl>
(define-public (layout-extract-page-properties layout)
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2003--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 2003--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
(define-module (scm to-xml))
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
;; metronome marks
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2005--2008 Bernard Hurley <bernard@fong-hurley.org.uk>
+;;;; (c) 2005--2009 Bernard Hurley <bernard@fong-hurley.org.uk>
;;;;
(define x11-color-list
typedef std::map < AFM_Ligature const *, int > Bar;
/**
- (c) 1997--2008 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2009 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
/* ||
--- /dev/null
+#! @PYTHON@
+
+'''
+ Copyright (c) 2009--210 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+'''
+
+import datetime
+import os
+import re
+import sys
+#
+sys.path.insert (0, '@top-src-dir@/scripts/build')
+import pytt
+
+dry_run = False
+
+def read_pipe (cmd, ignore_errors=False):
+ pipe = os.popen (cmd)
+ val = pipe.read ()
+ if pipe.close () and not ignore_errors:
+ raise SystemFailed ('Pipe failed: %(cmd)s' % locals ())
+ return val
+
+def filter_out (p, lst):
+ return filter (lambda x: not p (x), lst)
+
+copied_files = [
+ 'help2man.pl',
+ 'mf2pt1.mp',
+ 'mf2pt1.pl',
+ 'texinfo.tex',
+ 'txi-de.tex',
+ 'txi-en.tex',
+ 'txi-fr.tex',
+ 'txi-sf.tex',
+ ]
+
+def main ():
+ files = filter_out (lambda x: (os.path.basename (x) in copied_files
+ or 'CHANGES' in x or 'ChangeLog' in x),
+ read_pipe ('cd @top-src-dir@ && git ls-files').split ())
+ os.chdir ('@top-src-dir@')
+ year = datetime.datetime.now ().year
+ last_year = year - 1
+ last_year_1d = last_year % 10
+ for f in files:
+ pytt.pytt ('(Copyright|\(c\)|\(C\)|@copyright\{\})\s*%(last_year)s([^-]|$)' % locals (),
+ r'\1 %(last_year)s--%(year)s' % locals (),
+ f)
+ pytt.pytt ('(Copyright|\(c\)|\(C\)|@copyright\{\})\s*([^-]*)--(20[0-9][0-%(last_year_1d)s])' % locals (),
+ r'\1 \2--%(year)s' % locals (),
+ f)
+
+if __name__ == '__main__':
+ main ()
+++ /dev/null
-#!@BASH@
-# note: dash does not work
-
-pytt '(Copyright|\(c\)|\(C\)|@copyright\{\})\s*2007' '\1 2007--2008' $(find . -mindepth 2 -type f | grep -Ev 'out/|out-scons|out-www/|.git/|.scon|#|~' | grep -iv 'change')
-pytt '(Copyright|\(c\)|\(C\)|@copyright\{\})\s*([^-]*--)(200[0-7])' '\1 \2\062008' $(find . -mindepth 2 -type f | grep -Ev 'out/|out-scons|out-www/|.git/|.scon|#|~' | grep -iv 'change')
#
# source file of the GNU LilyPond music typesetter
#
-# (c) 1997--2008 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+# (c) 1997--2009 Han-Wen Nienhuys <hanwen@cs.uu.nl>
import os
import sys
-#!@PYTHON@
+#! /usr/bin/python
+
+'''
+ Copyright (c) 2008--2009
+ Jan Nieuwenhuizen <janneke@gnu.org>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+'''
import os
import re
+import stat
import sys
-frm = re.compile (sys.argv[1], re.MULTILINE)
-to = sys.argv[2]
-
-if not sys.argv[3:] or sys.argv[3] == '-':
- sys.stdout.write (re.sub (frm, to, sys.stdin.read ()))
-for file in sys.argv[3:]:
- s = open (file).read ()
- name = os.path.basename (file)
- base, ext = os.path.splitext (name)
- t = re.sub (frm, to % locals (), s)
- if s != t:
- if 1:
- os.system ('mv %(file)s %(file)s~~' % locals ())
- h = open (file, "w")
- h.write (t)
- h.close ()
- else:
- sys.stdout.write (t)
+dry_run = False
+
+def pytt (from_re, to, file_name):
+ s = file (file_name).read ()
+ name = os.path.basename (file_name)
+ base, ext = os.path.splitext (name)
+ t = re.sub (from_re, to % locals (), s)
+ if s != t:
+ if dry_run:
+ sys.stdout.write (t)
+ else:
+ stat_info = os.stat (file_name)
+ mode = stat.S_IMODE (stat_info[stat.ST_MODE])
+ os.system ('mv --backup=t %(file_name)s %(file_name)s~' % locals ())
+ file (file_name, 'w').write (t)
+ os.chmod (file_name, mode)
+
+def main ():
+ from_re = re.compile (sys.argv[1], re.MULTILINE)
+ to = sys.argv[2]
+ if not sys.argv[3:] or sys.argv[3] == '-':
+ sys.stdout.write (re.sub (from_re, to, sys.stdin.read ()))
+ else:
+ for f in sys.argv[3:]:
+ pytt (from_re, to, f)
+
+if __name__ == '__main__':
+ main ()
}
for l in langdefs.LANGUAGES:
- static_files[os.path.join ('Documentation', 'user', outdir, l.file_name ('index', '.html'))] = \
- '<META HTTP-EQUIV="refresh" content="0;URL=../' + l.file_name ('index', '.html') + \
- '">\n<html><body>Redirecting to the documentation index...</body></html>\n'
+ static_files[os.path.join (
+ 'Documentation',
+ 'user',
+ outdir,
+ l.file_name ('index', '.html'))] = \
+ '<META HTTP-EQUIV="refresh" content="0;URL=../' + l.file_name ('index', '.html') + \
+ '">\n<html><body>Redirecting to the documentation index...</body></html>\n'
for f, contents in static_files.items ():
open (f, 'w').write (contents)
dirs, symlinks, files = mirrortree.walk_tree (
tree_roots = doc_dirs,
process_dirs = outdir,
- exclude_dirs = '(^|/)(' + r'|po|out|out-test|.*?[.]t2d|\w*?-root)(/|$)|Documentation/(' + '|'.join ([l.code for l in langdefs.LANGUAGES]) + ')',
+ exclude_dirs = '(^|/)((' + \
+ r'po|out|out-test|out-cov|.*?[.]t2d|\w*?-root)|^Documentation/(' + \
+ '|'.join ([l.code for l in langdefs.LANGUAGES]) + '))(/|$)',
find_files = r'.*?\.(?:midi|html|pdf|png|txt|i?ly|signature|css)$|VERSION',
exclude_files = r'lily-[0-9a-f]+.*\.(pdf|txt)')
#
# source file of the GNU LilyPond music typesetter
#
-# (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+# (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
# Jan Nieuwenhuizen <janneke@gnu.org>
#
# converting rules are found in python/convertrules.py
program_name = os.path.basename (sys.argv[0])
program_version = '@TOPLEVEL_VERSION@'
+authors = ('Jan Nieuwenhuizen <janneke@gnu.org>',
+ 'Han-Wen Nienhuys <hanwen@xs4all.nl>')
+
error_file_write = ly.stderr_write
def warning (s):
def warranty ():
identify ()
ly.encoded_write (sys.stdout, '''
-Copyright (c) %s by
+%s
- Han-Wen Nienhuys
- Jan Nieuwenhuizen
+%s
%s
%s
-''' ( '2001--2006',
- _ ("Distributed under terms of the GNU General Public License."),
- _ ('It comes with NO WARRANTY.')))
-
+''' % ( _ ('Copyright (c) %s by') % '2001--2009',
+ ' '.join (authors),
+ _ ('Distributed under terms of the GNU General Public License.'),
+ _ ('It comes with NO WARRANTY.')))
def get_option_parser ():
p = ly.get_option_parser (usage=_ ("%s [OPTION]... FILE") % 'convert-ly',
action='store',
dest="to_version",
default='')
-
+ p.add_option ('-w', '--warranty', help=_ ("show warranty and copyright"),
+ action='store_true',
+ ),
p.add_option_group ('',
description=(
_ ("Report bugs via %s")
opt_parser = get_option_parser()
(options, args) = opt_parser.parse_args ()
+ if options.warranty:
+ warranty ()
+ sys.exit (0)
if options.from_version:
options.from_version = str_to_tuple (options.from_version)
program_name = sys.argv[0]
+authors = ('Jan Nieuwenhuizen <janneke@gnu.org>',
+ 'Han-Wen Nienhuys <hanwen@xs4all.nl>')
+
version = '@TOPLEVEL_VERSION@'
if version == '@' + 'TOPLEVEL_VERSION' + '@':
version = '(unknown version)' # uGUHGUHGHGUGH
def warranty ():
identify ()
sys.stdout.write ('''
-Copyright (c) %s by
+%s
- Han-Wen Nienhuys
- Jan Nieuwenhuizen
+ %s
%s
%s
-''' % ( '2001--2006',
- _('Distributed under terms of the GNU General Public License.'),
- _('It comes with NO WARRANTY.')))
-
-
+''' % ( _ ('Copyright (c) %s by') % '2001--2009',
+ '\n '.join (authors),
+ _ ('Distributed under terms of the GNU General Public License.'),
+ _ ('It comes with NO WARRANTY.')))
def get_option_parser ():
p = ly.get_option_parser (usage=_ ("%s [OPTION]... ETF-FILE") % 'etf2ly',
#!@TARGET_PYTHON@
-# Copyright (C) 2006, 2007 Brailcom, o.p.s.
+# Copyright (c) 2006--2009 Brailcom, o.p.s.
#
# Author: Milan Zamazal <pdm@brailcom.org>
#
ly.encoded_write (sys.stdout, '''
%s
-%s
+ %s
%s
%s
-''' % ( _ ('Copyright (c) %s by') % '2001--2008',
- ' '.join (authors),
+''' % ( _ ('Copyright (c) %s by') % '2001--2009',
+ '\n '.join (authors),
_ ("Distributed under terms of the GNU General Public License."),
_ ("It comes with NO WARRANTY.")))
;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2005--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; (c) 2005--2009 Jan Nieuwenhuizen <janneke@gnu.org>
;; gui debug helper
;; (define (exit x) (system "sleep 10"))
#!@TARGET_PYTHON@
-# Copyright (C) 2006, 2007 Brailcom, o.p.s.
+# Copyright (c) 2006--2009 Brailcom, o.p.s.
#
# Author: Milan Zamazal <pdm@brailcom.org>
#
#
# source file of the GNU LilyPond music typesetter
#
-# (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+# (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
# Jan Nieuwenhuizen <janneke@gnu.org>
program_name = sys.argv[0]
program_version = '@TOPLEVEL_VERSION@'
+authors = ('Jan Nieuwenhuizen <janneke@gnu.org>',
+ 'Han-Wen Nienhuys <hanwen@xs4all.nl>')
+
errorport = sys.stderr
def identify ():
def warranty ():
identify ()
ly.encoded_write (sys.stdout, '''
-Copyright (c) %s by
+%s
- Han-Wen Nienhuys
- Jan Nieuwenhuizen
+ %s
%s
%s
-''' ( '2001--2006',
- _('Distributed under terms of the GNU General Public License.'),
- _('It comes with NO WARRANTY.')))
-
+''' % ( _ ('Copyright (c) %s by') % '2001--2009',
+ '\n '.join (authors),
+ _ ('Distributed under terms of the GNU General Public License.'),
+ _ ('It comes with NO WARRANTY.')))
def progress (s):
ly.encoded_write (errorport, s + '\n')
p.version = ('''%prog (LilyPond) @TOPLEVEL_VERSION@\n\n'''
+
-_ ("""Copyright (c) 2005--2008 by
+_ ("""Copyright (c) 2005--2009 by
Han-Wen Nienhuys <hanwen@xs4all.nl>,
Jan Nieuwenhuizen <janneke@gnu.org> and
Reinhold Kainhofer <reinhold@kainhofer.com>
VPATH = $(src-dir)
endif
+abs-src-dir = $(top-src-dir)$(tree-dir)
+
.UNEXPORT: build-dir src-dir tree-dir
src-wildcard = $(subst $(src-dir)/,,$(wildcard $(src-dir)/$(1)))
TMP=`mktemp -d $(outdir)/pfbtemp.XXXXXXXXX` \
&& ( cd $$TMP \
&& ln -s ../mf2pt1.mem . \
- && MFINPUTS=$(top-src-dir)/mf:..:: $(buildscript-dir)/mf2pt1 $(MF2PT1_OPTIONS) $< $(METAFONT_QUIET)) \
+ && MFINPUTS=$(abs-src-dir):..:: $(buildscript-dir)/mf2pt1 $(MF2PT1_OPTIONS) $< $(METAFONT_QUIET)) \
&& mv $$TMP/*pfb $(outdir); \
rm -rf $$TMP
$(call GENERATE_OMF,ps.gz)
$(outdir)/%.pdf: $(outdir)/%.texi $(outdir)/version.itexi
- cd $(outdir); texi2pdf $(TEXI2PDF_FLAGS) --batch $(TEXINFO_PAPERSIZE_OPTION) $(<F)
+ cd $(outdir); texi2pdf $(TEXI2PDF_FLAGS) -I $(abs-src-dir) --batch $(TEXINFO_PAPERSIZE_OPTION) $(<F)
$(outdir)/%.txt: $(outdir)/%.texi $(outdir)/version.itexi
$(MAKEINFO) -I$(src-dir) -I$(outdir) --no-split --no-headers --output $@ $<
-$(outdir)/%.texi: %.texi
- rm -f $@
- cp $< $@
-
$(XREF_MAPS_DIR)/%.xref-map: $(outdir)/%.texi
$(buildscript-dir)/extract_texi_filenames -o $(XREF_MAPS_DIR) $<
+$(outdir)/%.texi: %.texi
+ cp -f $< $@
$(outdir)/version.%: $(top-src-dir)/VERSION
echo '@macro version'> $@
echo '@end macro'>> $@
.SECONDARY: $(outdir)/version.itexi $(outdir)/version.texi \
- $(outdir)/$(INFO_IMAGES_DIR).info-images-dir-dep
+ $(outdir)/$(INFO_IMAGES_DIR).info-images-dir-dep \
+ $(outdir)/*.texi
local-WWW-1: $(XREF_MAPS_FILES)
-local-doc: $(OUTTXT_FILES)
+local-doc: $(OUTTXT_FILES)
check-info: texinfo-all-menus-update
TEXINFO_PAPERSIZE_OPTION= $(if $(findstring $(PAPERSIZE),a4),,-t @afourpaper)
-MAKEINFO_FLAGS = --enable-encoding
+MAKEINFO_FLAGS += --enable-encoding $(DOCUMENTATION_INCLUDES)
MAKEINFO = LANG= $(MAKEINFO_PROGRAM) $(MAKEINFO_FLAGS)
# texi2html xref map files
TEXI2HTML_INIT = --init-file=$(top-src-dir)/lilypond-texi2html.init
TEXI2HTML = $(TEXI2HTML_PROGRAM) $(TEXI2HTML_FLAGS) $(TEXI2HTML_LANG)
+TEXI2PDF_FLAGS += $(DOCUMENTATION_INCLUDES)
+
ifdef QUIET_BUILD
TEXI2PDF_FLAGS += -q
endif
TO_TOP_FILES=$(addprefix $(outdir)/, $(addsuffix .txt, $(README_TOP_FILES)))
+DOCUMENTATION_INCLUDES = -I $(top-src-dir)/Documentation/user
depth = ..
TEXINFO_FILES = texinfo.tex $(call src-wildcard,txi-*.tex)
-TEX_FILES = $(filter-out $TEXINFO_FILES,$(call src-wildcard,*.tex))
+TEX_FILES = $(filter-out $(TEXINFO_FILES),$(call src-wildcard,*.tex))
EXTRA_DIST_FILES = $(TEX_FILES) $(TEXINFO_FILES)
STEPMAKE_TEMPLATES = install install-out