]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 0.1.45 release/0.1.45
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 11 Feb 1998 10:57:43 +0000 (11:57 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 11 Feb 1998 10:57:43 +0000 (11:57 +0100)
73 files changed:
AUTHORS.txt
Documentation/lilypond.pod
Documentation/mudela-man.doc
INSTALL.txt
NEWS
TODO
VERSION
bin/find-typenames.pl
bin/lilypython.py
bin/ly2dvi.sh
bin/make-patch.py
bin/make-website.py
bin/mudela-book.pl
bin/release.py
debian/Makefile
debian/TODO
debian/changelog
debian/control
debian/copyright
debian/info.ex [deleted file]
debian/menu.ex [deleted file]
debian/rules
flower/Makefile
flower/TODO
flower/configure
flower/configure.in
flower/cpu-timer.cc
init/performer.ly
input/TODO
input/sleur.ly
input/twinkle.ly
lib/Makefile
lily/Stable.make
lily/VERSION
lily/audio-staff.cc
lily/bow.cc
lily/change-iterator.cc
lily/command-request.cc
lily/elem-group-item.cc [deleted file]
lily/horizontal-vertical-group-item.cc [new file with mode: 0644]
lily/include/bow.hh
lily/include/change-iterator.hh
lily/include/col-info.hh
lily/include/collision.hh
lily/include/command-request.hh
lily/include/elem-group-item.hh [deleted file]
lily/include/horizontal-vertical-group-item.hh [new file with mode: 0644]
lily/include/lookup.hh
lily/include/misc.hh
lily/include/script-column.hh
lily/include/slur.hh
lily/lookup.cc
lily/slur.cc
lily/spring-spacer.cc
lily/staff-performer.cc
lily/staff-side.cc
lily/tex-slur.cc
lily/translator-group.cc
make/Targets.make
make/Toplevel.make.in
make/lelievijver.lsm
make/lilypond.lsm
make/lilypond.spec
make/lilypond.spec.in
mf/Makefile
mutopia/J.S.Bach/preludes-1.ly
mutopia/J.S.Bach/preludes-2.ly
mutopia/J.S.Bach/preludes-3.ly.m4
mutopia/J.S.Bach/preludes-4.ly
mutopia/J.S.Bach/preludes.tex [new file with mode: 0644]
mutopia/standchen-20.tex
mutopia/standje.ly
tex/lily-ps-defs.tex

index d20b99bb41baa45604aa5c1ae21da532033685b1..2b410d68e15591074dcc5aa3f0b4dcd12be25e50 100644 (file)
@@ -61,7 +61,7 @@ CONTRIBUTORS
 
 
 
-29/Jan/98                LilyPond 0.1.44                        1
+29/Jan/98                LilyPond 0.1.45                        1
 
 
 
@@ -127,6 +127,6 @@ AUTHORS(1)            LilyPond documentation           AUTHORS(1)
 
 
 
-29/Jan/98                LilyPond 0.1.44                        2
+29/Jan/98                LilyPond 0.1.45                        2
 
 
index 20a0e0b436df64cc8052d85ca37660c0376420e7..97e7854e235be8ed0593ecb232aaa3c24fbb36e4 100644 (file)
@@ -121,7 +121,7 @@ Clef changes, meter changes, cadenza-mode, key changes, repeat bars.
 
 =head1 DISCLAIMER AND COPYING POLICY
 
-GNU LilyPond is copyright 1996, 1997 by its authors.  GNU LilyPond is
+GNU LilyPond is copyright 1996-1998 by its authors.  GNU LilyPond is
 distributed under the terms of the GNU General Public License.  GNU LilyPond 
 is provided without any warranty what so ever.
 GNU LilyPond may be freely distributed.  For further information consult 
index 6895a30e1fa34725ddfafe6b21ac962f60ae2f43..4434920ed75bbadc0b1c55e456c14893c2ee989f 100644 (file)
@@ -487,8 +487,15 @@ processed with \verb+{+ and \verb+}+ enclosing the input.
 \subsection{Durations}
 
 A duration always starts with the duration type (1,2,4 etc), and then
-any optional multipliers/dots
+any optional multipliers/dots.  Old fashioned durations can be entered
+as follows
+\begin{verbatim}
+'c\breve
+gis'\longa
+\end{verbatim}
 
+
+        
 \subsection{Meters/groupings}
 
 A meter has this form:
index c014f4300e74e6589c926d77a4c1be433c3da449..e49460518d2b05c7d258047173101e84edc53610 100644 (file)
@@ -61,7 +61,7 @@ RECOMMENDED
 
 
 
-28/Jan/98                LilyPond 0.1.44                        1
+28/Jan/98                LilyPond 0.1.45                        1
 
 
 
@@ -127,7 +127,7 @@ CONFIGURING and COMPILING
 
 
 
-28/Jan/98                LilyPond 0.1.44                        2
+28/Jan/98                LilyPond 0.1.45                        2
 
 
 
@@ -193,7 +193,7 @@ INSTALL(1)            LilyPond documentation           INSTALL(1)
 
 
 
-28/Jan/98                LilyPond 0.1.44                        3
+28/Jan/98                LilyPond 0.1.45                        3
 
 
 
@@ -259,7 +259,7 @@ EXAMPLE
 
 
 
-28/Jan/98                LilyPond 0.1.44                        4
+28/Jan/98                LilyPond 0.1.45                        4
 
 
 
@@ -325,7 +325,7 @@ MUSIXTEX
 
 
 
-28/Jan/98                LilyPond 0.1.44                        5
+28/Jan/98                LilyPond 0.1.45                        5
 
 
 
@@ -391,6 +391,6 @@ AUTHORS
 
 
 
-28/Jan/98                LilyPond 0.1.44                        6
+28/Jan/98                LilyPond 0.1.45                        6
 
 
diff --git a/NEWS b/NEWS
index ce79217d60d50f5799a5fa8f58e7623b75e52369..0ca4e4d818efaccf00935ad5a019afbe88e115dd 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,20 @@
 
+pl 45
+       - bf: translator switching 
+       - SunOS and IRIX patches (AO)
+       - preludes bugfixes; preludes.tex ugh (JCN)
+       - shared lib numbering (AF)
+       - various fixes for debian (AF)
+       - ly2dvi .6.jaf (JAF)
+
+pl 44.jcn5
+       - bf: crescendo.cc: bigger and use bar_size
+       - slur: guess extra height for height limit for extending notes/stems
+       - ps: adjustable slur height limit, bf crescendo
+
+
+******
+feb 6
 pl 44
        - ly2dvi 0.6.hwn1 
        - ly2dvi 0.6 (JAF)
diff --git a/TODO b/TODO
index 8f1ce7fa1da797c6aa06f98739f0b6f5f4ea7ad3..7a203a530782d4c94da27800211325551b66285a 100644 (file)
--- a/TODO
+++ b/TODO
@@ -11,8 +11,6 @@ grep for TODO and ugh/ugr
        - configure.in 
        - clean-fonts.sh
        
-       * check for abs()
-
        * forced breakpoints
 
        * --metafont
@@ -182,11 +180,11 @@ languages:
        * cautionary accidental
 
        * Output an output format independent (ofi) typeset file; and 
-         make ofi2 TeX, MusixTex, Display PostScript, PostScript,
+         make ofi2 TeX, MusiXTex, Display PostScript, PostScript,
          Ascii... interpreters. (difficult)
 
        - poor man's ascii output possible?
-       - MusixTeX output possible? (would have to be done before break calc.)
+       - MusiXTeX output possible? (would have to be done before break calc.)
        - NIFF ?
        - Common Music Notation
        - PostScript output (esp. Beams, Slurs, etc)
diff --git a/VERSION b/VERSION
index d0da0ec0d1da8593f797b7126693e3176ced8b0d..1a990573ab72b3d58e57a8bc19abf2a9204f9a15 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,6 +1,6 @@
 TOPLEVEL_MAJOR_VERSION = 0
 TOPLEVEL_MINOR_VERSION = 1
-TOPLEVEL_PATCH_LEVEL = 44
+TOPLEVEL_PATCH_LEVEL = 45
 TOPLEVEL_MY_PATCH_LEVEL = 
 
 # use the above to send patches, always empty for released version:
index e08fd00800578e33c56353b9e507196a196c95f5..890f9cabd060498408f9b93995d36af016b4918e 100644 (file)
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!@PERL@
 
 open GREP, "egrep -h '^struct|^class' *.hh *.cc|";
 open OUT, "|sort | uniq";
index a9055e5c278f10e5214231571f1140d17199534c..6c4ad1ad701a3fa5760278683848eb994df42ed3 100644 (file)
@@ -105,8 +105,10 @@ class Lilydirs:
     def __init__(self):
        try:
            self.topdir = os.environ['LILYPOND_SOURCEDIR'] + '/'
-       except IndexError:
-           self.topdir = os.environ['HOME'] + 'musix/current'
+       
+       except KeyError:
+           print 'Please set LILYPOND_SOURCEDIR to the toplevel source, eg LILYPOND_SOURCEDIR=/home/foobar/lilypond-1.2.3/'
+           sys.exit(1)
            
        self.release_dir = self.topdir + '../releases/'
        self.patch_dir = self.topdir + '../patches/'
index ab82f00919faad41955e1cad182d319ee332af9d..96840147169e8d63ac72e1870e6bfece3dea64a2 100644 (file)
@@ -8,7 +8,7 @@
 #  Original LaTeX file made by Mats Bengtsson, 17/8 1997
 #
 
-VERSION="0.6.hwn1"
+VERSION="0.6.jaf2"
 NAME=ly2dvi.sh
 IDENTIFICATION="$NAME $VERSION" 
 NOW=`date`
@@ -16,6 +16,9 @@ echo "$IDENTIFICATION" 1>&2
 
 # NEWS
     
+# 0.6.hwn1.jaf
+#      - LILYINCLUDE update
+#
 # 0.6.hwn1
 #      - handle LILYINCLUDE
 #       - --output
@@ -420,31 +423,26 @@ $IDENTIFICATION: dvi file name is $RESULT
 EOF
 }
 
-    # ugh. GF is side-effect.
+# ugh. GF is side-effect.
 findInput() {
-    # should check for LILYINCLUDE
-    for lypath in `echo $LILYINCLUDE| sed 's/:/ /g'`
-    do
-       if [ x$lypath = x ]
-       then
-           lypath="."
-       fi
-
-       if [ -f "$lypath/$1" ]
-       then
-           GF="$lypath/$1"
-           return          
-       fi
+# should check for LILYINCLUDE
+  for lypath in "." `echo $LILYINCLUDE| sed 's/:/ /g'`
+  do
+    if [ -f "$lypath/$1" ]
+    then
+      GF="$lypath/$1"
+      return       
+    fi
 
-        if [ -f "$lypath/$1.ly" ]
-       then
-               GF="$lypath/$1.ly"
-               return
-       fi
-    done
-    $debug_echo $IDENTIFICATION": Input file "$GF" not found"
-    echo $NAME": Input file "$GF" not found"   1>&2
-    exit 2
+    if [ -f "$lypath/$1.ly" ]
+    then
+      GF="$lypath/$1.ly"
+      return
+    fi
+  done
+  $debug_echo $IDENTIFICATION": Input file "$GF" not found"
+  echo $NAME": Input file "$GF" not found"                       1>&2
+  exit 2
 }
 #
 # Loop through all files
