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