From 727b945f8c44ee2d34acf5df20a4f53757fb326b Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@gnu.org>
Date: Tue, 20 Mar 2001 12:08:25 +0100
Subject: [PATCH] patch::: 1.3.140.jcn4

1.3.140.jcn4
============

* Added message about make help at end of configure.

* Some documentation updates.
---
 CHANGES                                |   7 ++
 Documentation/index.texi               |  17 ++-
 Documentation/user/lilypond.tely       |   6 +-
 Documentation/user/mutopia.itely       |  75 +++++++++++++
 Documentation/user/refman.itely        | 146 ++++++++++++++++++++++++-
 Documentation/user/tutorial.itely      |   7 +-
 VERSION                                |   2 +-
 configure.in                           |   9 ++
 input/mutopia-header.ly                |  33 ++++++
 input/test/lyrics.ly                   |   6 +-
 ly/declarations.ly                     |   2 +
 make/ly.make                           |   2 +-
 stepmake/stepmake/generic-targets.make |   7 +-
 stepmake/stepmake/package.make         |   9 --
 14 files changed, 292 insertions(+), 36 deletions(-)
 create mode 100644 Documentation/user/mutopia.itely
 create mode 100644 input/mutopia-header.ly

diff --git a/CHANGES b/CHANGES
index bb20d7f466..b64020f522 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,10 @@
+1.3.140.jcn4
+============
+
+* Added message about make help at end of configure.
+
+* Some documentation updates.
+
 1.3.140.jcn3
 ============
 
diff --git a/Documentation/index.texi b/Documentation/index.texi
index 7375740ba6..394a2ab408 100644
--- a/Documentation/index.texi
+++ b/Documentation/index.texi
@@ -21,12 +21,17 @@
 @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
diff --git a/Documentation/user/lilypond.tely b/Documentation/user/lilypond.tely
index 975ec859fa..25830f909d 100644
--- a/Documentation/user/lilypond.tely
+++ b/Documentation/user/lilypond.tely
@@ -67,12 +67,13 @@ this and other documentation.
 @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.
@@ -94,6 +95,7 @@ this and other documentation.
 @mbinclude preface.itely
 @mbinclude tutorial.itely
 @mbinclude refman.itely
+@mbinclude mutopia.itely
 @mbinclude tricks.itely
 @mbinclude internals.itely
 @mbinclude invoking.itexi
diff --git a/Documentation/user/mutopia.itely b/Documentation/user/mutopia.itely
new file mode 100644
index 0000000000..810893784e
--- /dev/null
+++ b/Documentation/user/mutopia.itely
@@ -0,0 +1,75 @@
+
+@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.
diff --git a/Documentation/user/refman.itely b/Documentation/user/refman.itely
index fd009a91b0..ebf3898768 100644
--- a/Documentation/user/refman.itely
+++ b/Documentation/user/refman.itely
@@ -19,7 +19,7 @@
 @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
@@ -41,6 +41,7 @@ revision of this document was for LilyPond 1.3.138.
 * Page layout::                 
 * Sound::                       
 * Music entry::                 
+* Using LilyPond::              
 * Interpretation context::      
 * Syntactic details::           
 * Lexical details::             
@@ -60,7 +61,7 @@ by `music compiler' or `music to notation compiler'.
 
 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
@@ -429,7 +430,7 @@ Rests are entered like notes, with note name `@code{r}'.
 
 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.
 
 
 
@@ -834,6 +835,18 @@ Automatic beaming is on by default, but it can switched off by setting
 @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
@@ -1697,7 +1710,7 @@ Piano pedal instruction can be expressed using
 @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]
@@ -2438,6 +2451,24 @@ the behavior of part combining, refer to the automatically generated
 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}
@@ -2957,8 +2988,10 @@ use either this or @code{stafflinethickness}
   @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}
 
@@ -3346,6 +3379,107 @@ will complain about not finding @code{src:X:Y} files. Those complaints are
 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
 
diff --git a/Documentation/user/tutorial.itely b/Documentation/user/tutorial.itely
index c3389062a3..db10ca4a27 100644
--- a/Documentation/user/tutorial.itely
+++ b/Documentation/user/tutorial.itely
@@ -1819,9 +1819,8 @@ bars.
 @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 
diff --git a/VERSION b/VERSION
index 4367c26f8c..46b3c5adc1 100644
--- a/VERSION
+++ b/VERSION
@@ -2,7 +2,7 @@ PACKAGE_NAME=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.
diff --git a/configure.in b/configure.in
index 043d2b4836..0e1e59b99c 100644
--- a/configure.in
+++ b/configure.in
@@ -53,3 +53,12 @@ AC_PATH_PROG(PERL, perl, error)
 
 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
diff --git a/input/mutopia-header.ly b/input/mutopia-header.ly
new file mode 100644
index 0000000000..3aaaf3a664
--- /dev/null
+++ b/input/mutopia-header.ly
@@ -0,0 +1,33 @@
+\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";
+}
diff --git a/input/test/lyrics.ly b/input/test/lyrics.ly
index a7e1fc562d..e19086252c 100644
--- a/input/test/lyrics.ly
+++ b/input/test/lyrics.ly
@@ -1,7 +1,7 @@
 
 
 somewhatLong =  \lyrics{
-	\property Lyrics.LyricText \set #'font-style = #'roman 
+	\property Lyrics . LyricText \set #'font-style = #'roman 
 	AaaaaaA2
 	BbbbbbB2
 	CcccccC2 
@@ -11,7 +11,7 @@ somewhatLong =  \lyrics{
 }
 
 ratherLong =  \lyrics{
-	\property Lyrics.LyricText \set #'font-style = #'roman 
+	\property Lyrics . LyricText \set #'font-style = #'roman 
 	LLLLoooonggggg2 
 	Syyllllaaabbble2 
 	LLLLoooonggggg2 
@@ -21,7 +21,7 @@ ratherLong =  \lyrics{
 }
 
 quiteLong =  \lyrics{
-	\property Lyrics.LyricText \set #'font-style = #'roman
+	\property Lyrics . LyricText \set #'font-style = #'roman
 	LLLLLLLLLooooongggggggg2 
 	Syyyyyyyyyyyyylllllllaaaaaabbble2 
 	LLLLLLLLLooooongggggggg2 
diff --git a/ly/declarations.ly b/ly/declarations.ly
index dd152b8957..0cc795c25e 100644
--- a/ly/declarations.ly
+++ b/ly/declarations.ly
@@ -29,6 +29,8 @@ papersize = "a4"
 \include "generic-paper.ly"
 \include "paper20.ly"
 
+singleLine = \paper { linewidth = 1.; }
+
 % ugh
 \include "midi.ly"
 
diff --git a/make/ly.make b/make/ly.make
index 3183a5867d..4d2f7b1d3f 100644
--- a/make/ly.make
+++ b/make/ly.make
@@ -69,7 +69,7 @@ $(outdir)/%-book.ps: $(outdir)/%.ps
 # 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
diff --git a/stepmake/stepmake/generic-targets.make b/stepmake/stepmake/generic-targets.make
index 293a4e513d..a726c9f6d0 100644
--- a/stepmake/stepmake/generic-targets.make
+++ b/stepmake/stepmake/generic-targets.make
@@ -67,16 +67,15 @@ help: generic-help local-help
   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\
 "\
 #
 
diff --git a/stepmake/stepmake/package.make b/stepmake/stepmake/package.make
index 39161ff2f7..8c75e8cc01 100644
--- a/stepmake/stepmake/package.make
+++ b/stepmake/stepmake/package.make
@@ -28,12 +28,3 @@ release:
 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)
-
-- 
2.39.5