index 047f8e37b7eacc7648e450fc3968259f7d5beecd..6600ec2e7dbbbfb7788a110497b1234d64a1b5ef 100644 (file)
@@ -6,8 +6,10 @@ import os
 lilypath =''
 try:
     lilypath = os.environ['LILYPOND_SOURCEDIR'] + '/'
-except IndexError:
-    lilypath = os.environ['HOME'] + 'musix/current'
+except KeyError:
+    print 'Please set LILYPOND_SOURCEDIR to the toplevel source, eg LILYPOND_SOURCEDIR=/home/foobar/lilypond-1.2.3/'
+    sys.exit(1)
+
 lilypath = lilypath + '/bin/'
 sys.path.append(lilypath)
 
index d7ee588e5a27ec43ddf5d9b2d39ffd8a29b478ec..15da0c6e43d93f25b3b714dc0d85403c63a53ac2 100644 (file)
  stupid script to generate WWW site.  
 
  The WWW site is my test-suite for LilyPond, I usually don't
- distribute versions that fail to complete this script """
+ distribute versions that fail to complete this script 
+
+You should set the following environment vars:
+
+LILYPOND_SOURCEDIR
+TEXINPUTS
+MAILADDRESS
+
+
+ """
 
 import sys
 import os
@@ -19,8 +28,10 @@ import os
 lilypath =''
 try:
     lilypath = os.environ['LILYPOND_SOURCEDIR'] + '/'
-except IndexError:
-    lilypath = os.environ['HOME'] + 'musix/current'
+except KeyError:
+    print 'Please set LILYPOND_SOURCEDIR to the toplevel source, eg LILYPOND_SOURCEDIR=/home/foobar/lilypond-1.2.3/'
+    sys.exit(1)
+
 lilypath = lilypath + '/bin/'
 sys.path.append(lilypath)
  
index 37206c3c810b9b85131404577219d32e8c8dc64e..bf65dd7806e80896244491bf2adfb05b309baebf 100644 (file)
@@ -1,4 +1,4 @@
-#!@PERL@ -w            
+#!@PERL@ -w
 # -*-Perl-*-
 my $mudcount = 0;
 my $mudela_b = 0;
index 26519263e256eb1128aa28f1e9a0bacba4bd3238..fa6a9c4035e770b62ae3600d54007c9998575c03 100644 (file)
@@ -6,8 +6,10 @@ import os
 lilypath =''
 try:
     lilypath = os.environ['LILYPOND_SOURCEDIR'] + '/'
-except IndexError:
-    lilypath = os.environ['HOME'] + 'musix/current'
+except KeyError:
+    print 'Please set LILYPOND_SOURCEDIR to the toplevel source, eg LILYPOND_SOURCEDIR=/home/foobar/lilypond-1.2.3/'
+    sys.exit(1)
+
 lilypath = lilypath + '/bin/'
 sys.path.append(lilypath)
 
index 7f35925fb61c07c1cb4e91f161598ec71f3cb8fd..531f1330c4337334f7eefb731d630ebcefba2a4f 100644 (file)
@@ -16,4 +16,4 @@ include ./$(depth)/make/Rules.make
 
 
 EXTRA_DISTFILES = README.Debian TODO changelog control copyright \
