+1.3.140.jcn4
+============
+
+* Added message about make help at end of configure.
+
+* Some documentation updates.
+
1.3.140.jcn3
============
@unnumberedsubsec Manuals
@itemize @bullet
-@item @uref{../user/out-www/lilypond/lilypond.html,LilyPond user manual}
-@item @uref{../user/out-www/lilypond/Reference-Manual.html#Reference Manual,LilyPond reference manual}
-also available in @uref{../user/out-www/lilypond.ps.gz,Postscript}
-@item LilyPond @uref{../user/out-www/lilypond-internals/lilypond-internals.html,internals}
-@item @uref{../user/out-www/lilypond/Tricks.html#Tricks, LilyPond features}
-and tricks.
+@item @uref{../user/out-www/lilypond/lilypond.html,LilyPond full documentation}
+@item @uref{../user/out-www/lilypond/Tutorial.html#Tutorial,LilyPond Tutorial}
+@item @uref{../user/out-www/lilypond/Reference-Manual.html#Reference Manual,LilyPond Reference manual}
+also available in @uref{../user/out-www/lilypond.ps.gz,PostScript}
+@item @uref{../user/out-www/lilypond/Tricks.html#Tricks, LilyPond
+features and tricks}
+@item @uref{../user/out-www/lilypond/Index.html#Index,LilyPond
+documentation master index}
+@item
+@uref{../user/out-www/lilypond-internals/lilypond-internals.html,Autogenerated
+documentation of internals}
@item @uref{../user/out-www/glossary.html,A glossary of musical
terms}, includes translations. Also available in @uref{../user/out-www/glossary.ps.gz,Postscript})
@item @uref{../user/out-www/lilypond-book.html,lilypond-book}, a tool for
@mbinclude dedication.itely
@menu
-* Preface:: Preface
+* Preface:: Preface.
* Tutorial:: A tutorial introduction to LilyPond.
* Reference Manual:: Reference Manual.
+* Mutopia project:: Mutopia project.
* Tricks:: Features, tips and tricks.
* Invoking LilyPond:: Operation.
-* Bug reports:: Where to report bugs.
+* Bug reports:: Where to report bugs.
* ly2dvi:: Generating nice output with titles.
* convert-ly:: Upgrading input files.
* Conversion tools:: Converting to lilypond source format.
@mbinclude preface.itely
@mbinclude tutorial.itely
@mbinclude refman.itely
+@mbinclude mutopia.itely
@mbinclude tricks.itely
@mbinclude internals.itely
@mbinclude invoking.itexi
--- /dev/null
+
+@node Mutopia project
+@chapter Mutopia project
+@cindex mutopia project
+@cindex sheet music archive
+
+
+The Mutopia project needs your help. Mutopia is a collection of
+public domain sheet music. All the music on Mutopia is completely
+free to download, print out, perform and distribute. Mutopia is
+similar in spirit to Project Gutenburg - but consists of a growing
+collection of free music. You can help the project by entering music
+(either by hand, or by converting from scans or MIDI) and submitting
+it. Point your browser to the @uref{http://www.mutopiaproject.org}.
+
+
+@menu
+* Mutopia ports collection::
+@end menu
+
+@node Mutopia ports collection
+@section Mutopia ports collection
+@cindex mutopia ports collection
+
+
+We're working on a ports collection for LilyPond. The aim is to make
+all music in Mutopia very easily accessible for LilyPond users
+to study, edit and print.
+
+A somewhat functional experimental tree will be available in version
+1.3.141. It should then be very easy to
+
+@enumerate 1
+ download anything from Mutopia
+ compile for printing or for Mutopia submission
+ publish and package for Mutopia
+@end enumerate
+
+Type @samp{make help} in @file{ports} directory to see possible
+targets.
+
+[TODO]
+
+Now that we have the @samp{make sync} target, maybe we should
+only dist the composers in the tarball:
+@example
+ports/mutopia/ArbeauT
+ports/mutopia/BachJS
+ports/mutopia/BanchieriA
+ports/mutopia/BeethovenLv
+ports/mutopia/BendaJA
+ports/mutopia/BruhnsN
+ports/mutopia/CarcassiM
+ports/mutopia/CarulliF
+ports/mutopia/ClementiM
+ports/mutopia/DowlandJ
+ports/mutopia/GiordianoG
+ports/mutopia/JoplinS
+ports/mutopia/MilanL
+ports/mutopia/MozartWA
+ports/mutopia/PaganiniN
+ports/mutopia/Saint-SaensC
+ports/mutopia/SatieE
+ports/mutopia/SchubertF
+@end example
+
+To build the Solo Cello Suite from J.S.Bach, you would do:
+@example
+$ cd ports/mutopia/BachJS
+$ make sync
+$ cd BWV1008/solo-cello-suite-ii
+$ make mutopia
+@end example
+
+Disadvantage: no clue of available titles.
@chapter Reference Manual
This document describes GNU LilyPond and its input format. The last
-revision of this document was for LilyPond 1.3.138.
+revision of this document was for LilyPond 1.3.141.
@menu
* Page layout::
* Sound::
* Music entry::
+* Using LilyPond::
* Interpretation context::
* Syntactic details::
* Lexical details::
LilyPond is linked to GUILE, GNU's Scheme library for extension. The
Scheme library provides the glue that holds together the low-level
-routines and separate modules general, which are C++
+routines and separate modules general, which are C++.
When lilypond is run to typeset sheet music, the following happens:
@itemize @bullet
Skips the amount of time specified by @var{duration}. If no other music
is played, a gap will be left for the skipped time with no notes
-printed. The short hand is only available in Note and Chord mode.
+printed. The shorthand is only available in Note and Chord mode.
@code{Voice.noAutoBeaming} to true. You you may find this necessary for
a melody that goes with lyrics.
+@refbugs
+
+It is not possible to specify beaming for beams with mixed durations,
+that differs from the beaming of all separate durations, ie, you'll
+have to specify manual beams to get:
+@lilypond[fragment,singleline,relative]
+ \property Voice.autoBeamSettings
+ \override #'(end * * * *) = #(make-moment 3 8)
+ \time 12/8; c'8 c c c16 c c c c c [c c c c] c8 c c4
+@end lilypond
+
+
@c . {Manual beams}
@cindex Automatic beams
@subsection Manual beams
@code{\sustainDown}, @code{\sustainUp}, @code{\unaChorda},
@code{\treChorde}, @code{\sostenutoDown} and @code{\sostenutoUp}.
-These identifiers are short hands for spanner commands of the types
+These identifiers are shorthands for spanner commands of the types
@code{Sustain}, @code{UnaChorda} and @code{Sostenuto}:
@lilypond[fragment,verbatim]
documentation. Look for @code{Thread_devnull_engraver}
@code{Voice_devnull_engraver} and @code{A2_engraver}.
+@refbugs
+
+In @code{soloADue} mode, when the two voices play the same notes on and
+off, the part combiner may typeset @code{a2} more than once in a
+measure.
+
+@lilypond[fragment,singleline]
+ \context Staff <
+ \context Voice=one \partcombine Voice
+ \context Thread=one \relative c'' {
+ c b c b c a c a
+ }
+ \context Thread=two \relative c'' {
+ b b b b f a f a
+ }
+ >
+@end lilypond
+
@cindex @code{Thread_devnull_engraver}
@cindex @code{Voice_engraver}
@cindex @code{A2_engraver}
@item @code{linewidth}
Sets the width of the lines.
-If set to a negative value, a single
- unjustified line is produced.
+If set to a negative value, a single unjustified line is produced.
+@c rename to singleLinePaper ?
+The shorthand @code{\singleLine} defines a default paper block that
+produces a single line.
@cindex @code{textheight}
harmless, and can be ignored.
+@c . {Using LilyPond}
+@node Using LilyPond
+@section Using LilyPond
+@cindex Using LilyPond
+@cindex Generating output
+
+@c slaat dit ergens op?
+
+@c direct postscript?
+
+@table @code
+@item plain lilypond
+@example
+lilypond foo.ly
+@end example
+For more information on how to use lilypond see
+@ifnottex
+@ref{Invoking LilyPond}.
+@end ifnottex
+@iftex
+the online manual.
+@end iftex
+
+@item ly2dvi
+Ly2dvi produces titling from @code{\header} fields.
+@example
+ly2dvi foo.ly
+@end example
+For more information on how to use ly2dvi see
+@ifnottex
+@ref{ly2dvi}.
+@end ifnottex
+@iftex
+the online manual.
+@end iftex
+
+@item lilypond-book
+Lilypond-book supports interleaving text and music.
+@example
+lilypond-book foo.doc
+@end example
+For more information on how to use lilypond-book see
+@ifnottex
+@ref{lilypond-book}.
+@end ifnottex
+@iftex
+the online manual.
+@end iftex
+@end table
+
+
+An emacs mode for LilyPond is included with the source archive as
+@file{lilypond-mode.el} and @file{lilypond-font-lock.el}. If you have
+an RPM, it is in @file{/usr/share/doc/lilypond-X/}. You have to install
+it yourself.
+
+Add this to your ~/.emacs or ~/.emacs.el:
+@example
+ (load-library "lilypond-mode.el")
+ (setq auto-mode-alist
+ (cons '("\\.ly$" . LilyPond-mode) auto-mode-alist))
+ (add-hook 'LilyPond-mode-hook (lambda () (turn-on-font-lock)))
+@end example
+
+If you have the latest LilyPond-1.3.x Debian package, LilyPond-mode
+is automatically loaded, so you need not modify your ~/.emacs file.
+
+@menu
+* Pre-cooked makefile::
+@end menu
+
+@node Pre-cooked makefile
+@subsection Pre-cooked makefile
+
+@c waar deze info? is uiteindelijk wel handig, schat ik.
+[TODO: cut blabla]
+If you have a big music project, or just a lot of LilyPond input files,
+all generated output from LilyPond, @TeX{} and metafont will clutter
+your working directory. LilyPond comes with a one-size-fits-all
+pre-cooked makefile that helps you manage producing ouptut. It will
+produce all output in @file{out}, generate and track dependencies.
+Also, it helps in preparing your submission to the @ref{Mutopia
+project}.
+
+@file{make/ly.make}
+@example
+mkdir my-project
+cd my-project
+cp /usr/share/lilypond/make/ly.make GNUmakefile
+cp /usr/share/doc/lilypond/examples/input/tutorial/menuet.ly .
+make menuet
+[..]
+Generated out/menuet.ps for target menuet.
+@end example
+
+Type @samp{make help} to see possible targets.
+
+[TODO]
+@file{/usr/share/lilypond/doc/lilypond/examples/input/mutopia-header.ly}
+
+
@node Interpretation context
@section Interpretation context
@section The end
That's all folks. From here, you can either try fiddling with input
-files, or you can read the reference manual.
+files, or you can read the reference manual. You can find more example
+files in @file{input} and @file{input/test}. You can also look at Real
+Music (TM), have a look at the @ref{Mutopia project}.
-@c @lilypond[nofragment]
-@c #(set! point-and-click #f)
-@c @end lilypond
MAJOR_VERSION=1
MINOR_VERSION=3
PATCH_LEVEL=140
-MY_PATCH_LEVEL=jcn3
+MY_PATCH_LEVEL=jcn4
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
# released version.
AC_STEPMAKE_END
+cat <<EOF
+
+Type:
+ make all to build LilyPond
+ make install to install LilyPond
+ make help to see all possible targets
+
+Do not worry if ./Documentation or ./mutopia should not build.
+EOF
--- /dev/null
+\header {
+ title = "Title";
+ subtitle = "Subtitle";
+ subsubtitle = "Subsubtitle";
+ opus = "Opus 1";
+ piece = "Piece";
+ composer = "Composer";
+ enteredby = "JCN";
+ instrument = \instrument;
+
+ % mutopia headers.
+ mutopiatitle = "";
+ mutopiacomposer = "";
+ mutopiaopus = "";
+ mutopiainstrument = \instrument;
+ date = "1807";
+
+ source = "Urtext edition";
+
+ style = "Classical";
+ copyright = "Public Domain";
+ maintainer = "Jan Nieuwenhuizen";
+ maintainer_email = "janneke@gnu.org";
+ lastupdated = "2001/Mar/19";
+ mutopiapublicdomain = "\\parbox{\hsize}{\\thefooter\\quad\\small
+ \\\\This music is part of the Mutopia project,
+ \\texttt{http://www.mutopiaproject.org/}\\\\It has been typeset
+ and placed in the public domain by " + \maintainer +
+ ".\\\\Unrestricted modification and redistribution is permitted
+ and encouraged---copy this music and share it.}";
+ tagline = \mutopiapublicdomain;
+ footer = "pre-Mutopia-2001/mm/dd-nn";
+}
somewhatLong = \lyrics{
- \property Lyrics.LyricText \set #'font-style = #'roman
+ \property Lyrics . LyricText \set #'font-style = #'roman
AaaaaaA2
BbbbbbB2
CcccccC2
}
ratherLong = \lyrics{
- \property Lyrics.LyricText \set #'font-style = #'roman
+ \property Lyrics . LyricText \set #'font-style = #'roman
LLLLoooonggggg2
Syyllllaaabbble2
LLLLoooonggggg2
}
quiteLong = \lyrics{
- \property Lyrics.LyricText \set #'font-style = #'roman
+ \property Lyrics . LyricText \set #'font-style = #'roman
LLLLLLLLLooooongggggggg2
Syyyyyyyyyyyyylllllllaaaaaabbble2
LLLLLLLLLooooongggggggg2
\include "generic-paper.ly"
\include "paper20.ly"
+singleLine = \paper { linewidth = 1.; }
+
% ugh
\include "midi.ly"
# or make `foo-book' to make out/foo-book.ps
#
%: $(outdir)/%.ps
- @echo Making $@ from $<
+ @echo Generated $< for target $@.
#
# Also clean hand-compiled stuff in cwd
install install programs and data (prefix=$(prefix))\n\
lib update all libraries\n\
release roll tarball and generate patch\n\
- rpm build RedHat package\n\
+ rpm build Red Hat package\n\
po make new translation Portable Object database\n\
po-replace do po-update and replace catalogs with msgmerged versions\n\
po-update update translation Portable Object database\n\
- tar same as dist\n\
TAGS genarate tagfiles\n\
- zip build binary doze distribution\n\
\n\
Make may be invoked from any subdirectory\n\
-Note that all commands recurse into SUBSDIRS\n\
+Note that all commands recurse into SUBDIRS;\n\
+prepend \`local-' to do only cwd, eg: local-clean\n\
"\
#
rpm: $(depth)/$(package-icon) dist
su -c 'rpm -tb $(depth)/$(outdir)/$(distname).tar.gz'
-update:
- $(PYTHON) $(step-bindir)/update.py --package=$(topdir) $(makeflags)
-
-xzip:
- $(SHELL) $(step-bindir)/package-zip.sh $(topdir) $(prefix:/%=%)
-
-zip:
- $(SHELL) $(step-bindir)/package-zip32.sh $(topdir)
-