]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 1.3.150 release/1.3.150
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Mon, 23 Apr 2001 11:55:37 +0000 (13:55 +0200)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Mon, 23 Apr 2001 11:55:37 +0000 (13:55 +0200)
============

* Bugfix: markup text: lines with markup.

* Fixed line height in postscript output.

* Windows installer stuff: the ``It shouldn't be hard -- but do need
  some sleep'' release.

  Think of it: /shouldn't/ is *exactly* why GNU/Linux exists, and
  why we advise to run LilyPond on Linux -- UMSDOS if you must.

  You may consider our part of the job done.  Any more of this
  sad and sorry stuff will drive me to drink.  It makes you realise
  again how much fun using Linux actually is.

  We'll take patches from now on, from people that have a stronger
  stomach.  Good night.

  - Ly2dvi: run commands from sh (so that tex wrappers be used).

  - Added cygwin man,less and windows gs, gsview, miktex, python to
    lilypond installer repository.  Moved profile.d setup functionality to
    postinstall.
  - Added tex and latex wrappers.
  - Wrappers for all python scripts.

* Removed RMAIL header from german-chords.ly + fixes (Rune).

1.3.149.h

77 files changed:
CHANGES
Documentation/doc-roadmap.texi [new file with mode: 0644]
Documentation/header.html.in
Documentation/index.texi
Documentation/topdocs/INSTALL.texi
Documentation/topdocs/README.texi
Documentation/topdocs/WINDOWS.texi [deleted file]
Documentation/topdocs/index.tely
Documentation/user/lilypond-book.itely
Documentation/user/literature.itely
Documentation/user/refman.itely
Documentation/user/tutorial.itely
Documentation/windows/compiling.texi [new file with mode: 0644]
Documentation/windows/installing.texi [new file with mode: 0644]
Documentation/windows/lily-tex.sh [deleted file]
Documentation/windows/lily-wins.texi
Documentation/windows/lilypond-profile.z.sh [deleted file]
Documentation/windows/ly2dvi-wrapper.sh [deleted file]
GNUmakefile.in
INSTALL.txt
README.txt
ROADMAP
VERSION
WINDOWS.txt [deleted file]
input/bugs/grace-clef.ly [new file with mode: 0644]
input/bugs/l.ly [new file with mode: 0644]
input/bugs/markup.ly [new file with mode: 0644]
input/no-notation/parse5.ly [deleted file]
input/test/Cc-chords.ly
input/test/barline-lyric-only.ly [new file with mode: 0644]
input/test/equaliser.ly
input/test/fake-grace.ly
input/test/hara-kiri-switch.ly
input/test/improv.ly
input/test/lyrics.ly
input/test/memory.ly [deleted file]
input/test/note-shift.ly
input/test/part-combine.ly
input/test/slur-dash.ly
input/test/staff-side-slur.ly [deleted file]
input/test/super-sub.ly.orig [deleted file]
input/test/transposing.ly
input/test/volta-start.ly
input/test/volta.ly
input/tutorial/menuet.ly [deleted file]
input/tutorial/minuet.ly [new file with mode: 0644]
lily/bar.cc
lily/clef-engraver.cc
lily/include/lilypond-input-version.hh
lily/include/main.hh
lily/include/timing-translator.hh
lily/instrument-name-engraver.cc
lily/kpath.cc
lily/lexer.ll
lily/lilypond-version.cc
lily/parser.yy
lily/system-start-delimiter.cc
lily/time-signature-performer.cc
lily/timing-translator.cc
lily/volta-spanner.cc
ly/engraver.ly
make/out/lilypond.lsm
make/out/lilypond.spec
mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly
ps/lily.ps [deleted file]
ps/music-drawing-routines.ps [new file with mode: 0644]
scm/grob-description.scm
scm/grob-property-description.scm
scm/interface-description.scm
scm/ps.scm
scm/tex.scm
scm/translator-property-description.scm
scripts/convert-ly.py
tex/fetdefs.tex
tex/lilyponddefs.tex

diff --git a/CHANGES b/CHANGES
index d3c1eb664438afcb0ec1b55131d0b1116523fd67..6552157a3c6f274d72f0a4db33e83862ed821f57 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,3 @@
---- ../lilypond-1.3.149.jcn2/CHANGES   Fri Apr 20 15:44:19 2001
-++ b/CHANGES   Sun Apr 22 15:11:37 2001
-@@ -1,3 +1,10 @@
 1.3.149.jcn3
 ============
 
@@ -8,16 +5,6 @@
 
 * Fixed line height in postscript output.
 
- 1.3.149.jcn2
- ============
- 1.3.149.jcn2
-============
-
-* Fixed one more shift/reduce rule in parser: c1/e  NOT
-
-1.3.149.jcn1
-============
-
 * Windows installer stuff: the ``It shouldn't be hard -- but do need
   some sleep'' release.
 
 
 * Removed RMAIL header from german-chords.ly + fixes (Rune).
 