-       info.ex menu.ex postinst postinst.old.sh postrm preinst rules watch
+       postinst postinst.old.sh postrm preinst rules watch
index a4fc50fdbcf1143989dadfe2c243cb0eaec48529..8a5f21bd28b23f155445023369ce331a06a6f692 100644 (file)
@@ -1,2 +1,4 @@
-* Move ly2dvi.sh to a proper place.  It is currently placed in
-  /usr/doc/lilypond.  (1997-11-25)
+Fri,  6 Feb 1998 17:24:49 -0700:
+ * Compile mudela-mode.el into mudela-mode.elc
+ * Install /etc/emacs/site-start.d/50lilypond.el
+ * Figure out how to make mudela-mode work on my computer.  :-)
index dcc446cf8f988aaf30d348428088cef52897bb7b..a7a0642d119ab0a38bdaf85b14dcaab78dc78916 100644 (file)
@@ -1,3 +1,42 @@
+lilypond (0.1.44-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Anthony Fok <foka@debian.org>  Fri,  6 Feb 1998 22:07:39 -0700
+
+lilypond (0.1.43-1) unstable; urgency=low
+
+  * New upstream release.
+  * Upgraded to standards version 2.4.0.0 (no changes).
+  * Minor fixes to the copyright file (GPL.gz -> GPL).
+  * Revised the package description based on the new lilypond.lsm.
+  * Now includes *.gif instead of *.xpm files.
+  * Other minor revisions to debian/rules.
+  * Added version numbering to the libflower shared library.
+  * Now installs /usr/lib/emacs/site-lisp/mudela-mode.el,
+    but I haven't figured out how to use it myself.  <grin>
+
+ -- Anthony Fok <foka@debian.org>  Fri,  6 Feb 1998 17:26:55 -0700
+
+lilypond (0.1.42-1) unstable; urgency=low
+
+  * New upstream release.
+  * Now places ly2dvi in /usr/bin.
+
+ -- Anthony Fok <foka@debian.org>  Thu, 29 Jan 1998 02:50:36 -0700
+
+lilypond (0.1.41-1) unstable; urgency=low
+
+  * New upstream "The Birthday Release".
+
+ -- Anthony Fok <foka@debian.org>  Wed, 21 Jan 1998 02:20:00 -0700
+
+lilypond (0.1.40-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Anthony Fok <foka@debian.org>  Mon, 12 Jan 1998 19:19:50 -0700
+
 lilypond (0.1.39-2) unstable; urgency=low
 
   * debian/control:
index 5da70c7c8699125aed0b31f13c48c65d306ee6d7..a99665244f634132b3cfb038ad1b3e9b6c10f539 100644 (file)
@@ -2,18 +2,20 @@ Source: lilypond
 Section: tex
 Priority: optional
 Maintainer: Anthony Fok <foka@debian.org>
-Standards-Version: 2.3.0.1
+Standards-Version: 2.4.0.0
 
 Package: lilypond
 Architecture: any
 Depends: ${shlibs:Depends}
 Recommends: tetex-base
 Conflicts: musixtex-fonts
-Description: A music typesetting program.
- GNU LilyPond is a program which converts a music-script (mudela) into TeX
- output, or MIDI to produce multi-staff scores. Features include multiple
- meters, clefs, keys, lyrics, versatile input-language, cadenzas beams,
- slurs, triplets, multiple voices.
+Description: The GNU Project music typesetter.
+ LilyPond is the GNU Project music typesetter.  The program generates
+ visual or auditive output from a music definition file: it can typeset
+ formatted sheet music to a TeX file and play (mechanical) performances
+ to a MIDI file.  Features include multiple staffs, meters, clefs,
+ keys, lyrics, versatile input-language, cadenzas, beams, slurs,
+ triplets.  It includes a nice font of musical symbols.
  .
   URL: http://www.stack.nl/~hanwen/lilypond/
   Authors: Han-Wen Nienhuys <hanwen@stack.nl>
index 613a8d39673305e233aa0317b8048150d095b2cd..16c78c5b47ed738e40bcd521ba88acd5eb72a69d 100644 (file)
@@ -3,7 +3,7 @@ Wed,  6 Aug 1997 04:30:28 -0600
 
 It was downloaded from
     ftp://pcnov095.win.tue.nl/pub/lilypond/development/
-        lilypond-0.1.39.tar.gz
+        lilypond-0.1.44.tar.gz
 
 It is also available from:
     ftp://alpha.gnu.org/gnu/
@@ -32,8 +32,7 @@ Copyright:
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place - Suite 330,
-    Boston, MA  02111-1307, USA.
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
 
 All the other scripts and control files for building and installing
@@ -41,4 +40,4 @@ GNU LilyPond under Debian GNU/Linux are also under the GNU General
 Public License (GPL) version 2 or later.  
 
 On Debian GNU/Linux systems, the complete text of the GNU General
-Public License can be found in `/usr/doc/copyright/GPL.gz'.
+Public License can be found in `/usr/doc/copyright/GPL'.
diff --git a/debian/info.ex b/debian/info.ex
deleted file mode 100644 (file)
index 5a311f0..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-# This is a configuration files for installing a .info menu
-# The Description to be placed into the directory
-DESCR="Description"
-
-# The section this info file should be placed in (Regexp) followed by
-# the new section name to be created if the Regexp does not match
-# (Optional. If not given the .info will be appended to the directory)
-#SECTION_MATCH="Regexp"
-#SECTION_NAME="New Section Name"
-
-# The file referred to from the Info directory
-FILE=lilypond.info
-
-# Optional. The files to be copied to /usr/info
-#FILES=*.info
diff --git a/debian/menu.ex b/debian/menu.ex
deleted file mode 100644 (file)
index 179992f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-text Apps/Misc lilypond none "lilypond Description" /usr/bin/lilypond
index f0d60cfc7c1f689bb896a3b4aae03e1a6520c58e..b71ba55d430c31c94917f9870c965e58c12f3e8c 100644 (file)
@@ -8,9 +8,9 @@
 # Currently maintained by Anthony Fok <foka@debian.org>
 # for Debian GNU/Linux.
 
-package=lilypond
+package = lilypond
 
-SHELL=/bin/bash
+SHELL = /bin/bash
 
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
@@ -21,7 +21,8 @@ build-stamp:
        ./configure --disable-checking --disable-debugging \
                --enable-printing --prefix=/usr --enable-optimise \
                --enable-shared
-       make all
+       $(MAKE) all
+       $(MAKE) -C Documentation gifs
        touch build-stamp
 
 clean:
@@ -29,10 +30,7 @@ clean:
        dh_testroot
        rm -f build-stamp
        -$(MAKE) distclean
-       # Don't put dh_clean before "make distclean"!  dh_clean is
-       # "too smart" and it deletes too many files!
        dh_clean
-       rm -f {,*/}out/{*,.build} flower/config.{log,status}
 
 # Build architecture-independent files here.
 binary-indep: build
@@ -41,14 +39,17 @@ binary-indep: build
 binary-arch: build
        dh_testdir
        dh_testroot
-       dh_installdirs usr/lib/texmf/doc
-       $(MAKE) prefix=`pwd`/debian/tmp/usr install
+       dh_installdirs usr/lib/texmf/doc usr/lib/emacs/site-lisp
        ln -fs ../../../doc/lilypond debian/tmp/usr/lib/texmf/doc/lilypond
+       $(MAKE) prefix=`pwd`/debian/tmp/usr install
+       cp -av bin/out/ly2dvi debian/tmp/usr/bin
+       cp -av mudela-mode.el debian/tmp/usr/lib/emacs/site-lisp
        dh_installdocs ANNOUNCE ANNOUNCE-0.1 README NEWS ONEWS DEDICATION \
                BUGS TODO \
-               Documentation/out/*.text Documentation/*.doc \
-               Documentation/lelie_logo.xpm bin/ly2dvi.sh
-       dh_installexamples input/*.ly input/*.tex
+               Documentation/*.doc Documentation/out/{*.txt,*.gif}
+       dh_installexamples input/{*.ly,TODO}
+       cp -aPv `find mutopia \( -name '*.ly' -o -name '*.tex' -o -name 'TODO' \)` \
+               debian/tmp/usr/doc/lilypond/examples
 #      dh_installmenu
 #      dh_installcron
 #      dh_installmanpages
@@ -66,5 +67,8 @@ binary-arch: build
        dh_md5sums
        dh_builddeb
 
+source diff:
+       @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
+
 binary: binary-indep binary-arch
 .PHONY: build clean binary-indep binary-arch binary
index 13daeba0b8aab387f5d08605199d30ede6513dc7..0aa02c7cc8176a4d7d48cb6694918f6bffdb9c11 100644 (file)
@@ -64,16 +64,18 @@ localdist: configure
 #
 
 localdistclean:
-       rm -f config.cache config.status
+       rm -f config.cache config.status config.log
 
 localinstall: $(LIBFLOWER)
 ifeq ($(LIB_SUFFIX),.so)
        $(INSTALL) -d $(libdir)
-       $(INSTALL) $(LIBFLOWER) $(libdir)
+       $(INSTALL) $(LIBFLOWER).$(VERSION) $(libdir)
+       ln -s $(LIB_PREFIX)flower$(LIB_SUFFIX).$(VERSION) $(libdir)/$(LIB_PREFIX)flower$(LIB_SUFFIX).$(MAJOR_VERSION)
+       ln -s $(LIB_PREFIX)flower$(LIB_SUFFIX).$(VERSION) $(libdir)/$(LIB_PREFIX)flower$(LIB_SUFFIX)
 endif
 
 localuninstall:
-       rm -f $(libdir)/libflower.{so,a}
+       rm -f $(libdir)/libflower.{so*,a}
 
 
 $(outdir)/flower-version.o: $(outdir)/version.hh
index e572af795433ff55f004f69d4651dd4bd138d547..5586845c9920bb6872d9f6f75dcc044257d5ce33 100644 (file)
@@ -16,8 +16,6 @@
 
        * Automake, libtool
 
-       * version numbering for shared lib.
-
        * LGPL?
 
        * disable this auto conv: const pointer -> bool -> string
index 920d8c0c0828e8229c395a6d319218d0f5e55b5b..68844fd368aed849bd9011e2e799e14d49fc1dcc 100755 (executable)
@@ -535,6 +535,7 @@ cross_compiling=$ac_cv_prog_cxx_cross
 optimise_b=yes
 shared_b=no
 LIB_SUFFIX=.a
+MODULE_CXXFLAGS="$MODULE_CXXFLAGS -D_REENTRANT"
 
 if test x$host = xNONE; then
     OUTDIR_NAME=${OUTDIR_NAME-"out"}
@@ -572,8 +573,8 @@ fi
 
 
 if test $shared_b = yes; then
-       MODULE_CXXFLAGS="$MODULE_CXXFLAGS -fPIC"
-       MODULE_LDFLAGS="-shared -Wl,-soname,libflower.so "
+       MODULE_CXXFLAGS="$MODULE_CXXFLAGS -fPIC -DPIC"
+       MODULE_LDFLAGS="-shared -Wl,-soname,libflower.so.\$(VERSION) "
        LIB_SUFFIX=.so
 fi
 
@@ -590,7 +591,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:594: checking for $ac_word" >&5
+echo "configure:595: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -621,7 +622,7 @@ test -n "$CXX" || CXX="gcc"
 
 
 echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:625: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
+echo "configure:626: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
 
 ac_ext=C
 # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -631,11 +632,11 @@ ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $L
 cross_compiling=$ac_cv_prog_cxx_cross
 
 cat > conftest.$ac_ext <<EOF
-#line 635 "configure"
+#line 636 "configure"
 #include "confdefs.h"
 main(){return(0);}
 EOF
-if { (eval echo configure:639: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:640: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   ac_cv_prog_cxx_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -655,12 +656,12 @@ if test $ac_cv_prog_cxx_works = no; then
   { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; }
 fi
 echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:659: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:660: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6
 cross_compiling=$ac_cv_prog_cxx_cross
 
 echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
-echo "configure:664: checking whether we are using GNU C++" >&5
+echo "configure:665: checking whether we are using GNU C++" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -669,7 +670,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:673: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:674: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gxx=yes
 else
   ac_cv_prog_gxx=no
@@ -684,7 +685,7 @@ if test $ac_cv_prog_gxx = yes; then
   ac_save_CXXFLAGS="$CXXFLAGS"
   CXXFLAGS=
   echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
-echo "configure:688: checking whether ${CXX-g++} accepts -g" >&5
+echo "configure:689: checking whether ${CXX-g++} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -712,7 +713,7 @@ else
 fi
 
 echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
-echo "configure:716: checking for 8-bit clean memcmp" >&5
+echo "configure:717: checking for 8-bit clean memcmp" >&5
 if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -720,7 +721,7 @@ else
   ac_cv_func_memcmp_clean=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 724 "configure"
+#line 725 "configure"
 #include "confdefs.h"
 #ifdef __cplusplus
 extern "C" void exit(int);
@@ -733,7 +734,7 @@ main()
 }
 
 EOF
-if { (eval echo configure:737: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:738: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_memcmp_clean=yes
 else
@@ -751,12 +752,12 @@ echo "$ac_t""$ac_cv_func_memcmp_clean" 1>&6
 test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.o"
 
 echo $ac_n "checking for vprintf""... $ac_c" 1>&6
-echo "configure:755: checking for vprintf" >&5
+echo "configure:756: checking for vprintf" >&5
 if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 760 "configure"
+#line 761 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char vprintf(); below.  */
@@ -782,7 +783,7 @@ vprintf();
 
 ; return 0; }
 EOF
-if { (eval echo configure:786: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:787: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_vprintf=yes"
 else
@@ -806,12 +807,12 @@ fi
 
 if test "$ac_cv_func_vprintf" != yes; then
 echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
-echo "configure:810: checking for _doprnt" >&5
+echo "configure:811: checking for _doprnt" >&5
 if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 815 "configure"
+#line 816 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char _doprnt(); below.  */
@@ -837,7 +838,7 @@ _doprnt();
 
 ; return 0; }
 EOF
-if { (eval echo configure:841: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:842: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func__doprnt=yes"
 else
@@ -864,12 +865,12 @@ fi
 for ac_func in memmem snprintf 
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:868: checking for $ac_func" >&5
+echo "configure:869: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 873 "configure"
+#line 874 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -895,7 +896,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:899: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:900: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
index dd20827eae99b0a86fdf817e69910bee83126c2a..d0bd09bbc2fc8f4e89a5eb6123b28e4ca6313fdf 100644 (file)
@@ -6,6 +6,7 @@ AC_LANG_CPLUSPLUS
 optimise_b=yes
 shared_b=no
 LIB_SUFFIX=.a
+MODULE_CXXFLAGS="$MODULE_CXXFLAGS -D_REENTRANT"
 
 if test x$host = xNONE; then
     OUTDIR_NAME=${OUTDIR_NAME-"out"}
@@ -34,8 +35,8 @@ AC_ARG_ENABLE(out-dir,
     [])
 
 if test $shared_b = yes; then
-       MODULE_CXXFLAGS="$MODULE_CXXFLAGS -fPIC"
-       MODULE_LDFLAGS="-shared -Wl,-soname,libflower.so "
+       MODULE_CXXFLAGS="$MODULE_CXXFLAGS -fPIC -DPIC"
+       MODULE_LDFLAGS="-shared -Wl,-soname,libflower.so.\$(VERSION) "
        LIB_SUFFIX=.so
 fi
 
index c838fe5cc9116b9c83b10bb536442511faaa9300..b288735c1d32058574a9c705bc484c6634a8f9ca 100644 (file)
 
 // nextstep
 #ifndef CLOCKS_PER_SEC
+#ifdef CLK_TCK
 #define CLOCKS_PER_SEC  CLK_TCK
+#elif defined _SC_CLK_TCK
+#define CLOCKS_PER_SEC  sysconf(_SC_CLK_TCK)
+#else
+#error cannot determine CLOCKS_PER_SEC
+#endif
 #endif
 
 
index 90b3688412fcdf13a5aaafd4b40c13946ad2ae9e..87ce9ca7d86ecfe97b4a75067d5e5600a41637a7 100644 (file)
@@ -47,7 +47,7 @@ Staff_group = \translator
 
 Score = \translator {
        \type "Score_performer";
-       instrument = piano;
+%      instrument = piano;
        \accepts Staff;
        \accepts Grandstaff;
        \accepts Lyrics; 
index 94237dfc2d4111320f1428ed26366b92be229f39..d1af953ae367ef4a8c69333b96aa44928fd08669 100644 (file)
@@ -1,5 +1,5 @@
 
        - neaten/structure  examples
 
-       - rename/split into test/exapmles?
+       - rename/split into test/examples?
 
index 1226a9b7c05e1dbfeec74874c94d8a8ac6bd09b1..a0c895286c6b684a41139e3393f790d6a47de5f2 100644 (file)
@@ -30,12 +30,29 @@ beum = \melodic{
        [c8 c] c4 c4 c4 |
 }
 
+extend = {
+         c8(( c c )c c c c )c |
+         \[4/5c8( c c' c )c\]1/1 c c c c |
+         \[4/5c8( c c c c'\]1/1 c c c )c |
+         \[4/5c8( c c c c''\]1/1 c c c )c' |
+         \[4/5c8( c c c c'\]1/1 c c c )'c |
+         \[4/5c8( c c' c c\]1/1 c c c )c |
+         \[4/5c8( c c c ''c\]1/1 c c c )c |
+         \[4/5c8( c ''c c c\]1/1 c c c )c |
+}
+
 \score{
        \melodic{ 
                \shortlong
                \dirs
                \complex
                \beum
+               \stemup; 
+               \octave c''; 
+               \extend
+               \stemdown; 
+               \octave c'; 
+               \extend
        }
        \paper{ }
 }
index 2575f80979a571616cc41cd093308a06fde0af36..c302e05ac40922b1d60621a9c3a611129463c083 100644 (file)
@@ -20,6 +20,7 @@ Tested Features: lyrics, interleaving lyrics and staffs
 melody = \melodic{
        \clef violin;
        \octave c';
+       \property Staff.instrument = "alto sax"
        
        c4 c | g g | a a | g g |
        f f | e e | d d8.( e16 | )c2 | % :|
index 9538b989aee0ba33619c93bdc755fc300df6472c..83dfc51d4fb7d0d12833aeeacf3c8847759eadc4 100644 (file)
@@ -40,6 +40,8 @@ VERSION_DEPENDENCY =#
 EXTRA_DISTFILES = config.hh.in
 #
 
+MODULE_CXXFLAGS += -D_REENTRANT
+
 # list of custom libraries:
 
 LOADLIBES +=
index 6aebc2b0a511304e50ce841b85d8ef87c1e2233e..40eaaf221177e19a4f6993ab2b77edd952d67e10 100644 (file)
@@ -5,6 +5,5 @@ stablecc=meter.cc boxes.cc \
        keyword.cc leastsquares.cc \
        lookup.cc meter.cc\
        parser.cc notename-table.cc lexer.cc\
-       qlp.cc qlpsolve.cc\
        template*.cc  version.cc tex-stream.cc  tex.cc\
        identifier.cc note.cc
index 5602a9c7721383831d13227f4c3cd4b1f3d3aa49..0318f75fa8a0375832f0344eb53e6ccd2fdddb5b 100644 (file)
@@ -1,4 +1,4 @@
 MAJOR_VERSION = 0
 MINOR_VERSION = 1
-PATCH_LEVEL = 44
+PATCH_LEVEL = 45
 MY_PATCH_LEVEL =
index 199657677c0d4943ec061d15f0b618d4d5b2a23c..6dc14d11809e744896848aba5230ab3284c54252 100644 (file)
@@ -24,7 +24,7 @@ Audio_staff::output (Midi_stream& midi_stream_r, int track_i)
   Midi_track midi_track;
   midi_track.number_i_ =  track_i;
   for (Midi_walker i (this, &midi_track); i.ok(); i++)
-       i.process();
+    i.process();
   midi_stream_r << midi_track;
 }
 
index 1f75bba5dea4cb432b934f0bbd15b4ede98a053b..7f73df520ce37746e61b144cd8179bd5a5df2a1a 100644 (file)
@@ -11,7 +11,9 @@
 #include "molecule.hh"
 #include "lookup.hh"
 
-Bow::Bow()
+IMPLEMENT_IS_TYPE_B1(Bow,Directional_spanner);
+
+Bow::Bow ()
 {
   dy_f_drul_[LEFT] = dy_f_drul_[RIGHT] = 0;
   dx_f_drul_[LEFT] = dx_f_drul_[RIGHT] = 0.0;
@@ -19,39 +21,41 @@ Bow::Bow()
 
 
 Offset
-Bow::center() const
+Bow::center () const
 {
   Real dy =  dy_f_drul_[RIGHT]-dy_f_drul_[LEFT];
 
-  Real w = width().length ();
+  Real w = width ().length ();
 
   return Offset (w/2,dy );
 }
 
+Real
+Bow::height_f () const
+{
+  return 0;
+}
 
 Molecule*
-Bow::brew_molecule_p() const
+Bow::brew_molecule_p () const
 {
   Molecule*output = new Molecule;
-  Real w = width().length ();
+  Real w = width ().length ();
   
   Real dy_f = dy_f_drul_[RIGHT] - dy_f_drul_[LEFT];
   
-  Real nw_f = paper()->note_width ();
-  Real nh_f = paper()->internote_f ();
+  Real nw_f = paper ()->note_width ();
   
   w+= (dx_f_drul_[RIGHT] - dx_f_drul_[LEFT]);
   Real round_w = w;            // slur lookup rounds the slurwidth .
   
-  Atom a = paper()->lookup_l ()->slur (dy_f, round_w, dir_);
+  Atom a = paper ()->lookup_l ()->slur (dy_f, round_w, height_f (), dir_);
 
   Real error = w-round_w;
-  a.translate (Offset ((dx_f_drul_[LEFT] + 0.5*nw_f)
+  a.translate (Offset ( (dx_f_drul_[LEFT] + 0.5*nw_f)
                       + error/2,
                       dy_f_drul_[LEFT]));
   output->add (a);
   return output;
 }
 
-
-IMPLEMENT_IS_TYPE_B1(Bow,Directional_spanner);
index c6ebf2907f41548c37853df1d4a1341a08cdbc16..883e963e9f3d29b00a62c96f353c5bddd8fa5b6d 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  change-iterator.cc -- implement 
+  change-iterator.cc -- implement Change_iterator
 
   source file of the GNU LilyPond music typesetter
 
@@ -9,12 +9,28 @@
 #include "change-iterator.hh"
 #include "translator-group.hh"
 #include "change-translator.hh"
+#include "debug.hh"
 
 Change_iterator::Change_iterator (Change_translator *change_l)
 {
   change_l_ = change_l;
 }
 
+void
+Change_iterator::error (String reason)
+{
+  String to_type = change_l_->change_to_type_str_;
+  String to_id =  change_l_->change_to_id_str_;
+
+  String warn1 = 
+    _ ("Can't change ") + to_type 
+    + _(" to ") + "`" + to_id + "\': " + reason;
+  String warn2= "Change_iterator::process_and_next (): " + report_to_l ()->type_str_ + " = `"
+    + report_to_l ()->id_str_ + "\': ";
+  warning (warn2);
+  change_l_->warning (warn1);
+}
+
 /*
   move to construct_children ?
  */
@@ -23,20 +39,42 @@ Change_iterator::process_and_next (Moment m)
 {
   Translator_group * current = report_to_l ();
   Translator_group * last = 0;
-  while  (current && current->type_str_ != change_l_->change_to_type_str_)
+
+  String to_type = change_l_->change_to_type_str_;
+  String to_id =  change_l_->change_to_id_str_;
+
+  /* find the type  of translator that we're changing.
+     
+     If \translator Staff = bass, then look for Staff = *
+   */
+  while  (current && current->type_str_ != to_type)
     {
       last = current;
       current = current->daddy_trans_l_;
     }
-  if (current) 
-    {
-      Translator_group * dest = 
-       report_to_l ()->find_create_translator_l (change_l_->change_to_type_str_, 
-                                                 change_l_->change_to_id_str_);
-      current->remove_translator_p (last);
-      dest->add (last);
-    }
   
+  
+  if (current) 
+    if (last)
+      {
+       Translator_group * dest = 
+         report_to_l ()->find_create_translator_l (to_type, to_id);
+       current->remove_translator_p (last);
+       dest->add (last);
+      }
+    else
+      {
+       
+       /*
+         We could change the current translator's id, but that would make 
+         errors hard to catch
+         
+          last->translator_id_str_  = change_l_->change_to_id_str_;
+       */
+       error ("I'm one myself");
+      }
+  else
+    error ("None of these in my family.");
   Music_iterator::process_and_next (m);
 }
 
index ee9d34567427ac3d18c81a8bce1bfeddb21ab3ab..661a7fed9f4cf96bbf95f5ccf93a25ee9e8cf3ca 100644 (file)
@@ -14,6 +14,7 @@ void
 Command_script_req::do_print() const
 {}
 Command_script_req::Command_script_req(){}
+Command_script_req::~Command_script_req(){}
 
 IMPLEMENT_IS_TYPE_B1(Command_script_req,Command_req);
 
diff --git a/lily/elem-group-item.cc b/lily/elem-group-item.cc
deleted file mode 100644 (file)
index 9209796..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
-  elem-group-item.cc -- implement Horizontal_vertical_group_item
-
-  source file of the GNU LilyPond music typesetter
-
-  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
-*/
-
-
-#include "elem-group-item.hh"
-#include "p-col.hh"
-
-void
-Horizontal_vertical_group_item::do_print() const
-{
-  Horizontal_vertical_group_element::do_print();
-}
-
-IMPLEMENT_IS_TYPE_B2(Horizontal_vertical_group_item,Horizontal_vertical_group_element,Item);
diff --git a/lily/horizontal-vertical-group-item.cc b/lily/horizontal-vertical-group-item.cc
new file mode 100644 (file)
index 0000000..2b70f21
--- /dev/null
@@ -0,0 +1,19 @@
+/*
+  horizontal-vertical-group-item.cc -- implement Horizontal_vertical_group_item
+
+  source file of the GNU LilyPond music typesetter
+
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+
+#include "horizontal-vertical-group-item.hh"
+#include "p-col.hh"
+
+void
+Horizontal_vertical_group_item::do_print() const
+{
+  Horizontal_vertical_group_element::do_print();
+}
+
+IMPLEMENT_IS_TYPE_B2(Horizontal_vertical_group_item,Horizontal_vertical_group_element,Item);
index 558315674336a428f5dec869f11eb6c031c2bcd4..c2908836d5c54a6a9a1ca854e7c84cfc76036156 100644 (file)
@@ -20,7 +20,8 @@ protected:
   Drul_array<Real> dy_f_drul_;
   Drul_array<Real> dx_f_drul_;
 
-  Molecule*brew_molecule_p() const;
+  virtual Real height_f () const;
+  virtual Molecule* brew_molecule_p () const;
 public:
   Bow();
   DECLARE_MY_RUNTIME_TYPEINFO;
index bde2628561186b4d2283e25209bf8a19f892915b..69bd360a7bcb18c901ebce3292716dd5e19edef9 100644 (file)
@@ -16,6 +16,8 @@
 class Change_iterator : public Music_iterator
 {
   Change_translator *change_l_;
+
+  void  error (String);
   
 public:
   DECLARE_MY_RUNTIME_TYPEINFO;
index 46f6cf20c3d4f87734246c30796bf9c8bae40fb1..50944b6fc43d2f0f2cf66989c26dcc3218161c62 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  col-info.hh -- declare 
+  col-info.hh -- declare Colinfo
 
   source file of the GNU LilyPond music typesetter
 
 
 /// helper struct for #Spacing_problem#
 struct Colinfo {
-    Paper_column *pcol_l_;
-    P<Real> fixpos_p_;
-    Interval width_;
-    int rank_i_;
-    /// did some tricks to make this column come out.
-    bool ugh_b_;               
-    /* *************** */
-    Colinfo();
-    Colinfo (Paper_column *,Real const *);
-
-    void print() const;
-    bool fixed() const { return fixpos_p_.get_C();}
-    Real fixed_position() const { return *fixpos_p_; }
+  Paper_column *pcol_l_;
+  P<Real> fixpos_p_;
+  Interval width_;
+  int rank_i_;
+  /// did some tricks to make this column come out.
+  bool ugh_b_;         
+  /* *************** */
+  Colinfo();
+  Colinfo (Paper_column *,Real const *);
+
+  void print() const;
+  bool fixed() const { return fixpos_p_.get_C();}
+  Real fixed_position() const { return *fixpos_p_; }
 };
 
 #endif // COL_INFO_HH
index 6ab5db3fad20db9ca5b41ff6b083921b772fa774..08b07065726b25f2647ee68ebd975864bbaa92f2 100644 (file)
@@ -10,7 +10,7 @@
 #ifndef COLLISION_HH
 #define COLLISION_HH
 #include "lily-proto.hh"
-#include "elem-group-item.hh"
+#include "horizontal-vertical-group-item.hh"
 
 /**
   Resolve conflicts between various Note_columns (chords).
index a32c861aab853b501e7b880072ccec5c32c086a4..1988dc9adda23f1e00f7dc3e895b935cbbf5ebb7 100644 (file)
@@ -36,6 +36,7 @@ class Command_script_req : public Command_req,  public Script_req {
 public:
     // huh? 
     Command_script_req();
+    ~Command_script_req();
     REQUESTMETHODS(Command_script_req, commandscript);
 };
 
diff --git a/lily/include/elem-group-item.hh b/lily/include/elem-group-item.hh
deleted file mode 100644 (file)
index ab79afe..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-  elem-group-item.hh -- declare Horizontal_vertical_group_item
-  
-  source file of the GNU LilyPond music typesetter
-
-  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
-*/
-
-
-#ifndef ELEM_GROUP_ITEM_HH
-#define ELEM_GROUP_ITEM_HH
-
-#include "axis-group-item.hh"
-#include "elem-group.hh"
-
-
-/**
-  Treat a collection of items as a unity
- */
-class Horizontal_vertical_group_item  : public Axis_group_item, public Horizontal_vertical_group_element {
-protected:
-  virtual void do_print() const;
-  virtual void remove_all() { Horizontal_vertical_group_element::remove_all (); }
-  virtual void do_unlink () { Horizontal_vertical_group_element::do_unlink (); }
-  SCORE_ELEM_CLONE(Horizontal_vertical_group_item);
-public:
-  virtual void add_element (Graphical_element*e) { Horizontal_vertical_group_element::add_element (e); }
-  virtual void remove_element (Graphical_element*e) { Horizontal_vertical_group_element::remove_element (e); }
-
-  DECLARE_MY_RUNTIME_TYPEINFO;
-};
-
-#endif // ELEM_GROUP_ITEM_HH
diff --git a/lily/include/horizontal-vertical-group-item.hh b/lily/include/horizontal-vertical-group-item.hh
new file mode 100644 (file)
index 0000000..733ff63
--- /dev/null
@@ -0,0 +1,33 @@
+/*
+  horizontal-vertical-group-item.hh -- declare Horizontal_vertical_group_item
+  
+  source file of the GNU LilyPond music typesetter
+
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+
+#ifndef HORIZONTAL_VERTICAL_GROUP_ITEM_HH
+#define HORIZONTAL_VERTICAL_GROUP_ITEM_HH
+
+#include "axis-group-item.hh"
+#include "elem-group.hh"
+
+
+/**
+  Treat a collection of items as a unity
+ */
+class Horizontal_vertical_group_item  : public Axis_group_item, public Horizontal_vertical_group_element {
+protected:
+  virtual void do_print() const;
+  virtual void remove_all() { Horizontal_vertical_group_element::remove_all (); }
+  virtual void do_unlink () { Horizontal_vertical_group_element::do_unlink (); }
+  SCORE_HORIZONTAL_VERTICAL_CLONE(Horizontal_vertical_group_item);
+public:
+  virtual void add_element (Graphical_element*e) { Horizontal_vertical_group_element::add_element (e); }
+  virtual void remove_element (Graphical_element*e) { Horizontal_vertical_group_element::remove_element (e); }
+
+  DECLARE_MY_RUNTIME_TYPEINFO;
+};
+
+#endif // HORIZONTAL_VERTICAL_GROUP_ITEM_HH
index e5cf3f10e94f2f12b485a723b04d23db3b97bc86..c290cbd64f2e9b32d8b4d2b938bd293273dc50fc 100644 (file)
@@ -50,10 +50,10 @@ struct Lookup {
   Atom bar (String, Real height) const;
     
   Atom dots () const;
-  Atom slur (Real &dy, Real &dx, Direction dir) const;
+  Atom slur (Real &dy, Real &dx, Real ht, Direction dir) const;
   Atom plet (Real &dy, Real &dx, Direction dir) const;
   Atom tex_slur (int dy, Real &dx, Direction dir) const;
-  Atom ps_slur (Real dy, Real dx, Real dir) const;
+  Atom ps_slur (Real dy, Real dx, Real ht, Real dir) const;
   Atom half_slur (int dy, Real &dx, Direction dir, int xpart) const;
   Atom half_slur_middlepart (Real &dx, Direction dir) const;
   Atom big_slur (int dy, Real &dx, Direction dir) const;
index 0e8c148ef061c34d672c76e763cbe5055dd7e772..28e55399ecef3dbd594b0739529c9fa45056a562 100644 (file)
 Moment wholes (int dur, int dots);
 double log_2(double x) ;
 int intlog2(int d);
+#if ! defined(_ABS_)
 inline int
 abs (int i){
     return (i < 0)?-i:i;
 }
+#endif
 inline int
 sign (int i) {
     if (i<0) return -1;
index e5b83984b78e7ca10c6916c4e74c7639307288a9..335ed551fec491d71b6833decb69ca760534ae6a 100644 (file)
@@ -10,7 +10,7 @@
 #ifndef SCRIPT_COLUMN_HH
 #define SCRIPT_COLUMN_HH
 
-#include "elem-group-item.hh"
+#include "horizontal-vertical-group-item.hh"
 
 /** a struct for treating a group of noteheads (noteheads, stem
   (chord) and scripts) as a single entity.  */
index 07b9093f9c439e2bb939a4fde1d966a98b429e67..8d2212b294a1884f6dde7d69018217c45f4d3fea 100644 (file)
@@ -25,6 +25,7 @@ protected:
   virtual void do_add_processing ();
   virtual void do_pre_processing ();
   virtual void do_substitute_dependency (Score_elem*, Score_elem*);
+  virtual Real height_f () const;
 
   SCORE_ELEM_CLONE(Slur);
   DECLARE_MY_RUNTIME_TYPEINFO;
index a4dc393ec06729e51e19ef24024f711a060460b6..da4083afe6466b48b184662db60bfe071df2283b 100644 (file)
@@ -164,7 +164,7 @@ Lookup::hairpin (Real &wid, bool decresc, bool continued) const
   Atom ret;  
   if (embedded_b)
     {
-      Real height = 2 PT;
+      Real height = paper_l_->get_var ("barsize") / 6;
       embed = "\\embeddedps{\n" ;
       embed += String (wid) + " " 
        + String (height) + " " 
index cc2471bec7f5f20f74b259658e77071ef19285aa..88b2c6cc3378661071b2dd6b018bdaac21e8e447 100644 (file)
@@ -23,8 +23,6 @@
 #include "debug.hh"
 #include "boxes.hh"
 
-
-
 void
 Slur::add (Note_column*n)
 {
@@ -33,25 +31,25 @@ Slur::add (Note_column*n)
 }
 
 void
-Slur::set_default_dir()
+Slur::set_default_dir ()
 {
   dir_ = DOWN;
-  for (int i=0; i < encompass_arr_.size(); i ++) 
+  for (int i=0; i < encompass_arr_.size (); i ++) 
     {
       if (encompass_arr_[i]->dir_ < 0) 
        {
-         dir_ =UP;
+         dir_ = UP;
          break;
        }
     }
 }
 
 void
-Slur::do_add_processing()
+Slur::do_add_processing ()
 {
-  set_bounds(LEFT, encompass_arr_[0]);    
+  set_bounds (LEFT, encompass_arr_[0]);    
   if (encompass_arr_.size () > 1)
-    set_bounds(RIGHT, encompass_arr_.top());
+    set_bounds (RIGHT, encompass_arr_.top ());
 }
 
 void
@@ -64,28 +62,27 @@ void
 Slur::do_substitute_dependency (Score_elem*o, Score_elem*n)
 {
   int i;
-  while ((i = encompass_arr_.find_i ((Note_column*)o->item())) >=0) 
+  while ((i = encompass_arr_.find_i ((Note_column*)o->item ())) >=0) 
     {
       if (n)
-       encompass_arr_[i] = (Note_column*)n->item();
+       encompass_arr_[i] = (Note_column*)n->item ();
       else
        encompass_arr_.del (i);
     }
 }
 
-
 static int 
 Note_column_compare (Note_column *const&n1 , Note_column* const&n2)
 {
-  return Item::left_right_compare(n1, n2);
+  return Item::left_right_compare (n1, n2);
 }
 
 void
-Slur::do_post_processing()
+Slur::do_post_processing ()
 {
   encompass_arr_.sort (Note_column_compare);
   if (!dir_)
-    set_default_dir();
+    set_default_dir ();
   Real interline_f = paper ()->interline_f ();
   Real inter_f = interline_f / 2;
 
@@ -106,10 +103,10 @@ Slur::do_post_processing()
   
   Drul_array<Note_column*> extrema;
   extrema[LEFT] = encompass_arr_[0];
-  extrema[RIGHT] = encompass_arr_.top();
+  extrema[RIGHT] = encompass_arr_.top ();
 
   Direction d=LEFT;
-  Real nw_f = paper()->note_width ();
+  Real nw_f = paper ()->note_width ();
  
   do 
     {
@@ -120,17 +117,60 @@ Slur::do_post_processing()
        }
       else if (extrema[d]->stem_l_ && !extrema[d]->stem_l_->transparent_b_) 
         {
-         dy_f_drul_[d] = (int)rint (extrema[d]->stem_l_->height()[dir_]);
+         dy_f_drul_[d] = (int)rint (extrema[d]->stem_l_->height ()[dir_]);
          /* normal slur from notehead centre to notehead centre, minus gap */
          dx_f_drul_[d] += -d * gap_f;
        }
       else 
         {
-         dy_f_drul_[d] = (int)rint (extrema[d]->head_positions_interval()[dir_])* inter_f;
+         dy_f_drul_[d] = (int)rint (extrema[d]->head_positions_interval ()[dir_])* inter_f;
        }
       dy_f_drul_[d] += dir_ * interline_f;
     }
   while ((d *= -1) != LEFT);
 }
 
+Real
+Slur::height_f () const
+{
+  /*
+   rather braindead way that of adjusting slur height 
+   for heads/stems that extend beyond default slur
+   works quite good
+   */
+
+  Real interline_f = paper ()->interline_f ();
+  Real nh_f = interline_f / 2;
+  Real h = 0;
+  Real dx = width ().length ();
+  Real dy = dy_f_drul_[RIGHT] - dy_f_drul_[LEFT];
+  Stem* stem = encompass_arr_[0]->stem_l_;
+  Real lx = stem->hpos_f ();
+  Real centre = (width ().min () + width ().max ()) / 2;
+  Real ly = stem->dir_ == dir_ ? stem->stem_end_f () : stem->stem_begin_f () 
+    + dir_ * nh_f / 2;
+  for (int i = 0; i < encompass_arr_.size (); i++) 
+    {
+      Stem* stem = encompass_arr_[i]->stem_l_;
+      Real sx = abs (centre - stem->hpos_f ());
+      Real sy = stem->dir_ == dir_ ? stem->stem_end_f () 
+        : stem->stem_begin_f () + dir_ * nh_f / 2;
+      sy = dir_ * (sy - (ly + ((stem->hpos_f () - lx) / dx) * dy));
+      /*
+        uhm, correct for guess bezier curve (more if further from centre)
+        forget the cos alpha...
+       */
+      if (sy > 0)
+       h = h >? sy * (1 + 2 * sx / dx);
+    }
+  Real ratio = 1.0/3; // duh
+  /* 
+    correct h for slur ratio
+   */
+  Real staffheight = paper ()->get_var ("barsize");
+  if (h)
+    h *= ((h * interline_f) / dx ) / ratio;
+  return h;
+}
+
 IMPLEMENT_IS_TYPE_B1(Slur,Spanner);
index 3439557f2c3de715a613f840993dbefda4447892..94fd515d3911dba6a14e74ec7d17d5d17430ec5b 100644 (file)
@@ -242,13 +242,14 @@ Spring_spacer::set_fixed_cols (Mixed_qp &qp) const
   for (int j=0; j < cols.size(); j++)
     if (cols[j].fixed())
       qp.add_fixed_var (j,cols[j].fixed_position());
-}
+} 
 
 // put the constraints into the LP problem
 void
 Spring_spacer::make_constraints (Mixed_qp& lp) const
 {
   int dim=cols.size();
+  Real nw_f = paper_l ()->note_width ();
   for (int j=0; j < dim; j++)
     {
       Colinfo c=cols[j];
@@ -258,8 +259,9 @@ Spring_spacer::make_constraints (Mixed_qp& lp) const
 
          c1(j)=1.0 ;
          c1(j-1)=-1.0 ;
-         lp.add_inequality_cons (c1,
-                                 cols[j-1].width_[RIGHT] - cols[j].width_[LEFT]);
+
+         lp.add_inequality_cons (c1, cols[j-1].width_[RIGHT] 
+                                 - cols[j].width_[LEFT]);
        }
     }
 }
@@ -399,7 +401,8 @@ Spring_spacer::connect (int i, int j, Real d, Real h)
   assert(h >=0);
 
   Idealspacing * s = new Idealspacing;
-  s->left_i_ = i;
+
+  s->left_i_ = i ;
   s->right_i_ = j;
   s->space_f_ = d;
   s->hooke_f_ = h;
@@ -509,6 +512,7 @@ Spring_spacer::calc_idealspacing()
   get_ruling_durations(shortest_playing_arr, context_shortest_arr);
 
   Real interline_f = paper_l ()->interline_f ();
+  Real nw_f = paper_l ()->note_width ();
 
   Array<Real> ideal_arr_;
   Array<Real> hooke_arr_;
@@ -630,6 +634,7 @@ Spring_spacer::calc_idealspacing()
                + interline_f / 2;
              dist = dist >? minimum;
            }
+
          ideal_arr_[i] = dist;
        }
     }
index 99eed10c50585acf6d8ea94d7e80a4c7d1dfc399..6c813df4ae441ae424205b815eca5856f4a4118a 100644 (file)
@@ -59,7 +59,14 @@ Staff_performer::do_removal_processing()
 String 
 Staff_performer::instrument_str() 
 { 
+  // mustn't ask Score for instrument: it will return piano!
   return get_property ("instrument");
+
+/* ugh, but can't
+  if (properties_dict_.elt_b ("instrument"))
+    return properties_dict_["instrument"];
+  return "";
+*/
 }
 
 void 
index 980990cf65fa9d2f3b831f7ba1361be732cb8816..06690a0334b272ca4374cba4745da024ab58b628 100644 (file)
@@ -68,7 +68,8 @@ Staff_side::get_position_f() const
   Real inter_f = paper()-> internote_f ();
 
   Interval v= support_height();
-  y = v[dir_]  + 2*dir_*inter_f;       // ugh
+//  y = v[dir_]  + 2*dir_*inter_f;     // ugh
+  y = v[dir_]; // ugh
 
   return y;
 }
index b0c67cf95b695076f114a93d64a7cff0c8871e21..51af06c23001bd9c5e5e7296b776f5e11ee35827 100644 (file)
@@ -133,12 +133,13 @@ Lookup::half_slur (int dy, Real &dx, Direction dir, int xpart) const
 }
 
 Atom
-Lookup::ps_slur (Real dy , Real dx, Real dir) const
+Lookup::ps_slur (Real dy , Real dx, Real ht, Real dir) const
 {
   String ps = "\\embeddedps{\n";
   
   ps += String_convert::double_str (dx) + " " 
     + String_convert::double_str (dy) + " "
+    + String_convert::double_str (ht) + " "
     + String_convert::double_str (dir) +
     " draw_slur}";
 
@@ -279,7 +280,7 @@ Lookup::big_slur (int dy , Real &dx, Direction dir) const
 
 
 Atom
-Lookup::slur  (Real &dy_f , Real &dx, Direction dir) const
+Lookup::slur  (Real &dy_f , Real &dx, Real ht, Direction dir) const
 {
   if  (dx < 0)
     {
@@ -289,7 +290,7 @@ Lookup::slur  (Real &dy_f , Real &dx, Direction dir) const
   Atom s;
   
   if (postscript_global_b)
-    s = ps_slur (dy_f, dx, dir);
+    s = ps_slur (dy_f, dx, ht, dir);
   else
     {
       Real nh =  paper_l_->internote_f ();
index dfd31f8469db116f61d83013e7bf8b2e838a4940..8918a4854394371100c68f1be1f20d4dad425914 100644 (file)
@@ -215,6 +215,8 @@ Translator_group::terminate_translator (Translator*r_l)
 Translator *
 Translator_group::remove_translator_p (Translator*trans_l)
 {
+  assert (trans_l);
+  
   PCursor<Translator*> trans_cur (trans_p_list_.find (trans_l));
   Translator * t =  trans_cur.remove_p();
   /*
index 60dce8dcdd2f747ec27c146ff064dc8f1fbe5556..f72367cab94dadfd66b2430f97f6a80ee911c98e 100644 (file)
@@ -57,8 +57,11 @@ SHAREDLIBRARY=$(outdir)/$(LIB_PREFIX)$(NAME).so
 $(SHAREDLIBRARY):  $(build) $(OFILES) $(MODULE_LIBDEPS)
        $(INCREASE_BUILD)
        $(MAKE) $(OFILES)  $(SILENT_LOG)
-       $(LD_COMMAND) $(OFILES) -o $@
-#      ln -sf $(outdir)/$(LIB_PREFIX)$(NAME).so.$(VERSION) $(outdir)/$(LIB_PREFIX)$(NAME).so
+       $(LD_COMMAND) $(OFILES) -o $@.$(VERSION)
+       rm -f $@
+       ln -sf $(outdir)/$(LIB_PREFIX)$(NAME).so.$(VERSION) $@.$(MAJOR_VERSION)
+       ln -sf $(LIB_PREFIX)$(NAME).so.$(VERSION) $@
+
 #
 lib: $(LIBRARY)
 #
index 8f72d5cb62af32c3ea74271157fcb2ac49005a60..d000ef90130aaca5c98692290321ee3c92d87d9f 100644 (file)
@@ -59,8 +59,9 @@ INSTALL.txt: check-doc-deps check-mf-deps
 # all machine generated junk resides in out/
 distclean: 
        set -e; for i in `find -type d -name 'out'`; do \
-               rm -f $$i/*; done               
+               rm -f $$i/* $$i/.build; done            
        rm -rf *-build-dir
+       ( cd flower && rm -f config.cache config.status config.log )
        rm -f Makefile config.cache config.status config.log
 
 
index 5d89631bc93f85b2ad1158dc970227376e563b74..e57f4746fde7805b39b0958be6d02d66ddd55fec 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Titel: LilyPond
-Versie: 0.1.44
-Inschrijf datum: 06FEB98
+Versie: 0.1.45
+Inschrijf datum: 11FEB98
 Beschrijving: LilyPond is de muziek typesetter van het GNU Project.  
                Het programma genereert muziek in zichtbare of 
                hoorbare vorm uit uit een muzikale definitie file: 
@@ -16,8 +16,8 @@ Auteur: hanwen@stack.nl (Han-Wen Nienhuys)
        jan@digicash.com (Jan Nieuwenhuizen)
 Onderhouden door: hanwen@stack.nl (Han-Wen Nienhuys)
 Voornaamste plek: sunsite.unc.edu /pub/Linux/apps
-       395k lilypond-0.1.44.tar.gz 
+       395k lilypond-0.1.45.tar.gz 
 Oorspronkelijke plek: pcnov095.win.tue.nl /pub/lilypond/
-       395k lilypond-0.1.44.tar.gz 
+       395k lilypond-0.1.45.tar.gz 
 Copi"eer politie: GPL
 End
index 1e5b6dd7c83dc8431711927fc6c06d2fa3ebf93a..7e7a32bf7e5e2fdd64d93cafa0ef43edf7b691ff 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Title: LilyPond
-Version: 0.1.44
-Entered-date: 06FEB98
+Version: 0.1.45
+Entered-date: 11FEB98
 Description: LilyPond is the GNU Project music typesetter.  The program
                generates visual or auditive output from a music 
                definition file: it can typeset formatted sheet music 
@@ -15,8 +15,8 @@ Author: hanwen@stack.nl (Han-Wen Nienhuys)
        jan@digicash.com (Jan Nieuwenhuizen)
 Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
 Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
-       470k lilypond-0.1.44.tar.gz 
+       470k lilypond-0.1.45.tar.gz 
 Original-site: pcnov095.win.tue.nl /pub/lilypond/development/
-       470k lilypond-0.1.44.tar.gz 
+       470k lilypond-0.1.45.tar.gz 
 Copying-policy: GPL
 End
index 61a40557f2971e3c0f2f54b89f4bf6a31cd8dba3..4d75d1484892cc0f9e77207a5747ed4fedaf460f 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
-Version: 0.1.44
+Version: 0.1.45
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: alpha.gnu.org:/gnu/lilypond/development/lilypond-0.1.44.tar.gz
+Source0: alpha.gnu.org:/gnu/lilypond/development/lilypond-0.1.45.tar.gz
 Summary: A program for typesetting music.
 URL: http://www.stack.nl/~hanwen/lilypond
 Packager: Han-Wen Nienhuys <hanwen@stack.nl>
@@ -18,6 +18,7 @@ to a TeX file and play (mechanical) performances to a
 MIDI file.  Features include multiple staffs, meters, 
 clefs, keys, lyrics, versatile input-language, 
 cadenzas, beams, slurs, triplets.
+It includes a nice font of musical symbols.
 
 %prep
 %setup
@@ -30,7 +31,7 @@ strip lily/out/lilypond mi2mu/out/mi2mu
 make -C Documentation gifs
 make prefix="$RPM_BUILD_ROOT/usr" install
 %files
-%doc Documentation/out/ANNOUNCE.txt Documentation/out/AUTHORS.txt Documentation/out/CodingStyle.txt Documentation/out/DEDICATION.txt Documentation/out/INSTALL.txt Documentation/out/MANIFESTO.txt Documentation/out/NEWS.txt Documentation/out/TODO.txt Documentation/out/cadenza.ly.txt Documentation/out/collisions.ly.txt Documentation/out/convert-mudela.txt Documentation/out/faq.txt Documentation/out/font16.ly.txt Documentation/out/font20.ly.txt Documentation/out/gallina.ly.txt Documentation/out/gnu-music.txt Documentation/out/index.txt Documentation/out/internals.txt Documentation/out/language.txt Documentation/out/lilypond.txt Documentation/out/links.txt Documentation/out/literature.txt Documentation/out/ly2dvi.txt Documentation/out/mi2mu.txt Documentation/out/mudela-book.txt Documentation/out/multi.ly.txt Documentation/out/mutopia.txt Documentation/out/other-packages.txt Documentation/out/preludes-1.ly.txt Documentation/out/preludes-2.ly.txt Documentation/out/rhythm.ly.txt Documentation/out/scsii-menuetto.ly.txt Documentation/out/standje.ly.txt Documentation/out/toccata-fuga-E.ly.txt Documentation/out/twinkle-pop.ly.txt Documentation/out/twinkle.ly.txt Documentation/out/wtk1-fugue2.ly.txt Documentation/out/wtk1-prelude1.ly.txt BUGS TODO NEWS DEDICATION ANNOUNCE README
+%doc Documentation/out/AUTHORS.txt Documentation/out/CodingStyle.txt Documentation/out/INSTALL.txt Documentation/out/MANIFESTO.txt Documentation/out/convert-mudela.txt Documentation/out/faq.txt Documentation/out/gnu-music.txt Documentation/out/index.txt Documentation/out/internals.txt Documentation/out/language.txt Documentation/out/lilypond.txt Documentation/out/links.txt Documentation/out/literature.txt Documentation/out/ly2dvi.txt Documentation/out/mi2mu.txt Documentation/out/mudela-book.txt Documentation/out/mutopia.txt Documentation/out/other-packages.txt BUGS TODO NEWS DEDICATION ANNOUNCE README
 %doc input/beams.ly input/cadenza.ly input/collisions.ly input/coriolan-alto.ly input/denneboom.ly input/font-body.ly input/font.ly input/font11.ly input/font13.ly input/font16.ly input/font20.ly input/font26.ly input/gourlay.ly input/keys.ly input/kortjakje.ly input/multi.ly input/pedal.ly input/rhythm.ly input/scales.ly input/scripts.ly input/sleur.ly input/slurs.ly input/spacing.ly input/stem.ly input/toccata-fuga-E.ly input/twinkle-pop.ly input/twinkle.ly Documentation/mudela-course.doc Documentation/mudela-man.doc 
 %doc Documentation/out/lelie_logo.gif
 /usr/bin/convert-mudela
index 799b8758b809516ecf188ead420cd2dc6b81ee72..1597e7794cbf75669e4d2c8c65b397416f756715 100644 (file)
@@ -18,6 +18,7 @@ to a TeX file and play (mechanical) performances to a
 MIDI file.  Features include multiple staffs, meters, 
 clefs, keys, lyrics, versatile input-language, 
 cadenzas, beams, slurs, triplets.
+It includes a nice font of musical symbols.
 
 %prep
 %setup
index b4d3a3e71171946a784af19a729fa9f6f82aa5e3..00b46f2f99312eb24aae464f6dd1c3ec1a469fa3 100644 (file)
@@ -41,8 +41,8 @@ $(outdir)/%.log: %.mf
        mv $(@F) $@
        rm $(basename $< ).*gf
 
-$(lyout)/%.ly $(texout)/%.tex: $(outdir)/%.mf
-       $(PYTHON) $(depth)/bin/mf-to-table.py --ly $(lyout)/$(<F:.mf=.ly) --tex $(texout)/$(<F:.mf=.tex) $<
+$(lyout)/%.ly $(texout)/%.tex: $(outdir)/%.log
+       $(PYTHON) $(depth)/bin/mf-to-table.py --ly $(lyout)/$(<F:.log=.ly) --tex $(texout)/$(<F:.log=.tex) $<
 
 localinstall:
        $(INSTALL) -d $(MFDIR)/public/lilypond
index 1fd3aad026a958f980c65f8ec88ba9e33610bfbb..c627ea5c5dd6b75ccd36ac6b6cd0aa062cafee8d 100644 (file)
@@ -1,11 +1,14 @@
 \header{
 filename =      "preludes-1.ly";
-title =         "1";
+title =         "DOUZE P\'ETITES PRELUDES";
+% tempo = "Moderato"
 composer =      "Johann Sebastian Bach (1685-1750)";
 enteredby =     "jcn";
 copyright =     "public domain";
 }
 
+\include "paper20.ly"
+
 rh = \melodic{
        \octave c'';
        \textstyle "italic";
@@ -66,8 +69,8 @@ lh = \melodic{
        c4-5 e-3 [g32-1 fis-2 g8.-1] 'g4 |
        d-5 f-3 [a32-1 gis a8.] 'a4 |
        % ugh grouping32: 4..4
-       e-5 e'-1 a-4 [e32-3 b c' b] [c' b a b] |
-       c'4 e-4 fis [a32-1 gis fis gis] [ ais gis fis gis] |
+       e-5 e'-1 a-4 [a32-3 b c' b] [c' b a b] |
+       c'4 e-4 fis [a32-1 gis fis gis] [a gis fis gis] |
        a4 c-4 d [d32 e f e] [f e d e] |
        % ugh tril sign
        % f4-1 e d-3\tr c |
@@ -106,6 +109,8 @@ global  = \melodic{
                >
        >
        \paper{
+               \paper_twenty
+               linewidth= 195.\mm;
        }
        \midi{
                \tempo 4 = 70;
index 98c4b5936ba8e5ee5e144defabdfb666ec07c6d6..e0e1f57595a7209406b47a002c98ee8648ca433f 100644 (file)
@@ -6,6 +6,8 @@ enteredby =      "jcn";
 copyright =     "public domain";
 }
 
+\include "paper20.ly"
+
 rh = \melodic{
        \octave c'';
        \textstyle "italic";
@@ -53,7 +55,7 @@ rh = \melodic{
        g4-5\ff
        \multi 2 <
                { \stemup; c2-5 'b4-4 }
-               { \stemdown; 'g2 'd4 }
+               { \stemdown; 'g2-2 'd4-1 }
        >
        \stemboth;
        \multi 2 <
@@ -72,7 +74,7 @@ lh = \melodic{
                { \stemdown; 'c1 ~ 'c ~ 'c }
        >
        \stemboth; |
-       r8 [c-5( e-3 f-1] [e-3 c-5 c' e-4] |
+       r8 [c-5( e-3 g-1] [e-3 c-5 c' e-4] |
        [)fis-3 d-5( fis-3 a-1] [fis-3 d-5 d' fis-4] |
        )g2-3 r4 g-2( |
        [)a8 'a-5( c-4 e-2] [c-4 'a-5 g e-3] |
@@ -111,8 +113,10 @@ global  = \melodic{
                >
        >
        \paper{
+               \paper_twenty
+               linewidth= 195.\mm;
        }
        \midi{
-               \tempo 4 = 110;
+               \tempo 4 = 90;
        }
 }
index 3b99653102f63442c8ca990eba3c5e608ba64814..0a85331b0553a9ef801e8daeac1304ce54553361 100644 (file)
@@ -6,6 +6,8 @@ enteredby =      "jcn";
 copyright =     "public domain";
 }
 
+\include "paper20.ly"
+
 define(comma, r16 [$1$4 $2 $3] [$2 $1 $2 $6$1] r $1$7 r $5$1 |)
 define(s, `comma(translit($*,` ', `,'))')
 define(t, r16 [$1$4 $2 $3] [$2 $1 $2 $6$1] r $1$7 r $5$1 |)
@@ -35,20 +37,25 @@ rh = \melodic{
        s('a c fis)
        s('a c fis)
        s('bes d g)
+
+
        s(c fis a -"poco\\_a\\_poco\\_cresc.")
        s(d g bes)
        s(d fis c')
+
        s(cis g bes)
        s(c es a !-"dim.")
        s('bes e g)
        s('a c g)
+
        s('a c fis)
        s('g 'bes e)
-       s('fis a es)
+       s('fis 'a es)
+
        s('g 'bes d -"dim.")
        s('g 'a c)
-       s('fis a c)
-       s('fis a c)
+       s('fis 'a c)
+       s('fis 'a c)
        r16\p ['g 'a c] ['b 'g 'b 'g] r 'g r 'g
        s('a c fis -"poco\\_cresc.")
        s(c fis a)
@@ -95,8 +102,9 @@ lh = \melodic{
        'd4 r [d8 'a] |
        'd4 r [d8 'bes] |
 
+
        'd4 r [es8 c] |
-       'd4 r [es8 d] |
+       'd4 r [g8 d] |
        'd4 r [a8 fis] |
 
        'd4 r [g8 es] |
@@ -108,7 +116,7 @@ lh = \melodic{
        'd4 r [cis8 'bes] |
        'd4 r [c!8 'a] |
 
-       'd4 r ['bes8 g] |
+       'd4 r ['bes8 'g] |
        'd4 r [es8 c] |
        'd4 r [d8 c] |
 
@@ -124,7 +132,7 @@ lh = \melodic{
        'g4 r [es8 c] |
        'g4 r [es8 c] |
        'g4 r r |
-       'g2.-\fermata 
+       'g2._\fermata 
        \bar "|.";
 }
 
@@ -146,6 +154,8 @@ global  = \melodic{
                >
        >
        \paper{
+               \paper_twenty
+               linewidth= 195.\mm;
        }
        \midi{
                \tempo 4 = 90;
index 2d28e33f2a0f5c8956218f859ba0944651db9385..6086842e714a45aec4cdedeb2eb3a82b53824e9e 100644 (file)
@@ -6,46 +6,95 @@ enteredby =    "jcn";
 copyright =     "public domain";
 }
 
-rh = \melodic{
+\include "paper20.ly"
+
+one = \melodic{
        \octave c'';
        \textstyle "italic";
-       % ugh, start in multi, because of slurring an tieing over bars
-       \multi 2 < 
-               { 
-                       r16\p_"legato" 
-                       ['d-1( 'fis-3 'd-1] ['a-2 'b-3 cis-4 'a-3]
-                       [d-3 cis-2 d-1 e-2] [d-1 fis-3 e-2 d-1] |
-                       \textstyle "finger";
-                       \stemup; 
-                       )cis4-2 fis-5 ~ [fis8 fis-4] e4-3 ~ | 
-                       e( )d8-2 s s4 s4 |
-                       r8 d4-> cis8-1 ~ cis 'b4-1 'b8 |
-               }
-               { 
-%                      s1
-                       \stemdown; 
-                       r8 'a4 'a8 'b4.-"2\\_1" cis8 ~ | 
-                       cis16\< ['a( cis 'a] [d-2 e fis d-1]
-                       [g-3 fis g a-4] [a-3 b a \!g] |
-                       )fis4-"2\\_3" [e8-2 a-5] <fis4-4 d-2> <gis-5 e-3> |
-               } 
-       >
-       \stemboth;
+       r16\p_"legato" 
+       \textstyle "finger";
+       ['d-1( 'fis-3 'd-1] ['a-2 'b-3 cis-4 'a-3]
+       [d-3 cis-2 d-1 e-2] [d-1 fis-3 e-2 d-1] |
+       \textstyle "finger";
+       \stemup; 
+       )cis4-2 fis-5 ~ [fis8 fis-4] e4-3 ~ | 
+       e16\< \stemboth ['a16( cis 'a] [d-2 e fis d-1]
+       [g-3 fis g a-4] [a-3 b a \!g] |
+       \stemup
+       )fis4-"2\\_3" [e8-2 a-5] <fis4-4 d-2> <gis-5 e-3> |
+       <a4-5( e> <fis-4 d-2> <[)g!16-5 d> fis-2 g-3 a-4] 
+       \stemboth
+       [g-3 b a g] |
+       \textstyle "italic";
+       [fis_"dim." e fis-3 g] [fis-3 a-5 g fis]
+       \textstyle "finger";
+       e4-"2\\_5" ~ e16 ['e( 'fis 'g ] |
+       \textstyle "italic";
+       ['a-4_"dim." 'g-1 'a 'b] ['a-2 c-4 'b 'a]
+       ['g-1 'fis-2 'g-3 'a] ['g-3 'b 'a 'g] |
+       \stemup
+       )'fis4\p r16 [''b-1\< d-2 ''b~] <'g4-5 'e-3 ''b>
+       r16 ['cis-1 'e-2 \!cis] |  % cis wants ~
+
+}
+
+two = \melodic{
+       \textstyle "finger";
+% ugh: koor
+%      \translator Staff=bass \octave c; \stemup
+       fis4-1( e8-2 a4 a4 gis8-2 | 
+       ) a8
+       \translator Staff=treble \octave c''; \stemdown
+       'a4 'a8 'b4.-"2\\_1" cis8 ~ | 
+       cis8
+       \translator Staff=bass \octave c; \stemup
+       a8 ~ [a d'] ~ d' d'4-> c'8 | 
+       d'8
+       \translator Staff=treble \octave c''; \stemdown
+       d4-> cis8-1 ~ cis 'b4-1 'b8 |
+       r8 'a4 'a8
+       \translator Staff=bass \octave c; \stemup
+       [g'8-1( fis'-2] )e'4-1 ~ | 
+       e'4 d' ~ [d'16 d-1 cis'-2 g-1] cis'4-2 ~ |
+       [c'8 a-3] d'4.-1 d'4-> cis'8-2 |
+       \translator Staff=treble \octave c''; \stemdown
+       'd4 \skip 4*3; |
+}
+
+three = \melodic{
+       \octave c;
+       \stemdown;
+       d4-3 c-4 'b e-3 |
+       a16 ['a-5\mf( c-3 'a-5] [d-2 e-1 fis-2 d-4]
+       [g-1 fis-3 g a] [g b a g] |
+       )fis4 fis e a-4 |
+       d'16 \stemboth [d-5\f( fis-3 d-5] [a-2 b-1 c'-2 a-4]
+       [d'-1 c'-3 d' e'] [d'-4 fis'-2 e'-1 ) d'] |
+       [cis'-3 b-4 cis'-3 d'-2] [c'-4 e'-2 d'-3 c'-4] 
+       \stemdown b4-5 [cis'8-4 b-3(] |
+       [a-4 )fis-5 b-2 a-3] [gis-4 e-5 a-3 g-4] |
+       fis4. d8-5 e4-5 a4-3 |
+       \stemboth
+       r16 [d-4( fis-2 d-4] [)g8-.-1 'g-.-5]
+       r16 [e-4( g-2 e-4] [)a8-. 'a-.-5] |
+}
+
+rh = \melodic{
+       \one
        \bar "|.";
 }
 
+
 lh = \melodic{
-       \octave c;
-       \clef bass;
-       s1 | s1 | s1 | s1
-%      \multi 2 <
-%              { \stemup; }
-%              { \stemdown; }
-%      >
-%      \stemboth; |
+       \clef "bass";
+       \multi 2 < 
+               \two
+               \three
+       >
        \bar "|.";
 }
 
+
 global  = \melodic{
        \meter 4/4;
        \key fis cis;
@@ -55,16 +104,24 @@ global  = \melodic{
        % Allegretto
        % it would be nice to shut-off fingering...
        \melodic \type Grandstaff < 
-               <
+               \type Staff=treble  < 
                        \global 
-                       \rh
+% huh? try these iso directly!
+                       \lh
+%                      \one
+%                      \two
                >
-               <
+               \type Staff=bass  < 
                        \global 
-                       \lh
+                       \rh
+% or try \two having here, iso above!
+%                      \two
+%                      \three
                >
        >
        \paper{
+               \paper_twenty
+               linewidth= 195.\mm;
        }
        \midi{
                \tempo 4 = 110;
diff --git a/mutopia/J.S.Bach/preludes.tex b/mutopia/J.S.Bach/preludes.tex
new file mode 100644 (file)
index 0000000..39d19a9
--- /dev/null
@@ -0,0 +1,50 @@
+\documentclass{article}         %UGH
+\usepackage{a4}
+
+\advance\oddsidemargin-30mm
+\evensidemargin\oddsidemargin
+% ugh, centre
+\advance\textwidth60mm
+\hsize210mm
+\vsize269mm
+\advance\topmargin-25mm
+\advance\textheight45mm
+\pagestyle{empty}
+
+\input titledefs
+        
+\input lilyponddefs
+\def\interscoreline{\vskip2mm}
+%ugh
+\staffheight=20pt
+
+\font\numfont=feta-nummer10 scaled \magstep2
+\def\piece#1#2#3{%
+%  \hbox to0pt{\vbox to\staffheight{\vss}}
+%  \nopagebreak
+  \vbox to 0pt{\large\bf#3\vss}
+  \nopagebreak
+  \vbox to0pt{\vbox to4.5\staffheight{\vss\numfont#1}\vss}
+  \nopagebreak
+  \input#2%
+}
+
+\begin{document}
+
+\title{DOUZE PETITS PR\'ELUDES\\
+       TWAALF KLEINE PRELUDI\"EN}
+\composer{J.S.\ Bach (1685-1750)}
+
+\makelilytitle
+\kern-\staffheight
+
+\piece{1}{preludes-1}{Moderato}
+\vskip2\staffheight
+\piece{2}{preludes-2}{Moderato}
+\newpage
+\piece{3}{preludes-3}{Semplice e non troppo legato}
+\newpage
+\piece{4}{preludes-4}{Allegretto}
+
+\end{document}
+
index d295d2f83473cd1b4999935c8f78df1416783213..ed2f7e9bc5c5c2ca7eef5068c7529397062b7cec 100644 (file)
@@ -5,7 +5,8 @@
 % UGH UGH
 \advance\oddsidemargin-30mm
 \evensidemargin\oddsidemargin
-\advance\textwidth30mm
+% ugh, centre
+\advance\textwidth60mm
 \addtolength{\textheight}{20mm}
 \pagestyle{empty}
 \begin{document}
index 4ac80c2032e75ed973b3841bc077a6132d774efe..ce1681d9cdb20869c9ad311ec2efe9e8d1749d16 100644 (file)
@@ -47,7 +47,7 @@ $vocal_verse1 = \melodic{
        % [a3 2\grace b] )
        [2/3 a!8( ) gis] a \] c'4. a8 |
        g!2. |
-       [2/3 d'8\f cis'] d \] f'4. b8 |
+       [2/3 d'8\f cis'] d' \] f'4. b8 |
        c'!2. |
 }
 
@@ -112,6 +112,8 @@ $lyric_verse2 = \lyric{
        Sil-8. ber-16 t\"o-4. nen8
        \[2/3 Jed-4 es8 \] wei-4. che8 
        Herz.2.
+       \[2/3 Jed-4 es8 \] wei-4. che8 
+       Herz.2.
 }
 
 $lyric_through1 = \lyric{
@@ -175,7 +177,7 @@ $treble_eentje = \melodic{
        <e4. g> <[e8-. g-.(> <e-. g-.> <e-. )g-.]> |
        <f4. g> <['b8-. g-.(> <d-. g-.> <f-. )g-.]> |
        <e2 g\pp> <e4 g> |
-       <f2\mf a(> <[as8.( c'> <)f16 )a]> |
+       <f2\mf a(> <[a8.( c'> <)f16 )a]> |
        <e4. g> <[e8-. g-.(> <e-. g-.> <e-. )g-.]> |
        <f4. g> <['b8-. g-.(> <d-. g-.> <f-. )g-.]> |
        <e2. g> |
@@ -236,23 +238,23 @@ global= \melodic {\meter 3 /4; \key bes es as; }
                
 \score{
        \melodic<
-               \type Lyrics { 
-                       \meter 3 /4; 
-                       \skip 4 * 12; 
-                       \$lyric_verse1
-                       \skip 4 * 24; 
-                       \$lyric_verse2
-               }
                \type Staff { < 
                        \global 
                        { 
+                               \property Staff.instrument = "alto sax"
                                \skip 4 * 12; 
                                \$vocal_verse1 
                                \skip 4 * 24; 
                                \$vocal_verse1
                        }
                > }
-               
+               \type Lyrics { 
+                       \meter 3 /4; 
+                       \skip 4 * 12; 
+                       \$lyric_verse1
+                       \skip 4 * 24; 
+                       \$lyric_verse2
+               }
                \type Grandstaff < 
                        < 
                                \global
index f93da7cfd26a34051d2853e4484248434230b2c1..cab0aaa82c6a3e0a4afd5bf501e9899faf435a8d 100644 (file)
@@ -82,6 +82,7 @@ def
         bind def
         /draw_cresc
         {
+                staffrulethickness setlinewidth
                 /cresc_cont exch def
                 /cresc_ht exch def
                 /cresc_wd exch def
@@ -118,14 +119,14 @@ def
                stroke
         }
         bind def
- staffheight 2 div
- /slurhtlimit exch def
+ staffheight 2 div /slurhtlimit exch def
  /slurratio 0.3333 def
  %
  %  (b*ratio)/(1 + b / htlimit)
  /getslurcontrol 
  { 
-        slurhtlimit 90 div /slur_alpha exch def
+       slurhtlimit add /slurheight exch def
+        slurheight 90 div /slur_alpha exch def
         slurratio 60 div slur_alpha div  /slur_beta  exch def
         slur_beta mul 1 atan slur_alpha mul
  } bind def
@@ -135,12 +136,13 @@ def
         staffrulethickness setlinewidth
         0 0 moveto
         /slur_dir exch def
+        /slur_height exch def
         /slur_dy exch def
         /slur_dx exch def
         slur_dy slur_dx lily_distance /slur_b  exch def
-        slur_b getslurcontrol 
+        slur_b slur_height getslurcontrol 
         slur_dir mul /slur_ht exch def
-        slur_b getslurcontrol /slur_indent exch def       
+        slur_b slur_height getslurcontrol /slur_indent exch def       
 %
         slur_dy slur_dx atan rotate
         slur_indent slur_ht