+1.3.149.hwn1
+============
+
+* Website fixes
+
+* Allow ` for lyric punctuation
+
+* Add note to refman  saying to read the tutorial first.
+
+* Changed regular identifier error  to  warning.
+
+* Make lexer emit FRACTION for N/M (where N, M unsigned numbers). This
+fixes one shift reduce, fixing the problem with multiplied durations
+and inversions.
+
+* Set measureLength and beatLength from the parser. This fixes percent
+repeats that come directly after a time signature change.
+
+* Bugfix: process clef change upon Clef_engraver creation. This fixes
+grace notes beginning a piece; bug with combining clef changes and
+grace notes remains.
+
+* Bugfix: typo in convert-ly rule
+
+* spelling: barsize-procedure -> bar-size-procedure
+
+* fixes for input/test/ (thanks, Laura) 
+
+* Bugfix: \version "1.2.4.foo" now doesn't cause a crash.
+
+
 1.3.149
 =======
 
diff --git a/Documentation/doc-roadmap.texi b/Documentation/doc-roadmap.texi
new file mode 100644 (file)
index 0000000..8b13789
--- /dev/null
@@ -0,0 +1 @@
+
index 05a32d05aebb7911421912692308c8b8736871aa..47d8a1386f632c7e8974b89d5c501d90ab1033f3 100644 (file)
@@ -37,11 +37,11 @@ which substitutes some @AT_VARIABLES@ as well.
     <table align=left>
       <tr><td bgcolor="#e8e8ff"><a href="@INDEX@"><b>Home</b></a></td></tr>
       <tr><td><font size=-1>
-        <a href="http://www.cs.uu.nl/~hanwen/lilypond">Development</a><br>
-        <a href="http://appel.lilypond.org/wiki?LilyPond">WikiWikiWeb</a><br>
+        <a href="http://www.lilypond.org/">LilyPond website</a><br>
+        <a href="http://www.lilypond.org/wiki">WikiWikiWeb</a><br>
         <a href="http://www.gnu.org">GNU Project</a><br>
         <a href="http://www2.iro.umontreal.ca/~pinard/po/registry.cgi?domain=lilypond">Translations</a><br>
-        <a href="http://www.lilypond.org">LilyPond dot org</a><br>
+        <a href="http://www.cs.uu.nl/~hanwen/lilypond/">Han-Wen's site</a><br>
        <br>
       </td></tr>
       <tr><td bgcolor="#e8e8ff">
@@ -49,32 +49,18 @@ which substitutes some @AT_VARIABLES@ as well.
       </td></tr>
       <tr><td><font size=-1>
        <a href="@TOP@Documentation/out-www/CHANGES.html">Change Log</a><br>
-       <a href="@TOP@Documentation/topdocs/out-www/FAQ.html">Small FAQ</a><br>
-       <a href="http://appel.lilypond.org/wiki?LilyPondFaqs">Full FAQ</a><br>
+       <a href="http://appel.lilypond.org/wiki?LilyPondFaqs">FAQ</a><br>
        <a href="@TOP@Documentation/user/out-www/lilypond/lilypond.html">User manual</a><br>
        <a href="@TOP@Documentation/out-www/regression-test.html">Regression Test</a><br>
        <a href="@TOP@Documentation/user/out-www/lilypond-internals/lilypond-internals.html">Documentation of internals</a><br>
 <br>
       </td></tr>
       <tr><td bgcolor="#e8e8ff">
-       <a href="@INDEX@#download-source"><b>Download Source</b></a>
+       <b>Download </b>
       </td></tr>
       <tr><td><font size=-1>
-        <a href="ftp://ftp.gnu.org/pub/gnu/lilypond">Stable</a><br>
-        <a href="ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/development">Development</a><br>
-       <br>
-      </td></tr>
-      <tr><td bgcolor="#e8e8ff">
-       <a href="@INDEX@#download-binary"><b>Download Binary</b></a>
-      </td></tr>
-      <tr><td><font size=-1>
-       <a href="ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/RedHat/RPMS/">RedHat i386</a><br>
-       <a href="ftp://appel.lilypond.org/pub/gnu/LilyPond/linuxppc-2000-Q4">LinuxPPC</a><br>
-       <a href="ftp://ftp.debian.org/debian/pool/main/l/lilypond">Debian Stable</a><br>
-       <a href="ftp://ftp.debian.org/debian/pool/main/l/lilypond1.3">Debian Unstable</a><br>
-       <a href="http://home.austin.rr.com/jbr/jeff/lilypond/">Windows Stable</a><br>
-       <a href="http://appel.lilypond.org/lilypond/gnu-windows">Windows Unstable</a><br>
-       <br>
+<a href="@TOP@Documentation/topdocs/out-www/INSTALL.html#download-source">Source</a><br>
+       <a href="@TOP@Documentation/topdocs/out-www/INSTALL.html#download-binaries">Binary</a>  <br>
       </td></tr>
       <tr><td bgcolor="#e8e8ff">
        <a href="@INDEX@#music"><b>Music</b></a>
index ae488127bed5e07b52daeaf5365693cfc01ba629..90066f462ac013fc1452edb519e99b50974db814 100644 (file)
@@ -6,75 +6,73 @@
 @top
 
 
-@unnumberedsubsec General information
+@unnumberedsubsec Documentation for everyone
 
 @itemize @bullet 
-@item @uref{DEDICATION.html,Dedication}
-@item @uref{../topdocs/out-www/AUTHORS.html, Authors}
-@item @uref{../topdocs/out-www/README.html, Readme file}
-@item @uref{../topdocs/out-www/INSTALL.html, Installation instructions}
-@item @uref{../topdocs/out-www/WINDOWS.html, LilyPond for Windows}
-@item @uref{CHANGES.html, Things recently done}
-@item @uref{../topdocs/out-www/FAQ.html,Very Frequently Asked Questions}, with answers
-@item @uref{http://appel.lilypond.org/wiki?LilyPondFaqs,Full Frequently asked questions}, with answers
+@item @uref{DEDICATION.html,Dedication}  Lily is  dedicated to our friends.
+@item @uref{http://www.gnu.org/copyleft/gpl.html,GPL} it is released under
+  the GNU GPL.
 @end itemize
 
-@unnumberedsubsec Manuals
-
+@unnumberedsubsec Information for new users
 @itemize @bullet
-@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
-integrating text and music in LaTeX and texinfo; also available in
-@uref{../user/out-www/lilypond-book.ps.gz,Postscript}
-@item @uref{../user/out-www/lilypond/ly2dvi.html#ly2dvi,ly2dvi}  does page layout for
-LilyPond printout.
-@item @uref{../user/out-www/lilypond/midi2ly.html#midi2ly,midi2ly} 
-converts MIDI files to LilyPond input
-@item @uref{regression-test.html, LilyPond test document}
-Also available in @uref{regression-test.ps.gz,Postscript}
+@item @uref{../../index.html,index} What is Lilypond?
+@item @uref{../topdocs/out-www/README.html, README} general information
+@item @uref{../topdocs/out-www/INSTALL.html, INSTALL}
+  How install on Unix.
+@item @uref{../windows/out-www/installing.html, WINDOWS}
+How to install on Windows.
+@item @uref{http://appel.lilypond.org/wiki?LilyPondFaqs,FAQ} Frequently
+asked questions, with answers.
+@item @uref{http://appel.lilypond.org/wiki?MailingLists,MailingLists} Subscribe to
+the mailing lists
+@item @uref{../out-www/lilypond/Tutorial.html,Tutorial} Learn how to use LilyPond.
 @end itemize
 
+@unnumberedsubsec Information for other users
 
-@unnumberedsubsec Logo
 @itemize @bullet
-@item @uref{../pictures/out-www/lelieblond.png,  logo} in large size
-@item @uref{../pictures/out-www/lelie-logo.png, logo} in medium size
-@item @uref{../pictures/out-www/lelie-icon.png, logo} in small size
+@item @uref{CHANGES.html, CHANGES} things recently done
+
+@c download sites?
+
+@c NEWS
+
+@c archives?
+
+@item @uref{../user/out-www/lilypond-internals/lilypond-internals.html,lilypond-internals}
+Documentation of internals, generated from the sources.
+
+@item @uref{../user/out-www/lilypond/lilypond.html,lilypond}
+  The user manual, (in @uref{../user/out-www/lilypond.ps.gz,PostScript})
+@item @uref{../user/out-www/glossary.html,glossary} A glossary of musical
+terms, including translations.  (in
+@uref{../user/out-www/glossary.ps.gz,Postscript})
 @end itemize
 
-@unnumberedsubsec Literature
+@unnumberedsubsec Information for developers
 
 @itemize @bullet
-@item @uref{../bibliography/out-www/colorado.html,University of
-Colorado Engraving music bibliography}. Books refered from the
-@uref{http://www.cc.colorado.edu/Dept/MU/Musicpress/,Big Site of Music
-Notation and Engraving} at University  of Colorado.
-@item References on
-@uref{../bibliography/out-www/engraving.html,engraving and music
-notation}.
-@item Papers on
-@uref{../bibliography/out-www/computer-notation.html,music notation
-by computer}.
+@item @uref{../out-www/regression-test.html,regression-test} A glossary
+of musical terms, including translations.  (in
+@uref{../out-www/regression-test.ps.gz,Postscript})
 @end itemize
 
 
-@unnumberedsubsec Background information
+@unnumberedsubsec Logo
+@itemize @bullet
+@item @uref{../pictures/out-www/lelieblond.png, logo} in large size
+@item @uref{../pictures/out-www/lelie-logo.png, logo} in medium size
+@item @uref{../pictures/out-www/lelie-icon.png, logo} in small size
+@end itemize
 
 
+@unnumberedsubsec Background information
 
 @itemize @bullet
+@item @uref{../topdocs/out-www/AUTHORS.html, Authors} documents who did
+what on LilyPond.
+
 @item @uref{../misc/out-www/CHANGES-0.0.html, Change logs from 0.0 till 0.1 }
 @item @uref{../misc/out-www/CHANGES-0.1.html, Change logs from 0.1 till 1.0 }
 @item @uref{../misc/out-www/CHANGES-1.0.html, Change logs from 1.0 till 1.1 }
@@ -92,6 +90,20 @@ changes)}
 @item @uref{../windows/out-www/lily-wins.html, Lily Wins}
 @end itemize
 
+@unnumberedsubsec Literature
+
+@itemize @bullet
+@item @uref{../bibliography/out-www/colorado.html,University of
+Colorado Engraving music bibliography}. Books refered from the
+@uref{http://www.cc.colorado.edu/Dept/MU/Musicpress/,Big Site of Music
+Notation and Engraving} at University of Colorado.
+@item References on
+@uref{../bibliography/out-www/engraving.html,engraving and music
+notation}.
+@item Papers on
+@uref{../bibliography/out-www/computer-notation.html,music notation
+by computer}.
+@end itemize
 
 
 @bye
index feaecbf0a30fb2277c0f41dec1e541e5c33eda05..80cb4abb8aacb39873793d5d82d2c35e5ae8e38b 100644 (file)
@@ -7,30 +7,67 @@
 
 @chapter INSTALL - compiling and installing GNU LilyPond
 
-@section Obtaining
+@section Downloading source code
 
-You can get the latest version of LilyPond at
-@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/,
-ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/}.
+@html
+<a name="download-source">
+@end html
 
-There are three options for downloading sources.
+If you want to compile LilyPond from source, download here:
+@itemize @bullet
+@item Download stable releases at
+@uref{ftp://ftp.gnu.org/gnu/lilypond/,GNU}
+@item Download development releases from
+@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/development/, by FTP} and
+@uref{http://ftp.cs.uu.nl/pub/GNU/LilyPond/development/, by HTTP}.
+@item @uref{ftp://sca.uwaterloo.ca/pub/, ftp (Canadian mirror)} 
+@item at @code{lilypond.org} by
+@uref{ftp://ftp.lilypond.org/pub/LilyPond/, FTP} and
+@uref{http://www.lilypond.org/ftp/, HTTP}.
+@end itemize
+
+Installing and compiling requires many additional packages, which are
+listed in the @uref{Documentation/topdocs/out-www/INSTALL.html,
+installation instructions}.
 
-@itemize
-@item if you don't have any version, then you can  download
- the entire @file{.tar.gz} file.
 
-@item if you have an unpacked source   tree of a previous version, you
-may use the diffs .
+@section Downloading binaries
+
+@html
+<a name="download-binary">
+@end html
+Binaries are available, but are not updated for every version released.
+@itemize @bullet
+@item @uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/RedHat/RPMS/, RedHat i386}
+@item @uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/linuxppc, LinuxPPC}
+@item
+@uref{ftp://ftp.debian.org/debian/pool/main/l/lilypond,
+Debian GNU/Linux Stable} 
+@item
+@uref{ftp://ftp.debian.org/debian/pool/main/l/lilypond1.3,
+Debian GNU/Linux Unstable} 
+@item @uref{http://home.austin.rr.com/jbr/jeff/lilypond/, Windows Stable}
+@item @uref{ftp://ftp.lilypond.org/pub/lilypond/gnu-windows, Windows
+Testing}
+@end itemize
 
 
+
+@section Upgrading
+
+There are two  options for upgrading sources.
+
+@itemize
+@item if you have an unpacked source tree of a previous version, you
+may the patches.
+
 @emph{If you upgrade by patching do remember to rerun autoconf after
 applying the patch}.
 
-
 @item if you have the @code{.tar.gz} file of a previous release, you can
 use
 @uref{ftp://ftp.xcf.berkeley.edu/pub/xdelta/, xdelta}.
- This is much safer than using normal diffs, and is the recommended way.
+ This is much safer than using patches, and is the recommended way.
 
 The following command produces @file{lilypond-1.3.122.tar.gz} from
 @file{lilypond-1.3.121} identical (up to compression dates) to the .122
@@ -45,7 +82,7 @@ on the FTP site.
 This document describes how to build LilyPond on Unix platforms.  It is
 also known to run and compile on Windows NT/95/98 as well.  More
 information on this topic can be found at the
-@uref{http://appel.lilypond.org/lilypond/gnu-windows/, LilyPond on Windows
+@uref{ftp://ftp.lilypond.org/pub/LilyPond/gnu-windows/, LilyPond on Windows
 page}.
 
 You need the following packages to compile Lilypond.
index c10fa8db2add931b92c8877d76242eac1cf040cf..ba1f8b870b0715dba0af68e2c16935ba55557c66 100644 (file)
@@ -40,9 +40,9 @@ in the toplevel directory, as INSTALL.txt
 @section Documentation
 
 The documentation is available online at
-@uref{http://www.cs.uu.nl/~hanwen/lilypond/index.html}.  You can also
-build it locally. This does require a working LilyPond binary.  The
-following formats are supported:
+@uref{http://www.lilypond.org/}.  You can also build it locally. This
+does require a working LilyPond binary.  The following formats are
+supported:
 @itemize @bullet
 
 @item HTML. Refer to INSTALL.txt for information
@@ -91,8 +91,8 @@ If you have bugreports, you should send them to this list.
 
 If you have received this file as part of a DOS/Window32 distribution
 (@file{LilyPond-*.zip}), it is advisable to also download the
-source package, since it might contain more documentation
-@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/}
+@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/,source package}, since it
+might contain more documentation
 
 @section Caveats
 
diff --git a/Documentation/topdocs/WINDOWS.texi b/Documentation/topdocs/WINDOWS.texi
deleted file mode 100644 (file)
index 57807d2..0000000
+++ /dev/null
@@ -1,208 +0,0 @@
-\input texinfo @c -*-texinfo-*-
-@setfilename WINDOWS.info
-@settitle WINDOWS - compiling and installing GNU LilyPond on Windows
-
-@node Top
-@top
-
-@chapter WINDOWS - compiling and installing GNU LilyPond on Windows
-
-This document is a supplement to INSTALL.txt, you may want to read
-that too.
-
-@section Obtaining LilyPond
-
-You can get the latest version of LilyPond at
-@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/,
-ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/}.
-
-@section Windows build requirements
-You need the following packages to compile Lilypond on Windows.
-
-@table @code
-@item The GNU + Cygnus tools, 1.1.7 or newer.
-Check out the @uref{http://sources.redhat.com/cygwin,Cygwin webpage}.
-You can get the latest version of the GNU + Cygnus tools from cygnus
-@uref{http://sources.redhat.com/cygwin/mirrors.html,mirror site}.
-Install everything, including tetex.
-@item GUILE 1.4, or newer.
-Check out the @uref{http://www.gnu.org/software/guile.html,GUILE
-webpage}.  You may need the patch @file{guile-1.4-gnu-windows.patch}
-included in LilyPond's source distribution.
-@end table
-
-
-@section Windows precompiled binaries
-
-@table @code
-@item LilyPond
-Click @uref{http://appel.lilypond.org/lilypond/gnu-windows/setup.exe,
-here} to install LilyPond, or visit @uref{http://appel.lilypond.org/lilypond/gnu-windows,
-LilyPond on Windows}.
-
-This will install the minimal set of cygwin tools needed to run
-LilyPond.  If you already have cygwin installed, don't worry: nothing
-will be installed twice.  To expand on this minimal set, click
-@uref{http://sources.redhat.com/cygwin/setup.exe,here},
-or visit a Cygwin
-@uref{http://sources.redhat.com/cygwin/mirrors.html,mirror site}.
-@end table
-
-Note that none of the developers uses Windows, of course.  In fact, we
-recommend you to use GNU/Linux for running LilyPond.  We provide these
-binaries anyway, because it saves us the trouble of helping Windows
-users trying to compile LilyPond themselves.
-
-These binaries are cross compiled for Windows on a GNU/Linux box.  You
-may want to check out the
-@uref{http://appel.lilypond.org/lilypond/gnu-windows/cross-1.1.8.tar.gz,cross
-compilation scripts}.
-
-@section Windows running requirements
-
-GNU LilyPond does use a lot of resources.  For operation you need the
-following software
-
-@table @code
-@item GUILE
-Included in binary installation.
-@item TeX
-A full TeX installation.
-Click
-@uref{http://prdownloads.sourceforge.net/miktex/miktex-2.0-lvl-1.zip,here}
-to install basic MiKTeX commands, 
-or visit @uref{http://www.miktex.org,www.miktex.org}.
-@c See @file{/usr/doc/cygwin/tetex-beta-20001218.README} for details.
-@item PostScript tools
-@table @code
-@item GSView-2.6, or
-This old package has two advantages.  It has gsview and ghostscript
-bundeled, and it doesn't popup @emph{Register Now|Cancel} windows all
-the time.  It doesn't work together with Yap to display PostScript
-specials.
-
-Click @uref{ftp://ftp.cs.wisc.edu/ghost/ghostgum/gsv26w32.exe,here} to
-install GSView-2.6 (GhostView for Windows), or visit
-@uref{ftp://ftp.cs.wisc.edu/ghost/ghostgum,ftp.cs.wisc.edu}.
-
-@item GSView-3.6 and GhostScript-6.50
-If you install both these packages, Yap will display PostScript
-specials.  You get annoying @emph{Register Now|Cancel} popups, though.
-
-Click @uref{ftp://ftp.cs.wisc.edu/ghost/ghostgum/gsv36w32.exe,here} for
-GSview and 
-Click @uref{ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/AFPL/gs650/gs650w32.exe
-,here} for GhostScript,
-or visit the
-@uref{http://www.cs.wisc.edu/~ghost/,Ghostscript, Ghostview and GSview site}.
-@end table
-
-@item Python
-Click @uref{http://www.python.org/ftp/python/win32/py152.exe,here} to
-install Python-1.5.2, or visit
-@uref{http://www.python.org,www.python.org}.
-
-Python > 1.5.2 has ugly licensing issues, so we only used and tested
-1.5.2.
-@end table
-
-@section Windows running setup
-
-If you're lucky, after running @file{setup.exe} you're all set up.
-
-Open a LilyPond shell (or any bash shell), and type
-@example
-lilypond --help
-@end example
-
-If you don't see something similar to
-@example
-Usage: lilypond [OPTION]... [FILE]...
-
-Typeset music and or play MIDI from FILE
-
-LilyPond is a music typesetter.  It produces beautiful sheet music
-using a high level description file as input.  LilyPond is part of 
-the GNU Project.
-
-Options:
-  -h,--help             this help
-[..]
-@end example
-
-you should try adding @file{/usr/lilypond-x.y.z/bin} to your @var{PATH},
-do:
-@example
-PATH=/usr/lilypond-1.3.147/bin:$PATH
-@end example
-
-and try again.
-
-[TODO:
-
-* politely ask windows users not to complain but rather send instructive
-bug reports along with patches.
-
-* emacs-mode installation, figure out and describe proper
-emacs-on-cygwin setup.
-
-* talk about /etc/profile.d/lilypond-profile.sh
-
-* GUILE errors, simple guile test
-
-* (La)TEX errors, simple tex test
-
-
-]
-@ignore 
-
-  guile -v
-  Guile 1.4.1
-
-  guile -e %load-path
-  ERROR: Wrong type to apply: ("/usr/share/guile/site" /usr/share/guile/1.4.1")
-  
-
-  
-Mats?
-
-Let's take this step by step.
-
-It should not be critical which MikTeX version you use.
-Let's first verify that your MikTeX works as it should.
-Open a DOS window. Run the commands
->> latex sample2e
- Should produce some lines of output
->> yap sample2e
- Should display a three page document.
-
-Next step; verify that the geometry package is in place. 
-Save the attached file to the directory where you run 
-your DOS window. Run the commands
->> latex geometrytest
->> yap geometrytest
-This one you should get a single page document with some text
-in each corner.
-]
-
-
-emacs
-
-http://cygwin.com/ml/cygwin/2000-08/msg01049.html
-http://www.cs.unc.edu/~juliano/my_emacs_files/cygwin32-mount.el
-http://cygwin.com/ml/cygwin/2000-02/msg00109.html
-http://sources.redhat.com/ml/cygwin/2001-01/msg00878/cygwin32-mount.el
-
-  ;; setup Bash shell
-  (setq exec-path (cons "C:/cygwin/bin" exec-path))
-  (setenv "PATH" (concat "C:\\cygwin\\bin;" (getenv "PATH")))
-  (setq process-coding-system-alist '(("bash" . undecided-unix)))
-  (setq w32-quote-process-args ?\")
-  (setq shell-file-name "bash")
-  (setenv "SHELL" shell-file-name) 
-  (setq explicit-shell-file-name shell-file-name) 
-  (add-hook 'comint-output-filter-functions 'comint-strip-ctrl-m)
-
-@end ignore
-
-
index 93084b449609af7c95f97fad390f611ee7e59c05..064f4a742a9ca1e88be5c81e7759c948abab9b57 100644 (file)
@@ -49,9 +49,9 @@ The version numbers are in Linux-kernel style: even numbered versions
 are `stable'. The webpages for the stable version (1.2) reside
 @uref{http://www.gnu.org/software/lilypond, on the GNU servers}. Big
 enhancements go into the latest odd numbered version (1.3), whose
-webpages are on @uref{http://www.cs.uu.nl/~hanwen/lilypond/,Han-Wen's
-site}.  Information on the latest and greatest features can be found in
-the @uref{Documentation/out-www/CHANGES.html, Change Log}.
+webpages are on @uref{http://www.lilypond.org/,the lilypond site}.
+Information on the latest and greatest features can be found in the
+@uref{Documentation/out-www/CHANGES.html, Change Log}.
 
 If want more information, you can browse the
 @uref{Documentation/user/out-www/lilypond.html, manual} or other
@@ -70,44 +70,6 @@ examples include sound bites  in MIDI, pictures in PNG, printable scores
 in PostScript, and LilyPond input. Others use LilyPond too, and have put
 scores on the web. Head over to @uref{http://appel.lilypond.org/wiki?DownloadLilyPondScores}
 
-@html
-<a name="download-source">
-@end html
-@unnumberedsec Download
-
-If you want to compile LilyPond from source, download here:
-@itemize @bullet
-@item Download stable releases at
-@uref{ftp://ftp.gnu.org/gnu/lilypond/,GNU}
-@item Download development releases from
-@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/development/, by FTP} and
-@uref{http://ftp.cs.uu.nl/pub/GNU/LilyPond/development/, by HTTP}.
-@item @uref{ftp://sca.uwaterloo.ca/pub/, ftp (Canadian mirror)} 
-@item @uref{ftp://ftp.lilypond.org/pub/LilyPond/, mirror (Europe)}
-@end itemize
-
-Installing and compiling requires many additional packages, which are
-listed in the @uref{Documentation/topdocs/out-www/INSTALL.html,
-installation instructions}.
-
-@html
-<a name="download-binary">
-@end html
-Binaries are available, but are not updated for every version released.
-@itemize @bullet
-@item @uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/RedHat/RPMS/, RedHat i386}
-@item @uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/RedHat/RPMS/ppc, LinuxPPC}
-@item
-@uref{ftp://ftp.debian.org/debian/pool/main/l/lilypond,
-Debian GNU/Linux Stable} 
-@item
-@uref{ftp://ftp.debian.org/debian/pool/main/l/lilypond1.3,
-Debian GNU/Linux Unstable} 
-@item @uref{http://home.austin.rr.com/jbr/jeff/lilypond/, Windows Stable}
-@item @uref{http://appel.lilypond.org/lilypond/gnu-windows, Windows
-Testing}
-@end itemize
-
 
 @html
 <a name="mailing-lists">
index d11d447ebdc29e9f153c1cc5adc23383b40bf515..6bdddfb0c49ce463304dc62284fe7cefa7765a0e 100644 (file)
@@ -323,7 +323,7 @@ you need this one of these options.
 
 @section Authors
 
-@email{hanwen@@cs.uu.nl, Han-Wen Nienhuys}, @uref{http://www.cs.uu.nl/people/hanwen}
+@email{hanwen@@cs.uu.nl, Han-Wen Nienhuys}, @uref{http://www.cs.uu.nl/~hanwen}
 
 @email{tca@@gnu.org, Tom Cato Amundsen}
 
index e7b18c5e3aef13096e122e517f81529f58a62a4e..6b33242eea601da92003c4ec39ec5963b32a93ee 100644 (file)
@@ -1,7 +1,9 @@
 @node Literature
 @chapter Literature
 
-If you need to know more about music notation, here are some interesting titles to read
+If you need to know more about music notation, here are some interesting
+titles to read. The source archive includes a more elaborate
+bibliography of over 100 entries in @file{Documentation/bibliography/}.
 
 @table @cite
 @item Banter 1987
index fd99c884851606b0636fd35a350f18b4a5ecff29..45bf0efd7b860a3abb6a31c43013c9d6290133bc 100644 (file)
@@ -21,7 +21,9 @@
 @chapter Reference Manual
 
 This document describes GNU LilyPond and its input format. The last
-revision of this document was made for LilyPond 1.3.145.
+revision of this document was made for LilyPond 1.3.145.  It supposes a
+passing familiarity with how LilyPond input works. New users are
+encouraged to study the tutorial first.
 
 
 @menu
@@ -608,19 +610,23 @@ Editio XXX.''
 
 The time signature is changed by the @code{\time} command. Syntax:
 @example
-  \time @var{numerator}@code{/}@var{denominator
+  \time @var{n}@code{/}@var{d
 @end example
 Internally, this is a shortcut for doing
 @example
-     \property Score.timeSignatureFraction = #'(@var{numerator} . @var{denominator})
+\property Score.timeSignatureFraction = #'(@var{n} . @var{d})
+\property Score.beatLength = #(make-moment 1 @var{d})
+\property Score.measureLength = #(make-moment @var{n} @var{d})
 @end example
 
-The property @code{timeSignatureFraction} is used to determine where bar
-lines should be inserted, and how automatic beams should be generated.
+These properties @code{timeSignatureFraction} determine where bar lines
+should be inserted, and how automatic beams should be
+generated.
 
-The grob is @code{TimeSignature}.  There are many options for the layout
-of this grob. They are selected through the @code{style} grob
-property. See @file{input/test/time.ly} for examples.
+Changing the value of @code{timeSignatureFraction} also causes a
+fraction to be printed. This grob is @code{TimeSignature}.  There are
+many options for the layout of this grob. They are selected through the
+@code{style} grob property. See @file{input/test/time.ly} for examples.
 
 @c .   {Partial}
 @subsection Partial
@@ -1309,6 +1315,8 @@ syntactically valid, but makes no sense and may cause runtime errors.
 Ending a staff or score with grace notes may also generate a run-time
 error, since there will be no main note to attach the grace notes to.
 
+Combining grace notes and clef changes will prints note heads on
+erroneous vertical positions.
 
 The present implementation of grace notes is not robust and generally
 kludgey. We expect it to change after LilyPond 1.4. Syntax changes might
@@ -1730,18 +1738,21 @@ Voices can be switched between staffs manually, using the following command:
 @example
   \translator Staff = @var{staffname} @var{music}
 @end example
-The string @var{staffname} is the name of the staff. Typically it is
-@code{"up"} or @code{"down"}. 
-
-Formally, this construct is a music expression indicating that the
-context which is a direct child of the context of type
-@var{contexttype} should be shifted to a context of type
-@var{contexttype} and the specified name.
+The string @var{staffname} is the name of the staff. It switches the
+current voice from its current staff to the Staff called
+@var{staffname}. Typically @var{staffname} is @code{"up"} or
+@code{"down"}.
 
+The formal definition of this construct is obtuse, but for the sake of
+completeness we give it here.
 @cindex @code{\translator}
 @example
   \translator @var{contexttype} = @var{name}
 @end example
+Formally, this construct is a music expression indicating
+that the context which is a direct child of the context of type
+@var{contexttype} should be shifted to a context of type
+@var{contexttype} and the specified name.
 
 
 @c .   {Pedals}
index 5772357a910cbaaa3e01158e31d55f102d4725a7..7883872722a465c9dbc54fd2c327a46b0fcebe71 100644 (file)
@@ -232,8 +232,8 @@ gsview32 /s test.ps
 
 To demonstrate what LilyPond input looks like, we start off with a
 full-fledged, yet simple example. It is a convoluted version
-of the famous menuet in J. S. Bach's @emph{Klavierb@"uchlein}. The file
-is included in the distribution as  @file{menuet.ly}.
+of the famous minuet in J. S. Bach's @emph{Klavierb@"uchlein}. The file
+is included in the distribution as  @file{minuet.ly}.
 @cindex Bach, Johann Sebastian 
 
 @lilypond[verbatim]
@@ -2202,10 +2202,10 @@ project}.
 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
+cp /usr/share/doc/lilypond/examples/input/tutorial/minuet.ly .
+make minuet
 [..]
-Generated out/menuet.ps for target menuet.
+Generated out/minuet.ps for target minuet.
 @end example
 
 Type @samp{make help} to see possible targets.
diff --git a/Documentation/windows/compiling.texi b/Documentation/windows/compiling.texi
new file mode 100644 (file)
index 0000000..dbf0dba
--- /dev/null
@@ -0,0 +1,25 @@
+@section Obtaining LilyPond
+
+You can get the latest version of LilyPond at
+@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/,
+ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/}.
+
+@section Windows build requirements
+You need the following packages to compile Lilypond on Windows.
+
+@table @code
+@item The GNU + Cygnus tools, 1.1.7 or newer.
+Check out the @uref{http://sources.redhat.com/cygwin,Cygwin webpage}.
+You can get the latest version of the GNU + Cygnus tools from cygnus
+@uref{http://sources.redhat.com/cygwin/mirrors.html,mirror site}.
+Install everything, including tetex.
+@item GUILE 1.4, or newer.
+Check out the @uref{http://www.gnu.org/software/guile.html,GUILE
+webpage}.  You may need the patch @file{guile-1.4-gnu-windows.patch}
+included in LilyPond's source distribution.
+@end table
+
+These binaries are cross compiled for Windows on a GNU/Linux box.  You
+may want to check out the
+@uref{http://appel.lilypond.org/lilypond/gnu-windows/cross-1.1.8.tar.gz,cross
+compilation scripts}.
diff --git a/Documentation/windows/installing.texi b/Documentation/windows/installing.texi
new file mode 100644 (file)
index 0000000..406dac5
--- /dev/null
@@ -0,0 +1,151 @@
+\input texinfo @c -*-texinfo-*-
+@setfilename installing.info
+@settitle LilyPond on Windows
+
+@node Top
+@top
+
+@chapter WINDOWS - Installing GNU LilyPond on Windows
+
+This document explains how to install the binary release for windows
+on a Microsoft Windows 95, 98, NT or 2000 machine.
+
+This release is a free extra service of the developers to assist windows
+users. Please remember that we (the developers) rather dislike windows,
+and none of us use it.  Don't complain to us that installing LilyPond is
+too difficult; rather, send us code that works better.
+
+You must install the following software:
+
+@table @asis
+@item LilyPond
+Download and run
+@uref{ftp://ftp.lilypond.org/pub/LilyPond/gnu-windows/setup.exe, setup.exe}
+to install LilyPond.
+
+This will install the minimal set of cygwin tools needed to run
+LilyPond.  If you already have cygwin installed, don't worry: nothing
+will be installed twice.  To expand on this minimal set, click
+@uref{http://sources.redhat.com/cygwin/setup.exe,here},
+or visit a Cygwin
+@uref{http://sources.redhat.com/cygwin/mirrors.html,mirror site}.
+
+@item A full TeX installation.
+
+For example,  download  and install 
+@uref{http://prdownloads.sourceforge.net/miktex/miktex-2.0-lvl-1.zip,MikTeX},
+or visit @uref{http://www.miktex.org,www.miktex.org}.
+@c See @file{/usr/doc/cygwin/tetex-beta-20001218.README} for details.
+
+@item Ghostview.
+
+You can use GSView-2.6.  This old package has two advantages.  It has
+gsview and ghostscript bundeled, and it doesn't popup @emph{Register
+Now|Cancel} windows all the time.  It doesn't work together with Yap to
+display PostScript specials.
+
+Click @uref{ftp://ftp.cs.wisc.edu/ghost/ghostgum/gsv26w32.exe,here} to
+install GSView-2.6 (GhostView for Windows), or visit
+@uref{ftp://ftp.cs.wisc.edu/ghost/ghostgum,ftp.cs.wisc.edu}.
+
+You can also use the newer versions GSView-3.6 and GhostScript-6.50 If
+you install both these packages, Yap will display PostScript specials.
+You get annoying @emph{Register Now|Cancel} popups, though.
+
+Click @uref{ftp://ftp.cs.wisc.edu/ghost/ghostgum/gsv36w32.exe,here} for
+GSview and 
+Click @uref{ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/AFPL/gs650/gs650w32.exe
+,here} for GhostScript.
+@uref{ftp://ftp.cs.wisc.edu/ghost/ghostgum,ftp.cs.wisc.edu}.
+or visit the
+@uref{http://www.cs.wisc.edu/~ghost/,Ghostscript, Ghostview and GSview site}.
+
+@item Python
+Click @uref{http://www.python.org/ftp/python/win32/py152.exe,here} to
+install Python-1.5.2, or visit
+@uref{http://www.python.org,www.python.org}.
+
+We have not tried using newer versions than 1.5.2.
+@end table
+
+
+@section Windows running setup
+
+If you're lucky, after running @file{setup.exe} you're all set up.
+
+Open a LilyPond shell (or any bash shell), and type
+@example
+lilypond --help
+@end example
+
+If you don't see something similar to
+@example
+Usage: lilypond [OPTION]... [FILE]...
+
+Typeset music and or play MIDI from FILE
+
+LilyPond is a music typesetter.  It produces beautiful sheet music
+using a high level description file as input.  LilyPond is part of 
+the GNU Project.
+
+Options:
+  -h,--help             this help
+[..]
+@end example
+
+you should try adding @file{/usr/lilypond-x.y.z/bin} to your @var{PATH},
+do:
+@example
+PATH=/usr/lilypond-1.3.147/bin:$PATH
+@end example
+
+and try again.
+
+[TODO:
+
+
+* emacs-mode installation, figure out and describe proper
+emacs-on-cygwin setup.
+
+* talk about /etc/profile.d/lilypond-profile.sh
+
+* GUILE errors, simple guile test
+
+* (La)TEX errors, simple tex test
+
+
+]
+@ignore 
+
+  guile -v
+  Guile 1.4.1
+
+  guile -e %load-path
+  ERROR: Wrong type to apply: ("/usr/share/guile/site" /usr/share/guile/1.4.1")
+  
+
+  
+Mats?
+
+Let's take this step by step.
+
+It should not be critical which MikTeX version you use.
+Let's first verify that your MikTeX works as it should.
+Open a DOS window. Run the commands
+>> latex sample2e
+ Should produce some lines of output
+>> yap sample2e
+ Should display a three page document.
+
+Next step; verify that the geometry package is in place. 
+Save the attached file to the directory where you run 
+your DOS window. Run the commands
+>> latex geometrytest
+>> yap geometrytest
+This one you should get a single page document with some text
+in each corner.
+]
+
+@end ignore
+
+
diff --git a/Documentation/windows/lily-tex.sh b/Documentation/windows/lily-tex.sh
deleted file mode 100644 (file)
index e69de29..0000000
index dab0d6972cb6c8f343523eefff76d5772c3c55d1..6d53dd4989794c07e170e2bae547b2072525497b 100644 (file)
@@ -14,7 +14,7 @@
 Until now, installing LilyPond on Windows was
 @uref{http://mail.gnu.org/pipermail/help-gnu-music/2001-April/000620.html,
 almost} a dull process that could easily be @uref{
-ftp://appel.lilypond.org/pub/gnu-windows/cygwin-1.1.7/bin/tar/lily-install-0.6-i686-cygwin.bin.tar.gz,
+ftp://ftp.lilypond.org/pub/LilyPond/gnu-windows/latest/bin/tar/lily-install-0.6-i686-cygwin.bin.tar.gz,
 automated} and scripted.  This meant that you would have more time left
 for actual work, and we all know that's not what computers were designed
 for.
@@ -41,8 +41,7 @@ way before schedule}.
 With the upcoming @uref{
 http://mail.gnu.org/pipermail/info-gnu-music/2001-April/000060.html,
 LilyPond-1.4} release, we have innovated agressively, by copying and
-@uref{
-http://appel.lilypond.org/lilypond/gnu-windows/cygwin-installer.patch,
+@uref{ftp://ftp.lilypond.org/pub/LilyPond/gnu-windows/latest/cygwin-installer.patch,
 mutilating } @uref{http://sources.redhat.com/cygwin,Cygwin}'s
 @uref{
 ftp://ftp.franken.de/pub/win32/develop/gnuwin32/cygwin/mirrors/cygnus/snapshots/cygwin-src-20010410.tar.bz2,
@@ -50,7 +49,7 @@ Windows installer}.
 No
 @uref{http://appel.lilypond.org/lilypond/gnu-windows/tar/lilypond/md5.sum,
 difficult checksums} or signatures.  Enjoy the the thrills of running
-@uref{http://appel.lilypond.org/lilypond/gnu-windows/setup.exe,
+@uref{ftp://ftp.lilypond.org/pub/LilyPond/gnu-windows/latest/setup.exe,
 untrusted binaries} with adminstrator rights, on your painfully
 firewalled intranet.
 
diff --git a/Documentation/windows/lilypond-profile.z.sh b/Documentation/windows/lilypond-profile.z.sh
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/Documentation/windows/ly2dvi-wrapper.sh b/Documentation/windows/ly2dvi-wrapper.sh
deleted file mode 100644 (file)
index e69de29..0000000
index 9099be977dae5c0f606f8f7441d056a9614a37b5..81c9024e1c21adbbf53acbb1bd4639bb5e6c2d1c 100644 (file)
@@ -18,7 +18,7 @@ SUBDIRS = buildscripts scripts flower lily \
 
 SCRIPTS = configure aclocal.m4
 README_FILES =  DEDICATION COPYING NEWS CHANGES ROADMAP
-README_TXT_FILES = AUTHORS.txt README.txt INSTALL.txt WINDOWS.txt FAQ.txt
+README_TXT_FILES = AUTHORS.txt README.txt INSTALL.txt FAQ.txt
 IN_FILES := $(wildcard *.in)
 EXTRA_DIST_FILES = lilypond-font-lock.el lilypond-mode.el vimrc VERSION $(README_FILES)  $(SCRIPTS) $(IN_FILES)  emacsclient.patch
 NON_ESSENTIAL_DIST_FILES = $(README_TXT_FILES)
index f08529a3b756476c949d6f6d8da23daa9c783814..898649b307c754bb9bdaccf4adcd2a9c4593a2e5 100644 (file)
@@ -3,27 +3,58 @@
 INSTALL - compiling and installing GNU LilyPond
 ***********************************************
 
-Obtaining
-=========
+Downloading source code
+=======================
+
+   If you want to compile LilyPond from source, download here:
+   * Download stable releases at GNU (ftp://ftp.gnu.org/gnu/lilypond/)
+
+   * Download development releases from by FTP
+     (ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/development/) and by HTTP
+     (http://ftp.cs.uu.nl/pub/GNU/LilyPond/development/).
+
+   * ftp (Canadian mirror) (ftp://sca.uwaterloo.ca/pub/)
+
+   * at `lilypond.org' by FTP (ftp://ftp.lilypond.org/pub/LilyPond/) and
+     HTTP (http://www.lilypond.org/ftp/).
+
+   Installing and compiling requires many additional packages, which are
+listed in the installation instructions
+(Documentation/topdocs/out-www/INSTALL.html).
+
+Downloading binaries
+====================
+
+   Binaries are available, but are not updated for every version
+released.
+   * RedHat i386 (ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/RedHat/RPMS/)
+
+   * LinuxPPC (ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/linuxppc)
+
+   * Debian GNU/Linux Stable
+     (ftp://ftp.debian.org/debian/pool/main/l/lilypond)
 
-   You can get the latest version of LilyPond at
-ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/
-(ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/).
+   * Debian GNU/Linux Unstable
+     (ftp://ftp.debian.org/debian/pool/main/l/lilypond1.3)
 
-   There are three options for downloading sources.
+   * Windows Stable (http://home.austin.rr.com/jbr/jeff/lilypond/)
+
+   * Windows Testing (ftp://ftp.lilypond.org/pub/lilypond/gnu-windows)
+
+Upgrading
+=========
 
-   * if you don't have any version, then you can  download  the entire
-     `.tar.gz' file.
+   There are two  options for upgrading sources.
 
-   * if you have an unpacked source   tree of a previous version, you
-     may use the diffs .
+   * if you have an unpacked source tree of a previous version, you may
+     the patches.
 
      _If you upgrade by patching do remember to rerun autoconf after
      applying the patch_.
 
    * if you have the `.tar.gz' file of a previous release, you can use
      xdelta (ftp://ftp.xcf.berkeley.edu/pub/xdelta/).   This is much
-     safer than using normal diffs, and is the recommended way.
+     safer than using patches, and is the recommended way.
 
      The following command produces `lilypond-1.3.122.tar.gz' from
      `lilypond-1.3.121' identical (up to compression dates) to the .122
@@ -36,7 +67,7 @@ Build requirements
    This document describes how to build LilyPond on Unix platforms.  It
 is also known to run and compile on Windows NT/95/98 as well.  More
 information on this topic can be found at the LilyPond on Windows page
-(http://appel.lilypond.org/lilypond/gnu-windows/).
+(ftp://ftp.lilypond.org/pub/LilyPond/gnu-windows/).
 
    You need the following packages to compile Lilypond.
 
index 738fbcd200fc7b18b235e204418b37b5723ed7e0..c71e734e5f508d85245dc6eb546ad69d2f3a2ff8 100644 (file)
@@ -39,10 +39,9 @@ are in the toplevel directory, as INSTALL.txt
 Documentation
 =============
 
-   The documentation is available online at
-`http://www.cs.uu.nl/~hanwen/lilypond/index.html'.  You can also build
-it locally. This does require a working LilyPond binary.  The following
-formats are supported:
+   The documentation is available online at `http://www.lilypond.org/'.
+You can also build it locally. This does require a working LilyPond
+binary.  The following formats are supported:
    * HTML. Refer to INSTALL.txt for information on how to make the HTML
      documentation.
 
@@ -85,9 +84,9 @@ Windows 32
 ==========
 
    If you have received this file as part of a DOS/Window32 distribution
-(`LilyPond-*.zip'), it is advisable to also download the source
-package, since it might contain more documentation
-`ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/'
+(`LilyPond-*.zip'), it is advisable to also download the source package
+(ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/), since it might contain more
+documentation
 
 Caveats
 =======
diff --git a/ROADMAP b/ROADMAP
index 85a50d9ec8bfe4d4009be12f884bfe608ee3ee10..3befc634734dd94067dccc55af25cccc70312cc6 100644 (file)
--- a/ROADMAP
+++ b/ROADMAP
@@ -4,7 +4,7 @@ LilyPond's source files.
 
    Documentation/
      bibliography/             .bib files with references to books and articles
-     ntweb/                    building on NT
+     windows/                  building on windows
      pictures/                 .xpms of the logo
      programmer/               programmers documentation, including a test document
      topdocs/                  sources for the toplevel files (README.txt, INSTALL.txt, etc.)
diff --git a/VERSION b/VERSION
index 6483ebaf4d2f0f1c6ac0c80da8484939033dba76..e9f70f477a184e30b2d0b8b5560b5e664e93f8a1 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,8 +1,8 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=3
-PATCH_LEVEL=149
-MY_PATCH_LEVEL=jcn3
+PATCH_LEVEL=150
+MY_PATCH_LEVEL=
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
diff --git a/WINDOWS.txt b/WINDOWS.txt
deleted file mode 100644 (file)
index cd455e9..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-
-
-WINDOWS - compiling and installing GNU LilyPond on Windows
-**********************************************************
-
-   This document is a supplement to INSTALL.txt, you may want to read
-that too.
-
-Obtaining LilyPond
-==================
-
-   You can get the latest version of LilyPond at
-ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/
-(ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/).
-
-Windows build requirements
-==========================
-
-   You need the following packages to compile Lilypond on Windows.
-
-`The GNU + Cygnus tools, 1.1.7 or newer.'
-     Check out the Cygwin webpage (http://sources.redhat.com/cygwin).
-     You can get the latest version of the GNU + Cygnus tools from
-     cygnus mirror site (http://sources.redhat.com/cygwin/mirrors.html).
-     Install everything, including tetex.
-
-`GUILE 1.4, or newer.'
-     Check out the GUILE webpage
-     (http://www.gnu.org/software/guile.html).  You may need the patch
-     `guile-1.4-gnu-windows.patch' included in LilyPond's source
-     distribution.
-
-Windows precompiled binaries
-============================
-
-`LilyPond'
-     Click here
-     (http://appel.lilypond.org/lilypond/gnu-windows/setup.exe) to
-     install LilyPond, or visit LilyPond on Windows
-     (http://appel.lilypond.org/lilypond/gnu-windows).
-
-     This will install the minimal set of cygwin tools needed to run
-     LilyPond.  If you already have cygwin installed, don't worry:
-     nothing will be installed twice.  To expand on this minimal set,
-     click here (http://sources.redhat.com/cygwin/setup.exe), or visit
-     a Cygwin mirror site
-     (http://sources.redhat.com/cygwin/mirrors.html).
-
-   Note that none of the developers uses Windows, of course.  In fact,
-we recommend you to use GNU/Linux for running LilyPond.  We provide
-these binaries anyway, because it saves us the trouble of helping
-Windows users trying to compile LilyPond themselves.
-
-   These binaries are cross compiled for Windows on a GNU/Linux box.
-You may want to check out the cross compilation scripts
-(http://appel.lilypond.org/lilypond/gnu-windows/cross-1.1.8.tar.gz).
-
-Windows running requirements
-============================
-
-   GNU LilyPond does use a lot of resources. For operation you need the
-following software
-
-`GUILE'
-     Included in binary installation.
-
-`TeX'
-     A full TeX installation.  Click here
-     (http://prdownloads.sourceforge.net/miktex/miktex-2.0-lvl-1.zip)
-     to install basic MiKTeX commands, or visit www.miktex.org
-     (http://www.miktex.org).
-
-`PostScript tools'
-
-    `GSView-2.6, or'
-          This old package has two advantages.  It has gsview and
-          ghostscript bundeled, and it doesn't popup _Register
-          Now|Cancel_ windows all the time.  It doesn't work together
-          with Yap to display PostScript specials.
-
-          Click here
-          (ftp://ftp.cs.wisc.edu/ghost/ghostgum/gsv26w32.exe) to
-          install GSView-2.6 (GhostView for Windows), or visit
-          ftp.cs.wisc.edu (ftp://ftp.cs.wisc.edu/ghost/ghostgum).
-
-    `GSView-3.6 and GhostScript-6.50'
-          If you install both these packages, Yap will display
-          PostScript specials.  You get annoying _Register Now|Cancel_
-          popups, though.
-
-          Click here
-          (ftp://ftp.cs.wisc.edu/ghost/ghostgum/gsv36w32.exe) for
-          GSview and Click here
-          (ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/AFPL/gs650/gs650w32.exe)
-          for GhostScript.  ftp.cs.wisc.edu
-          (ftp://ftp.cs.wisc.edu/ghost/ghostgum).  or visit the
-          Ghostview and GSview site.
-
-`Python'
-     Click here (http://www.python.org/ftp/python/win32/py152.exe) to
-     install Python-1.5.2, or visit www.python.org
-     (http://www.python.org).
-
-     Python > 1.5.2 has ugly licensing issues, so we only used and
-     tested 1.5.2.
-
-Windows running setup
-=====================
-
-   If you're lucky, after running `setup.exe' you're all set up.
-
-   Open a LilyPond shell (or any bash shell), and type
-     lilypond --help
-
-   If you don't see something similar to
-     Usage: lilypond [OPTION]... [FILE]...
-     
-     Typeset music and or play MIDI from FILE
-     
-     LilyPond is a music typesetter.  It produces beautiful sheet music
-     using a high level description file as input.  LilyPond is part of
-     the GNU Project.
-     
-     Options:
-       -h,--help             this help
-     [..]
-
-   you should try adding `/usr/lilypond-x.y.z/bin' to your PATH, do:
-     PATH=/usr/lilypond-1.3.147/bin:$PATH
-
-   and try again.
-
-   [TODO:
-
-   * politely ask windows users not to complain but rather send
-instructive bug reports along with patches.
-
-   * emacs-mode installation, figure out and describe proper
-emacs-on-cygwin setup.
-
-   * talk about /etc/profile.d/lilypond-profile.sh
-
-   * GUILE errors, simple guile test
-
-   * (La)TEX errors, simple tex test
-
-   ]
-
diff --git a/input/bugs/grace-clef.ly b/input/bugs/grace-clef.ly
new file mode 100644 (file)
index 0000000..460ee4d
--- /dev/null
@@ -0,0 +1,3 @@
+\score  {\notes\context Voice {
+c4 \clef bass  \grace c'8  c4
+      }}
diff --git a/input/bugs/l.ly b/input/bugs/l.ly
new file mode 100644 (file)
index 0000000..7711233
--- /dev/null
@@ -0,0 +1,3 @@
+
+\score { \notes { c^#`(rows ";" (lines "1" (bold "2") "3"))}}
+
diff --git a/input/bugs/markup.ly b/input/bugs/markup.ly
new file mode 100644 (file)
index 0000000..7711233
--- /dev/null
@@ -0,0 +1,3 @@
+
+\score { \notes { c^#`(rows ";" (lines "1" (bold "2") "3"))}}
+
diff --git a/input/no-notation/parse5.ly b/input/no-notation/parse5.ly
deleted file mode 100644 (file)
index da016ea..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-
-\score {
-   \context ChordNames \chords {
-        c1 /e  % trivial
-
-       c1 * 1/2   % think
-       c1 * 3 /e  % think
-
-       c1 * 1/3 /e % hard
-       c1/2 % must have parse error here
-   }
-}
index b92cb37198f9705fd6a25dcecd1bf17b2e47a9a2..2879a55422c826650b32fcc93bf03557f847b255 100644 (file)
@@ -1,5 +1,5 @@
 \header {
-  texidoc="Jazz chord names, but with lower case names for minor chords";
+  texidoc="Jazz chord names, but with lower case names for minor chords"
 }
 
 #(assoc-set! chord::names-alist-jazz
diff --git a/input/test/barline-lyric-only.ly b/input/test/barline-lyric-only.ly
new file mode 100644 (file)
index 0000000..0ad5f5b
--- /dev/null
@@ -0,0 +1,36 @@
+\header {
+
+texidoc = "You can move around Bar_engraver and
+Span_bar_engraver if you want bar lines on lyrics."  }
+
+
+\score {
+\notes \relative c' \context StaffGroup = groupie <
+ \context Staff = SA { c1 c1 c1}
+ \context Lyrics \lyrics <
+  { bla1 die bla }
+  { foo bar foo }
+  { foo bar foo }  
+ >
+ \context Staff = SB { c1 c1 c1} 
+
+ > 
+
+
+\paper  {
+\translator {
+  \LyricsVoiceContext
+  \consists Bar_engraver
+  % need procedure, since lyrics doesn't have a staff_sym engraver.
+  BarLine \override #'bar-size-procedure = #(lambda (x) 3.0)
+}
+
+\translator {
+  \LyricsContext
+  \consists "Span_bar_engraver"
+}
+\translator{
+  \StaffGroupContext
+  \remove "Span_bar_engraver"
+}
+}}
index 6e7657fcba308e311a52efaa98364d667d0a941e..3b38c5ca4ee56862c9cee6971600765829b2cb55 100644 (file)
@@ -1,8 +1,8 @@
-\version "1.3.146"
-%
-% TODO: junkme.
-%
 
+\header {
+texidoc = "The full orchestra plays a notes, where groups stop one after another. USe this to tune equalizer settings. "
+}
+\version "1.3.146"
 
 flauti = \notes \relative c' {
   \property Staff.midiInstrument = #"flute"
@@ -60,7 +60,7 @@ timpani = \notes \relative c' {
   R1*6 c1 R1*4
 }
 
-violinoB = \notes \relative c' {
+violinoI = \notes \relative c' {
   \property Staff.midiInstrument = #"violin"
   \property Staff.instrument   = #"Violino I"
   \property Staff.instr                = #"Vl. I"
@@ -68,7 +68,7 @@ violinoB = \notes \relative c' {
   R1*7 c1 R1*3
 }
 
-violinoC = \notes \relative c' {
+violinoII = \notes \relative c' {
   \property Staff.midiInstrument = #"violin"
   \property Staff.instrument   = #"Violino II"
   \property Staff.instr                = #"Vl. II"
@@ -117,8 +117,8 @@ violoncello = \notes \relative c' {
     >
     \context StaffGroup ="archi" <
       \context GrandStaff ="violini" <
-        \context Staff ="violino1" \violino1
-        \context Staff ="violino2" \violino2
+        \context Staff ="violino1" \violinoI
+        \context Staff ="violino2" \violinoII
       >
       \context Staff ="viola" \viola
       \context Staff ="violoncello" \violoncello
index de17c2aae1ca43f73bb87b0dac10d5dba18c5ca6..b669a14e444e550ded1d5d2a26bb55c35b71e7a3 100644 (file)
@@ -6,7 +6,7 @@
        c'4 c4
        
        \property Voice.fontSize= #-2
-       b16 (*1/2 
+       b16*1/2  (
        \property Voice.fontSize= #0
        
        ) g4 *31/32
index f687c765e2c5a45bb58a729aeecce5153e3eff92..fd83125d12c3101ae8581b3bcb4590494948090d 100644 (file)
@@ -1,3 +1,7 @@
+
+\header {
+texidoc = "some instruments (notably: cello and double bass) are alternatively written on one and two staves. This is the way to do it:"
+}
 \version "1.3.146"
 
 
@@ -46,7 +50,7 @@ grandstaff =  \context GrandStaff = one <
 
                \translator { \VoiceContext noAutoBeaming = ##t }
                \translator { \HaraKiriStaffContext }
-               \translator { \OrchestralScoreContext skipBars = 1 }
+               \translator { \OrchestralScoreContext skipBars = ##t }
        }
 }
 
index a09105069fd6748bfd1ac7684cab951baf93eb41..312361a9c8357edc975f94771175ec78d4ace07a 100644 (file)
@@ -1,3 +1,11 @@
+
+\header {
+texidoc = "note heads for improvisation have a different shape. "
+}
+
+%{ TODO: the construct with separet SquashVoice context is a little
+ gory. FIXME.  %}
+
 \version "1.3.146"
 
 improOn = \notes {\translator Voice = impro }
@@ -7,7 +15,7 @@ global = \notes { s1*3 \bar "|." }
 
 \score {
   <
-    \context ChordNames \chords {e8:m7*7 a2.:m7 bes4:m7 b1:m7 e8:m }
+    \context ChordNames \chords {e8*7:m7 a2.:m7 bes4:m7 b1:m7 e8:m }
     \context Staff \notes <
       \context SquashVoice = impro { \global }
       \context Voice = melo \transpose c'' {
@@ -24,7 +32,7 @@ global = \notes { s1*3 \bar "|." }
       \alias Voice
       \consists Pitch_squash_engraver
       \consists Local_key_engraver
-      squashedPosition = 6
+      squashedPosition = #0
       NoteHead \override #'style = #'slash
       Accidentals \override #'transparent = ##t
     }
index 19b1b54627295bae3e3fc14103a756f5597c869d..0129a9411e92d563f82c8a28701915032ac35312 100644 (file)
@@ -1,4 +1,4 @@
-4\version "1.3.146"
+\version "1.3.146"
 
 
 somewhatLong =  \lyrics{
diff --git a/input/test/memory.ly b/input/test/memory.ly
deleted file mode 100644 (file)
index d288ae6..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-\version "1.3.146"
-%{
-do a  memory stress test.
-%}
-
-
-bla =  \notes { 
-   c1((((    c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break c1 \break ))))c1}
-
-\score { \context Score <
-       \bla    \bla    \bla    \bla    \bla    \bla    \bla
-       >
-       \paper { Gourlay_maxmeaures = 2. }
-}
-
-
index a9b2fc9e8d1bcc44d4b745a25f0c3ee0e8ea545d..c29e4b3a3d1cf1c93bf6946b7a72fdcc43d3960e 100644 (file)
@@ -20,7 +20,7 @@
             }
             \context Voice=four {
                \stemDown\slurDown\tieDown 
-               \property Voice.horizontalNoteShift=-1
+               \property Voice .NoteColumn \override #'horizontal-shift = #-1
                fis
             }
        >
index 98ab7f1221bb7fe92fb66ae422735cb7b741f5bf..843c22bf667df4259afce87b1ee9380cc851f010 100644 (file)
@@ -10,15 +10,15 @@ voices according to actual rhythm and pitch.  User-defined texts such as
 }
 
 \score{
-  \context Staff = flauti <
+   \notes \context Staff = flauti <
     \time 4/4
     \context Voice=one \partcombine Voice
-    \context Thread=one \notes\relative c'' {
+    \context Thread=one\relative c'' {
       c4 d e f | b,4 d c d | r2 e4 f | c4 d e f |
       c4 r e f | c4 r e f | c4 r a r | a a r a |
       a2 \property Voice.soloADue = ##f a |
     }
-    \context Thread=two \notes\relative c'' {
+    \context Thread=two\relative c'' {
       g4 b d f | r2 c4 d | a c c d | a4. b8 c4 d
       c r e r | r2 s2 | a,4 r a r | a r r a |
       a2 \property Voice.soloADue = ##f a |
index 66a8890c95ead72e72fe9f86a594c9a1f9fd419c..13b6c57f46ec14ea2a44833192a2aaf263c9ab8b 100644 (file)
@@ -6,11 +6,11 @@
                c( d e )c |
                \slurDotted
                c( d e )c |
-               \slurNoDots
+               \slurSolid
                c( d e )c |
-               \property Voice.slurDash = #0.0
+               \property Voice. Slur \set #'dashed = #0.0
                c( d e )c |
-               \slurNoDots
+               \slurSolid
                c( d e )c |
        }
        \paper{ 
diff --git a/input/test/staff-side-slur.ly b/input/test/staff-side-slur.ly
deleted file mode 100644 (file)
index b667e6d..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-\version "1.3.146"
-\score{
-       \context Staff \notes\relative c''{
-               \property Staff.instrument = "Toeters"
-               c c c c(\break
-               )c c c c ~\break
-               c c c c\break
-       }
-       \paper{
-               linewidth=60.0\mm
-%              \translator { \HaraKiriStaffContext }
-               \translator { \OrchestralScoreContext }
-               \translator {
-                       \StaffContext
-                       \consists "Instrument_name_engraver"
-                       marginHangOnClef = 1
-               }
-       }
-}
-
-
-
diff --git a/input/test/super-sub.ly.orig b/input/test/super-sub.ly.orig
deleted file mode 100644 (file)
index 5d55806..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-\header {
-texidoc="Test super/sub, raise and overstrike."
-}
-
-
-
-\score {
-  \notes \relative a'' {
-    c^#'("bar")
-    c^#'(("bar"))
-    c^#'((("bar")))
-    c^#'(bold "bar")
-    c^#'((bold) "bar")
-    c^#'(((bold)) "bar")
-    c^#'(bold ("bar"))
-    c^#'(bold "bar")
-    c^#'(columns "foe" ((raise . 3) "bar"))
-    c^#'(columns "foe" (((raise . 3) "bar")))
-    c^#'(columns "foe" (((raise . 3)) "bar"))
-    c^#'(columns "foe" (super "12") (sub "3 4"))
-    c^#'(columns "foe" (super (overstrike "o") "/") (sub "x"))
-    c^#'(columns "foe" (overstrike "o") "/")
-    c^#'(columns "foe" ((bold roman overstrike) "o") "/")
-    c^#'(columns "foe" ((extent . (0 . 0)) "o") "/")
-    c^#'(columns "foo" (super "bar" (super "baz")))
-  }
-}
\ No newline at end of file
index a41d3f0d2b270d1d63207d9122d54018add78c29..3221b86eeb19b8d8974cf1f0f364667b81178fc0 100644 (file)
@@ -1,17 +1,21 @@
+\header {
+texidoc = " the transposing property leaves output invariant, but has effect on MIDI."
+
+}
 \version "1.3.146"
 
 \score { 
   \context Voice \notes\relative c {
     % btw: this is not how transposing is done in mudela,
        % this is a transposing performer, i.e. for midi-output only
-       \property Staff.transposing = 0 c
-       \property Staff.transposing = 2 c
-       \property Staff.transposing = 4 c
-       \property Staff.transposing = 5 c
-       \property Staff.transposing = 7 c
-       \property Staff.transposing = 9 c
-       \property Staff.transposing = 11 c
-       \property Staff.transposing = 12 c
+       \property Staff.transposing = #0 c
+       \property Staff.transposing = #2 c
+       \property Staff.transposing = #4 c
+       \property Staff.transposing = #5 c
+       \property Staff.transposing = #7 c
+       \property Staff.transposing = #9 c
+       \property Staff.transposing = #11 c
+       \property Staff.transposing = #12 c
        
   }
   \paper { }  
index 262c35e10b7d90e58a05af27141b3a18a769dc7e..0422d00aeb46367f7d9499f2f9cdd942f804604a 100644 (file)
@@ -100,7 +100,6 @@ voiceE =  \notes {
 
     >
        \paper {
-           font_normal = 12.
            \translator {
                 \StaffContext 
                 \consists Instrument_name_engraver
index e08f25beb2f96cf62ae5d927ceec6663ba45315c..5a40037ec218de9dc7278946840adaf910aa5337 100644 (file)
@@ -1,3 +1,5 @@
+% DOCUMENTME!
+
 \version "1.3.146"
 
 
@@ -38,11 +40,9 @@ voicedefault =  \notes {
 
     >
         \paper {
-            font_normal = 12.
             \translator {
                  \StaffContext
                 TimeSignature \override   #'style = #'C
-                 \consists Instrument_name_engraver
             }
         }
 }
diff --git a/input/tutorial/menuet.ly b/input/tutorial/menuet.ly
deleted file mode 100644 (file)
index 6fba5af..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-
-% lines preceded by a percent sign are comments.
-\include "paper16.ly"
-\score {
-    \notes
-    \relative c''
-        \sequential {
-           \key g \major
-           \time 3/4    
-
-       \repeat "volta" 2 \sequential {
-           d4 g,8 a b c d4 g, g |
-           e'4 c8 d e fis g4 g, g |
-           c4 d8( )c b a( )b4 c8 b a g |
-           a4 [b8 a] [g fis] g2.  |
-       }
-
-        b'4 g8 a b g
-        a4 d,8 e fis d |
-        g4 e8 fis g d cis4 b8 cis a4 |
-        a8-. b-. cis-. d-. e-. fis-.
-        g4 fis e |
-        fis a,  r8 cis8
-        d2.-\fermata
-        \bar "|."
-    }
-    \paper {
-       linewidth = 10.0 \cm % standard settings are too wide for a book
-   }
-}
diff --git a/input/tutorial/minuet.ly b/input/tutorial/minuet.ly
new file mode 100644 (file)
index 0000000..6fba5af
--- /dev/null
@@ -0,0 +1,30 @@
+
+% lines preceded by a percent sign are comments.
+\include "paper16.ly"
+\score {
+    \notes
+    \relative c''
+        \sequential {
+           \key g \major
+           \time 3/4    
+
+       \repeat "volta" 2 \sequential {
+           d4 g,8 a b c d4 g, g |
+           e'4 c8 d e fis g4 g, g |
+           c4 d8( )c b a( )b4 c8 b a g |
+           a4 [b8 a] [g fis] g2.  |
+       }
+
+        b'4 g8 a b g
+        a4 d,8 e fis d |
+        g4 e8 fis g d cis4 b8 cis a4 |
+        a8-. b-. cis-. d-. e-. fis-.
+        g4 fis e |
+        fis a,  r8 cis8
+        d2.-\fermata
+        \bar "|."
+    }
+    \paper {
+       linewidth = 10.0 \cm % standard settings are too wide for a book
+   }
+}
index 33b7e5af4daa6ae61a0fc152ec34743dfb6c8161..33a04d2f3956df291a9629a566e091179dd23dfe 100644 (file)
@@ -29,7 +29,7 @@ Bar::brew_molecule (SCM smob)
   Grob * me = unsmob_grob (smob);
 
   SCM s = me->get_grob_property ("glyph");
-  SCM barsiz_proc = me->get_grob_property ("barsize-procedure");
+  SCM barsiz_proc = me->get_grob_property ("bar-size-procedure");
   if (gh_string_p (s) && gh_procedure_p (barsiz_proc))
     {
       String str  =ly_scm2string (s);
index 961b6bf6c0ac503f0f0492ac32fb6a81a79c86b9..013c5dac4b9a17e6da8230fa86cfb370f82b4bc7 100644 (file)
@@ -20,7 +20,7 @@
 #include "side-position-interface.hh"
 #include "item.hh"
 
-/// where is c-0 in the staff?
+
 class Clef_engraver : public  Engraver
 {
 public:
@@ -34,7 +34,7 @@ protected:
   virtual void start_translation_timestep ();
   virtual void process_music ();
   virtual void acknowledge_grob (Grob_info);
-
+  virtual void do_creation_processing ();
 private:
   Item * clef_p_;
   Item * octavate_p_;
@@ -45,6 +45,7 @@ private:
   void create_clef ();
   void set_central_c (SCM, SCM, SCM);
   void set_glyph ();
+  void inspect_clef_properties ();
 };
 
 Clef_engraver::Clef_engraver ()
@@ -162,6 +163,24 @@ Clef_engraver::create_clef ()
 
 void
 Clef_engraver::process_music ()
+{
+  inspect_clef_properties ();
+}
+
+/*
+  this must be done in creation_proc() since grace notes will be
+  processed before Clef_engraver::prcoess_music()
+
+  Grace notes and clef changes are still broken.
+*/
+void
+Clef_engraver::do_creation_processing ()
+{
+  inspect_clef_properties ();
+}
+
+void
+Clef_engraver::inspect_clef_properties ()
 {
   SCM glyph = get_property ("clefGlyph");
   SCM clefpos = get_property ("clefPosition");
index 3fdfc26950dc520eeef96757a68958ba916b12be..bfb2f6a72cec7fe2ba26da46586536e4e750d84e 100644 (file)
@@ -23,6 +23,7 @@ struct Lilypond_version
   int major_i_;
   int minor_i_;
   int patch_i_;
+  String extra_patch_str_;
 };
 
 extern Lilypond_version oldest_version;
index d85f19796d55a12908813b853e5b3ea019dce9f1..12d63619c826bd14f92da3ad39e4f44a192c5236 100644 (file)
@@ -39,6 +39,6 @@ extern int score_count_global;
 extern Sources* source_global_l;
 
 #include <iostream.h> /* gcc 3.0 */
-void print_lilypond_versions (ostream &os);
+
 
 #endif /* MAIN_HH */
index 1fcc8a86a35d046f36cbed1a923b8f7aa4da7cda..122f8d0d80ebf9876ebc5d2185e7a581d3272e2e 100644 (file)
@@ -17,8 +17,6 @@
 
 class Timing_translator : public virtual Translator
 {
-
-  SCM last_time_sig_;
 public:
   VIRTUAL_COPY_CONS (Translator);
   Timing_translator ();
@@ -34,6 +32,6 @@ protected:
 public:
   Moment measure_position () const;
   Moment measure_length () const;  
-  void set_time_signature ();
+
 };
 #endif // TIMING_TRANSLATOR_HH
index e58439dc9b66fb1b207ff01364083b7503a19a49..54b7ccdcf8e2de9d676223776cd9cc99556c373f 100644 (file)
@@ -89,7 +89,6 @@ Instrument_name_engraver::acknowledge_grob (Grob_info i)
       */
       if (gh_string_p (s) || gh_pair_p (s))
        create_text (s);
-         
     }
 
   if (dynamic_cast<Spanner*> (i.elem_l_)
index e061214ef156aebaed35110489020d0b38ac14bb..413d4be351f4cc3fcfeb05967d0711461ec1fcf4 100644 (file)
@@ -7,6 +7,7 @@
 */
 
 #include <stdio.h>
+#include <string.h>
 
 #include "config.h"
 #include "string.hh"
@@ -48,6 +49,27 @@ void
 ly_init_kpath (char *av0)
 {
 #if KPATHSEA && HAVE_KPATHSEA_KPATHSEA_H
+
+  /*
+    Remove the setting for TFMFONTS if we have kpathsea, because
+    kpathsea can find TFM fonts anyway.
+
+    If we don't lily will want to make tfms for cmr fonts, even if
+    there is a :: entry in the TFMFONTS path.
+
+    This will fail if a user has special fonts (outside of feta) that
+    can not be found by kpath.
+
+    If TFMFONTS is unset, TFMs of feta will be generated on the
+    fly. The risk is that this will cause checksum mismatch errors,
+    but MF is reasonably deterministic (so we hope not).
+
+    The advantage is that the PK font will also be generated under
+    /var/texmf/fonts, reducing clutter and compilation time.
+    
+  */
+  unsetenv ("TFMFONTS");
+  
   /*
    initialize kpathsea
    */
index 01a2cf6c700edb794c01aa3ebb23eb20e235f842..f9a545082f5317934b3ed95f0a43ae644fdbfff7 100644 (file)
@@ -72,6 +72,9 @@ LYRICS                ({AA}|{TEX})[^0-9 \t\n\f]*
 
 */
 
+
+SCM scan_fraction (String);
+
 %}
 
 %option c++
@@ -96,7 +99,7 @@ A             [a-zA-Z]
 AA             {A}|_
 N              [0-9]
 AN             {AA}|{N}
-PUNCT          [?!:']
+PUNCT          [?!:'`]
 ACCENT         \\[`'"^]
 NATIONAL       [\001-\006\021-\027\031\036\200-\377]
 TEX            {AA}|-|{PUNCT}|{ACCENT}|{NATIONAL}
@@ -104,6 +107,7 @@ WORD                {A}{AN}*
 ALPHAWORD      {A}+
 DIGIT          {N}
 UNSIGNED       {N}+
+FRACTION       {N}+\/{N}+
 INT            -?{UNSIGNED}
 REAL           ({INT}\.{N}*)|(-?\.{N}+)
 KEYWORD                \\{WORD}
@@ -269,6 +273,10 @@ HYPHEN             --
        {NOTECOMMAND}   {
                return scan_escaped_word (YYText () + 1); 
        }
+       {FRACTION}      {
+               yylval.scm =  scan_fraction (YYText ());
+               return FRACTION;
+       }
 
        {DIGIT}         {
                yylval.i = String_convert::dec2_i (String (YYText ()));
@@ -313,6 +321,10 @@ HYPHEN             --
        \" {
                start_quote ();
        }
+       {FRACTION}      {
+               yylval.scm =  scan_fraction (YYText ());
+               return FRACTION;
+       }
        {UNSIGNED}              {
                yylval.i = String_convert::dec2_i (String (YYText ()));
                return UNSIGNED;
@@ -349,6 +361,10 @@ HYPHEN             --
        {NOTECOMMAND}   {
                return scan_escaped_word (YYText () + 1);
        }
+       {FRACTION}      {
+               yylval.scm =  scan_fraction (YYText ());
+               return FRACTION;
+       }
        {UNSIGNED}              {
                yylval.i = String_convert::dec2_i (String (YYText ()));
                return UNSIGNED;
@@ -591,6 +607,15 @@ strip_trailing_white (String&s)
 
 
 
+Lilypond_version oldest_version ("1.3.59");
+
+void
+print_lilypond_versions (ostream &os)
+{
+  os << _f ("Oldest supported input version: %s", oldest_version.str ()) 
+    << endl;
+}
+
 
 bool
 valid_version_b (String s)
@@ -630,3 +655,20 @@ lyric_fudge (String s)
 
   return s;
 }
+
+/*
+Convert "NUM/DEN" into a '(NUM . DEN) cons.
+*/
+SCM
+scan_fraction (String frac)
+{
+       int i = frac.index_i ('/');
+       int l = frac.length_i ();
+       String left = frac.left_str (i);
+       String right = frac.right_str (l - i - 1);
+
+       int n = String_convert::dec2_i (left);
+       int d = String_convert::dec2_i (right);
+       return gh_cons (gh_int2scm (n), gh_int2scm (d));
+}
+               
index d1bddc5cf796c60eafe13839d8ee274919cc21a1..5af0c899fdd49e152a792fa0ea3ad13a52a185b8 100644 (file)
@@ -22,10 +22,15 @@ Lilypond_version::Lilypond_version (String str)
 {
   Array<String> version;
   version = String_convert::split_arr (str, '.');
-  assert (version.size () == 3);
+  
   major_i_ = version[0].value_i ();
   minor_i_ = version[1].value_i ();
-  patch_i_ = version[2].value_i ();
+  patch_i_ = 0;
+  if (version.size () >= 3)
+    patch_i_ = version[2].value_i ();
+
+  if (version.size () >= 4)
+    extra_patch_str_ = version[3];
 }
 
 String
index bf19d07cc17bf0e401537976f9b56a81dc56f726..043a658fcff27c91f8719b7514afa3a2c80a6e8d 100644 (file)
@@ -8,13 +8,6 @@
   (c)  1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
            Jan Nieuwenhuizen <janneke@gnu.org>
 */
-
-/*
-  Two shift/reduce problems:
-    -
-    -
- */
-
 #include <ctype.h>
 #include <iostream.h>
 
@@ -45,6 +38,7 @@
 #include "transposed-music.hh"
 #include "time-scaled-music.hh"
 #include "repeated-music.hh"
+
 #include "lilypond-input-version.hh"
 #include "grace-music.hh"
 #include "part-combine-music.hh"
@@ -53,8 +47,6 @@
 #include "un-relativable-music.hh"
 #include "chord.hh"
 
-
-
 bool
 regular_identifier_b (SCM id)
 {
@@ -71,13 +63,24 @@ regular_identifier_b (SCM id)
 }
 
 
+Music* 
+set_property_music (SCM sym, SCM value)
+{
+       Music * p = new Music (SCM_EOL);
+       p->set_mus_property ("symbol", sym);
+       p->set_mus_property ("iterator-ctor",
+       Property_iterator::constructor_cxx_function);
+
+       p->set_mus_property ("value", value);
+       return p;
+}
+
 bool
 is_duration_b (int t)
 {
   return t && t == 1 << intlog2 (t);
 }
 
-
 void
 set_music_properties (Music *p, SCM a)
 {
@@ -88,15 +91,9 @@ set_music_properties (Music *p, SCM a)
 }
 
 
-// mmm JUNKME ?
-Lilypond_version oldest_version ("1.3.59");
 
-void
-print_lilypond_versions (ostream &os)
-{
-  os << _f ("Oldest supported input version: %s", oldest_version.str ()) 
-    << endl;
-}
+
+
 
 
 // needed for bison.simple's malloc () and free ()
@@ -238,6 +235,7 @@ yylex (YYSTYPE *s,  void * v_l)
 %token <scm>   TONICNAME_PITCH
 %token <scm>   CHORDMODIFIER_PITCH
 %token <scm>   DURATION_IDENTIFIER
+%token <scm>    FRACTION
 %token <id>    IDENTIFIER
 
 
@@ -278,7 +276,7 @@ yylex (YYSTYPE *s,  void * v_l)
 %type <scm>    chord_additions chord_subtractions chord_notes chord_step
 %type <music>  chord
 %type <scm>    chord_note chord_inversion chord_bass
-%type <scm>    duration_length
+%type <scm>    duration_length fraction
 
 %type <scm>  embedded_scm scalar
 %type <music>  Music Sequential_music Simultaneous_music Music_sequence
@@ -291,7 +289,7 @@ yylex (YYSTYPE *s,  void * v_l)
 %type <music> command_req verbose_command_req
 %type <request>        extender_req
 %type <request> hyphen_req
-%type <scm>    string bare_number number_expression
+%type <scm>    string bare_number number_expression number_term number_factor 
 
 %type <score>  score_block score_body
 
@@ -301,32 +299,13 @@ yylex (YYSTYPE *s,  void * v_l)
 %type <scm>    script_abbreviation
 
 
-/*
-  left association: must reduce
-  a - b - c = (a - b) - c
- */
-%left '-' '+'
-%left '*' '/'
-%left UNARY_MINUS
-
-
-
-/*
-  multiplied_duration precedence
-  `* 3 / c' and `* 1 / 2' should be equal, try shift rather than
-   forced reduce, and take higher precedence than plain `*' and `/'
-
-  -- ugr, but it doesn't really work? input/no-notation/parse5.ly
-     it seems that:
 
-       %left *forces* reduce
-       %right *forces* shift
+%left '-' '+'
 
-     but we need (the default): *try* shift, and we can't override
-     above %left '*' '/' with `%prec default setting'?
+/* We don't assign precedence to / and *, because we might need varied
+prec levels in different prods */
 
- */
-%right MUL1 MUL2 INVERSION
+%left UNARY_MINUS
 
 %%
 
@@ -335,11 +314,9 @@ lilypond:  /* empty */
        | lilypond assignment  { }
        | lilypond error {
                THIS->error_level_i_  = 1;
-               //THIS->parser_error (_ ("ly invalid"));
        }
        | lilypond INVALID      {
                THIS->error_level_i_  = 1;
-               //THIS->parser_error (_ ("ly invalid"));
        }
        ;
 
@@ -357,7 +334,6 @@ toplevel_expression:
        }
        | score_block {
                score_global_array.push ($1);
-               
        }
        | output_def {
                if (dynamic_cast<Paper_def*> ($1))
@@ -380,13 +356,10 @@ chordmodifiers_block:
        CHORDMODIFIERS notenames_body   {  $$ = $2; }
        ;
 
-
 notenames_block:
        PITCHNAMES notenames_body   {  $$ = $2; }
        ;
 
-
-
 notenames_body:
        embedded_scm    {
          int i = scm_ilength ($1);
@@ -432,8 +405,16 @@ assignment:
                THIS->remember_spot ();
        }
        /* cont */ '=' identifier_init  {
+
+       /*
+               Should find generic way of associating input with objects.
+       */
+               Input ip = THIS->pop_spot ();
+
                if (! regular_identifier_b ($1))
-                       THIS->parser_error (_ ("Identifier should have  alphabetic characters only"));
+               {
+                       ip.warning (_ ("Identifier should have  alphabetic characters only"));
+               }
 
                THIS->lexer_p_->set_identifier (ly_scm2string ($1), $4);
 
@@ -444,10 +425,6 @@ assignment:
 all objects can be unprotected as soon as they're here.
 
 */
-       /*
-               Should find generic way of associating input with objects.
-       */
-               THIS->pop_spot ();
        }
        ;
 
@@ -841,11 +818,11 @@ Composite_music:
                THIS->remember_spot ();
        }
        /* CONTINUED */ 
-               bare_unsigned '/' bare_unsigned Music   
+               fraction Music  
 
        {
-               int n = $3; int d = $5;
-               Music *mp = $6;
+               int n = gh_scm2int (gh_car ($3)); int d = gh_scm2int (gh_cdr ($3));
+               Music *mp = $4;
                $$ = new Time_scaled_music (SCM_EOL);
                $$->set_spot (THIS->pop_spot ());
 
@@ -972,13 +949,8 @@ translator_change:
 
 property_def:
        PROPERTY STRING '.' STRING '='  scalar {
-               Music *t = new Music (SCM_EOL);
-
-               t->set_mus_property ("iterator-ctor",
-                       Property_iterator::constructor_cxx_function);
-               t->set_mus_property ("symbol", scm_string_to_symbol ($4));
-               t->set_mus_property ("value", $6);
-
+               
+               Music *t = set_property_music (scm_string_to_symbol ($4), $6);
                Context_specced_music *csm = new Context_specced_music (SCM_EOL);
 
                csm->set_mus_property ("element", t->self_scm ());
@@ -1087,12 +1059,7 @@ command_element:
                $1-> set_spot (THIS->here_input ());
        }
        | BAR STRING                    {
-               Music *t = new Music (SCM_EOL);
-
-               t->set_mus_property ("iterator-ctor",
-                       Property_iterator::constructor_cxx_function);
-               t->set_mus_property ("symbol", ly_symbol2scm ("whichBar"));
-               t->set_mus_property ("value", $2);
+               Music *t = set_property_music (ly_symbol2scm ("whichBar"), $2);
 
                Context_specced_music *csm = new Context_specced_music (SCM_EOL);
                csm->set_mus_property ("element", t->self_scm ());
@@ -1104,13 +1071,8 @@ command_element:
                csm->set_mus_property ("context-type", ly_str02scm ("Score"));
        }
        | PARTIAL duration_length       {
-               Music * p = new Music (SCM_EOL);
-               p->set_mus_property ("symbol", ly_symbol2scm ( "measurePosition"));
-               p->set_mus_property ("iterator-ctor",
-                       Property_iterator::constructor_cxx_function);
-
                Moment m = - unsmob_duration ($2)->length_mom ();
-               p->set_mus_property ("value", m.smobbed_copy ());
+               Music * p = set_property_music (ly_symbol2scm ( "measurePosition"),m.smobbed_copy ());
 
                Context_specced_music * sp = new Context_specced_music (SCM_EOL);
                sp->set_mus_property ("element", p->self_scm ());
@@ -1140,19 +1102,33 @@ command_element:
                $$ =sp ;
                sp-> set_mus_property ("context-type", ly_str02scm ("Staff"));
        }
-       | TIME_T bare_unsigned '/' bare_unsigned  {
-               Music * p = new Music (SCM_EOL);
-               p->set_mus_property ("symbol",
-                       ly_symbol2scm ( "timeSignatureFraction"));
-               p->set_mus_property ("iterator-ctor",
-                       Property_iterator::constructor_cxx_function);
+       | TIME_T fraction  {
+               Music * p1 = set_property_music (ly_symbol2scm ( "timeSignatureFraction"), $2);
 
-               p->set_mus_property ("value", gh_cons (gh_int2scm ($2),
-                                                       gh_int2scm ($4)));
+  int l = gh_scm2int (gh_car ($2));
+  int o = gh_scm2int (gh_cdr ($2));
+  
+  Moment one_beat = Moment (1)/Moment (o);
+  Moment len = Moment (l) * one_beat;
+
+
+               Music *p2 = set_property_music (ly_symbol2scm ("measureLength"), len.smobbed_copy ());
+               Music *p3 = set_property_music (ly_symbol2scm ("beatLength"), one_beat.smobbed_copy ());
+
+               SCM list = gh_list (p1->self_scm (), p2->self_scm (), p3->self_scm(), SCM_UNDEFINED);
+               Sequential_music *seq = new Sequential_music (SCM_EOL);
+               seq->set_mus_property ("elements", list);
+               
 
                Context_specced_music * sp = new Context_specced_music (SCM_EOL);
-               sp->set_mus_property ("element", p->self_scm ());
-               scm_unprotect_object (p->self_scm ());
+               sp->set_mus_property ("element", seq->self_scm ());
+
+               
+
+               scm_unprotect_object (p3->self_scm ());
+               scm_unprotect_object (p2->self_scm ());
+               scm_unprotect_object (p1->self_scm ());
+               scm_unprotect_object (seq->self_scm ());
 
                $$ = sp;
 
@@ -1613,32 +1589,24 @@ steno_duration:
 
 
 
-/*
-  Multiplied durations are always multiplied, ie,
-  c1 * INT or c1 * RAT.
-
-  No support for c1 /4 and c1 /2/2.
-
-  '*' and '/' are declared %left, with makes them reduce rather than
-  shift.
-
-  Because there are no a/b/c association problems anymore, it is
-  safe to allow '*' and '/' to shift.
-
-   * 1 / 4 shifts to match second rule: '* 1 / 4'
-
-   '/' TONIC_NAME shifts to match rule: chord_inversion
-
- */
 multiplied_duration:
        steno_duration {
                $$ = $1;
        }
-       | multiplied_duration '*' bare_unsigned %prec MUL1 {
-               $$ = unsmob_duration ($$)->compressed ($3).smobbed_copy ();
+       | steno_duration '*' bare_unsigned {
+               $$ = unsmob_duration ($$)->compressed ( $3) .smobbed_copy ();
+       }
+       | steno_duration '*' FRACTION {
+               Moment m (gh_scm2int (gh_car ($3)), gh_scm2int (gh_cdr ($3)));
+
+               $$ = unsmob_duration ($$)->compressed (m).smobbed_copy ();
        }
-       | multiplied_duration '*' bare_unsigned '/' bare_unsigned %prec MUL2 {
-               $$ = unsmob_duration ($$)->compressed (Moment ($3, $5)).smobbed_copy ();
+       ;
+
+fraction:
+       FRACTION { $$ = $1; }
+       | UNSIGNED '/' UNSIGNED {
+               $$ = gh_cons (gh_int2scm ($1), gh_int2scm ($3));
        }
        ;
 
@@ -1797,7 +1765,7 @@ chord_inversion:
        {
                $$ = SCM_EOL;
        }
-       | '/' steno_tonic_pitch %prec INVERSION {
+       | '/' steno_tonic_pitch {
                $$ = $2;
        }
        ;
@@ -1855,29 +1823,38 @@ chord_note:
        UTILITIES
  */
 number_expression:
-       bare_number {
-               $$ = $1;
+       number_expression '+' number_term {
+               $$ = scm_sum ($1, $3);
        }
-       | '-'  number_expression %prec UNARY_MINUS {
-               $$ = scm_difference ($2, SCM_UNDEFINED);
+       | number_expression '-' number_term {
+               $$ = scm_difference ($1, $3);
        }
-       | number_expression '*' number_expression {
+       | number_term 
+       ;
+
+number_term:
+       number_factor {
+               $$ = $1;
+       }
+       | number_factor '*' number_factor {
                $$ = scm_product ($1, $3);
        }
-       | number_expression '/' number_expression {
+       | number_factor '/' number_factor {
                $$ = scm_divide ($1, $3);
        }
-       | number_expression '+' number_expression {
-               $$ = scm_sum ($1, $3);
-       }
-       | number_expression '-' number_expression {
-               $$ = scm_difference ($1, $3);
-       }
-       | '(' number_expression ')'     {
+       ;
+
+number_factor:
+       '(' number_expression ')'       {
                $$ = $2;
        }
+       | '-'  number_factor { /* %prec UNARY_MINUS */
+               $$ = scm_difference ($2, SCM_UNDEFINED);
+       }
+       | bare_number
        ;
 
+
 bare_number:
        UNSIGNED        {
                $$ = gh_int2scm ($1);
index 5ebe1920230bd258f6ada4118faf2d088fb643ee..72a444a5329b11940773ccb3d228288494cc1750 100644 (file)
@@ -32,7 +32,7 @@ System_start_delimiter::staff_bracket (Grob*me,Real height)
                    me->get_grob_property ("bracket-thick"),
                    SCM_UNDEFINED);
 
-  /*
+/*
 TODO: sort this out.
     
 Another thing:
@@ -47,10 +47,9 @@ But I really think that you mean
 (arc_height changes the x-axis-size of arc ; arc_width changes the
 y-axis-size)
 Will not fix it since I'm not sure.
-
--Rune
   
    */
+
   Real h = height + 2 * arc_height;
   Box b (Interval (0, 1.5), Interval (-h/2, h/2));
   Molecule mol (b, at);
index e17b77d353e88ef30688fb5a051123090ff85d89..a8ce824d564cfdb14fc7045d5c63b6dbd8bf40bf 100644 (file)
@@ -46,8 +46,7 @@ void
 Time_signature_performer::create_audio_elements ()
 {
   SCM fr = get_property ("timeSignatureFraction");
-  if (gh_pair_p (fr)
-      && scm_equal_p (fr, prev_fraction_) != SCM_BOOL_T)
+  if (gh_pair_p (fr) && !gh_equal_p (fr, prev_fraction_))
     {
       prev_fraction_ = fr;
       int b = gh_scm2int (gh_car (fr));
index ec677a56faa0f472fb95d93d5e60816e7189437d..aa4882853075520b62e236629e93fe3c5c039e8e 100644 (file)
@@ -42,14 +42,6 @@ Timing_translator::process_music ()
       if (!to_boolean (get_property ("barCheckNoSynchronize")))
        daddy_trans_l_->set_property ("measurePosition", zero.smobbed_copy ());
     }
-
-  SCM fr = get_property ("timeSignatureFraction");
-  
-  if (scm_equal_p (fr, last_time_sig_) == SCM_BOOL_F)
-    {
-      last_time_sig_ = fr;
-      set_time_signature ();
-    }
 }
 
 
@@ -96,7 +88,8 @@ Timing_translator::initialize ()
   daddy_trans_l_->set_property ("timeSignatureFraction",
                                gh_cons (gh_int2scm (4), gh_int2scm (4)));
 
-  set_time_signature ();
+  daddy_trans_l_->set_property ("measureLength", Moment (1).smobbed_copy ());
+  daddy_trans_l_->set_property ("beatLength", Moment (1,4).smobbed_copy ());
 }
 
 Moment
@@ -110,24 +103,10 @@ Timing_translator::measure_length () const
 }
 
 
-void
-Timing_translator::set_time_signature ()
-{
-  SCM fr = get_property ("timeSignatureFraction");
-  int l = gh_scm2int (gh_car (fr));
-  int o = gh_scm2int (gh_cdr (fr));
-  
-  Moment one_beat = Moment (1)/Moment (o);
-  Moment len = Moment (l) * one_beat;
-
-  daddy_trans_l_->set_property ("measureLength", len.smobbed_copy ());
-  daddy_trans_l_->set_property ("beatLength", one_beat.smobbed_copy ());
-}
 
 Timing_translator::Timing_translator ()
 {
 
-  last_time_sig_ = SCM_BOOL_F;
 
 }
 
index 356d696d52c075a1c9d71377cfe86e21c0bc34d0..3ffe7b78da4301887bf7820a34b86ef5a146a31a 100644 (file)
@@ -6,6 +6,7 @@
   (c)  1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
 */
 
+#include <string.h>
 
 #include "box.hh"
 #include "debug.hh"
@@ -46,16 +47,22 @@ Volta_spanner::brew_molecule (SCM smob)
   if (!bar_arr.size ())
     return SCM_EOL;
 
-  bool no_vertical_start = false;
-  bool no_vertical_end = to_boolean (me->get_grob_property ("last-volta"));
   Spanner *orig_span =  dynamic_cast<Spanner*> (me->original_l_);
 
   bool first_bracket = orig_span && (orig_span->broken_into_l_arr_[0] == (Spanner*)me);
   
   bool last_bracket = orig_span && (orig_span->broken_into_l_arr_.top () == (Spanner*)me);
 
-  no_vertical_start = orig_span && !first_bracket;
-  no_vertical_end = orig_span && !last_bracket;
+  bool no_vertical_start = orig_span && !first_bracket;
+  bool no_vertical_end = orig_span && !last_bracket;
+  SCM bars = me->get_grob_property ("bars");
+  Grob * endbar =   unsmob_grob (gh_car (bars));
+  SCM glyph = endbar->get_grob_property("glyph");
+  String str = ly_scm2string(glyph);
+  const char* cs = str.ch_C();
+  no_vertical_end |=
+    (strcmp(cs,":|")!=0 && strcmp(cs,"|:")!=0 && strcmp(cs,"|.")!=0
+     && strcmp(cs,":|:")!=0 && strcmp(cs,".|")!=0);
 
   Real staff_thick = me->paper_l ()->get_var ("stafflinethickness");  
   Real half_space = 0.5;
index 52995c5849c188391383d7177682102b2e0a5aff..bec4f635108ac4ed952e23bbd1c1f6c8b5bbf2d6 100644 (file)
@@ -42,8 +42,8 @@ StaffContext=\translator {
        % weird effects when doing instrument names for
        % piano staffs
 
-       instrument = #""
-       instr = #""
+       instrument = ##f
+       instr = ##f
          
        \accepts "Voice"
 }
@@ -238,8 +238,10 @@ PianoStaffContext = \translator{
        \name "PianoStaff"
 
        \consists "Vertical_align_engraver"
-
+       \consists "Instrument_name_engraver"
        
+       instrument = ##f
+       instr = ##f
        
        verticalAlignmentChildCallback = #Align_interface::fixed_distance_alignment_callback
        VerticalAlignment \override #'forced-distance = #12
index ba96f088cab28fa4ab9086530a1d95eec8a8718c..665f1cfd2215dda480491804f5a850af9097567b 100644 (file)
@@ -1,15 +1,15 @@
 Begin3
 Title: LilyPond
-Version: 1.3.149
-Entered-date: 17APR01
+Version: 1.3.150
+Entered-date: 23APR01
 Description: @BLURB@
 Keywords: music notation typesetting midi fonts engraving
 Author: hanwen@cs.uu.nl (Han-Wen Nienhuys)
        janneke@gnu.org (Jan Nieuwenhuizen)
 Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
 Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
-       1000k lilypond-1.3.149.tar.gz 
+       1000k lilypond-1.3.150.tar.gz 
 Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
-       1000k lilypond-1.3.149.tar.gz 
+       1000k lilypond-1.3.150.tar.gz 
 Copying-policy: GPL
 End
index fa05908bffcbccc8572b682aa43a7f47d9717d2b..31e7302fb79f7ebf6de1d17777a1c5219842d93f 100644 (file)
@@ -1,11 +1,11 @@
 %define info yes
 
 Name: lilypond
-Version: 1.3.149
+Version: 1.3.150
 Release: 1
 License: GPL
 Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.149.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.150.tar.gz
 # music notation software for.. ?
 Summary: A program for printing sheet music.
 URL: http://www.cs.uu.nl/~hanwen/lilypond
index 119471cba3b20e5bf973027c3f36fb18fe02ed25..db728f19d50b1471c07696cdff10a916b73f380f 100644 (file)
@@ -95,13 +95,13 @@ upper =  \context Staff=upper \notes\relative c {
 lower =  \context Staff=lower \notes\relative c{
        \context Voice=i
        \property Voice.TextScript \set #'font-style = #'roman
-       c4 e g^"\\textsharp"-\mordent g,4 |
-       d'4-\mordent f a-\mordent^"\\textsharp" a,4 |
+       c4 e g^#'(music "accidentals-1") -\mordent g,4 |
+       d'4-\mordent f a-\mordent^#'(music "accidentals-1")  a,4 |
        e' e'-\mordent a, b-\upprall |
        c4 e, fis gis-\upprall |
        a4 c, d e-\upprall |
        f4 e d-\prall c |
-       g'-\mordent^"\\textsharp" g, g'-\mordent g, |
+       g'-\mordent^#'(music "accidentals-1")  g, g'-\mordent g, |
        g'-\mordent g, g'-\mordent g, |
        g' r s s | s s s s \clef "bass" |
        <
index e4046587dc5604d77a0bda8896c1e0666f86a130..e8f231a3f9cf79996d13a7fe33d1957439307625 100644 (file)
@@ -60,7 +60,7 @@ lower =  \context Staff \notes\relative c{
        g2 r4 g |
        a8 a, c e  c a g' e |
        fis2 r4 d |
-       g-\mordent-"(\\textsharp)" g, 4 g'-\mordent g, |
+       g-\mordent-#'(music "accidentals-1") g, 4 g'-\mordent g, |
        % mordents in brackets...
        g'-\mordent g, g'-\mordent g, |
        g'-\mordent g, g'-\mordent g, |
index 3792cad340f1ff5dd09cf5fa4338428ff8c96182..d760a91db48b9bc827fb8d6c0173192454228ec1 100644 (file)
@@ -26,8 +26,8 @@ upper =  \context Staff \notes\relative c
                {
                        \stemUp 
                        \property Voice.TextScript \set #'font-style = #'roman
-                       c4-\mordent^"(\\textsharp)" r r |
-                       c4-\mordent^"(\\textsharp)" r r
+                       c4-\mordent^#'(music "accidentals-1") r r |
+                       c4-\mordent^#'(music "accidentals-1") r r
                        \property Voice.TextScript \set #'font-style = #'italic
                }
                \context Voice=ii { \stemDown a4 r r | a4 r r }
@@ -124,7 +124,7 @@ lower =  \context Staff \notes\relative c{
        fis,4 r r 
        d  fis d |
        \property Voice.TextScript \set #'font-style = #'roman
-       g4-\mordent^"(\\textsharp)" r r8 f!8 |
+       g4-\mordent^#'(music "accidentals-1") r r8 f!8 |
        \property Voice.TextScript \set #'font-style = #'italic
        e4-\prall r r |
        f4-\mordent r r8 e |
diff --git a/ps/lily.ps b/ps/lily.ps
deleted file mode 100644 (file)
index 154fa20..0000000
+++ /dev/null
@@ -1,265 +0,0 @@
-%!PS-Adobe-1.0: lily.ps 
-%
-% Functions for direct and embedded PostScript
-
-% round cappings 
-1 setlinecap
-
-/euclidean_length  
-{ 
-       1 copy mul exch 1 copy mul add sqrt 
-} bind def 
-
-/draw_beam % width slope thick 
-{ 
-        2 div /beam_thick exch def 
-        /beam_slope exch def 
-        /beam_wd exch def 
-        beam_slope beam_wd mul /beam_ht exch def 
-        0 beam_thick neg moveto  
-        beam_wd beam_ht rlineto  
-        0 beam_thick 2 mul rlineto 
-        0 beam_thick lineto 
-        closepath fill 
-} bind def 
-
-/draw_repeat_slash % width slope thick
-{
-  /beamthick exch def
-  /slope exch def
-  /width exch def
-  beamthick beamthick slope div euclidean_length
-    /xwid exch def 
-  0 0 moveto
-  xwid 0  rlineto
-  width slope width mul rlineto
-  xwid neg 0 rlineto
-%  width neg width angle sin mul neg rlineto
-  closepath fill
-} bind def
-
-/draw_hairpin % width start_h end_h thick
-{
-  setlinewidth
-  /end_h exch def 
-  /start_h exch def
-  /wid exch def
-  0 start_h moveto
-  wid end_h lineto
-  stroke
-  0 start_h neg moveto
-  wid end_h neg lineto
-  stroke
-} bind def
-
-/draw_tuplet % height gap dx dy thick dir 
-{ 
-       /dir exch def 
-       setlinewidth 
-       1 setlinecap 
-       1 setlinejoin 
-       /tuplet_dy exch def 
-       /tuplet_dx exch def 
-       /tuplet_gapx exch def 
-       /tuplet_h exch def 
-       tuplet_dy tuplet_dx div tuplet_gapx mul /tuplet_gapy exch def 
-
-
-       0 0 moveto 
-       0 tuplet_h dir mul lineto  
-       tuplet_dx tuplet_gapx sub 2 div  
-               tuplet_dy tuplet_gapy sub 2 div tuplet_h dir mul add lineto 
-       tuplet_dx tuplet_gapx add 2 div  
-               tuplet_dy tuplet_gapy add 2 div tuplet_h dir mul add moveto 
-       tuplet_dx tuplet_dy tuplet_h dir mul add lineto 
-       tuplet_dx tuplet_dy lineto 
-       stroke 
-} bind def 
-
-/difficult_draw_ez_ball % ch letter_col ball_col font
-{
-       % font
-       findfont 0.7 scalefont setfont 
-       0.1 setlinewidth
-       0 0 moveto
-       0 setgray
-       0.5 0 0.5 0 360 arc closepath fill stroke
-       % ball_col
-       1 eq {
-               0.01 setlinewidth
-               1 setgray
-               0.5 0 0.4 0 360 arc closepath
-               fill stroke
-       } if 
-       % letter_col
-       setgray
-       % 0.25 is empiric centering. Change to taste
-       0.25 -0.25 moveto
-       % ch
-       show
-} bind def
-
-% Simple, but does it work everywhere?
-% The filled circles are drawn by setting the linewidth
-% to 2*radius and drawing a point.  Is that (defined to be)
-% a nice filled circle?
-/draw_ez_ball % ch letter_col ball_col font
-{
-       % font
-       findfont 0.85 scalefont setfont
-       /origin { 0.45 0 } def
-       0 setgray
-       1.1 setlinewidth
-       origin moveto
-       origin lineto stroke
-       % ball_col
-       setgray
-       0.9 setlinewidth
-       origin moveto
-       origin lineto stroke
-       % letter_col
-       setgray
-       % 0.25 is empiric centering. Change to taste
-       origin moveto
-       -0.28 -0.30 rmoveto
-       % ch
-       show
-} bind def
-
-/draw_volta % h w thick vert_start vert_end 
-{ 
-       /vert_end exch def 
-       /vert_start exch def 
-       setlinewidth 
-       /volta_w exch def 
-       /volta_h exch def 
-       1 setlinecap 
-       1 setlinejoin 
-       vert_start 0 eq { 
-               0 0 moveto 
-               0 volta_h lineto 
-       } if 
-       0 volta_h moveto 
-       volta_w volta_h lineto 
-       vert_end 0 eq { 
-               volta_w 0 lineto 
-       } if 
-       stroke 
-} bind def 
-
-% this is for drawing slurs. 
-/draw_bezier_sandwich  % thickness controls 
-{ 
-       setlinewidth 
-       moveto 
-       curveto 
-       lineto 
-       curveto 
-       gsave 
-       fill 
-       grestore 
-       stroke 
-} bind def 
-
-/draw_dashed_line % dash thickness dx dy
-{ 
-       1 setlinecap 
-       1 setlinejoin 
-       setdash 
-       setlinewidth 
-       0 0 moveto
-       lineto
-       stroke 
-} bind def 
-
-/draw_dashed_slur % dash thickness controls
-{ 
-       1 setlinecap 
-       1 setlinejoin 
-       setdash 
-       setlinewidth 
-       8 -2 roll 
-       moveto 
-       curveto 
-       stroke 
-} bind def 
-
-
-
-/bracket_traject 
-{ 
-       /traject_ds exch def 
-       /traject_alpha exch def 
-       traject_ds traject_alpha sin mul add 
-       exch 
-       traject_ds traject_alpha cos mul add 
-       exch 
-} bind def 
-
-
-
-/half_bracket
-{ 
-%6 
-       0 0 
-%5a 
-       bracket_thick arch_height add half_height arch_thick sub arch_width add 
-       arch_angle arch_height -0.15 mul bracket_traject 
-%5b 
-       bracket_thick 0.5 mul half_height 
-       0 arch_height 0.5 mul bracket_traject 
-%5c 
-       0 half_height 
-%4a 
-       bracket_thick half_height arch_thick sub 
-       0 arch_height 0.4 mul bracket_traject 
-%4b 
-       bracket_thick arch_height add half_height arch_thick sub arch_width add 
-       arch_angle arch_height -0.25 mul bracket_traject 
-%4c 
-       bracket_thick arch_height add half_height arch_thick sub arch_width add 
-%3 
-       bracket_thick half_height arch_thick sub 
-%2 
-       bracket_thick 0 
-%1 
-       0 0 
-} bind def 
-
-/draw_half_bracket { 
-       moveto 
-       lineto 
-       lineto 
-       curveto 
-       curveto 
-       lineto 
-       gsave 
-       fill 
-       grestore 
-} bind def 
-
-/draw_bracket % arch_angle arch_width arch_height bracket_height arch_thick bracket_thick
-{ 
-       % urg
-
-       /bracket_thick exch def
-       /arch_thick exch def
-       /bracket_height exch def
-       /arch_height exch def
-       /arch_width exch def
-       /arch_angle exch def
-
-       bracket_height 2 div bracket_thick add /half_height exch def 
-       bracket_thick 0.5 mul setlinewidth
-       1 setlinecap 
-       1 setlinejoin 
-       half_bracket 
-       20 copy 
-       1 -1 scale 
-       draw_half_bracket 
-       stroke 
-       1 -1 scale 
-       draw_half_bracket 
-       stroke 
-} bind def 
-
diff --git a/ps/music-drawing-routines.ps b/ps/music-drawing-routines.ps
new file mode 100644 (file)
index 0000000..154fa20
--- /dev/null
@@ -0,0 +1,265 @@
+%!PS-Adobe-1.0: lily.ps 
+%
+% Functions for direct and embedded PostScript
+
+% round cappings 
+1 setlinecap
+
+/euclidean_length  
+{ 
+       1 copy mul exch 1 copy mul add sqrt 
+} bind def 
+
+/draw_beam % width slope thick 
+{ 
+        2 div /beam_thick exch def 
+        /beam_slope exch def 
+        /beam_wd exch def 
+        beam_slope beam_wd mul /beam_ht exch def 
+        0 beam_thick neg moveto  
+        beam_wd beam_ht rlineto  
+        0 beam_thick 2 mul rlineto 
+        0 beam_thick lineto 
+        closepath fill 
+} bind def 
+
+/draw_repeat_slash % width slope thick
+{
+  /beamthick exch def
+  /slope exch def
+  /width exch def
+  beamthick beamthick slope div euclidean_length
+    /xwid exch def 
+  0 0 moveto
+  xwid 0  rlineto
+  width slope width mul rlineto
+  xwid neg 0 rlineto
+%  width neg width angle sin mul neg rlineto
+  closepath fill
+} bind def
+
+/draw_hairpin % width start_h end_h thick
+{
+  setlinewidth
+  /end_h exch def 
+  /start_h exch def
+  /wid exch def
+  0 start_h moveto
+  wid end_h lineto
+  stroke
+  0 start_h neg moveto
+  wid end_h neg lineto
+  stroke
+} bind def
+
+/draw_tuplet % height gap dx dy thick dir 
+{ 
+       /dir exch def 
+       setlinewidth 
+       1 setlinecap 
+       1 setlinejoin 
+       /tuplet_dy exch def 
+       /tuplet_dx exch def 
+       /tuplet_gapx exch def 
+       /tuplet_h exch def 
+       tuplet_dy tuplet_dx div tuplet_gapx mul /tuplet_gapy exch def 
+
+
+       0 0 moveto 
+       0 tuplet_h dir mul lineto  
+       tuplet_dx tuplet_gapx sub 2 div  
+               tuplet_dy tuplet_gapy sub 2 div tuplet_h dir mul add lineto 
+       tuplet_dx tuplet_gapx add 2 div  
+               tuplet_dy tuplet_gapy add 2 div tuplet_h dir mul add moveto 
+       tuplet_dx tuplet_dy tuplet_h dir mul add lineto 
+       tuplet_dx tuplet_dy lineto 
+       stroke 
+} bind def 
+
+/difficult_draw_ez_ball % ch letter_col ball_col font
+{
+       % font
+       findfont 0.7 scalefont setfont 
+       0.1 setlinewidth
+       0 0 moveto
+       0 setgray
+       0.5 0 0.5 0 360 arc closepath fill stroke
+       % ball_col
+       1 eq {
+               0.01 setlinewidth
+               1 setgray
+               0.5 0 0.4 0 360 arc closepath
+               fill stroke
+       } if 
+       % letter_col
+       setgray
+       % 0.25 is empiric centering. Change to taste
+       0.25 -0.25 moveto
+       % ch
+       show
+} bind def
+
+% Simple, but does it work everywhere?
+% The filled circles are drawn by setting the linewidth
+% to 2*radius and drawing a point.  Is that (defined to be)
+% a nice filled circle?
+/draw_ez_ball % ch letter_col ball_col font
+{
+       % font
+       findfont 0.85 scalefont setfont
+       /origin { 0.45 0 } def
+       0 setgray
+       1.1 setlinewidth
+       origin moveto
+       origin lineto stroke
+       % ball_col
+       setgray
+       0.9 setlinewidth
+       origin moveto
+       origin lineto stroke
+       % letter_col
+       setgray
+       % 0.25 is empiric centering. Change to taste
+       origin moveto
+       -0.28 -0.30 rmoveto
+       % ch
+       show
+} bind def
+
+/draw_volta % h w thick vert_start vert_end 
+{ 
+       /vert_end exch def 
+       /vert_start exch def 
+       setlinewidth 
+       /volta_w exch def 
+       /volta_h exch def 
+       1 setlinecap 
+       1 setlinejoin 
+       vert_start 0 eq { 
+               0 0 moveto 
+               0 volta_h lineto 
+       } if 
+       0 volta_h moveto 
+       volta_w volta_h lineto 
+       vert_end 0 eq { 
+               volta_w 0 lineto 
+       } if 
+       stroke 
+} bind def 
+
+% this is for drawing slurs. 
+/draw_bezier_sandwich  % thickness controls 
+{ 
+       setlinewidth 
+       moveto 
+       curveto 
+       lineto 
+       curveto 
+       gsave 
+       fill 
+       grestore 
+       stroke 
+} bind def 
+
+/draw_dashed_line % dash thickness dx dy
+{ 
+       1 setlinecap 
+       1 setlinejoin 
+       setdash 
+       setlinewidth 
+       0 0 moveto
+       lineto
+       stroke 
+} bind def 
+
+/draw_dashed_slur % dash thickness controls
+{ 
+       1 setlinecap 
+       1 setlinejoin 
+       setdash 
+       setlinewidth 
+       8 -2 roll 
+       moveto 
+       curveto 
+       stroke 
+} bind def 
+
+
+
+/bracket_traject 
+{ 
+       /traject_ds exch def 
+       /traject_alpha exch def 
+       traject_ds traject_alpha sin mul add 
+       exch 
+       traject_ds traject_alpha cos mul add 
+       exch 
+} bind def 
+
+
+
+/half_bracket
+{ 
+%6 
+       0 0 
+%5a 
+       bracket_thick arch_height add half_height arch_thick sub arch_width add 
+       arch_angle arch_height -0.15 mul bracket_traject 
+%5b 
+       bracket_thick 0.5 mul half_height 
+       0 arch_height 0.5 mul bracket_traject 
+%5c 
+       0 half_height 
+%4a 
+       bracket_thick half_height arch_thick sub 
+       0 arch_height 0.4 mul bracket_traject 
+%4b 
+       bracket_thick arch_height add half_height arch_thick sub arch_width add 
+       arch_angle arch_height -0.25 mul bracket_traject 
+%4c 
+       bracket_thick arch_height add half_height arch_thick sub arch_width add 
+%3 
+       bracket_thick half_height arch_thick sub 
+%2 
+       bracket_thick 0 
+%1 
+       0 0 
+} bind def 
+
+/draw_half_bracket { 
+       moveto 
+       lineto 
+       lineto 
+       curveto 
+       curveto 
+       lineto 
+       gsave 
+       fill 
+       grestore 
+} bind def 
+
+/draw_bracket % arch_angle arch_width arch_height bracket_height arch_thick bracket_thick
+{ 
+       % urg
+
+       /bracket_thick exch def
+       /arch_thick exch def
+       /bracket_height exch def
+       /arch_height exch def
+       /arch_width exch def
+       /arch_angle exch def
+
+       bracket_height 2 div bracket_thick add /half_height exch def 
+       bracket_thick 0.5 mul setlinewidth
+       1 setlinecap 
+       1 setlinejoin 
+       half_bracket 
+       20 copy 
+       1 -1 scale 
+       draw_half_bracket 
+       stroke 
+       1 -1 scale 
+       draw_half_bracket 
+       stroke 
+} bind def 
+
index ad4e1e2501fbcb171141c73f6dff487d5525981e..90bbb79a0b62fe5c3d18a32f09d5b3c13ad2d4b4 100644 (file)
@@ -37,7 +37,7 @@
                (break-align-symbol . Staff_bar)
                (glyph . "|")
                (break-glyph-function . ,default-break-barline)
-               (barsize-procedure . ,Bar::get_staff_bar_size)
+               (bar-size-procedure . ,Bar::get_staff_bar_size)
                (molecule-callback . ,Bar::brew_molecule)          
                (visibility-lambda . ,all-visible)
                (breakable . #t)
        (Script . (
                ;; don't set direction here: it breaks staccato.
                (molecule-callback . ,Script::brew_molecule)
+               (padding . 0.3) 
                (X-offset-callbacks . (,Side_position_interface::centered_on_parent))
                (before-line-breaking-callback . ,Script::before_line_breaking)
                (meta . ,(grob-description "Script" script-interface side-position-interface font-interface))
        ))
        (SpanBar . (
                (break-align-symbol . Staff_bar)
-               (barsize-procedure . ,Span_bar::get_bar_size) 
+               (bar-size-procedure . ,Span_bar::get_bar_size) 
                (molecule-callback . ,Bar::brew_molecule)
                (visibility-lambda . ,begin-of-line-invisible)
                (X-extent-callback . ,Span_bar::width_callback)
index c84eb680ea11f2eb7d4ee2e8cfb2be2fe4daa3df..8f22abd64961f9d63f2c076febd0b48ce5fa648b 100644 (file)
@@ -56,7 +56,7 @@ attachments to prevent ugly slurs.  [fixme: we need more documentation here].
 In the case of alignment grobs, this should contain only one number.")
 (grob-property-description 'bar-size number? "size of a bar line.")
 (grob-property-description 'bars list? "list of barline pointers.")
-(grob-property-description 'barsize-procedure procedure? "Procedure that computes the size of a bar line.")
+(grob-property-description 'bar-size-procedure procedure? "Procedure that computes the size of a bar line.")
 (grob-property-description 'baseline-skip number? "Baseline skip to use for multiple lines of text.")
 (grob-property-description 'bass list? " musical-pitch, optional.")
 (grob-property-description 'beam ly-grob? "pointer to the beam, if applicable.")
index 80fe44bc27f09c53046449c9300ca3984a33498f..ceb0bb95a382dc90803d2925ae9c76ac0c06fcc0 100644 (file)
@@ -359,7 +359,7 @@ If @var{bartype} is set to @code{\"empty\"} then nothing is printed,
 but a line break is allowed at that spot.
 
 "
- '( barsize-procedure kern thin-kern hair-thickness thick-thickness glyph bar-size break-glyph-function ))
+ '(bar-size-procedure kern thin-kern hair-thickness thick-thickness glyph bar-size break-glyph-function ))
 
 
 (lily-interface
index 008a6e7d674b28ac49ac07248a3d65dbdd1e6e60..95280791262b3daee6651d936e1cd37c2a8ec9fc 100644 (file)
      ;; URG: now we can't use scm output without Lily
      (ly-gulp-file "lilyponddefs.ps")
      " {exch pop //systemdict /run get exec} "
-     (ly-gulp-file "lily.ps")
+     (ly-gulp-file "music-drawing-routines.ps")
      "{ exch pop //systemdict /run get exec } "
     ))
   
      (ly-number->string  thick)
      " draw_bezier_sandwich"))
 
+; TODO: use HEIGHT argument
   (define (start-line height)
     (string-append
      "\n"
index 4ba31ff8b426f32f17fe82b285b5c1d81ab04fc8..4c8904415daed98e2311622b200b4c3fea45d084 100644 (file)
      (if use-regex
         ;; fixed in 1.3.4 for powerpc -- broken on Windows
         (regexp-substitute/global #f "\n"
-                                  (ly-gulp-file "lily.ps") 'pre " %\n" 'post)
-        (ly-gulp-file "lily.ps"))
+                                  (ly-gulp-file "music-drawing-routines.ps") 'pre " %\n" 'post)
+        (ly-gulp-file "music-drawing-routines.ps"))
      "}"
      "\\input lilyponddefs\\newdimen\\outputscale \\outputscale=\\lilypondpaperoutputscale pt\\turnOnPostScript"))
 
index 8d4e312a9083afdddf15d1eda52fce3337efa6a9..2dde1156dd4e161cacfd99eaefdf70ec646fe8ea 100644 (file)
@@ -102,6 +102,7 @@ makes bar-checks for polyphonic music easier.")
     count if this property is set to zero.
 ")
 (translator-property-description 'beamMelismaBusy boolean? "Signal if a beam is set when automaticMelismata is set")
+(translator-property-description 'beatLength moment? "The length of one beat in this time signature.")
 (translator-property-description 'breakAlignOrder list? "Defines the order in which
 prefatory matter (clefs, key signatures) appears, eg. this puts the
 key signatures after the bar lines:
index b0f0dd6a9d3ab203dca83310f13e141b33cb5773..c450497c9ca77f6c7803cab253833793ecad113c 100644 (file)
@@ -821,9 +821,9 @@ if 1:
 if 1:
        def conv (str):
                str = re.sub ('\(align', '(axis', str)
-               str = re.sub ('\(row', '(columns', str)
+               str = re.sub ('\(rows', '(columns', str)
                return str
-       conversions.append (((1,3,148), conv, '(align -> (axis, (row -> columns'))
+       conversions.append (((1,3,148), conv, '"(align" -> "(axis", "(rows" -> "(columns"'))
 
 
 ################################
index fca3c1bfd251b0d37219dbed3d2176f0fed7d860..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1,23 +0,0 @@
-% fetdefs.tex
-% encapsulating tex backend for auto-generated feta definitions
-
-% fix chord.cc::banter_str before removing these
-
-\def\fetdef#1#2{%
-  \def#1{\hbox{\char#2}}}
-
-\fetdef\fetasharp{16}
-\fetdef\fetanatural{17}
-\fetdef\fetaflat{18}
-
-%  \font\fetasixteenfont=feta16
-
-\def\fetasixteenfont{\message{TeX strings are deprecated. Please use
-Scheme markup expressions. See the reference manual for more information}} 
-
-\def\fetafont{\fetasixteenfont}
-\def\textflat{{\fetafont\raise 1ex\hbox{\fetaflat}}}
-\def\textnatural{{\fetafont\raise 1ex\hbox{\fetanatural}}}
-\def\textsharp{{\fetafont\raise1ex\hbox{\fetasharp}}}
-
-\endinput
index bf471d812274ce8d56b3e35b2699956b1991ab99..2daf37fca92b3fd022a96ff1c4ebc89e93b4fb36 100644 (file)
@@ -77,7 +77,4 @@
         nolilyfooter\texsuffix\endcsname
 \fi
 
-% fix chord.cc::banter_str before removing these
-\input fetdefs
-
 \endinput