]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 0.1.52 release/0.1.52
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 17 Mar 1998 08:53:34 +0000 (09:53 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 17 Mar 1998 08:53:34 +0000 (09:53 +0100)
163 files changed:
.dstreamrc
Documentation/AUTHORS.pod
Documentation/Makefile.am
Documentation/Makefile.am.wild
Documentation/Makefile.in
Documentation/lilypond.pod
Documentation/other-packages.pod
Makefile.am
Makefile.am.wild
Makefile.in
NEWS
VERSION
bin/Makefile.am
bin/Makefile.am.wild
bin/Makefile.in
bin/autowild [new file with mode: 0755]
bin/genheader.in
bin/wild-perl
configure
configure.in
debian/Makefile.am
debian/Makefile.in
flower/Makefile.am
flower/Makefile.am.wild
flower/Makefile.in
flower/NEWS
flower/VERSION
flower/configure
flower/configure.in
flower/include/Makefile.am
flower/include/Makefile.am.wild
flower/include/Makefile.in
flower/include/interval.hh
flower/test/Makefile.am
flower/test/Makefile.am.wild
flower/test/Makefile.in
init/Makefile.am
init/Makefile.am.wild
init/Makefile.in
init/engraver.ly
init/feta11.ly [new file with mode: 0644]
init/feta13.ly [new file with mode: 0644]
init/feta16.ly [new file with mode: 0644]
init/feta19.ly [new file with mode: 0644]
init/feta20.ly [new file with mode: 0644]
init/feta23.ly [new file with mode: 0644]
init/feta26.ly [new file with mode: 0644]
init/lily-init.ly
init/simple-init.ly
input/Makefile.am
input/Makefile.in
input/test-lyrics.ly [new file with mode: 0644]
lib/Makefile.am
lib/Makefile.am.wild
lib/Makefile.in
lib/include/Makefile.am
lib/include/Makefile.in
lily/Makefile.am
lily/Makefile.am.wild
lily/Makefile.in
lily/VERSION
lily/axis-group-element.cc
lily/axis-group-item.cc
lily/axis-group-spanner.cc
lily/beam.cc
lily/break.cc
lily/col-info.cc
lily/crescendo.cc
lily/dynamic-grav.cc
lily/elem-group.cc [deleted file]
lily/general-script-def.cc
lily/horizontal-group-elem.cc [new file with mode: 0644]
lily/horizontal-vertical-group-elem.cc [new file with mode: 0644]
lily/include/Makefile.am
lily/include/Makefile.in
lily/include/col-info.hh
lily/include/direction.hh
lily/include/drul-array.hh
lily/include/elem-group.hh
lily/include/general-script-def.hh
lily/include/horizontal-align-item.hh
lily/include/horizontal-group-elem.hh [new file with mode: 0644]
lily/include/horizontal-group-item.hh
lily/include/horizontal-vertical-group-elem.hh [new file with mode: 0644]
lily/include/horizontal-vertical-group-item.hh
lily/include/item.hh
lily/include/lily-proto.hh
lily/include/line-group-grav.hh
lily/include/musical-request.hh
lily/include/p-col.hh
lily/include/rod.hh [new file with mode: 0644]
lily/include/score-elem.hh
lily/include/separating-group-spanner.hh [new file with mode: 0644]
lily/include/separating-line-group-grav.hh [new file with mode: 0644]
lily/include/single-malt-grouping-item.hh [new file with mode: 0644]
lily/include/spanner.hh
lily/include/spring-spacer.hh
lily/include/super-elem.hh
lily/include/text-def.hh
lily/include/vertical-align-elem.hh
lily/include/vertical-group-elem.hh [new file with mode: 0644]
lily/include/vertical-group-spanner.hh
lily/item.cc
lily/leastsquares.cc
lily/line-group-grav.cc
lily/line-spacer.cc
lily/musical-request.cc
lily/p-col.cc
lily/p-score.cc
lily/parser.cc
lily/parser.yy
lily/plet-spanner.cc
lily/rod.cc [new file with mode: 0644]
lily/score-column.cc
lily/score-elem.cc
lily/score-grav.cc
lily/script.cc
lily/separating-group-spanner.cc [new file with mode: 0644]
lily/separating-line-group-grav.cc [new file with mode: 0644]
lily/single-malt-grouping-item.cc [new file with mode: 0644]
lily/slur.cc
lily/spanner.cc
lily/spring-spacer.cc
lily/stem-grav.cc
lily/super-elem.cc
lily/template4.cc
lily/tex-slur.cc
lily/text-item.cc
lily/tie.cc
lily/vertical-align-grav.cc
lily/vertical-group-elem.cc [new file with mode: 0644]
lily/vertical-group-spanner.cc
lily/word-wrap.cc
make/Makefile.am
make/Makefile.in
make/lelievijver.lsm
make/lilypond.lsm
make/lilypond.spec
mf/Makefile.am
mf/Makefile.am.wild
mf/Makefile.in
mi2mu/Makefile.am
mi2mu/Makefile.am.wild
mi2mu/Makefile.in
mi2mu/include/Makefile.am
mi2mu/include/Makefile.in
mi2mu/mudela-score.cc
mi2mu/template.cc [deleted file]
mutopia/J.S.Bach/Makefile.am
mutopia/J.S.Bach/Makefile.in
mutopia/J.S.Bach/wtk1-fugue2.ly
mutopia/Makefile.am
mutopia/Makefile.in
tex/Makefile.am
tex/Makefile.am.wild
tex/Makefile.in
tex/feta11.tex [new file with mode: 0644]
tex/feta13.tex [new file with mode: 0644]
tex/feta16.tex [new file with mode: 0644]
tex/feta19.tex [new file with mode: 0644]
tex/feta20.tex [new file with mode: 0644]
tex/feta23.tex [new file with mode: 0644]
tex/feta26.tex [new file with mode: 0644]

index d59bde6e3edc4b1f826303086318030602d66052..e38a4021003d220fc43f84304a73d171a45f4fe4 100644 (file)
@@ -13,7 +13,7 @@ InitLexer             1
 Lexer                  1
 
 
 Lexer                  1
 
 
-walking                0
+walking                11
 
 # flower lib
 File_path              1
 
 # flower lib
 File_path              1
@@ -37,7 +37,7 @@ Engraver_group_engraver 0
 Group_change_req       0
 Head_column            0
 Idealspacing           0
 Group_change_req       0
 Head_column            0
 Idealspacing           0
-Ineq_constrained_qp    1
+Ineq_constrained_qp    0
 Input_translator       0
 Item                   0
 Key_item               0
 Input_translator       0
 Item                   0
 Key_item               0
index 88ddb2410a9157f810033e9b1cf1a126ec8d81f5..3e377f910ea4a1acc20941660bff7b89422c871b 100644 (file)
@@ -10,7 +10,7 @@ This file lists authors of GNU LilyPond, and what they wrote.
 
 =over 4
 
 
 =over 4
 
-=item * Han-Wen Nienhuys <hanwen@cs.ruu.nl>, http://www.stack.nl/~hanwen
+=item * Han-Wen Nienhuys <hanwen@cs.ruu.nl>, http://www.cs.ruu.nl/people/hanwen
 
 Main author.
 
 
 Main author.
 
index b19f90a2ea03d95c5006192c2227c617a314c421..66c0e424335992a63a2fcbed263ee911a744a04e 100644 (file)
@@ -35,9 +35,9 @@ uninstall-hook:
 
 html: $(HTMLFILES)
 
 
 html: $(HTMLFILES)
 
-clean-hook:
-       rm $(TEXTFILES) $(MAN1GROFF)
+clean-local:
+       -rm $(TEXTFILES) $(MAN1GROFF)
 
 include $(top_srcdir)/Documentation/Rules.make
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 
 include $(top_srcdir)/Documentation/Rules.make
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
\ No newline at end of file
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
\ No newline at end of file
index aa2476c53ba3671852940a329ca16a2dcb9882b2..329e22535fbb854f2e736c4e5fa8bfd24089aa84 100644 (file)
@@ -32,7 +32,7 @@ uninstall-hook:
 
 html: $(HTMLFILES)
 
 
 html: $(HTMLFILES)
 
-clean-hook:
-       rm $(TEXTFILES) $(MAN1GROFF)
+clean-local:
+       -rm $(TEXTFILES) $(MAN1GROFF)
 
 include $(top_srcdir)/Documentation/Rules.make
 
 include $(top_srcdir)/Documentation/Rules.make
index 7e3d369fd46bd200727b18bb9b10fb7278a13bbb..c2e9724f86105ecb0359ded0e6561947da313571 100644 (file)
@@ -190,7 +190,7 @@ maintainer-clean-generic:
        -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
 mostlyclean:  mostlyclean-generic
 
        -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
 mostlyclean:  mostlyclean-generic
 
-clean:  clean-generic mostlyclean
+clean:  clean-generic mostlyclean clean-local
 
 distclean:  distclean-generic clean
        -rm -f config.status
 
 distclean:  distclean-generic clean
        -rm -f config.status
@@ -220,12 +220,12 @@ uninstall-hook:
 
 html: $(HTMLFILES)
 
 
 html: $(HTMLFILES)
 
-clean-hook:
-       rm $(TEXTFILES) $(MAN1GROFF)
+clean-local:
+       -rm $(TEXTFILES) $(MAN1GROFF)
 
 include $(top_srcdir)/Documentation/Rules.make
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 
 include $(top_srcdir)/Documentation/Rules.make
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index 0e685b58f0885beef6f9c3f6f16c2565cf5c66c8..8742d2ec6bcaa8cfc0aa6fc84d25127cd57306cf 100644 (file)
@@ -136,7 +136,7 @@ information, and small contributions.
 
 =item *
 
 
 =item *
 
-Han-Wen Nienhuys <hanwen@cs.ruu.nl>, http://www.stack.nl/~hanwen
+Han-Wen Nienhuys <hanwen@cs.ruu.nl>, http://www.cs.ruu.nl/people/hanwen
 
 =item *
 
 
 =item *
 
@@ -243,7 +243,7 @@ Goals of the GNU LilyPond project.
 
 The GNU LilyPond FAQ list
 
 
 The GNU LilyPond FAQ list
 
-=item http://www.stack.nl/~hanwen/lilypond/index.html
+=item http://www.cs.ruu.nl/people/hanwen/lilypond/index.html
 
 GNU LilyPond has her own webpage.  This webpage contains the MIDI, GIF
 and PS files for some standard music files.  It also has the complete
 
 GNU LilyPond has her own webpage.  This webpage contains the MIDI, GIF
 and PS files for some standard music files.  It also has the complete
index 56cd0f9c831cb5059e601a25b1479f535d89ed68..b8b754be83717fa443b69c068f36941acd527664 100644 (file)
@@ -25,12 +25,13 @@ Lisp. It needs the Adobe Sonata or Finale Petrucci font.
 
 A amateurish notation program for TclTk and X.
 
 
 A amateurish notation program for TclTk and X.
 
-=item MPP, http://www.stack.nl/~hanwen/mpp-english.html
+=item MPP
 
 A preprocessor to MusixTeX by Jan Nieuwenhuizen and Han-Wen Nienhuys.
 
 A preprocessor to MusixTeX by Jan Nieuwenhuizen and Han-Wen Nienhuys.
-It is outdated by its successor, LilyPond.
+It is outdated by its successor, LilyPond.  MPP is still available via
+the CTAN archive.
 
 
-=item LilyPond, http://www.stack.nl/~hanwen/lilypond/index.html
+=item LilyPond, http://www.cs.ruu.nl/people/hanwen/lilypond/index.html
 
 Added for completeness. You are currently reading her documentation.
 
 
 Added for completeness. You are currently reading her documentation.
 
index ddcfd50c6ce56533df493870bb0207d241a3a741..c25099c607aae7db2eac7fc29efe6a7bd73964b0 100644 (file)
@@ -26,5 +26,10 @@ PATCHES:
        rm -f PATCHES
        ln `$(FIND) ./ -name PATCHES.txt -print | head -1` $@
 
        rm -f PATCHES
        ln `$(FIND) ./ -name PATCHES.txt -print | head -1` $@
 
+
+# a hack due to a bug in automake: the macro AM_CONFIG_HEADER does not
+# respect the directory
+distclean-local:
+       rm -f lib/config.hh
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
\ No newline at end of file
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
\ No newline at end of file
index 885dcb8c12f1762cf2a62d427d5be46140893f91..5d6cdeb6354c2bcb3c8d228a3c11357889259602 100644 (file)
@@ -23,3 +23,8 @@ PATCHES:
        rm -f PATCHES
        ln `$(FIND) ./ -name PATCHES.txt -print | head -1` $@
 
        rm -f PATCHES
        ln `$(FIND) ./ -name PATCHES.txt -print | head -1` $@
 
+
+# a hack due to a bug in automake: the macro AM_CONFIG_HEADER does not
+# respect the directory
+distclean-local:
+       rm -f lib/config.hh
index 4e1bdbe4906467c04b07233d3b8a71dd9611fd63..3a43b1d71950a0856ba8f2b64ac4aef5f6b34894 100644 (file)
@@ -325,7 +325,7 @@ mostlyclean:  mostlyclean-recursive mostlyclean-am
 
 clean:  clean-recursive clean-am
 
 
 clean:  clean-recursive clean-am
 
-distclean:  distclean-recursive distclean-am
+distclean:  distclean-recursive distclean-am distclean-local
        -rm -f config.status
        -rm -f libtool
 
        -rm -f config.status
        -rm -f libtool
 
@@ -359,8 +359,12 @@ PATCHES:
        rm -f PATCHES
        ln `$(FIND) ./ -name PATCHES.txt -print | head -1` $@
 
        rm -f PATCHES
        ln `$(FIND) ./ -name PATCHES.txt -print | head -1` $@
 
+# a hack due to a bug in automake: the macro AM_CONFIG_HEADER does not
+# respect the directory
+distclean-local:
+       rm -f lib/config.hh
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/NEWS b/NEWS
index e528ecb8eeece459247cde05f5b41dc513516629..3d0c20d712484e750bac5aa5636e241ecc7c8034 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,13 @@
-**********
+pl 52
+       - split up elem-group stuff.
+       - per line widths
+       - miscellaneous fixes by WL.
+
+pl 51.jcn1
+       - bf's: dutch->nederlands
+       - Cygnus b19 compile/link fixes
+
+************
 march 27
 pl 51
        - changed dutch -> nederlands, german -> deutsch etc.
 march 27
 pl 51
        - changed dutch -> nederlands, german -> deutsch etc.
@@ -16,15 +25,13 @@ pl 50.jcn4
        - bf: DIR_DATADIR
        - bf: trills
 
        - bf: DIR_DATADIR
        - bf: trills
 
-
-               
 ************
 pl 50
        - deprecate autowild
        - --srcdir fixes
        - ly2dvi 0.8
 
 ************
 pl 50
        - deprecate autowild
        - --srcdir fixes
        - ly2dvi 0.8
 
-pl 49jcn2
+pl 49.jcn2
        - static (default) and/or shared libs flower and lily
        - patch from AO 'libtool 1.1.1'
        - mf: trill-symbols: feta-slag.mf
        - static (default) and/or shared libs flower and lily
        - patch from AO 'libtool 1.1.1'
        - mf: trill-symbols: feta-slag.mf
diff --git a/VERSION b/VERSION
index 909a5a0daff23f3d6205858085f636ba5abc67a4..03a63583e4bb52f6bca7bbf61dca77c44700a131 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,6 +1,6 @@
 MAJOR_VERSION=0
 MINOR_VERSION=1
 MAJOR_VERSION=0
 MINOR_VERSION=1
-PATCH_LEVEL=51
+PATCH_LEVEL=52
 MY_PATCH_LEVEL=
 
 # now used as shell script in configure too
 MY_PATCH_LEVEL=
 
 # now used as shell script in configure too
index c7904427ee2f907a6d2c49ef8d62cfa2511a2949..fd301eba422e82e4e47b31f6404959e6444e4a56 100644 (file)
@@ -8,7 +8,9 @@
 SLANG_SCHRIFTEN = flower.py lilypython.py
 PAREL_SCHRIFTEN = 
 IN_SCHRIFTEN = flower.py lilypython.py
 SLANG_SCHRIFTEN = flower.py lilypython.py
 PAREL_SCHRIFTEN = 
 IN_SCHRIFTEN = flower.py lilypython.py
-EXTRA_DIST = Makefile.am.wild $(PAREL_SCHRIFTEN) $(IN_SCHRIFTEN) $(SLANG_SCHRIFTEN) wild-perl
+EXTRA_DIST = Makefile.am.wild $(PAREL_SCHRIFTEN) $(IN_SCHRIFTEN) $(SLANG_SCHRIFTEN) wild-perl autowild
 
 
+clean-local:
+       -rm -f flower.pyc
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
\ No newline at end of file
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
\ No newline at end of file
index fb04a37aeb56763568ac1d32cb71e8d7aae1fa0c..aa13c4e5151483ff8cfefcf1b0b227e1a35e3e48 100755 (executable)
@@ -5,5 +5,7 @@
 SLANG_SCHRIFTEN = $(wildcard *.py)
 PAREL_SCHRIFTEN = $(wildcard *.pl)
 IN_SCHRIFTEN = $(wildcard *.py)
 SLANG_SCHRIFTEN = $(wildcard *.py)
 PAREL_SCHRIFTEN = $(wildcard *.pl)
 IN_SCHRIFTEN = $(wildcard *.py)
-EXTRA_DIST = Makefile.am.wild $(PAREL_SCHRIFTEN) $(IN_SCHRIFTEN) $(SLANG_SCHRIFTEN) wild-perl
+EXTRA_DIST = Makefile.am.wild $(PAREL_SCHRIFTEN) $(IN_SCHRIFTEN) $(SLANG_SCHRIFTEN) wild-perl autowild
 
 
+clean-local:
+       -rm -f flower.pyc
index 2a45668f8652e3b8d8909af5f50c81f6bf2d91ae..f508a310f65973204260f842187268d4e3e38321 100644 (file)
@@ -104,7 +104,7 @@ absolute_builddir = @absolute_builddir@
 SLANG_SCHRIFTEN = flower.py lilypython.py
 PAREL_SCHRIFTEN = 
 IN_SCHRIFTEN = flower.py lilypython.py
 SLANG_SCHRIFTEN = flower.py lilypython.py
 PAREL_SCHRIFTEN = 
 IN_SCHRIFTEN = flower.py lilypython.py
-EXTRA_DIST = Makefile.am.wild $(PAREL_SCHRIFTEN) $(IN_SCHRIFTEN) $(SLANG_SCHRIFTEN) wild-perl
+EXTRA_DIST = Makefile.am.wild $(PAREL_SCHRIFTEN) $(IN_SCHRIFTEN) $(SLANG_SCHRIFTEN) wild-perl autowild
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = ../lib/config.hh
 CONFIG_CLEAN_FILES =  add-URLs clean-diaper clean-embeds clean-fonts \
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = ../lib/config.hh
 CONFIG_CLEAN_FILES =  add-URLs clean-diaper clean-embeds clean-fonts \
@@ -230,7 +230,7 @@ maintainer-clean-generic:
        -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
 mostlyclean:  mostlyclean-generic
 
        -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
 mostlyclean:  mostlyclean-generic
 
-clean:  clean-generic mostlyclean
+clean:  clean-generic mostlyclean clean-local
 
 distclean:  distclean-generic clean
        -rm -f config.status
 
 distclean:  distclean-generic clean
        -rm -f config.status
@@ -246,8 +246,10 @@ distclean-generic clean-generic maintainer-clean-generic clean \
 mostlyclean distclean maintainer-clean
 
 
 mostlyclean distclean maintainer-clean
 
 
+clean-local:
+       -rm -f flower.pyc
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/bin/autowild b/bin/autowild
new file mode 100755 (executable)
index 0000000..e2e5638
--- /dev/null
@@ -0,0 +1,38 @@
+#!/bin/sh
+# autowild
+# for those of you that have no wild-automake
+
+# ugh
+verbose=true
+if test x$1 = x-v; then
+       verbose=echo
+fi
+
+#ugh
+# PERL=@PERL@
+PERL=/usr/bin/perl
+PROGNAME=autowild #don't includee path; this messes up stuff
+WILD_MAKEFILES=$(find . -name \*.wild)
+for i in $WILD_MAKEFILES; do
+       dir=$(dirname $i)
+       wild=$(basename $i)
+       make=$(basename $i .wild)
+       TOPDIR=`pwd`
+       (cd $dir
+
+       $verbose -n "trying $dir/$make.. "
+       cat $wild | $PERL $TOPDIR/bin/wild-perl >> $make.NEW
+       if [ ! -f $make ]; then
+           touch $make
+       fi
+
+       if cmp -s $make.NEW $make; then
+           $verbose "autowild: $dir/$make didn't change"
+           rm $make.NEW
+       else
+               mv $make.NEW $make
+               $verbose "autowild: creating $dir/$make"
+       fi
+       )
+done
+       
index 57f0e9fb8f93176193f3433af8c4ef2fc17b552c..9f16663bf7e49ed6c8c31e192894f3a47350346c 100755 (executable)
@@ -18,6 +18,7 @@ import string
 import sys
 import os
 import getopt
 import sys
 import os
 import getopt
+import time
 
 class My_options:
     def __init__(self):
 
 class My_options:
     def __init__(self):
@@ -59,8 +60,8 @@ def head_str(filename):
        what=" implement "
 
 
        what=" implement "
 
 
-    headstr = '\n%s -- %s\n\nsource file of %s\n\n(c) 1997 %s <%s>\n' \
-             %(filename, what, project_str(), name(), mail())
+    headstr = '\n%s -- %s\n\nsource file of %s\n\n(c) %d %s <%s>\n' \
+             %(filename, what, project_str(), time.localtime (time.time ())[0], name(), mail())
     return headstr
 
 
     return headstr
 
 
index a26ceefcae6f5b42185eb1307a9f2ed58cf978a5..a61caf335bfeddb78644f26010c29acc01925fae 100755 (executable)
@@ -1,6 +1,11 @@
 # -*- perl -*-
 ##! @PERL@
 
 # -*- perl -*-
 ##! @PERL@
 
+use Getopt::Long;
+GetOptions("top-srcdir:s");
+
+$my_topdir = $opt_top_srcdir ? $opt_top_srcdir : "\$(top_srcdir)";
+
 @ignorestuff = ();
 
 sub ignore_query
 @ignorestuff = ();
 
 sub ignore_query
@@ -11,6 +16,7 @@ sub ignore_query
 
 print "# Generated automatically by wild-perl 0.1\n";
 
 
 print "# Generated automatically by wild-perl 0.1\n";
 
+
 while (<>) {
        $line = $_;
        if ($line =~ /^ *nowildcard: *(.*)$/) {
 while (<>) {
        $line = $_;
        if ($line =~ /^ *nowildcard: *(.*)$/) {
@@ -37,5 +43,5 @@ while (<>) {
 
 
 print "\$(srcdir)/Makefile.am: \$(srcdir)/Makefile.am.wild\n" .
 
 
 print "\$(srcdir)/Makefile.am: \$(srcdir)/Makefile.am.wild\n" .
-    "\t\$(PERL) \$(top_srcdir)/bin/wild-perl < \$< > \$@";
+    "\t\$(PERL) $my_topdir/bin/wild-perl --top-srcdir=\"\$(real_topdir)\" < \$< > \$@";
 
 
index 0a936113aeb148e42d2ac5ee6d7875618595c3be..059b3a65ad052416487d5726ed7d3f87d37a0860 100755 (executable)
--- a/configure
+++ b/configure
@@ -804,10 +804,116 @@ fi
 
 
 
 
 
 
+#AC_PROG_CC
+#AC_PROG_CXX
+
+# turn off shared libraries by default (may be enabled using --enable-shared)
+# Check whether --enable-shared or --disable-shared was given.
+if test "${enable_shared+set}" = set; then
+  enableval="$enable_shared"
+  p=${PACKAGE-default}
+case "$enableval" in
+yes) enable_shared=yes ;;
+no) enable_shared=no ;;
+*)
+  enable_shared=no
+  # Look at the argument we got.  We use all the common list separators.
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+  for pkg in $enableval; do
+    if test "X$pkg" = "X$p"; then
+      enable_shared=yes
+    fi
+  done
+  IFS="$ac_save_ifs"
+  ;;
+esac
+else
+  enable_shared=no
+fi
+
+# Check whether --enable-static or --disable-static was given.
+if test "${enable_static+set}" = set; then
+  enableval="$enable_static"
+  p=${PACKAGE-default}
+case "$enableval" in
+yes) enable_static=yes ;;
+no) enable_static=no ;;
+*)
+  enable_static=no
+  # Look at the argument we got.  We use all the common list separators.
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+  for pkg in $enableval; do
+    if test "X$pkg" = "X$p"; then
+      enable_static=yes
+    fi
+  done
+  IFS="$ac_save_ifs"
+  ;;
+esac
+else
+  enable_static=yes
+fi
+
+
+# Make sure we can run config.sub.
+if $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:865: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+  case $nonopt in
+  NONE)
+    if host_alias=`$ac_config_guess`; then :
+    else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+    fi ;;
+  *) host_alias=$nonopt ;;
+  esac ;;
+esac
+
+host=`$ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+# Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:888: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_RANLIB="ranlib"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+  echo "$ac_t""$RANLIB" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
 # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
 # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:811: checking for $ac_word" >&5
+echo "configure:917: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -836,7 +942,7 @@ if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:840: checking for $ac_word" >&5
+echo "configure:946: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -884,7 +990,7 @@ fi
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:888: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:994: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
 
 ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
 
 ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -894,11 +1000,11 @@ ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS
 cross_compiling=$ac_cv_prog_cc_cross
 
 cat > conftest.$ac_ext <<EOF
 cross_compiling=$ac_cv_prog_cc_cross
 
 cat > conftest.$ac_ext <<EOF
-#line 898 "configure"
+#line 1004 "configure"
 #include "confdefs.h"
 main(){return(0);}
 EOF
 #include "confdefs.h"
 main(){return(0);}
 EOF
-if { (eval echo configure:902: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1008: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   ac_cv_prog_cc_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
   ac_cv_prog_cc_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -918,12 +1024,12 @@ if test $ac_cv_prog_cc_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 ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
   { 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 ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:922: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1028: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:927: checking whether we are using GNU C" >&5
+echo "configure:1033: checking whether we are using GNU C" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -932,7 +1038,7 @@ else
   yes;
 #endif
 EOF
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:936: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1042: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
@@ -947,7 +1053,7 @@ if test $ac_cv_prog_gcc = yes; then
   ac_save_CFLAGS="$CFLAGS"
   CFLAGS=
   echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
   ac_save_CFLAGS="$CFLAGS"
   CFLAGS=
   echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:951: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1057: checking whether ${CC-cc} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -974,242 +1080,6 @@ else
   test "${CFLAGS+set}" = set || CFLAGS="-g"
 fi
 
   test "${CFLAGS+set}" = set || CFLAGS="-g"
 fi
 
-for ac_prog in $CCC c++ g++ gcc CC cxx cc++
-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:983: 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
-  if test -n "$CXX"; then
-  ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_CXX="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-CXX="$ac_cv_prog_CXX"
-if test -n "$CXX"; then
-  echo "$ac_t""$CXX" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-test -n "$CXX" && break
-done
-test -n "$CXX" || CXX="gcc"
-
-
-echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1014: 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.
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cxx_cross
-
-cat > conftest.$ac_ext <<EOF
-#line 1024 "configure"
-#include "confdefs.h"
-main(){return(0);}
-EOF
-if { (eval echo configure:1028: \"$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
-    ac_cv_prog_cxx_cross=no
-  else
-    ac_cv_prog_cxx_cross=yes
-  fi
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  ac_cv_prog_cxx_works=no
-fi
-rm -fr conftest*
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-echo "$ac_t""$ac_cv_prog_cxx_works" 1>&6
-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:1054: 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:1059: 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
-  cat > conftest.C <<EOF
-#ifdef __GNUC__
-  yes;
-#endif
-EOF
-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1068: \"$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
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gxx" 1>&6
-
-if test $ac_cv_prog_gxx = yes; then
-  GXX=yes
-  ac_test_CXXFLAGS="${CXXFLAGS+set}"
-  ac_save_CXXFLAGS="$CXXFLAGS"
-  CXXFLAGS=
-  echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
-echo "configure:1083: 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
-  echo 'void f(){}' > conftest.cc
-if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then
-  ac_cv_prog_cxx_g=yes
-else
-  ac_cv_prog_cxx_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cxx_g" 1>&6
-  if test "$ac_test_CXXFLAGS" = set; then
-    CXXFLAGS="$ac_save_CXXFLAGS"
-  elif test $ac_cv_prog_cxx_g = yes; then
-    CXXFLAGS="-g -O2"
-  else
-    CXXFLAGS="-O2"
-  fi
-else
-  GXX=
-  test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
-fi
-
-
-# turn off shared libraries by default (may be enabled using --enable-shared)
-# Check whether --enable-shared or --disable-shared was given.
-if test "${enable_shared+set}" = set; then
-  enableval="$enable_shared"
-  p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_shared=yes ;;
-no) enable_shared=no ;;
-*)
-  enable_shared=no
-  # Look at the argument we got.  We use all the common list separators.
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
-  for pkg in $enableval; do
-    if test "X$pkg" = "X$p"; then
-      enable_shared=yes
-    fi
-  done
-  IFS="$ac_save_ifs"
-  ;;
-esac
-else
-  enable_shared=no
-fi
-
-# Check whether --enable-static or --disable-static was given.
-if test "${enable_static+set}" = set; then
-  enableval="$enable_static"
-  p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_static=yes ;;
-no) enable_static=no ;;
-*)
-  enable_static=no
-  # Look at the argument we got.  We use all the common list separators.
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
-  for pkg in $enableval; do
-    if test "X$pkg" = "X$p"; then
-      enable_static=yes
-    fi
-  done
-  IFS="$ac_save_ifs"
-  ;;
-esac
-else
-  enable_static=yes
-fi
-
-
-# Make sure we can run config.sub.
-if $ac_config_sub sun4 >/dev/null 2>&1; then :
-else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:1165: checking host system type" >&5
-
-host_alias=$host
-case "$host_alias" in
-NONE)
-  case $nonopt in
-  NONE)
-    if host_alias=`$ac_config_guess`; then :
-    else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
-    fi ;;
-  *) host_alias=$nonopt ;;
-  esac ;;
-esac
-
-host=`$ac_config_sub $host_alias`
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$host" 1>&6
-
-# Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1188: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_RANLIB="ranlib"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
-fi
-fi
-RANLIB="$ac_cv_prog_RANLIB"
-if test -n "$RANLIB"; then
-  echo "$ac_t""$RANLIB" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
 # Check whether --with-gnu-ld or --without-gnu-ld was given.
 if test "${with_gnu_ld+set}" = set; then
   withval="$with_gnu_ld"
 # Check whether --with-gnu-ld or --without-gnu-ld was given.
 if test "${with_gnu_ld+set}" = set; then
   withval="$with_gnu_ld"
@@ -1223,7 +1093,7 @@ ac_prog=ld
 if test "$ac_cv_prog_gcc" = yes; then
   # Check if gcc -print-prog-name=ld gives a path.
   echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
 if test "$ac_cv_prog_gcc" = yes; then
   # Check if gcc -print-prog-name=ld gives a path.
   echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
-echo "configure:1227: checking for ld used by GCC" >&5
+echo "configure:1097: checking for ld used by GCC" >&5
   ac_prog=`($CC -print-prog-name=ld) 2>&5`
   case "$ac_prog" in
   # Accept absolute paths.
   ac_prog=`($CC -print-prog-name=ld) 2>&5`
   case "$ac_prog" in
   # Accept absolute paths.
@@ -1241,10 +1111,10 @@ echo "configure:1227: checking for ld used by GCC" >&5
   esac
 elif test "$with_gnu_ld" = yes; then
   echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
   esac
 elif test "$with_gnu_ld" = yes; then
   echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:1245: checking for GNU ld" >&5
+echo "configure:1115: checking for GNU ld" >&5
 else
   echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
 else
   echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-echo "configure:1248: checking for non-GNU ld" >&5
+echo "configure:1118: checking for non-GNU ld" >&5
 fi
 if eval "test \"`echo '$''{'ac_cv_path_LD'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 fi
 if eval "test \"`echo '$''{'ac_cv_path_LD'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1280,7 +1150,7 @@ fi
 test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
 
 echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
 test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
 
 echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
-echo "configure:1284: checking if the linker ($LD) is GNU ld" >&5
+echo "configure:1154: checking if the linker ($LD) is GNU ld" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gnu_ld'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_gnu_ld'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1296,7 +1166,7 @@ echo "$ac_t""$ac_cv_prog_gnu_ld" 1>&6
 
 
 echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
 
 
 echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
-echo "configure:1300: checking for BSD-compatible nm" >&5
+echo "configure:1170: checking for BSD-compatible nm" >&5
 if eval "test \"`echo '$''{'ac_cv_path_NM'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_path_NM'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1333,7 +1203,7 @@ echo "$ac_t""$NM" 1>&6
 
 
 echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
 
 
 echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:1337: checking whether ln -s works" >&5
+echo "configure:1207: checking whether ln -s works" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1369,8 +1239,8 @@ test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
 case "$host" in
 *-*-irix6*)
   # Find out which ABI we are using.
 case "$host" in
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 1373 "configure"' > conftest.$ac_ext
-  if { (eval echo configure:1374: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  echo '#line 1243 "configure"' > conftest.$ac_ext
+  if { (eval echo configure:1244: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
     case "`/usr/bin/file conftest.o`" in
     *32-bit*)
       LD="${LD-ld} -32"
     case "`/usr/bin/file conftest.o`" in
     *32-bit*)
       LD="${LD-ld} -32"
@@ -1406,7 +1276,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
 # 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:1410: checking for $ac_word" >&5
+echo "configure:1280: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1440,7 +1310,7 @@ test -n "$YACC" || YACC="yacc"
 # Extract the first word of "flex", so it can be a program name with args.
 set dummy flex; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
 # Extract the first word of "flex", so it can be a program name with args.
 set dummy flex; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1444: checking for $ac_word" >&5
+echo "configure:1314: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1473,7 +1343,7 @@ then
   *) ac_lib=l ;;
   esac
   echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6
   *) ac_lib=l ;;
   esac
   echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6
-echo "configure:1477: checking for yywrap in -l$ac_lib" >&5
+echo "configure:1347: checking for yywrap in -l$ac_lib" >&5
 ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1481,7 +1351,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-l$ac_lib  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-l$ac_lib  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1485 "configure"
+#line 1355 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -1492,7 +1362,7 @@ int main() {
 yywrap()
 ; return 0; }
 EOF
 yywrap()
 ; return 0; }
 EOF
-if { (eval echo configure:1496: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1366: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -1516,7 +1386,7 @@ fi
 
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
 
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1520: checking how to run the C preprocessor" >&5
+echo "configure:1390: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -1531,13 +1401,13 @@ else
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 1535 "configure"
+#line 1405 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1541: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1411: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
@@ -1548,13 +1418,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 1552 "configure"
+#line 1422 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1558: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1428: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
@@ -1577,7 +1447,7 @@ fi
 echo "$ac_t""$CPP" 1>&6
 
 echo $ac_n "checking lex output file root""... $ac_c" 1>&6
 echo "$ac_t""$CPP" 1>&6
 
 echo $ac_n "checking lex output file root""... $ac_c" 1>&6
-echo "configure:1581: checking lex output file root" >&5
+echo "configure:1451: checking lex output file root" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_lex_root'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_lex_root'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1598,7 +1468,7 @@ echo "$ac_t""$ac_cv_prog_lex_root" 1>&6
 LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root
 
 echo $ac_n "checking whether yytext is a pointer""... $ac_c" 1>&6
 LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root
 
 echo $ac_n "checking whether yytext is a pointer""... $ac_c" 1>&6
-echo "configure:1602: checking whether yytext is a pointer" >&5
+echo "configure:1472: checking whether yytext is a pointer" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_lex_yytext_pointer'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_lex_yytext_pointer'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1610,14 +1480,14 @@ echo 'extern char *yytext;' >>$LEX_OUTPUT_ROOT.c
 ac_save_LIBS="$LIBS"
 LIBS="$LIBS $LEXLIB"
 cat > conftest.$ac_ext <<EOF
 ac_save_LIBS="$LIBS"
 LIBS="$LIBS $LEXLIB"
 cat > conftest.$ac_ext <<EOF
-#line 1614 "configure"
+#line 1484 "configure"
 #include "confdefs.h"
 `cat $LEX_OUTPUT_ROOT.c`
 int main() {
 
 ; return 0; }
 EOF
 #include "confdefs.h"
 `cat $LEX_OUTPUT_ROOT.c`
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:1621: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1491: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   ac_cv_prog_lex_yytext_pointer=yes
 else
   rm -rf conftest*
   ac_cv_prog_lex_yytext_pointer=yes
 else
@@ -1782,7 +1652,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
 # 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:1786: checking for $ac_word" >&5
+echo "configure:1656: 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
 if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1813,7 +1683,7 @@ test -n "$CXX" || CXX="gcc"
 
 
 echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
 
 
 echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1817: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
+echo "configure:1687: 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.
 
 ac_ext=C
 # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1823,11 +1693,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
 cross_compiling=$ac_cv_prog_cxx_cross
 
 cat > conftest.$ac_ext <<EOF
-#line 1827 "configure"
+#line 1697 "configure"
 #include "confdefs.h"
 main(){return(0);}
 EOF
 #include "confdefs.h"
 main(){return(0);}
 EOF
-if { (eval echo configure:1831: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1701: \"$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
   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
@@ -1847,12 +1717,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: 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:1851: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1721: 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 "$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:1856: checking whether we are using GNU C++" >&5
+echo "configure:1726: 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
 if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1861,7 +1731,7 @@ else
   yes;
 #endif
 EOF
   yes;
 #endif
 EOF
-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1865: \"$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:1735: \"$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
   ac_cv_prog_gxx=yes
 else
   ac_cv_prog_gxx=no
@@ -1876,7 +1746,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
   ac_save_CXXFLAGS="$CXXFLAGS"
   CXXFLAGS=
   echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
-echo "configure:1880: checking whether ${CXX-g++} accepts -g" >&5
+echo "configure:1750: 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
 if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1915,7 +1785,7 @@ fi
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1919: checking for a BSD compatible install" >&5
+echo "configure:1789: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1969,7 +1839,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
 # 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:1973: checking for $ac_word" >&5
+echo "configure:1843: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_TAR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_TAR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2003,7 +1873,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
 # 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:2007: checking for $ac_word" >&5
+echo "configure:1877: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_FIND'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_FIND'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2090,7 +1960,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
 # 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:2094: checking for $ac_word" >&5
+echo "configure:1964: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_BISON'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_BISON'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2124,7 +1994,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
 # 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:2128: checking for $ac_word" >&5
+echo "configure:1998: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_FLEX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_FLEX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2158,7 +2028,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
 # 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:2162: checking for $ac_word" >&5
+echo "configure:2032: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MAKE'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_MAKE'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2190,7 +2060,7 @@ test -n "$MAKE" || MAKE="error"
 # Extract the first word of "perl", so it can be a program name with args.
 set dummy perl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
 # Extract the first word of "perl", so it can be a program name with args.
 set dummy perl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2194: checking for $ac_word" >&5
+echo "configure:2064: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2222,7 +2092,7 @@ fi
 # Extract the first word of "python", so it can be a program name with args.
 set dummy python; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
 # Extract the first word of "python", so it can be a program name with args.
 set dummy python; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2226: checking for $ac_word" >&5
+echo "configure:2096: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PYTHON'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_path_PYTHON'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2256,7 +2126,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
 # 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:2260: checking for $ac_word" >&5
+echo "configure:2130: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_POD2HTML'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_POD2HTML'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2290,7 +2160,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
 # 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:2294: checking for $ac_word" >&5
+echo "configure:2164: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_POD2MAN'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_POD2MAN'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2326,7 +2196,7 @@ if test "x$TEXPREFIX" = xauto ; then
     
 
     echo $ac_n "checking TeX/MF root dir directory""... $ac_c" 1>&6
     
 
     echo $ac_n "checking TeX/MF root dir directory""... $ac_c" 1>&6
-echo "configure:2330: checking TeX/MF root dir directory" >&5    
+echo "configure:2200: checking TeX/MF root dir directory" >&5    
 
     find_root_prefix="$prefix"
     
 
     find_root_prefix="$prefix"
     
@@ -2362,16 +2232,37 @@ else
  find_texprefix=$TEXPREFIX
 fi
 
  find_texprefix=$TEXPREFIX
 fi
 
-# if test "x$MFDIR" = xauto; then
-#     AC_MF_SUBDIR(MFDIR)
-# fi
+if test "x$MFDIR" = xauto; then
+    
+    
+    
+    echo $ac_n "checking MF input directory""... $ac_c" 1>&6
+echo "configure:2241: checking MF input directory" >&5    
+    find_dirdir=`(cd $find_texprefix; 
+      $FIND ./ -type d -a -name source -print |sort|head -1|sed 's#^\./##')`
+    
+
+    if test "x$find_dirdir" = x; then
+       find_dirdir="/source";
+       
+    echo "configure: warning: Cannot determine MF input subdirectory. Please set from command-line" 1>&2
+    warn_b=yes
+
+       true
+    fi
+    MFDIR=$find_dirdir
+    echo "$ac_t""$find_texprefix/$find_dirdir" 1>&6
+
+    MFDIR="$TEXPREFIX/$MFDIR"
+
+fi
     
 if test "x$TEXDIR" = xauto ; then
     
     
     
     echo $ac_n "checking TeX input directory""... $ac_c" 1>&6
     
 if test "x$TEXDIR" = xauto ; then
     
     
     
     echo $ac_n "checking TeX input directory""... $ac_c" 1>&6
-echo "configure:2375: checking TeX input directory" >&5    
+echo "configure:2266: checking TeX input directory" >&5    
     find_dirdir=`(cd $find_texprefix; 
       $FIND ./ -type d -a -name tex -print |sort|head -1|sed 's#^\./##')`
     
     find_dirdir=`(cd $find_texprefix; 
       $FIND ./ -type d -a -name tex -print |sort|head -1|sed 's#^\./##')`
     
@@ -2487,7 +2378,7 @@ else
 fi
 
 echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
 fi
 
 echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
-echo "configure:2491: checking how to run the C++ preprocessor" >&5
+echo "configure:2382: checking how to run the C++ preprocessor" >&5
 if test -z "$CXXCPP"; then
 if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 if test -z "$CXXCPP"; then
 if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2500,12 +2391,12 @@ ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $L
 cross_compiling=$ac_cv_prog_cxx_cross
   CXXCPP="${CXX-g++} -E"
   cat > conftest.$ac_ext <<EOF
 cross_compiling=$ac_cv_prog_cxx_cross
   CXXCPP="${CXX-g++} -E"
   cat > conftest.$ac_ext <<EOF
-#line 2504 "configure"
+#line 2395 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2509: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2400: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
@@ -2525,17 +2416,17 @@ echo "$ac_t""$CXXCPP" 1>&6
 
 ac_safe=`echo "FlexLexer.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for FlexLexer.h""... $ac_c" 1>&6
 
 ac_safe=`echo "FlexLexer.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for FlexLexer.h""... $ac_c" 1>&6
-echo "configure:2529: checking for FlexLexer.h" >&5
+echo "configure:2420: checking for FlexLexer.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2534 "configure"
+#line 2425 "configure"
 #include "confdefs.h"
 #include <FlexLexer.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <FlexLexer.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2539: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2430: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2722,14 +2613,13 @@ s%@AUTOMAKE@%$AUTOMAKE%g
 s%@AUTOHEADER@%$AUTOHEADER%g
 s%@MAKEINFO@%$MAKEINFO%g
 s%@SET_MAKE@%$SET_MAKE%g
 s%@AUTOHEADER@%$AUTOHEADER%g
 s%@MAKEINFO@%$MAKEINFO%g
 s%@SET_MAKE@%$SET_MAKE%g
-s%@CC@%$CC%g
-s%@CXX@%$CXX%g
 s%@host@%$host%g
 s%@host_alias@%$host_alias%g
 s%@host_cpu@%$host_cpu%g
 s%@host_vendor@%$host_vendor%g
 s%@host_os@%$host_os%g
 s%@RANLIB@%$RANLIB%g
 s%@host@%$host%g
 s%@host_alias@%$host_alias%g
 s%@host_cpu@%$host_cpu%g
 s%@host_vendor@%$host_vendor%g
 s%@host_os@%$host_os%g
 s%@RANLIB@%$RANLIB%g
+s%@CC@%$CC%g
 s%@LD@%$LD%g
 s%@NM@%$NM%g
 s%@LN_S@%$LN_S%g
 s%@LD@%$LD%g
 s%@NM@%$NM%g
 s%@LN_S@%$LN_S%g
@@ -2739,6 +2629,7 @@ s%@LEX@%$LEX%g
 s%@LEXLIB@%$LEXLIB%g
 s%@CPP@%$CPP%g
 s%@LEX_OUTPUT_ROOT@%$LEX_OUTPUT_ROOT%g
 s%@LEXLIB@%$LEXLIB%g
 s%@CPP@%$CPP%g
 s%@LEX_OUTPUT_ROOT@%$LEX_OUTPUT_ROOT%g
+s%@CXX@%$CXX%g
 s%@TAR@%$TAR%g
 s%@FIND@%$FIND%g
 s%@ICFLAGS@%$ICFLAGS%g
 s%@TAR@%$TAR%g
 s%@FIND@%$FIND%g
 s%@ICFLAGS@%$ICFLAGS%g
index 56567a0a0d4212604f023f01586422e8411cbcae..31f666073c1d77e4ffbab79db1a4a443011f6d2d 100644 (file)
@@ -11,8 +11,8 @@ if test x$MY_PATCH_LEVEL != x; then
 fi
 AM_INIT_AUTOMAKE(lilypond, $FULL_VERSION)
 
 fi
 AM_INIT_AUTOMAKE(lilypond, $FULL_VERSION)
 
-AC_PROG_CC
-AC_PROG_CXX
+#AC_PROG_CC
+#AC_PROG_CXX
 
 # turn off shared libraries by default (may be enabled using --enable-shared)
 AM_DISABLE_SHARED
 
 # turn off shared libraries by default (may be enabled using --enable-shared)
 AM_DISABLE_SHARED
@@ -179,9 +179,9 @@ else
  find_texprefix=$TEXPREFIX
 fi
 
  find_texprefix=$TEXPREFIX
 fi
 
-if test "x$MFDIR" = xauto; then
-    AC_MF_SUBDIR(MFDIR)
-fi
+if test "x$MFDIR" = xauto; then
+    AC_MF_SUBDIR(MFDIR)
+fi
     
 if test "x$TEXDIR" = xauto ; then
     AC_TEX_SUBDIR(TEXDIR)
     
 if test "x$TEXDIR" = xauto ; then
     AC_TEX_SUBDIR(TEXDIR)
index 0268436a1cc49c0b899abcae0b2b888a520ecb59..12b5972e215f8d3f1fb849a9c2bfdf7b874c82c2 100644 (file)
@@ -7,4 +7,4 @@ EXTRA_DIST = Makefile.am.wild README.Debian TODO changelog control copyright \
        postinst postinst.old.sh postrm preinst rules watch
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
        postinst postinst.old.sh postrm preinst rules watch
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
\ No newline at end of file
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
\ No newline at end of file
index b466cc2be979ddf4dceb1e6dddf976fc04daf399..8eefa73d57283b0ec03db9b5fdbe44ef853fd012 100644 (file)
@@ -191,7 +191,7 @@ mostlyclean distclean maintainer-clean
 
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index d62df54f9df2c0907b4aed2f9f83ac444ce6d103..5eeaa35c32e4e513adad5b3cba2cc21a2ad1bed0 100644 (file)
@@ -12,6 +12,9 @@
 
 SUBDIRS = include test 
 
 
 SUBDIRS = include test 
 
+# the wild-perl script needs this.
+real_topdir = $(top_srcdir)/..
+
 lib_LTLIBRARIES = libflower.la
 
 README_FILES = ONEWS NEWS README TODO VERSION
 lib_LTLIBRARIES = libflower.la
 
 README_FILES = ONEWS NEWS README TODO VERSION
@@ -23,5 +26,7 @@ libflower_la_LDFLAGS = -version-info @CURRENT@:@REVISION@:@AGE@
 
 INCLUDES = -I$(srcdir)/include
 
 
 INCLUDES = -I$(srcdir)/include
 
+distclean-local:
+       -rm -rf .deps
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
\ No newline at end of file
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
\ No newline at end of file
index 87639fc1d0e9db232d0c6581774050122b478fe8..6ef3498d049fc9f5c0c7713a267c5797ef7eb700 100644 (file)
@@ -9,6 +9,9 @@
 
 SUBDIRS = include test 
 
 
 SUBDIRS = include test 
 
+# the wild-perl script needs this.
+real_topdir = $(top_srcdir)/..
+
 lib_LTLIBRARIES = libflower.la
 
 README_FILES = ONEWS NEWS README TODO VERSION
 lib_LTLIBRARIES = libflower.la
 
 README_FILES = ONEWS NEWS README TODO VERSION
@@ -20,3 +23,5 @@ libflower_la_LDFLAGS = -version-info @CURRENT@:@REVISION@:@AGE@
 
 INCLUDES = -I$(srcdir)/include
 
 
 INCLUDES = -I$(srcdir)/include
 
+distclean-local:
+       -rm -rf .deps
index 27bd4a909bb0351f1394ceb95eb5a1da512a2b95..0a620aad4db32e54a3f81c27174e38552ae9ae07 100644 (file)
@@ -89,6 +89,9 @@ VERSION = @VERSION@
 
 SUBDIRS = include test 
 
 
 SUBDIRS = include test 
 
+# the wild-perl script needs this.
+real_topdir = $(top_srcdir)/..
+
 lib_LTLIBRARIES = libflower.la
 
 README_FILES = ONEWS NEWS README TODO VERSION
 lib_LTLIBRARIES = libflower.la
 
 README_FILES = ONEWS NEWS README TODO VERSION
@@ -532,7 +535,7 @@ mostlyclean:  mostlyclean-recursive mostlyclean-am
 
 clean:  clean-recursive clean-am
 
 
 clean:  clean-recursive clean-am
 
-distclean:  distclean-recursive distclean-am
+distclean:  distclean-recursive distclean-am distclean-local
        -rm -f config.status
        -rm -f libtool
 
        -rm -f config.status
        -rm -f libtool
 
@@ -560,8 +563,10 @@ mostlyclean-generic distclean-generic clean-generic \
 maintainer-clean-generic clean mostlyclean distclean maintainer-clean
 
 
 maintainer-clean-generic clean mostlyclean distclean maintainer-clean
 
 
+distclean-local:
+       -rm -rf .deps
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index 13485d6a142d126689ecb4d6f8d95dffde54f1f9..351d36c051023ee076c0e2a425f8bd36facd8808 100644 (file)
@@ -1,6 +1,7 @@
 
 pl 39
        - fixes to Array
 
 pl 39
        - fixes to Array
+       - fixes to Interval
 
 
 pl 38
 
 
 pl 38
index d2435e29708d72d60f0f8a17fd1b594ea8745aff..ff98ffea7adc3601719913013736ef3a97021bc1 100644 (file)
@@ -1,6 +1,7 @@
 MAJOR_VERSION=1
 MINOR_VERSION=1
 MAJOR_VERSION=1
 MINOR_VERSION=1
-PATCH_LEVEL=38
+PATCH_LEVEL=39
 # use to send patches, always empty for released version:
 # use to send patches, always empty for released version:
-MY_PATCH_LEVEL=# include separator: "-1" or ".a"
+# include separator: "-1" or ".a"
 #
 #
+MY_PATCH_LEVEL=
index e9c9cd70dd727e9ae065c17a154648a1bc0f8da0..c0082c98fca76e98332e2554de1dc87bec4361a0 100755 (executable)
@@ -1488,8 +1488,41 @@ AGE=$MAJOR_VERSION
 
 
 
 
 
 
+# Extract the first word of "perl", so it can be a program name with args.
+set dummy perl; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1495: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  case "$PERL" in
+  /*)
+  ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
+  ;;
+  *)
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_path_PERL="$ac_dir/$ac_word"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_path_PERL" && ac_cv_path_PERL="error"
+  ;;
+esac
+fi
+PERL="$ac_cv_path_PERL"
+if test -n "$PERL"; then
+  echo "$ac_t""$PERL" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+
 echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
 echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
-echo "configure:1493: checking for 8-bit clean memcmp" >&5
+echo "configure:1526: 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
 if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1497,7 +1530,7 @@ else
   ac_cv_func_memcmp_clean=no
 else
   cat > conftest.$ac_ext <<EOF
   ac_cv_func_memcmp_clean=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 1501 "configure"
+#line 1534 "configure"
 #include "confdefs.h"
 #ifdef __cplusplus
 extern "C" void exit(int);
 #include "confdefs.h"
 #ifdef __cplusplus
 extern "C" void exit(int);
@@ -1510,7 +1543,7 @@ main()
 }
 
 EOF
 }
 
 EOF
-if { (eval echo configure:1514: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1547: \"$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
 then
   ac_cv_func_memcmp_clean=yes
 else
@@ -1528,12 +1561,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
 test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.o"
 
 echo $ac_n "checking for vprintf""... $ac_c" 1>&6
-echo "configure:1532: checking for vprintf" >&5
+echo "configure:1565: 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
 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 1537 "configure"
+#line 1570 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char vprintf(); below.  */
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char vprintf(); below.  */
@@ -1559,7 +1592,7 @@ vprintf();
 
 ; return 0; }
 EOF
 
 ; return 0; }
 EOF
-if { (eval echo configure:1563: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1596: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_vprintf=yes"
 else
   rm -rf conftest*
   eval "ac_cv_func_vprintf=yes"
 else
@@ -1583,12 +1616,12 @@ fi
 
 if test "$ac_cv_func_vprintf" != yes; then
 echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
 
 if test "$ac_cv_func_vprintf" != yes; then
 echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
-echo "configure:1587: checking for _doprnt" >&5
+echo "configure:1620: 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
 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 1592 "configure"
+#line 1625 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char _doprnt(); below.  */
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char _doprnt(); below.  */
@@ -1614,7 +1647,7 @@ _doprnt();
 
 ; return 0; }
 EOF
 
 ; return 0; }
 EOF
-if { (eval echo configure:1618: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1651: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func__doprnt=yes"
 else
   rm -rf conftest*
   eval "ac_cv_func__doprnt=yes"
 else
@@ -1641,12 +1674,12 @@ fi
 for ac_func in memmem snprintf 
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
 for ac_func in memmem snprintf 
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1645: checking for $ac_func" >&5
+echo "configure:1678: 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
 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 1650 "configure"
+#line 1683 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -1672,7 +1705,7 @@ $ac_func();
 
 ; return 0; }
 EOF
 
 ; return 0; }
 EOF
-if { (eval echo configure:1676: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1709: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
index 25bb9392bccf48f024e58a6283fd6d8ba559429c..aa9aa5f516b117db10cfe136e506d0cecf8848f4 100644 (file)
@@ -88,6 +88,8 @@ AC_SUBST(REVISION)
 AC_SUBST(AGE)
 AC_SUBST(PERL)
 
 AC_SUBST(AGE)
 AC_SUBST(PERL)
 
+AC_PATH_PROG(PERL, perl, error)
+
 AC_FUNC_MEMCMP
 AC_FUNC_VPRINTF
 AC_CHECK_FUNCS(memmem snprintf )
 AC_FUNC_MEMCMP
 AC_FUNC_VPRINTF
 AC_CHECK_FUNCS(memmem snprintf )
index fbbb1947128472ab38f6327f84a893c611d5bf18..53217650967f2e311583aee53f90d8686b80a43e 100644 (file)
@@ -3,9 +3,12 @@
 # Generated automatically by wild-perl 0.1
 # flower/lib/include/Makefile.am.wild
 
 # Generated automatically by wild-perl 0.1
 # flower/lib/include/Makefile.am.wild
 
+# the wild-perl script needs this.
+real_topdir = $(top_srcdir)/..
+
 noinst_HEADERS = acursor.hh arithmetic-operator.hh assoc-iter.hh assoc.hh choleski.hh compare.hh cpu-timer.hh cursor.hh data-file.hh diagonal-storage.hh dictionary-iter.hh dictionary.hh directed-graph.hh dstream.hh flower-debug.hh fproto.hh full-storage.hh handle.hh international.hh interval.hh iterate.hh lgetopt.hh libc-extension.hh link.hh list.hh matrix-storage.hh matrix.hh nscalar.hh parray.hh path.hh pcursor.hh plist.hh pointer.hh pqueue.hh priorities.hh rational.hh real.hh scalar.hh string-convert.hh string-data.hh string-handle.hh string.hh text-db.hh text-stream.hh timer.hh unionfind.hh varray.hh vector.hh virtual-methods.hh cursor.icc full-storage.icc link.icc list.icc plist.icc string-data.icc string-handle.icc string.icc cursor.tcc interval.tcc list.tcc pcursor.tcc plist.tcc pointer.tcc
 
 EXTRA_DIST = Makefile.am.wild
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 noinst_HEADERS = acursor.hh arithmetic-operator.hh assoc-iter.hh assoc.hh choleski.hh compare.hh cpu-timer.hh cursor.hh data-file.hh diagonal-storage.hh dictionary-iter.hh dictionary.hh directed-graph.hh dstream.hh flower-debug.hh fproto.hh full-storage.hh handle.hh international.hh interval.hh iterate.hh lgetopt.hh libc-extension.hh link.hh list.hh matrix-storage.hh matrix.hh nscalar.hh parray.hh path.hh pcursor.hh plist.hh pointer.hh pqueue.hh priorities.hh rational.hh real.hh scalar.hh string-convert.hh string-data.hh string-handle.hh string.hh text-db.hh text-stream.hh timer.hh unionfind.hh varray.hh vector.hh virtual-methods.hh cursor.icc full-storage.icc link.icc list.icc plist.icc string-data.icc string-handle.icc string.icc cursor.tcc interval.tcc list.tcc pcursor.tcc plist.tcc pointer.tcc
 
 EXTRA_DIST = Makefile.am.wild
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
\ No newline at end of file
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
\ No newline at end of file
index ac36bc76efcf0f0b1d9b762952350808789d966c..5eb223087407d2f7371cbcdff1add36e3c9156a3 100644 (file)
@@ -1,5 +1,8 @@
 # flower/lib/include/Makefile.am.wild
 
 # flower/lib/include/Makefile.am.wild
 
+# the wild-perl script needs this.
+real_topdir = $(top_srcdir)/..
+
 noinst_HEADERS = $(wildcard *.hh *.icc *.tcc)
 
 EXTRA_DIST = Makefile.am.wild
 noinst_HEADERS = $(wildcard *.hh *.icc *.tcc)
 
 EXTRA_DIST = Makefile.am.wild
index 2dfc1914bea1525ab65cd10c71b701957a05e2cf..7de221c8e110e0af956e6ebffb3e245256e53a8c 100644 (file)
@@ -15,6 +15,8 @@
 # Generated automatically by wild-perl 0.1
 # flower/lib/include/Makefile.am.wild
 
 # Generated automatically by wild-perl 0.1
 # flower/lib/include/Makefile.am.wild
 
+# the wild-perl script needs this.
+
 
 SHELL = /bin/sh
 
 
 SHELL = /bin/sh
 
@@ -80,6 +82,8 @@ RANLIB = @RANLIB@
 REVISION = @REVISION@
 VERSION = @VERSION@
 
 REVISION = @REVISION@
 VERSION = @VERSION@
 
+real_topdir = $(top_srcdir)/..
+
 noinst_HEADERS = acursor.hh arithmetic-operator.hh assoc-iter.hh assoc.hh choleski.hh compare.hh cpu-timer.hh cursor.hh data-file.hh diagonal-storage.hh dictionary-iter.hh dictionary.hh directed-graph.hh dstream.hh flower-debug.hh fproto.hh full-storage.hh handle.hh international.hh interval.hh iterate.hh lgetopt.hh libc-extension.hh link.hh list.hh matrix-storage.hh matrix.hh nscalar.hh parray.hh path.hh pcursor.hh plist.hh pointer.hh pqueue.hh priorities.hh rational.hh real.hh scalar.hh string-convert.hh string-data.hh string-handle.hh string.hh text-db.hh text-stream.hh timer.hh unionfind.hh varray.hh vector.hh virtual-methods.hh cursor.icc full-storage.icc link.icc list.icc plist.icc string-data.icc string-handle.icc string.icc cursor.tcc interval.tcc list.tcc pcursor.tcc plist.tcc pointer.tcc
 
 EXTRA_DIST = Makefile.am.wild
 noinst_HEADERS = acursor.hh arithmetic-operator.hh assoc-iter.hh assoc.hh choleski.hh compare.hh cpu-timer.hh cursor.hh data-file.hh diagonal-storage.hh dictionary-iter.hh dictionary.hh directed-graph.hh dstream.hh flower-debug.hh fproto.hh full-storage.hh handle.hh international.hh interval.hh iterate.hh lgetopt.hh libc-extension.hh link.hh list.hh matrix-storage.hh matrix.hh nscalar.hh parray.hh path.hh pcursor.hh plist.hh pointer.hh pqueue.hh priorities.hh rational.hh real.hh scalar.hh string-convert.hh string-data.hh string-handle.hh string.hh text-db.hh text-stream.hh timer.hh unionfind.hh varray.hh vector.hh virtual-methods.hh cursor.icc full-storage.icc link.icc list.icc plist.icc string-data.icc string-handle.icc string.icc cursor.tcc interval.tcc list.tcc pcursor.tcc plist.tcc pointer.tcc
 
 EXTRA_DIST = Makefile.am.wild
@@ -200,7 +204,7 @@ mostlyclean distclean maintainer-clean
 
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index b0207e0556f61d3997e76d8c79e5b386cbb757e6..7a868a31ab9b92b8eac30849c01eae4c092613ac 100644 (file)
@@ -86,6 +86,12 @@ struct Interval_t {
   String str() const;    
   void print () const;
   bool elt_b (T r);
   String str() const;    
   void print () const;
   bool elt_b (T r);
+  void negate () {
+    T r = -left;
+    T l = -right;
+    left = l;
+    right =r;
+  }
 };
 
 
 };
 
 
@@ -121,6 +127,23 @@ Interval_t<T> operator +(T a,Interval_t<T> i)
   return i;
 }
 
   return i;
 }
 
+template<class T>
+inline
+Interval_t<T> operator - (Interval_t<T> i, T a)
+{
+  i += -a;
+  return i;
+}
+
+template<class T>
+inline
+Interval_t<T> operator - (T a,Interval_t<T> i)
+{
+  i.negate ();
+  i += a;
+  return i;
+}
+
 template<class T>
 inline
 Interval_t<T> operator +(Interval_t<T> i,T a){
 template<class T>
 inline
 Interval_t<T> operator +(Interval_t<T> i,T a){
index 1aa34af3872d2ae126d3e63a4ade362d3a8f593c..c9521304263a309ddf4df13da6d1932498c843f0 100644 (file)
@@ -11,6 +11,9 @@
 #      Han-Wen Nienhuys <hanwen@stack.nl>
 #
 
 #      Han-Wen Nienhuys <hanwen@stack.nl>
 #
 
+# the wild-perl script needs this.
+real_topdir = $(top_srcdir)/..
+
 # bin_PROGRAMS = test
 
 # TEST = test
 # bin_PROGRAMS = test
 
 # TEST = test
@@ -27,4 +30,4 @@ noinst_HEADERS = flower-test.hh
 INCLUDES = -I../include
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 INCLUDES = -I../include
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
\ No newline at end of file
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
\ No newline at end of file
index 2346878f8020080db84bcf78c5938d73753ac18b..02f871025b7c995393a154fe14cdc2fad542de7f 100644 (file)
@@ -8,6 +8,9 @@
 #      Han-Wen Nienhuys <hanwen@stack.nl>
 #
 
 #      Han-Wen Nienhuys <hanwen@stack.nl>
 #
 
+# the wild-perl script needs this.
+real_topdir = $(top_srcdir)/..
+
 # bin_PROGRAMS = test
 
 # TEST = test
 # bin_PROGRAMS = test
 
 # TEST = test
index 9aa4333249d01e79596af30d928b600f9bc3c521..ef867cd485ba0c3a534a4cffd446952430550ba3 100644 (file)
 #      Han-Wen Nienhuys <hanwen@stack.nl>
 #
 
 #      Han-Wen Nienhuys <hanwen@stack.nl>
 #
 
-# bin_PROGRAMS = test
-
-# TEST = test
-
-# can't link to libflower: has not been created yet...
-# test_SOURCES = main.cc mat-test.cc pqtest.cc rattest.cc stringtest.cc
+# the wild-perl script needs this.
 
 
 SHELL = /bin/sh
 
 
 SHELL = /bin/sh
@@ -95,6 +90,15 @@ RANLIB = @RANLIB@
 REVISION = @REVISION@
 VERSION = @VERSION@
 
 REVISION = @REVISION@
 VERSION = @VERSION@
 
+real_topdir = $(top_srcdir)/..
+
+# bin_PROGRAMS = test
+
+# TEST = test
+
+# can't link to libflower: has not been created yet...
+# test_SOURCES = main.cc mat-test.cc pqtest.cc rattest.cc stringtest.cc
+
 EXTRA_SOURCES = main.cc mat-test.cc pqtest.cc rattest.cc stringtest.cc
 
 EXTRA_DIST = result Makefile.am.wild $(EXTRA_SOURCES)
 EXTRA_SOURCES = main.cc mat-test.cc pqtest.cc rattest.cc stringtest.cc
 
 EXTRA_DIST = result Makefile.am.wild $(EXTRA_SOURCES)
@@ -219,7 +223,7 @@ mostlyclean distclean maintainer-clean
 
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index 31291ae66c80be27b84177322986e97b914561e4..21e4f1a98760d0125971be076fd4f65855080cdc 100644 (file)
@@ -3,23 +3,23 @@
 # Generated automatically by wild-perl 0.1
 # init/Makefile.am.wild
 
 # Generated automatically by wild-perl 0.1
 # init/Makefile.am.wild
 
-INIFILES = deutsch.ly dynamic.ly engraver.ly italiano.ly lily-init.ly midi.ly nederlands.ly norsk.ly paper11.ly paper13.ly paper16.ly paper20.ly paper26.ly performer.ly property.ly script.ly simple-init.ly svenska.ly table11.ly table13.ly table16.ly table20.ly table26.ly
+INIFILES = deutsch.ly dynamic.ly engraver.ly feta11.ly feta13.ly feta16.ly feta19.ly feta20.ly feta23.ly feta26.ly italiano.ly lily-init.ly midi.ly nederlands.ly norsk.ly paper11.ly paper13.ly paper16.ly paper20.ly paper26.ly performer.ly property.ly script.ly simple-init.ly svenska.ly table11.ly table13.ly table16.ly table20.ly table26.ly
 EXTRA_DIST = Makefile.am.wild $(INIFILES)
 
 EXTRA_DIST = Makefile.am.wild $(INIFILES)
 
-CLEANFILES = 
+CLEANFILES = feta11.ly feta13.ly feta16.ly feta19.ly feta20.ly feta23.ly feta26.ly
 
 FONT_FILES = ../mf/feta-beams16.mf ../mf/feta-beams20.mf ../mf/feta-beams26.mf ../mf/feta-black16.mf ../mf/feta-braces16.mf ../mf/feta-braces20.mf ../mf/feta-din10.mf ../mf/feta-nummer10.mf ../mf/feta-nummer12.mf ../mf/feta-nummer3.mf ../mf/feta-nummer4.mf ../mf/feta-nummer5.mf ../mf/feta-nummer6.mf ../mf/feta-nummer7.mf ../mf/feta-nummer8.mf ../mf/feta-test16.mf ../mf/feta-test20.mf ../mf/feta11.mf ../mf/feta13.mf ../mf/feta16.mf ../mf/feta19.mf ../mf/feta20.mf ../mf/feta23.mf ../mf/feta26.mf
 TABLES = $(patsubst ../mf/%.mf,%.ly,$(FONT_FILES))
 
 
 FONT_FILES = ../mf/feta-beams16.mf ../mf/feta-beams20.mf ../mf/feta-beams26.mf ../mf/feta-black16.mf ../mf/feta-braces16.mf ../mf/feta-braces20.mf ../mf/feta-din10.mf ../mf/feta-nummer10.mf ../mf/feta-nummer12.mf ../mf/feta-nummer3.mf ../mf/feta-nummer4.mf ../mf/feta-nummer5.mf ../mf/feta-nummer6.mf ../mf/feta-nummer7.mf ../mf/feta-nummer8.mf ../mf/feta-test16.mf ../mf/feta-test20.mf ../mf/feta11.mf ../mf/feta13.mf ../mf/feta16.mf ../mf/feta19.mf ../mf/feta20.mf ../mf/feta23.mf ../mf/feta26.mf
 TABLES = $(patsubst ../mf/%.mf,%.ly,$(FONT_FILES))
 
-# localclean:
+# clean-local:
 #      rm -f $(TABLES)
 
 #      rm -f $(TABLES)
 
-install-data:
+install-data-local:
        $(INSTALL) -d $(datadir)/lilypond/init
        $(INSTALL) -m 644 $(INIFILES) $(datadir)/lilypond/init
 
        $(INSTALL) -d $(datadir)/lilypond/init
        $(INSTALL) -m 644 $(INIFILES) $(datadir)/lilypond/init
 
-uninstall-data:
+uninstall-local:
        for i in $(INIFILES) ; do rm -f $(datadir)/lilypond/init/$$i; done
        -rmdir $(datadir)/lilypond/init $(datadir)/lilypond/
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
        for i in $(INIFILES) ; do rm -f $(datadir)/lilypond/init/$$i; done
        -rmdir $(datadir)/lilypond/init $(datadir)/lilypond/
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
\ No newline at end of file
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
\ No newline at end of file
index 8589be49c80aedf43fdd67f455ad96de209de722..24936bd1b2c0d8b5a9dd6a857a84ed39427f3a74 100644 (file)
@@ -8,13 +8,13 @@ CLEANFILES = $(wildcard feta*.ly)
 FONT_FILES = $(wildcard ../mf/*[0-9].mf)
 TABLES = $(patsubst ../mf/%.mf,%.ly,$(FONT_FILES))
 
 FONT_FILES = $(wildcard ../mf/*[0-9].mf)
 TABLES = $(patsubst ../mf/%.mf,%.ly,$(FONT_FILES))
 
-# localclean:
+# clean-local:
 #      rm -f $(TABLES)
 
 #      rm -f $(TABLES)
 
-install-data:
+install-data-local:
        $(INSTALL) -d $(datadir)/lilypond/init
        $(INSTALL) -m 644 $(INIFILES) $(datadir)/lilypond/init
 
        $(INSTALL) -d $(datadir)/lilypond/init
        $(INSTALL) -m 644 $(INIFILES) $(datadir)/lilypond/init
 
-uninstall-data:
+uninstall-local:
        for i in $(INIFILES) ; do rm -f $(datadir)/lilypond/init/$$i; done
        -rmdir $(datadir)/lilypond/init $(datadir)/lilypond/
        for i in $(INIFILES) ; do rm -f $(datadir)/lilypond/init/$$i; done
        -rmdir $(datadir)/lilypond/init $(datadir)/lilypond/
index b8347b24bc755c4b1f8225fcaeaf7dc9f55e9f2e..29093833f36c643c3cdecf5ff24fe4fee527c565 100644 (file)
@@ -99,10 +99,10 @@ YACC = @YACC@
 ZIP = @ZIP@
 absolute_builddir = @absolute_builddir@
 
 ZIP = @ZIP@
 absolute_builddir = @absolute_builddir@
 
-INIFILES = deutsch.ly dynamic.ly engraver.ly italiano.ly lily-init.ly midi.ly nederlands.ly norsk.ly paper11.ly paper13.ly paper16.ly paper20.ly paper26.ly performer.ly property.ly script.ly simple-init.ly svenska.ly table11.ly table13.ly table16.ly table20.ly table26.ly
+INIFILES = deutsch.ly dynamic.ly engraver.ly feta11.ly feta13.ly feta16.ly feta19.ly feta20.ly feta23.ly feta26.ly italiano.ly lily-init.ly midi.ly nederlands.ly norsk.ly paper11.ly paper13.ly paper16.ly paper20.ly paper26.ly performer.ly property.ly script.ly simple-init.ly svenska.ly table11.ly table13.ly table16.ly table20.ly table26.ly
 EXTRA_DIST = Makefile.am.wild $(INIFILES)
 
 EXTRA_DIST = Makefile.am.wild $(INIFILES)
 
-CLEANFILES = 
+CLEANFILES = feta11.ly feta13.ly feta16.ly feta19.ly feta20.ly feta23.ly feta26.ly
 
 FONT_FILES = ../mf/feta-beams16.mf ../mf/feta-beams20.mf ../mf/feta-beams26.mf ../mf/feta-black16.mf ../mf/feta-braces16.mf ../mf/feta-braces20.mf ../mf/feta-din10.mf ../mf/feta-nummer10.mf ../mf/feta-nummer12.mf ../mf/feta-nummer3.mf ../mf/feta-nummer4.mf ../mf/feta-nummer5.mf ../mf/feta-nummer6.mf ../mf/feta-nummer7.mf ../mf/feta-nummer8.mf ../mf/feta-test16.mf ../mf/feta-test20.mf ../mf/feta11.mf ../mf/feta13.mf ../mf/feta16.mf ../mf/feta19.mf ../mf/feta20.mf ../mf/feta23.mf ../mf/feta26.mf
 TABLES = $(patsubst ../mf/%.mf,%.ly,$(FONT_FILES))
 
 FONT_FILES = ../mf/feta-beams16.mf ../mf/feta-beams20.mf ../mf/feta-beams26.mf ../mf/feta-black16.mf ../mf/feta-braces16.mf ../mf/feta-braces20.mf ../mf/feta-din10.mf ../mf/feta-nummer10.mf ../mf/feta-nummer12.mf ../mf/feta-nummer3.mf ../mf/feta-nummer4.mf ../mf/feta-nummer5.mf ../mf/feta-nummer6.mf ../mf/feta-nummer7.mf ../mf/feta-nummer8.mf ../mf/feta-test16.mf ../mf/feta-test20.mf ../mf/feta11.mf ../mf/feta13.mf ../mf/feta16.mf ../mf/feta19.mf ../mf/feta20.mf ../mf/feta23.mf ../mf/feta26.mf
 TABLES = $(patsubst ../mf/%.mf,%.ly,$(FONT_FILES))
@@ -148,13 +148,13 @@ installcheck:
 install-exec: 
        @$(NORMAL_INSTALL)
 
 install-exec: 
        @$(NORMAL_INSTALL)
 
-install-data: 
+install-data: install-data-local
        @$(NORMAL_INSTALL)
 
 install: install-exec install-data all
        @:
 
        @$(NORMAL_INSTALL)
 
 install: install-exec install-data all
        @:
 
-uninstall: 
+uninstall: uninstall-local
 
 all: Makefile
 
 
 all: Makefile
 
@@ -195,18 +195,18 @@ distclean-generic clean-generic maintainer-clean-generic clean \
 mostlyclean distclean maintainer-clean
 
 
 mostlyclean distclean maintainer-clean
 
 
-# localclean:
+# clean-local:
 #      rm -f $(TABLES)
 
 #      rm -f $(TABLES)
 
-install-data:
+install-data-local:
        $(INSTALL) -d $(datadir)/lilypond/init
        $(INSTALL) -m 644 $(INIFILES) $(datadir)/lilypond/init
 
        $(INSTALL) -d $(datadir)/lilypond/init
        $(INSTALL) -m 644 $(INIFILES) $(datadir)/lilypond/init
 
-uninstall-data:
+uninstall-local:
        for i in $(INIFILES) ; do rm -f $(datadir)/lilypond/init/$$i; done
        -rmdir $(datadir)/lilypond/init $(datadir)/lilypond/
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
        for i in $(INIFILES) ; do rm -f $(datadir)/lilypond/init/$$i; done
        -rmdir $(datadir)/lilypond/init $(datadir)/lilypond/
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index 6ab87d1c812a756c3c982a1eed4022b253ceec80..f31288c87dd875c6b08aac95f0bc4b438d1d7281 100644 (file)
@@ -14,7 +14,9 @@ Staff = \translator {
          \consists "Staff_sym_engraver";
          \consists "Collision_engraver";
          \consists "Rest_collision_engraver";
          \consists "Staff_sym_engraver";
          \consists "Collision_engraver";
          \consists "Rest_collision_engraver";
+       \consists "Separating_line_group_engraver";
          \consists "Line_group_engraver";
          \consists "Line_group_engraver";
+         
          \accepts "Voice";
 }
 
          \accepts "Voice";
 }
 
@@ -78,6 +80,7 @@ Lyric_voice =
 \translator{
        \type "Engraver_group_engraver";
 
 \translator{
        \type "Engraver_group_engraver";
 
+       \consists "Separating_line_group_engraver";
        \consists "Lyric_engraver";
        \consists "Line_group_engraver";
        \consists "Beam_req_swallow_translator";
        \consists "Lyric_engraver";
        \consists "Line_group_engraver";
        \consists "Beam_req_swallow_translator";
diff --git a/init/feta11.ly b/init/feta11.ly
new file mode 100644 (file)
index 0000000..0e45818
--- /dev/null
@@ -0,0 +1,88 @@
+% Creator: mf-to-table.py version 0.5
+% Automatically generated on
+% Do not edit
+% input from feta11.log
+% name=\symboltables {
+    "rests"     = \table {
+        "0"    "\\wholerest"   0.00\pt 4.12\pt -1.72\pt        0.00\pt 
+        "1"    "\\halfrest"    0.00\pt 4.12\pt 0.00\pt 1.72\pt 
+        "0o"   "\\outsidewholerest"    -1.72\pt        5.84\pt -1.72\pt        0.28\pt 
+        "1o"   "\\outsidehalfrest"     -1.72\pt        5.84\pt -0.28\pt        1.72\pt 
+        "2"    "\\quartrest"   0.00\pt 2.97\pt 2.06\pt 9.90\pt 
+        "3"    "\\eighthrest"  0.00\pt 3.67\pt 2.75\pt 7.81\pt 
+        "4"    "\\sixteenthrest"       0.00\pt 4.27\pt 0.00\pt 7.81\pt 
+        "5"    "\\thirtysecondrest"    0.00\pt 4.81\pt 0.00\pt 10.56\pt        
+        "6"    "\\sixtyfourthrest"     0.00\pt 5.16\pt 0.00\pt 13.31\pt        
+        "7"    "\\hundredtwentyeighthrest"     0.00\pt 5.75\pt 0.00\pt 16.06\pt        
+        }
+    "accidentals"       = \table {
+        "1"    "\\sharp"       0.00\pt 3.03\pt -4.12\pt        4.12\pt 
+        "0"    "\\natural"     0.00\pt 1.83\pt -4.12\pt        4.12\pt 
+        "-1"   "\\flat"        -0.33\pt        2.20\pt -1.38\pt        5.50\pt 
+        "-2"   "\\flatflat"    -0.33\pt        3.99\pt -1.38\pt        5.50\pt 
+        "2"    "\\sharpsharp"  0.00\pt 2.75\pt -1.38\pt        1.38\pt 
+        }
+    "dots"      = \table {
+        "dot"  "\\dot" 0.00\pt 1.24\pt -0.62\pt        0.62\pt 
+        "repeatcolon"  "\\repeatcolon" 0.00\pt 1.24\pt -1.38\pt        1.38\pt 
+        }
+    "balls"     = \table {
+        "-1"   "\\brevisball"  0.00\pt 5.50\pt -1.51\pt        1.51\pt 
+        "-1l"  "\\brevisledger"        -1.38\pt        6.88\pt -0.28\pt        0.28\pt 
+        "-2"   "\\longaball"   0.00\pt 5.50\pt -1.51\pt        1.51\pt 
+        "-2l"  "\\longaledger" -1.38\pt        6.88\pt -0.28\pt        0.28\pt 
+        "0"    "\\wholeball"   0.00\pt 5.45\pt -1.51\pt        1.51\pt 
+        "0l"   "\\wholeledger" -1.36\pt        6.81\pt -0.28\pt        0.28\pt 
+        "1"    "\\halfball"    0.00\pt 3.79\pt -1.51\pt        1.51\pt 
+        "1l"   "\\halfledger"  -0.95\pt        4.74\pt -0.28\pt        0.28\pt 
+        "2"    "\\quartball"   0.00\pt 3.63\pt -1.51\pt        1.51\pt 
+        "2l"   "\\quartledger" -0.91\pt        4.54\pt -0.28\pt        0.28\pt 
+        }
+    "scripts"   = \table {
+        "ufermata"     "\\ufermata"    -3.64\pt        3.64\pt -0.21\pt        3.99\pt 
+        "dfermata"     "\\dfermata"    -3.64\pt        3.64\pt -3.99\pt        0.21\pt 
+        "sforzato"     "\\sforzatoaccent"      -2.47\pt        2.47\pt -1.38\pt        1.38\pt 
+        "staccato"     "\\staccato"    -0.41\pt        0.41\pt -0.41\pt        0.41\pt 
+        "ustaccatissimo"       "\\ustaccatissimo"      -0.55\pt        0.55\pt -0.20\pt        2.75\pt 
+        "dstaccatissimo"       "\\dstaccatissimo"      -0.55\pt        0.55\pt -2.75\pt        0.20\pt 
+        "tenuto"       "\\tenuto"      -2.47\pt        2.47\pt -0.17\pt        0.17\pt 
+        "umarcato"     "\\umarcato"    -1.38\pt        1.38\pt 0.00\pt 3.03\pt 
+        "dmarcato"     "\\dmarcato"    -1.38\pt        1.38\pt -3.03\pt        0.00\pt 
+        "open" "\\ouvert"      -1.10\pt        1.10\pt -1.38\pt        1.38\pt 
+        "stopped"      "\\plusstop"    -1.51\pt        1.51\pt -1.51\pt        1.51\pt 
+        "upbow"        "\\upbow"       -1.79\pt        1.79\pt 0.00\pt 5.72\pt 
+        "downbow"      "\\downbow"     -2.06\pt        2.06\pt 0.00\pt 3.67\pt 
+        "turn" "\\turn"        -3.01\pt        3.01\pt -1.46\pt        1.46\pt 
+        "trill"        "\\trill"       -2.75\pt        2.75\pt 0.00\pt 6.19\pt 
+        "upedalheel"   "\\upedalheel"  -1.38\pt        1.38\pt -1.38\pt        1.83\pt 
+        "dpedalheel"   "\\dpedalheel"  -1.38\pt        1.38\pt -1.83\pt        1.38\pt 
+        "upedaltoe"    "\\upedaltoe"   -1.38\pt        1.38\pt 0.00\pt 4.12\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -1.38\pt        1.38\pt -4.12\pt        0.00\pt 
+        "flageolet"    "\\flageolet"   -1.47\pt        1.47\pt -1.47\pt        1.47\pt 
+        "trilelement"  "\\trilelement" -1.38\pt        0.72\pt -1.51\pt        1.51\pt 
+        "prall"        "\\prall"       -2.42\pt        2.42\pt -1.51\pt        1.51\pt 
+        "mordent"      "\\mordent"     -2.42\pt        2.42\pt -1.51\pt        1.51\pt 
+        "prallprall"   "\\prallprall"  -3.47\pt        3.47\pt -1.51\pt        1.51\pt 
+        "prallmordent" "\\prallmordent"        -3.47\pt        3.47\pt -1.51\pt        1.51\pt 
+        "upprall"      "\\upprall"     -3.47\pt        3.47\pt -1.51\pt        1.51\pt 
+        "downprall"    "\\downprall"   -3.47\pt        3.47\pt -1.51\pt        1.51\pt 
+        }
+    "flags"     = \table {
+        "u3"   "\\eighthflag"  -0.14\pt        3.39\pt -8.43\pt        0.14\pt 
+        "u4"   "\\sixteenthflag"       -0.14\pt        3.39\pt -9.80\pt        0.14\pt 
+        "u5"   "\\thirtysecondflag"    -0.14\pt        3.39\pt -11.87\pt       0.14\pt 
+        "u6"   "\\sixtyfourthflag"     -0.14\pt        3.39\pt -14.62\pt       0.14\pt 
+        "d3"   "\\deighthflag" -0.14\pt        3.76\pt -0.14\pt        8.02\pt 
+        "d4"   "\\dsixteenthflag"      -0.14\pt        3.76\pt -0.14\pt        8.43\pt 
+        "d5"   "\\dthirtysecondflag"   -0.14\pt        3.76\pt -0.14\pt        10.77\pt        
+        "d6"   "\\dsixtyfourthflag"    -0.14\pt        3.76\pt -0.14\pt        12.14\pt        
+        }
+    "clefs"     = \table {
+        "alto" "\\altoclef"    -2.75\pt        10.24\pt        -5.50\pt        5.50\pt 
+        "alto_change"  "\\caltoclef"   -2.20\pt        8.19\pt -4.40\pt        4.40\pt 
+        "bass" "\\bassclef"    -1.38\pt        9.90\pt -6.88\pt        2.75\pt 
+        "bass_change"  "\\cbassclef"   -1.10\pt        7.92\pt -5.50\pt        2.20\pt 
+        "violin"       "\\violinclef"  -2.40\pt        10.28\pt        -8.25\pt        13.75\pt        
+        "violin_change"        "\\cviolinclef" -2.08\pt        8.06\pt -6.60\pt        11.00\pt        
+        }
+    %  } % $name
diff --git a/init/feta13.ly b/init/feta13.ly
new file mode 100644 (file)
index 0000000..a4a20f7
--- /dev/null
@@ -0,0 +1,88 @@
+% Creator: mf-to-table.py version 0.5
+% Automatically generated on
+% Do not edit
+% input from feta13.log
+% name=\symboltables {
+    "rests"     = \table {
+        "0"    "\\wholerest"   0.00\pt 4.88\pt -2.03\pt        0.00\pt 
+        "1"    "\\halfrest"    0.00\pt 4.88\pt 0.00\pt 2.03\pt 
+        "0o"   "\\outsidewholerest"    -2.03\pt        6.91\pt -2.03\pt        0.33\pt 
+        "1o"   "\\outsidehalfrest"     -2.03\pt        6.91\pt -0.33\pt        2.03\pt 
+        "2"    "\\quartrest"   0.00\pt 3.51\pt 2.44\pt 11.70\pt        
+        "3"    "\\eighthrest"  0.00\pt 4.33\pt 3.25\pt 9.24\pt 
+        "4"    "\\sixteenthrest"       0.00\pt 5.04\pt 0.00\pt 9.24\pt 
+        "5"    "\\thirtysecondrest"    0.00\pt 5.69\pt 0.00\pt 12.49\pt        
+        "6"    "\\sixtyfourthrest"     0.00\pt 6.10\pt 0.00\pt 15.74\pt        
+        "7"    "\\hundredtwentyeighthrest"     0.00\pt 6.79\pt 0.00\pt 18.99\pt        
+        }
+    "accidentals"       = \table {
+        "1"    "\\sharp"       0.00\pt 3.58\pt -4.88\pt        4.88\pt 
+        "0"    "\\natural"     0.00\pt 2.17\pt -4.88\pt        4.88\pt 
+        "-1"   "\\flat"        -0.39\pt        2.60\pt -1.62\pt        6.50\pt 
+        "-2"   "\\flatflat"    -0.39\pt        4.71\pt -1.62\pt        6.50\pt 
+        "2"    "\\sharpsharp"  0.00\pt 3.25\pt -1.62\pt        1.62\pt 
+        }
+    "dots"      = \table {
+        "dot"  "\\dot" 0.00\pt 1.46\pt -0.73\pt        0.73\pt 
+        "repeatcolon"  "\\repeatcolon" 0.00\pt 1.46\pt -1.62\pt        1.62\pt 
+        }
+    "balls"     = \table {
+        "-1"   "\\brevisball"  0.00\pt 6.50\pt -1.79\pt        1.79\pt 
+        "-1l"  "\\brevisledger"        -1.62\pt        8.12\pt -0.33\pt        0.33\pt 
+        "-2"   "\\longaball"   0.00\pt 6.50\pt -1.79\pt        1.79\pt 
+        "-2l"  "\\longaledger" -1.62\pt        8.12\pt -0.33\pt        0.33\pt 
+        "0"    "\\wholeball"   0.00\pt 6.44\pt -1.79\pt        1.79\pt 
+        "0l"   "\\wholeledger" -1.61\pt        8.04\pt -0.33\pt        0.33\pt 
+        "1"    "\\halfball"    0.00\pt 4.48\pt -1.79\pt        1.79\pt 
+        "1l"   "\\halfledger"  -1.12\pt        5.60\pt -0.33\pt        0.33\pt 
+        "2"    "\\quartball"   0.00\pt 4.29\pt -1.79\pt        1.79\pt 
+        "2l"   "\\quartledger" -1.07\pt        5.37\pt -0.33\pt        0.33\pt 
+        }
+    "scripts"   = \table {
+        "ufermata"     "\\ufermata"    -4.31\pt        4.31\pt -0.24\pt        4.71\pt 
+        "dfermata"     "\\dfermata"    -4.31\pt        4.31\pt -4.71\pt        0.24\pt 
+        "sforzato"     "\\sforzatoaccent"      -2.92\pt        2.92\pt -1.62\pt        1.62\pt 
+        "staccato"     "\\staccato"    -0.49\pt        0.49\pt -0.49\pt        0.49\pt 
+        "ustaccatissimo"       "\\ustaccatissimo"      -0.65\pt        0.65\pt -0.20\pt        3.25\pt 
+        "dstaccatissimo"       "\\dstaccatissimo"      -0.65\pt        0.65\pt -3.25\pt        0.20\pt 
+        "tenuto"       "\\tenuto"      -2.92\pt        2.92\pt -0.20\pt        0.20\pt 
+        "umarcato"     "\\umarcato"    -1.62\pt        1.62\pt 0.00\pt 3.58\pt 
+        "dmarcato"     "\\dmarcato"    -1.62\pt        1.62\pt -3.58\pt        0.00\pt 
+        "open" "\\ouvert"      -1.30\pt        1.30\pt -1.62\pt        1.62\pt 
+        "stopped"      "\\plusstop"    -1.79\pt        1.79\pt -1.79\pt        1.79\pt 
+        "upbow"        "\\upbow"       -2.11\pt        2.11\pt 0.00\pt 6.76\pt 
+        "downbow"      "\\downbow"     -2.44\pt        2.44\pt 0.00\pt 4.33\pt 
+        "turn" "\\turn"        -3.55\pt        3.55\pt -1.72\pt        1.72\pt 
+        "trill"        "\\trill"       -3.25\pt        3.25\pt 0.00\pt 7.31\pt 
+        "upedalheel"   "\\upedalheel"  -1.62\pt        1.62\pt -1.62\pt        2.17\pt 
+        "dpedalheel"   "\\dpedalheel"  -1.62\pt        1.62\pt -2.17\pt        1.62\pt 
+        "upedaltoe"    "\\upedaltoe"   -1.62\pt        1.62\pt 0.00\pt 4.88\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -1.62\pt        1.62\pt -4.88\pt        0.00\pt 
+        "flageolet"    "\\flageolet"   -1.73\pt        1.73\pt -1.73\pt        1.73\pt 
+        "trilelement"  "\\trilelement" -1.62\pt        0.85\pt -1.79\pt        1.79\pt 
+        "prall"        "\\prall"       -2.86\pt        2.86\pt -1.79\pt        1.79\pt 
+        "mordent"      "\\mordent"     -2.86\pt        2.86\pt -1.79\pt        1.79\pt 
+        "prallprall"   "\\prallprall"  -4.10\pt        4.10\pt -1.79\pt        1.79\pt 
+        "prallmordent" "\\prallmordent"        -4.10\pt        4.10\pt -1.79\pt        1.79\pt 
+        "upprall"      "\\upprall"     -4.10\pt        4.10\pt -1.79\pt        1.79\pt 
+        "downprall"    "\\downprall"   -4.10\pt        4.10\pt -1.79\pt        1.79\pt 
+        }
+    "flags"     = \table {
+        "u3"   "\\eighthflag"  -0.16\pt        4.01\pt -9.96\pt        0.16\pt 
+        "u4"   "\\sixteenthflag"       -0.16\pt        4.01\pt -11.59\pt       0.16\pt 
+        "u5"   "\\thirtysecondflag"    -0.16\pt        4.01\pt -14.02\pt       0.16\pt 
+        "u6"   "\\sixtyfourthflag"     -0.16\pt        4.01\pt -17.27\pt       0.16\pt 
+        "d3"   "\\deighthflag" -0.16\pt        4.44\pt -0.16\pt        9.47\pt 
+        "d4"   "\\dsixteenthflag"      -0.16\pt        4.44\pt -0.16\pt        9.96\pt 
+        "d5"   "\\dthirtysecondflag"   -0.16\pt        4.44\pt -0.16\pt        12.72\pt        
+        "d6"   "\\dsixtyfourthflag"    -0.16\pt        4.44\pt -0.16\pt        14.35\pt        
+        }
+    "clefs"     = \table {
+        "alto" "\\altoclef"    -3.25\pt        12.10\pt        -6.50\pt        6.50\pt 
+        "alto_change"  "\\caltoclef"   -2.60\pt        9.68\pt -5.20\pt        5.20\pt 
+        "bass" "\\bassclef"    -1.62\pt        11.70\pt        -8.12\pt        3.25\pt 
+        "bass_change"  "\\cbassclef"   -1.30\pt        9.36\pt -6.50\pt        2.60\pt 
+        "violin"       "\\violinclef"  -2.83\pt        12.15\pt        -9.75\pt        16.25\pt        
+        "violin_change"        "\\cviolinclef" -2.46\pt        9.52\pt -7.80\pt        13.00\pt        
+        }
+    %  } % $name
diff --git a/init/feta16.ly b/init/feta16.ly
new file mode 100644 (file)
index 0000000..bca45d1
--- /dev/null
@@ -0,0 +1,88 @@
+% Creator: mf-to-table.py version 0.5
+% Automatically generated on
+% Do not edit
+% input from feta16.log
+% name=\symboltables {
+    "rests"     = \table {
+        "0"    "\\wholerest"   0.00\pt 6.00\pt -2.50\pt        0.00\pt 
+        "1"    "\\halfrest"    0.00\pt 6.00\pt 0.00\pt 2.50\pt 
+        "0o"   "\\outsidewholerest"    -2.50\pt        8.50\pt -2.50\pt        0.40\pt 
+        "1o"   "\\outsidehalfrest"     -2.50\pt        8.50\pt -0.40\pt        2.50\pt 
+        "2"    "\\quartrest"   0.00\pt 4.32\pt 3.00\pt 14.40\pt        
+        "3"    "\\eighthrest"  0.00\pt 5.33\pt 4.00\pt 11.37\pt        
+        "4"    "\\sixteenthrest"       0.00\pt 6.21\pt 0.00\pt 11.37\pt        
+        "5"    "\\thirtysecondrest"    0.00\pt 7.00\pt 0.00\pt 15.37\pt        
+        "6"    "\\sixtyfourthrest"     0.00\pt 7.51\pt 0.00\pt 19.37\pt        
+        "7"    "\\hundredtwentyeighthrest"     0.00\pt 8.36\pt 0.00\pt 23.37\pt        
+        }
+    "accidentals"       = \table {
+        "1"    "\\sharp"       0.00\pt 4.40\pt -6.00\pt        6.00\pt 
+        "0"    "\\natural"     0.00\pt 2.67\pt -6.00\pt        6.00\pt 
+        "-1"   "\\flat"        -0.48\pt        3.20\pt -2.00\pt        8.00\pt 
+        "-2"   "\\flatflat"    -0.48\pt        5.80\pt -2.00\pt        8.00\pt 
+        "2"    "\\sharpsharp"  0.00\pt 4.00\pt -2.00\pt        2.00\pt 
+        }
+    "dots"      = \table {
+        "dot"  "\\dot" 0.00\pt 1.80\pt -0.90\pt        0.90\pt 
+        "repeatcolon"  "\\repeatcolon" 0.00\pt 1.80\pt -2.00\pt        2.00\pt 
+        }
+    "balls"     = \table {
+        "-1"   "\\brevisball"  0.00\pt 8.00\pt -2.20\pt        2.20\pt 
+        "-1l"  "\\brevisledger"        -2.00\pt        10.00\pt        -0.40\pt        0.40\pt 
+        "-2"   "\\longaball"   0.00\pt 8.00\pt -2.20\pt        2.20\pt 
+        "-2l"  "\\longaledger" -2.00\pt        10.00\pt        -0.40\pt        0.40\pt 
+        "0"    "\\wholeball"   0.00\pt 7.92\pt -2.20\pt        2.20\pt 
+        "0l"   "\\wholeledger" -1.98\pt        9.90\pt -0.40\pt        0.40\pt 
+        "1"    "\\halfball"    0.00\pt 5.51\pt -2.20\pt        2.20\pt 
+        "1l"   "\\halfledger"  -1.38\pt        6.89\pt -0.40\pt        0.40\pt 
+        "2"    "\\quartball"   0.00\pt 5.28\pt -2.20\pt        2.20\pt 
+        "2l"   "\\quartledger" -1.32\pt        6.61\pt -0.40\pt        0.40\pt 
+        }
+    "scripts"   = \table {
+        "ufermata"     "\\ufermata"    -5.30\pt        5.30\pt -0.30\pt        5.80\pt 
+        "dfermata"     "\\dfermata"    -5.30\pt        5.30\pt -5.80\pt        0.30\pt 
+        "sforzato"     "\\sforzatoaccent"      -3.60\pt        3.60\pt -2.00\pt        2.00\pt 
+        "staccato"     "\\staccato"    -0.60\pt        0.60\pt -0.60\pt        0.60\pt 
+        "ustaccatissimo"       "\\ustaccatissimo"      -0.80\pt        0.80\pt -0.20\pt        4.00\pt 
+        "dstaccatissimo"       "\\dstaccatissimo"      -0.80\pt        0.80\pt -4.00\pt        0.20\pt 
+        "tenuto"       "\\tenuto"      -3.60\pt        3.60\pt -0.24\pt        0.24\pt 
+        "umarcato"     "\\umarcato"    -2.00\pt        2.00\pt 0.00\pt 4.40\pt 
+        "dmarcato"     "\\dmarcato"    -2.00\pt        2.00\pt -4.40\pt        0.00\pt 
+        "open" "\\ouvert"      -1.60\pt        1.60\pt -2.00\pt        2.00\pt 
+        "stopped"      "\\plusstop"    -2.20\pt        2.20\pt -2.20\pt        2.20\pt 
+        "upbow"        "\\upbow"       -2.60\pt        2.60\pt 0.00\pt 8.32\pt 
+        "downbow"      "\\downbow"     -3.00\pt        3.00\pt 0.00\pt 5.33\pt 
+        "turn" "\\turn"        -4.38\pt        4.38\pt -2.12\pt        2.12\pt 
+        "trill"        "\\trill"       -4.00\pt        4.00\pt 0.00\pt 9.00\pt 
+        "upedalheel"   "\\upedalheel"  -2.00\pt        2.00\pt -2.00\pt        2.67\pt 
+        "dpedalheel"   "\\dpedalheel"  -2.00\pt        2.00\pt -2.67\pt        2.00\pt 
+        "upedaltoe"    "\\upedaltoe"   -2.00\pt        2.00\pt 0.00\pt 6.00\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -2.00\pt        2.00\pt -6.00\pt        0.00\pt 
+        "flageolet"    "\\flageolet"   -2.13\pt        2.13\pt -2.13\pt        2.13\pt 
+        "trilelement"  "\\trilelement" -2.00\pt        1.05\pt -2.20\pt        2.20\pt 
+        "prall"        "\\prall"       -3.52\pt        3.52\pt -2.20\pt        2.20\pt 
+        "mordent"      "\\mordent"     -3.52\pt        3.52\pt -2.20\pt        2.20\pt 
+        "prallprall"   "\\prallprall"  -5.05\pt        5.05\pt -2.20\pt        2.20\pt 
+        "prallmordent" "\\prallmordent"        -5.05\pt        5.05\pt -2.20\pt        2.20\pt 
+        "upprall"      "\\upprall"     -5.05\pt        5.05\pt -2.20\pt        2.20\pt 
+        "downprall"    "\\downprall"   -5.05\pt        5.05\pt -2.20\pt        2.20\pt 
+        }
+    "flags"     = \table {
+        "u3"   "\\eighthflag"  -0.20\pt        4.94\pt -12.26\pt       0.20\pt 
+        "u4"   "\\sixteenthflag"       -0.20\pt        4.94\pt -14.26\pt       0.20\pt 
+        "u5"   "\\thirtysecondflag"    -0.20\pt        4.94\pt -17.26\pt       0.20\pt 
+        "u6"   "\\sixtyfourthflag"     -0.20\pt        4.94\pt -21.26\pt       0.20\pt 
+        "d3"   "\\deighthflag" -0.20\pt        5.46\pt -0.20\pt        11.66\pt        
+        "d4"   "\\dsixteenthflag"      -0.20\pt        5.46\pt -0.20\pt        12.26\pt        
+        "d5"   "\\dthirtysecondflag"   -0.20\pt        5.46\pt -0.20\pt        15.66\pt        
+        "d6"   "\\dsixtyfourthflag"    -0.20\pt        5.46\pt -0.20\pt        17.66\pt        
+        }
+    "clefs"     = \table {
+        "alto" "\\altoclef"    -4.00\pt        14.89\pt        -8.00\pt        8.00\pt 
+        "alto_change"  "\\caltoclef"   -3.20\pt        11.91\pt        -6.40\pt        6.40\pt 
+        "bass" "\\bassclef"    -2.00\pt        14.40\pt        -10.00\pt       4.00\pt 
+        "bass_change"  "\\cbassclef"   -1.60\pt        11.52\pt        -8.00\pt        3.20\pt 
+        "violin"       "\\violinclef"  -3.49\pt        14.95\pt        -12.00\pt       20.00\pt        
+        "violin_change"        "\\cviolinclef" -3.03\pt        11.72\pt        -9.60\pt        16.00\pt        
+        }
+    %  } % $name
diff --git a/init/feta19.ly b/init/feta19.ly
new file mode 100644 (file)
index 0000000..cb34017
--- /dev/null
@@ -0,0 +1,88 @@
+% Creator: mf-to-table.py version 0.5
+% Automatically generated on
+% Do not edit
+% input from feta19.log
+% name=\symboltables {
+    "rests"     = \table {
+        "0"    "\\wholerest"   0.00\pt 7.12\pt -2.97\pt        0.00\pt 
+        "1"    "\\halfrest"    0.00\pt 7.12\pt 0.00\pt 2.97\pt 
+        "0o"   "\\outsidewholerest"    -2.97\pt        10.09\pt        -2.97\pt        0.48\pt 
+        "1o"   "\\outsidehalfrest"     -2.97\pt        10.09\pt        -0.48\pt        2.97\pt 
+        "2"    "\\quartrest"   0.00\pt 5.13\pt 3.56\pt 17.10\pt        
+        "3"    "\\eighthrest"  0.00\pt 6.33\pt 4.75\pt 13.50\pt        
+        "4"    "\\sixteenthrest"       0.00\pt 7.37\pt 0.00\pt 13.50\pt        
+        "5"    "\\thirtysecondrest"    0.00\pt 8.32\pt 0.00\pt 18.25\pt        
+        "6"    "\\sixtyfourthrest"     0.00\pt 8.92\pt 0.00\pt 23.00\pt        
+        "7"    "\\hundredtwentyeighthrest"     0.00\pt 9.93\pt 0.00\pt 27.75\pt        
+        }
+    "accidentals"       = \table {
+        "1"    "\\sharp"       0.00\pt 5.23\pt -7.12\pt        7.12\pt 
+        "0"    "\\natural"     0.00\pt 3.17\pt -7.12\pt        7.12\pt 
+        "-1"   "\\flat"        -0.57\pt        3.80\pt -2.38\pt        9.50\pt 
+        "-2"   "\\flatflat"    -0.57\pt        6.89\pt -2.38\pt        9.50\pt 
+        "2"    "\\sharpsharp"  0.00\pt 4.75\pt -2.38\pt        2.38\pt 
+        }
+    "dots"      = \table {
+        "dot"  "\\dot" 0.00\pt 2.14\pt -1.07\pt        1.07\pt 
+        "repeatcolon"  "\\repeatcolon" 0.00\pt 2.14\pt -2.38\pt        2.38\pt 
+        }
+    "balls"     = \table {
+        "-1"   "\\brevisball"  0.00\pt 9.50\pt -2.61\pt        2.61\pt 
+        "-1l"  "\\brevisledger"        -2.38\pt        11.88\pt        -0.48\pt        0.48\pt 
+        "-2"   "\\longaball"   0.00\pt 9.50\pt -2.61\pt        2.61\pt 
+        "-2l"  "\\longaledger" -2.38\pt        11.88\pt        -0.48\pt        0.48\pt 
+        "0"    "\\wholeball"   0.00\pt 9.41\pt -2.61\pt        2.61\pt 
+        "0l"   "\\wholeledger" -2.35\pt        11.76\pt        -0.48\pt        0.48\pt 
+        "1"    "\\halfball"    0.00\pt 6.54\pt -2.61\pt        2.61\pt 
+        "1l"   "\\halfledger"  -1.64\pt        8.18\pt -0.48\pt        0.48\pt 
+        "2"    "\\quartball"   0.00\pt 6.27\pt -2.61\pt        2.61\pt 
+        "2l"   "\\quartledger" -1.57\pt        7.84\pt -0.48\pt        0.48\pt 
+        }
+    "scripts"   = \table {
+        "ufermata"     "\\ufermata"    -6.29\pt        6.29\pt -0.36\pt        6.89\pt 
+        "dfermata"     "\\dfermata"    -6.29\pt        6.29\pt -6.89\pt        0.36\pt 
+        "sforzato"     "\\sforzatoaccent"      -4.27\pt        4.27\pt -2.38\pt        2.38\pt 
+        "staccato"     "\\staccato"    -0.71\pt        0.71\pt -0.71\pt        0.71\pt 
+        "ustaccatissimo"       "\\ustaccatissimo"      -0.95\pt        0.95\pt -0.20\pt        4.75\pt 
+        "dstaccatissimo"       "\\dstaccatissimo"      -0.95\pt        0.95\pt -4.75\pt        0.20\pt 
+        "tenuto"       "\\tenuto"      -4.27\pt        4.27\pt -0.29\pt        0.29\pt 
+        "umarcato"     "\\umarcato"    -2.38\pt        2.38\pt 0.00\pt 5.23\pt 
+        "dmarcato"     "\\dmarcato"    -2.38\pt        2.38\pt -5.23\pt        0.00\pt 
+        "open" "\\ouvert"      -1.90\pt        1.90\pt -2.38\pt        2.38\pt 
+        "stopped"      "\\plusstop"    -2.61\pt        2.61\pt -2.61\pt        2.61\pt 
+        "upbow"        "\\upbow"       -3.09\pt        3.09\pt 0.00\pt 9.88\pt 
+        "downbow"      "\\downbow"     -3.56\pt        3.56\pt 0.00\pt 6.33\pt 
+        "turn" "\\turn"        -5.20\pt        5.20\pt -2.51\pt        2.51\pt 
+        "trill"        "\\trill"       -4.75\pt        4.75\pt 0.00\pt 10.69\pt        
+        "upedalheel"   "\\upedalheel"  -2.38\pt        2.38\pt -2.38\pt        3.17\pt 
+        "dpedalheel"   "\\dpedalheel"  -2.38\pt        2.38\pt -3.17\pt        2.38\pt 
+        "upedaltoe"    "\\upedaltoe"   -2.38\pt        2.38\pt 0.00\pt 7.12\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -2.38\pt        2.38\pt -7.12\pt        0.00\pt 
+        "flageolet"    "\\flageolet"   -2.53\pt        2.53\pt -2.53\pt        2.53\pt 
+        "trilelement"  "\\trilelement" -2.38\pt        1.24\pt -2.61\pt        2.61\pt 
+        "prall"        "\\prall"       -4.18\pt        4.18\pt -2.61\pt        2.61\pt 
+        "mordent"      "\\mordent"     -4.18\pt        4.18\pt -2.61\pt        2.61\pt 
+        "prallprall"   "\\prallprall"  -5.99\pt        5.99\pt -2.61\pt        2.61\pt 
+        "prallmordent" "\\prallmordent"        -5.99\pt        5.99\pt -2.61\pt        2.61\pt 
+        "upprall"      "\\upprall"     -5.99\pt        5.99\pt -2.61\pt        2.61\pt 
+        "downprall"    "\\downprall"   -5.99\pt        5.99\pt -2.61\pt        2.61\pt 
+        }
+    "flags"     = \table {
+        "u3"   "\\eighthflag"  -0.24\pt        5.86\pt -14.56\pt       0.24\pt 
+        "u4"   "\\sixteenthflag"       -0.24\pt        5.86\pt -16.93\pt       0.24\pt 
+        "u5"   "\\thirtysecondflag"    -0.24\pt        5.86\pt -20.50\pt       0.24\pt 
+        "u6"   "\\sixtyfourthflag"     -0.24\pt        5.86\pt -25.25\pt       0.24\pt 
+        "d3"   "\\deighthflag" -0.24\pt        6.49\pt -0.24\pt        13.85\pt        
+        "d4"   "\\dsixteenthflag"      -0.24\pt        6.49\pt -0.24\pt        14.56\pt        
+        "d5"   "\\dthirtysecondflag"   -0.24\pt        6.49\pt -0.24\pt        18.60\pt        
+        "d6"   "\\dsixtyfourthflag"    -0.24\pt        6.49\pt -0.24\pt        20.97\pt        
+        }
+    "clefs"     = \table {
+        "alto" "\\altoclef"    -4.75\pt        17.68\pt        -9.50\pt        9.50\pt 
+        "alto_change"  "\\caltoclef"   -3.80\pt        14.14\pt        -7.60\pt        7.60\pt 
+        "bass" "\\bassclef"    -2.38\pt        17.10\pt        -11.88\pt       4.75\pt 
+        "bass_change"  "\\cbassclef"   -1.90\pt        13.68\pt        -9.50\pt        3.80\pt 
+        "violin"       "\\violinclef"  -4.14\pt        17.75\pt        -14.25\pt       23.75\pt        
+        "violin_change"        "\\cviolinclef" -3.60\pt        13.92\pt        -11.40\pt       19.00\pt        
+        }
+    %  } % $name
diff --git a/init/feta20.ly b/init/feta20.ly
new file mode 100644 (file)
index 0000000..573788d
--- /dev/null
@@ -0,0 +1,88 @@
+% Creator: mf-to-table.py version 0.5
+% Automatically generated on
+% Do not edit
+% input from feta20.log
+% name=\symboltables {
+    "rests"     = \table {
+        "0"    "\\wholerest"   0.00\pt 7.50\pt -3.12\pt        0.00\pt 
+        "1"    "\\halfrest"    0.00\pt 7.50\pt 0.00\pt 3.12\pt 
+        "0o"   "\\outsidewholerest"    -3.12\pt        10.62\pt        -3.12\pt        0.50\pt 
+        "1o"   "\\outsidehalfrest"     -3.12\pt        10.62\pt        -0.50\pt        3.12\pt 
+        "2"    "\\quartrest"   0.00\pt 5.40\pt 3.75\pt 18.00\pt        
+        "3"    "\\eighthrest"  0.00\pt 6.67\pt 5.00\pt 14.21\pt        
+        "4"    "\\sixteenthrest"       0.00\pt 7.76\pt 0.00\pt 14.21\pt        
+        "5"    "\\thirtysecondrest"    0.00\pt 8.75\pt 0.00\pt 19.21\pt        
+        "6"    "\\sixtyfourthrest"     0.00\pt 9.38\pt 0.00\pt 24.21\pt        
+        "7"    "\\hundredtwentyeighthrest"     0.00\pt 10.45\pt        0.00\pt 29.21\pt        
+        }
+    "accidentals"       = \table {
+        "1"    "\\sharp"       0.00\pt 5.50\pt -7.50\pt        7.50\pt 
+        "0"    "\\natural"     0.00\pt 3.33\pt -7.50\pt        7.50\pt 
+        "-1"   "\\flat"        -0.60\pt        4.00\pt -2.50\pt        10.00\pt        
+        "-2"   "\\flatflat"    -0.60\pt        7.25\pt -2.50\pt        10.00\pt        
+        "2"    "\\sharpsharp"  0.00\pt 5.00\pt -2.50\pt        2.50\pt 
+        }
+    "dots"      = \table {
+        "dot"  "\\dot" 0.00\pt 2.25\pt -1.12\pt        1.12\pt 
+        "repeatcolon"  "\\repeatcolon" 0.00\pt 2.25\pt -2.50\pt        2.50\pt 
+        }
+    "balls"     = \table {
+        "-1"   "\\brevisball"  0.00\pt 10.00\pt        -2.75\pt        2.75\pt 
+        "-1l"  "\\brevisledger"        -2.50\pt        12.50\pt        -0.50\pt        0.50\pt 
+        "-2"   "\\longaball"   0.00\pt 10.00\pt        -2.75\pt        2.75\pt 
+        "-2l"  "\\longaledger" -2.50\pt        12.50\pt        -0.50\pt        0.50\pt 
+        "0"    "\\wholeball"   0.00\pt 9.90\pt -2.75\pt        2.75\pt 
+        "0l"   "\\wholeledger" -2.48\pt        12.38\pt        -0.50\pt        0.50\pt 
+        "1"    "\\halfball"    0.00\pt 6.89\pt -2.75\pt        2.75\pt 
+        "1l"   "\\halfledger"  -1.72\pt        8.61\pt -0.50\pt        0.50\pt 
+        "2"    "\\quartball"   0.00\pt 6.61\pt -2.75\pt        2.75\pt 
+        "2l"   "\\quartledger" -1.65\pt        8.26\pt -0.50\pt        0.50\pt 
+        }
+    "scripts"   = \table {
+        "ufermata"     "\\ufermata"    -6.63\pt        6.63\pt -0.38\pt        7.25\pt 
+        "dfermata"     "\\dfermata"    -6.63\pt        6.63\pt -7.25\pt        0.38\pt 
+        "sforzato"     "\\sforzatoaccent"      -4.50\pt        4.50\pt -2.50\pt        2.50\pt 
+        "staccato"     "\\staccato"    -0.75\pt        0.75\pt -0.75\pt        0.75\pt 
+        "ustaccatissimo"       "\\ustaccatissimo"      -1.00\pt        1.00\pt -0.20\pt        5.00\pt 
+        "dstaccatissimo"       "\\dstaccatissimo"      -1.00\pt        1.00\pt -5.00\pt        0.20\pt 
+        "tenuto"       "\\tenuto"      -4.50\pt        4.50\pt -0.30\pt        0.30\pt 
+        "umarcato"     "\\umarcato"    -2.50\pt        2.50\pt 0.00\pt 5.50\pt 
+        "dmarcato"     "\\dmarcato"    -2.50\pt        2.50\pt -5.50\pt        0.00\pt 
+        "open" "\\ouvert"      -2.00\pt        2.00\pt -2.50\pt        2.50\pt 
+        "stopped"      "\\plusstop"    -2.75\pt        2.75\pt -2.75\pt        2.75\pt 
+        "upbow"        "\\upbow"       -3.25\pt        3.25\pt 0.00\pt 10.40\pt        
+        "downbow"      "\\downbow"     -3.75\pt        3.75\pt 0.00\pt 6.67\pt 
+        "turn" "\\turn"        -5.47\pt        5.47\pt -2.65\pt        2.65\pt 
+        "trill"        "\\trill"       -5.00\pt        5.00\pt 0.00\pt 11.25\pt        
+        "upedalheel"   "\\upedalheel"  -2.50\pt        2.50\pt -2.50\pt        3.33\pt 
+        "dpedalheel"   "\\dpedalheel"  -2.50\pt        2.50\pt -3.33\pt        2.50\pt 
+        "upedaltoe"    "\\upedaltoe"   -2.50\pt        2.50\pt 0.00\pt 7.50\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -2.50\pt        2.50\pt -7.50\pt        0.00\pt 
+        "flageolet"    "\\flageolet"   -2.67\pt        2.67\pt -2.67\pt        2.67\pt 
+        "trilelement"  "\\trilelement" -2.50\pt        1.31\pt -2.75\pt        2.75\pt 
+        "prall"        "\\prall"       -4.40\pt        4.40\pt -2.75\pt        2.75\pt 
+        "mordent"      "\\mordent"     -4.40\pt        4.40\pt -2.75\pt        2.75\pt 
+        "prallprall"   "\\prallprall"  -6.31\pt        6.31\pt -2.75\pt        2.75\pt 
+        "prallmordent" "\\prallmordent"        -6.31\pt        6.31\pt -2.75\pt        2.75\pt 
+        "upprall"      "\\upprall"     -6.31\pt        6.31\pt -2.75\pt        2.75\pt 
+        "downprall"    "\\downprall"   -6.31\pt        6.31\pt -2.75\pt        2.75\pt 
+        }
+    "flags"     = \table {
+        "u3"   "\\eighthflag"  -0.25\pt        6.17\pt -15.33\pt       0.25\pt 
+        "u4"   "\\sixteenthflag"       -0.25\pt        6.17\pt -17.83\pt       0.25\pt 
+        "u5"   "\\thirtysecondflag"    -0.25\pt        6.17\pt -21.58\pt       0.25\pt 
+        "u6"   "\\sixtyfourthflag"     -0.25\pt        6.17\pt -26.58\pt       0.25\pt 
+        "d3"   "\\deighthflag" -0.25\pt        6.83\pt -0.25\pt        14.58\pt        
+        "d4"   "\\dsixteenthflag"      -0.25\pt        6.83\pt -0.25\pt        15.33\pt        
+        "d5"   "\\dthirtysecondflag"   -0.25\pt        6.83\pt -0.25\pt        19.58\pt        
+        "d6"   "\\dsixtyfourthflag"    -0.25\pt        6.83\pt -0.25\pt        22.08\pt        
+        }
+    "clefs"     = \table {
+        "alto" "\\altoclef"    -5.00\pt        18.61\pt        -10.00\pt       10.00\pt        
+        "alto_change"  "\\caltoclef"   -4.00\pt        14.89\pt        -8.00\pt        8.00\pt 
+        "bass" "\\bassclef"    -2.50\pt        18.00\pt        -12.50\pt       5.00\pt 
+        "bass_change"  "\\cbassclef"   -2.00\pt        14.40\pt        -10.00\pt       4.00\pt 
+        "violin"       "\\violinclef"  -4.36\pt        18.69\pt        -15.00\pt       25.00\pt        
+        "violin_change"        "\\cviolinclef" -3.79\pt        14.65\pt        -12.00\pt       20.00\pt        
+        }
+    %  } % $name
diff --git a/init/feta23.ly b/init/feta23.ly
new file mode 100644 (file)
index 0000000..2375eb3
--- /dev/null
@@ -0,0 +1,88 @@
+% Creator: mf-to-table.py version 0.5
+% Automatically generated on
+% Do not edit
+% input from feta23.log
+% name=\symboltables {
+    "rests"     = \table {
+        "0"    "\\wholerest"   0.00\pt 8.44\pt -3.52\pt        0.00\pt 
+        "1"    "\\halfrest"    0.00\pt 8.44\pt 0.00\pt 3.52\pt 
+        "0o"   "\\outsidewholerest"    -3.52\pt        11.95\pt        -3.52\pt        0.56\pt 
+        "1o"   "\\outsidehalfrest"     -3.52\pt        11.95\pt        -0.56\pt        3.52\pt 
+        "2"    "\\quartrest"   0.00\pt 6.08\pt 4.22\pt 20.25\pt        
+        "3"    "\\eighthrest"  0.00\pt 7.50\pt 5.62\pt 15.98\pt        
+        "4"    "\\sixteenthrest"       0.00\pt 8.73\pt 0.00\pt 15.98\pt        
+        "5"    "\\thirtysecondrest"    0.00\pt 9.85\pt 0.00\pt 21.61\pt        
+        "6"    "\\sixtyfourthrest"     0.00\pt 10.56\pt        0.00\pt 27.23\pt        
+        "7"    "\\hundredtwentyeighthrest"     0.00\pt 11.75\pt        0.00\pt 32.86\pt        
+        }
+    "accidentals"       = \table {
+        "1"    "\\sharp"       0.00\pt 6.19\pt -8.44\pt        8.44\pt 
+        "0"    "\\natural"     0.00\pt 3.75\pt -8.44\pt        8.44\pt 
+        "-1"   "\\flat"        -0.68\pt        4.50\pt -2.81\pt        11.25\pt        
+        "-2"   "\\flatflat"    -0.68\pt        8.16\pt -2.81\pt        11.25\pt        
+        "2"    "\\sharpsharp"  0.00\pt 5.62\pt -2.81\pt        2.81\pt 
+        }
+    "dots"      = \table {
+        "dot"  "\\dot" 0.00\pt 2.53\pt -1.27\pt        1.27\pt 
+        "repeatcolon"  "\\repeatcolon" 0.00\pt 2.53\pt -2.81\pt        2.81\pt 
+        }
+    "balls"     = \table {
+        "-1"   "\\brevisball"  0.00\pt 11.25\pt        -3.09\pt        3.09\pt 
+        "-1l"  "\\brevisledger"        -2.81\pt        14.06\pt        -0.56\pt        0.56\pt 
+        "-2"   "\\longaball"   0.00\pt 11.25\pt        -3.09\pt        3.09\pt 
+        "-2l"  "\\longaledger" -2.81\pt        14.06\pt        -0.56\pt        0.56\pt 
+        "0"    "\\wholeball"   0.00\pt 11.14\pt        -3.09\pt        3.09\pt 
+        "0l"   "\\wholeledger" -2.78\pt        13.92\pt        -0.56\pt        0.56\pt 
+        "1"    "\\halfball"    0.00\pt 7.75\pt -3.09\pt        3.09\pt 
+        "1l"   "\\halfledger"  -1.94\pt        9.69\pt -0.56\pt        0.56\pt 
+        "2"    "\\quartball"   0.00\pt 7.43\pt -3.09\pt        3.09\pt 
+        "2l"   "\\quartledger" -1.86\pt        9.29\pt -0.56\pt        0.56\pt 
+        }
+    "scripts"   = \table {
+        "ufermata"     "\\ufermata"    -7.45\pt        7.45\pt -0.42\pt        8.16\pt 
+        "dfermata"     "\\dfermata"    -7.45\pt        7.45\pt -8.16\pt        0.42\pt 
+        "sforzato"     "\\sforzatoaccent"      -5.06\pt        5.06\pt -2.81\pt        2.81\pt 
+        "staccato"     "\\staccato"    -0.84\pt        0.84\pt -0.84\pt        0.84\pt 
+        "ustaccatissimo"       "\\ustaccatissimo"      -1.13\pt        1.13\pt -0.20\pt        5.63\pt 
+        "dstaccatissimo"       "\\dstaccatissimo"      -1.13\pt        1.13\pt -5.63\pt        0.20\pt 
+        "tenuto"       "\\tenuto"      -5.06\pt        5.06\pt -0.34\pt        0.34\pt 
+        "umarcato"     "\\umarcato"    -2.81\pt        2.81\pt 0.00\pt 6.19\pt 
+        "dmarcato"     "\\dmarcato"    -2.81\pt        2.81\pt -6.19\pt        0.00\pt 
+        "open" "\\ouvert"      -2.25\pt        2.25\pt -2.81\pt        2.81\pt 
+        "stopped"      "\\plusstop"    -3.09\pt        3.09\pt -3.09\pt        3.09\pt 
+        "upbow"        "\\upbow"       -3.66\pt        3.66\pt 0.00\pt 11.70\pt        
+        "downbow"      "\\downbow"     -4.22\pt        4.22\pt 0.00\pt 7.50\pt 
+        "turn" "\\turn"        -6.15\pt        6.15\pt -2.98\pt        2.98\pt 
+        "trill"        "\\trill"       -5.62\pt        5.62\pt 0.00\pt 12.66\pt        
+        "upedalheel"   "\\upedalheel"  -2.81\pt        2.81\pt -2.81\pt        3.75\pt 
+        "dpedalheel"   "\\dpedalheel"  -2.81\pt        2.81\pt -3.75\pt        2.81\pt 
+        "upedaltoe"    "\\upedaltoe"   -2.81\pt        2.81\pt 0.00\pt 8.44\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -2.81\pt        2.81\pt -8.44\pt        0.00\pt 
+        "flageolet"    "\\flageolet"   -3.00\pt        3.00\pt -3.00\pt        3.00\pt 
+        "trilelement"  "\\trilelement" -2.81\pt        1.47\pt -3.09\pt        3.09\pt 
+        "prall"        "\\prall"       -4.95\pt        4.95\pt -3.09\pt        3.09\pt 
+        "mordent"      "\\mordent"     -4.95\pt        4.95\pt -3.09\pt        3.09\pt 
+        "prallprall"   "\\prallprall"  -7.09\pt        7.09\pt -3.09\pt        3.09\pt 
+        "prallmordent" "\\prallmordent"        -7.09\pt        7.09\pt -3.09\pt        3.09\pt 
+        "upprall"      "\\upprall"     -7.09\pt        7.09\pt -3.09\pt        3.09\pt 
+        "downprall"    "\\downprall"   -7.09\pt        7.09\pt -3.09\pt        3.09\pt 
+        }
+    "flags"     = \table {
+        "u3"   "\\eighthflag"  -0.28\pt        6.94\pt -17.24\pt       0.28\pt 
+        "u4"   "\\sixteenthflag"       -0.28\pt        6.94\pt -20.05\pt       0.28\pt 
+        "u5"   "\\thirtysecondflag"    -0.28\pt        6.94\pt -24.27\pt       0.28\pt 
+        "u6"   "\\sixtyfourthflag"     -0.28\pt        6.94\pt -29.90\pt       0.28\pt 
+        "d3"   "\\deighthflag" -0.28\pt        7.68\pt -0.28\pt        16.40\pt        
+        "d4"   "\\dsixteenthflag"      -0.28\pt        7.68\pt -0.28\pt        17.24\pt        
+        "d5"   "\\dthirtysecondflag"   -0.28\pt        7.68\pt -0.28\pt        22.02\pt        
+        "d6"   "\\dsixtyfourthflag"    -0.28\pt        7.68\pt -0.28\pt        24.83\pt        
+        }
+    "clefs"     = \table {
+        "alto" "\\altoclef"    -5.62\pt        20.94\pt        -11.25\pt       11.25\pt        
+        "alto_change"  "\\caltoclef"   -4.50\pt        16.75\pt        -9.00\pt        9.00\pt 
+        "bass" "\\bassclef"    -2.81\pt        20.25\pt        -14.06\pt       5.62\pt 
+        "bass_change"  "\\cbassclef"   -2.25\pt        16.20\pt        -11.25\pt       4.50\pt 
+        "violin"       "\\violinclef"  -4.90\pt        21.02\pt        -16.88\pt       28.12\pt        
+        "violin_change"        "\\cviolinclef" -4.26\pt        16.48\pt        -13.50\pt       22.50\pt        
+        }
+    %  } % $name
diff --git a/init/feta26.ly b/init/feta26.ly
new file mode 100644 (file)
index 0000000..7784121
--- /dev/null
@@ -0,0 +1,88 @@
+% Creator: mf-to-table.py version 0.5
+% Automatically generated on
+% Do not edit
+% input from feta26.log
+% name=\symboltables {
+    "rests"     = \table {
+        "0"    "\\wholerest"   0.00\pt 9.75\pt -4.06\pt        0.00\pt 
+        "1"    "\\halfrest"    0.00\pt 9.75\pt 0.00\pt 4.06\pt 
+        "0o"   "\\outsidewholerest"    -4.06\pt        13.81\pt        -4.06\pt        0.65\pt 
+        "1o"   "\\outsidehalfrest"     -4.06\pt        13.81\pt        -0.65\pt        4.06\pt 
+        "2"    "\\quartrest"   0.00\pt 7.02\pt 4.88\pt 23.40\pt        
+        "3"    "\\eighthrest"  0.00\pt 8.67\pt 6.50\pt 18.47\pt        
+        "4"    "\\sixteenthrest"       0.00\pt 10.08\pt        0.00\pt 18.47\pt        
+        "5"    "\\thirtysecondrest"    0.00\pt 11.38\pt        0.00\pt 24.97\pt        
+        "6"    "\\sixtyfourthrest"     0.00\pt 12.20\pt        0.00\pt 31.47\pt        
+        "7"    "\\hundredtwentyeighthrest"     0.00\pt 13.58\pt        0.00\pt 37.97\pt        
+        }
+    "accidentals"       = \table {
+        "1"    "\\sharp"       0.00\pt 7.15\pt -9.75\pt        9.75\pt 
+        "0"    "\\natural"     0.00\pt 4.33\pt -9.75\pt        9.75\pt 
+        "-1"   "\\flat"        -0.78\pt        5.20\pt -3.25\pt        13.00\pt        
+        "-2"   "\\flatflat"    -0.78\pt        9.42\pt -3.25\pt        13.00\pt        
+        "2"    "\\sharpsharp"  0.00\pt 6.50\pt -3.25\pt        3.25\pt 
+        }
+    "dots"      = \table {
+        "dot"  "\\dot" 0.00\pt 2.92\pt -1.46\pt        1.46\pt 
+        "repeatcolon"  "\\repeatcolon" 0.00\pt 2.92\pt -3.25\pt        3.25\pt 
+        }
+    "balls"     = \table {
+        "-1"   "\\brevisball"  0.00\pt 13.00\pt        -3.58\pt        3.58\pt 
+        "-1l"  "\\brevisledger"        -3.25\pt        16.25\pt        -0.65\pt        0.65\pt 
+        "-2"   "\\longaball"   0.00\pt 13.00\pt        -3.58\pt        3.58\pt 
+        "-2l"  "\\longaledger" -3.25\pt        16.25\pt        -0.65\pt        0.65\pt 
+        "0"    "\\wholeball"   0.00\pt 12.87\pt        -3.58\pt        3.58\pt 
+        "0l"   "\\wholeledger" -3.22\pt        16.09\pt        -0.65\pt        0.65\pt 
+        "1"    "\\halfball"    0.00\pt 8.95\pt -3.58\pt        3.58\pt 
+        "1l"   "\\halfledger"  -2.24\pt        11.19\pt        -0.65\pt        0.65\pt 
+        "2"    "\\quartball"   0.00\pt 8.59\pt -3.58\pt        3.58\pt 
+        "2l"   "\\quartledger" -2.15\pt        10.73\pt        -0.65\pt        0.65\pt 
+        }
+    "scripts"   = \table {
+        "ufermata"     "\\ufermata"    -8.61\pt        8.61\pt -0.49\pt        9.43\pt 
+        "dfermata"     "\\dfermata"    -8.61\pt        8.61\pt -9.43\pt        0.49\pt 
+        "sforzato"     "\\sforzatoaccent"      -5.85\pt        5.85\pt -3.25\pt        3.25\pt 
+        "staccato"     "\\staccato"    -0.98\pt        0.98\pt -0.98\pt        0.98\pt 
+        "ustaccatissimo"       "\\ustaccatissimo"      -1.30\pt        1.30\pt -0.20\pt        6.50\pt 
+        "dstaccatissimo"       "\\dstaccatissimo"      -1.30\pt        1.30\pt -6.50\pt        0.20\pt 
+        "tenuto"       "\\tenuto"      -5.85\pt        5.85\pt -0.39\pt        0.39\pt 
+        "umarcato"     "\\umarcato"    -3.25\pt        3.25\pt 0.00\pt 7.15\pt 
+        "dmarcato"     "\\dmarcato"    -3.25\pt        3.25\pt -7.15\pt        0.00\pt 
+        "open" "\\ouvert"      -2.60\pt        2.60\pt -3.25\pt        3.25\pt 
+        "stopped"      "\\plusstop"    -3.58\pt        3.58\pt -3.58\pt        3.58\pt 
+        "upbow"        "\\upbow"       -4.23\pt        4.23\pt 0.00\pt 13.52\pt        
+        "downbow"      "\\downbow"     -4.88\pt        4.88\pt 0.00\pt 8.67\pt 
+        "turn" "\\turn"        -7.11\pt        7.11\pt -3.44\pt        3.44\pt 
+        "trill"        "\\trill"       -6.50\pt        6.50\pt 0.00\pt 14.62\pt        
+        "upedalheel"   "\\upedalheel"  -3.25\pt        3.25\pt -3.25\pt        4.33\pt 
+        "dpedalheel"   "\\dpedalheel"  -3.25\pt        3.25\pt -4.33\pt        3.25\pt 
+        "upedaltoe"    "\\upedaltoe"   -3.25\pt        3.25\pt 0.00\pt 9.75\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -3.25\pt        3.25\pt -9.75\pt        0.00\pt 
+        "flageolet"    "\\flageolet"   -3.47\pt        3.47\pt -3.47\pt        3.47\pt 
+        "trilelement"  "\\trilelement" -3.25\pt        1.70\pt -3.58\pt        3.58\pt 
+        "prall"        "\\prall"       -5.72\pt        5.72\pt -3.58\pt        3.58\pt 
+        "mordent"      "\\mordent"     -5.72\pt        5.72\pt -3.58\pt        3.58\pt 
+        "prallprall"   "\\prallprall"  -8.20\pt        8.20\pt -3.58\pt        3.58\pt 
+        "prallmordent" "\\prallmordent"        -8.20\pt        8.20\pt -3.58\pt        3.58\pt 
+        "upprall"      "\\upprall"     -8.20\pt        8.20\pt -3.58\pt        3.58\pt 
+        "downprall"    "\\downprall"   -8.20\pt        8.20\pt -3.58\pt        3.58\pt 
+        }
+    "flags"     = \table {
+        "u3"   "\\eighthflag"  -0.33\pt        8.02\pt -19.92\pt       0.33\pt 
+        "u4"   "\\sixteenthflag"       -0.33\pt        8.02\pt -23.17\pt       0.33\pt 
+        "u5"   "\\thirtysecondflag"    -0.33\pt        8.02\pt -28.05\pt       0.33\pt 
+        "u6"   "\\sixtyfourthflag"     -0.33\pt        8.02\pt -34.55\pt       0.33\pt 
+        "d3"   "\\deighthflag" -0.33\pt        8.88\pt -0.33\pt        18.95\pt        
+        "d4"   "\\dsixteenthflag"      -0.33\pt        8.88\pt -0.33\pt        19.92\pt        
+        "d5"   "\\dthirtysecondflag"   -0.33\pt        8.88\pt -0.33\pt        25.45\pt        
+        "d6"   "\\dsixtyfourthflag"    -0.33\pt        8.88\pt -0.33\pt        28.70\pt        
+        }
+    "clefs"     = \table {
+        "alto" "\\altoclef"    -6.50\pt        24.19\pt        -13.00\pt       13.00\pt        
+        "alto_change"  "\\caltoclef"   -5.20\pt        19.36\pt        -10.40\pt       10.40\pt        
+        "bass" "\\bassclef"    -3.25\pt        23.40\pt        -16.25\pt       6.50\pt 
+        "bass_change"  "\\cbassclef"   -2.60\pt        18.72\pt        -13.00\pt       5.20\pt 
+        "violin"       "\\violinclef"  -5.66\pt        24.29\pt        -19.50\pt       32.50\pt        
+        "violin_change"        "\\cviolinclef" -4.92\pt        19.04\pt        -15.60\pt       26.00\pt        
+        }
+    %  } % $name
index c609918c57c42a3227e97c2049bf8b160cbebf3b..1fb4992c05c4fa66181d22626b77635d19fadc6f 100644 (file)
@@ -6,7 +6,7 @@ breve = \duration { -1 0 }
 longa = \duration { -2 0 }
 
 \include "dynamic.ly"
 longa = \duration { -2 0 }
 
 \include "dynamic.ly"
-\include "dutch.ly" 
+\include "nederlands.ly"               % dutch
 \include "script.ly"
 
 
 \include "script.ly"
 
 
index 13c7ce38ba33c9c3ead3d7cc0db824187dfb2e76..9d878ca7bbf2bf305432902ee142f40c303b8bd6 100644 (file)
@@ -1,6 +1,6 @@
 % Toplevel initialisation file. 
 Gourlay = 1.0
 % Toplevel initialisation file. 
 Gourlay = 1.0
-\include "dutch.ly" 
+\include "nederlands.ly" 
 
 \include "paper16.ly"
 
 
 \include "paper16.ly"
 
index 169a97dc68e5ce385d9c79ff1be2d551a4246a7d..1b6aa6bf03cfebb27c99af4bc38d8c49e9681791 100644 (file)
@@ -3,7 +3,7 @@
 # Generated automatically by wild-perl 0.1
 # input/Makefile.am.wild
 
 # Generated automatically by wild-perl 0.1
 # input/Makefile.am.wild
 
-LYFILES = beam-bug.ly beams.ly cadenza.ly collisions.ly coriolan-alto.ly denneboom.ly font-body.ly font.ly font11.ly font13.ly font16.ly font20.ly font26.ly gourlay.ly keys.ly kortjakje.ly multi.ly pedal.ly praeludium-fuga-E.ly rhythm.ly scales.ly scripts.ly sleur.ly slurs.ly spacing.ly stem.ly tril.ly twinkle-pop.ly twinkle.ly
+LYFILES = beam-bug.ly beams.ly cadenza.ly collisions.ly coriolan-alto.ly denneboom.ly font-body.ly font.ly font11.ly font13.ly font16.ly font20.ly font26.ly gourlay.ly keys.ly kortjakje.ly multi.ly pedal.ly praeludium-fuga-E.ly rhythm.ly scales.ly scripts.ly sleur.ly slurs.ly spacing.ly stem.ly test-lyrics.ly tril.ly twinkle-pop.ly twinkle.ly
 TEXFILES = dummy.tex
 M4FILES = dummy.m4
 EXTRA_DIST = Makefile.am.wild TODO $(LYFILES) $(TEXFILES) $(M4FILES)
 TEXFILES = dummy.tex
 M4FILES = dummy.m4
 EXTRA_DIST = Makefile.am.wild TODO $(LYFILES) $(TEXFILES) $(M4FILES)
@@ -13,4 +13,4 @@ OUTFILES = $(M4FILES:%.m4=%)
 default: all $(OUTFILES)
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 default: all $(OUTFILES)
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
\ No newline at end of file
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
\ No newline at end of file
index e5e3228abd14de20081cc295ce301c8d1ec18026..b250825e4c101eaacf30444f82c9607b4ea7a32a 100644 (file)
@@ -99,7 +99,7 @@ YACC = @YACC@
 ZIP = @ZIP@
 absolute_builddir = @absolute_builddir@
 
 ZIP = @ZIP@
 absolute_builddir = @absolute_builddir@
 
-LYFILES = beam-bug.ly beams.ly cadenza.ly collisions.ly coriolan-alto.ly denneboom.ly font-body.ly font.ly font11.ly font13.ly font16.ly font20.ly font26.ly gourlay.ly keys.ly kortjakje.ly multi.ly pedal.ly praeludium-fuga-E.ly rhythm.ly scales.ly scripts.ly sleur.ly slurs.ly spacing.ly stem.ly tril.ly twinkle-pop.ly twinkle.ly
+LYFILES = beam-bug.ly beams.ly cadenza.ly collisions.ly coriolan-alto.ly denneboom.ly font-body.ly font.ly font11.ly font13.ly font16.ly font20.ly font26.ly gourlay.ly keys.ly kortjakje.ly multi.ly pedal.ly praeludium-fuga-E.ly rhythm.ly scales.ly scripts.ly sleur.ly slurs.ly spacing.ly stem.ly test-lyrics.ly tril.ly twinkle-pop.ly twinkle.ly
 TEXFILES = dummy.tex
 M4FILES = dummy.m4
 EXTRA_DIST = Makefile.am.wild TODO $(LYFILES) $(TEXFILES) $(M4FILES)
 TEXFILES = dummy.tex
 M4FILES = dummy.m4
 EXTRA_DIST = Makefile.am.wild TODO $(LYFILES) $(TEXFILES) $(M4FILES)
@@ -197,7 +197,7 @@ mostlyclean distclean maintainer-clean
 default: all $(OUTFILES)
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 default: all $(OUTFILES)
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/input/test-lyrics.ly b/input/test-lyrics.ly
new file mode 100644 (file)
index 0000000..7fb5d45
--- /dev/null
@@ -0,0 +1,10 @@
+
+\score
+{
+       < \type Staff 
+               \melodic { \octave c'; c4 e4 g4 e4  c4 e4 g4 e4  c4 e4 g4 e4  c4 e4 g4 e4  }
+       \type Lyrics
+               \lyric { LLLLLLLLLooooongggggggg2 Syyyyyyyyyyyyylllllllaaaaaabbble2 LLLLLLLLLooooongggggggg2 Syyyyyyyyyyyyylllllllaaaaaabbble2 LLLLLLLLLooooongggggggg2 Syyyyyyyyyyyyylllllllaaaaaabbble2 }
+       >
+}
+       
index 527470b7dd1011c813e2b7569ab903e4d18db744..5554677441da4f5d283fbedc906e1c39f0c70cea 100644 (file)
@@ -21,5 +21,7 @@ MODULE_CXXFLAGS += -D_REENTRANT
 
 EXTRA_DIST = Makefile.am.wild
 
 
 EXTRA_DIST = Makefile.am.wild
 
+distclean-local:
+       -rm -rf .deps
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
\ No newline at end of file
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
\ No newline at end of file
index 1bd40b765febb44b1f27ab5f5613f0f3a4b1d168..3185791ed7d9b1bd433ffa013e300be3228bc659 100644 (file)
@@ -18,3 +18,5 @@ MODULE_CXXFLAGS += -D_REENTRANT
 
 EXTRA_DIST = Makefile.am.wild
 
 
 EXTRA_DIST = Makefile.am.wild
 
+distclean-local:
+       -rm -rf .deps
index 76b5a65adfecfb018c06ae7d554f9c1990a1d6f4..e796b2ea38ec6628e6f97dc856ea709f0bc58458 100644 (file)
@@ -507,7 +507,7 @@ mostlyclean:  mostlyclean-recursive mostlyclean-am
 
 clean:  clean-recursive clean-am
 
 
 clean:  clean-recursive clean-am
 
-distclean:  distclean-recursive distclean-am
+distclean:  distclean-recursive distclean-am distclean-local
        -rm -f config.status
        -rm -f libtool
 
        -rm -f config.status
        -rm -f libtool
 
@@ -534,8 +534,10 @@ maintainer-clean-generic clean mostlyclean distclean maintainer-clean
 
 MODULE_CXXFLAGS += -D_REENTRANT
 
 
 MODULE_CXXFLAGS += -D_REENTRANT
 
+distclean-local:
+       -rm -rf .deps
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index caad0633b5d7d052f7efef5658378da1f883a37c..25185ebf6b7a367e9bf01c2024765d1e90b6eadf 100644 (file)
@@ -8,4 +8,4 @@ noinst_HEADERS = binary-source-file.hh duration-convert.hh duration.hh file-stor
 EXTRA_DIST = Makefile.am.wild
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 EXTRA_DIST = Makefile.am.wild
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
\ No newline at end of file
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
\ No newline at end of file
index d265d91c2d04e47492bc46114379a00e0a2d1bec..2efb0f8fc0187bcf0737c8a0151d05279c54891a 100644 (file)
@@ -218,7 +218,7 @@ mostlyclean distclean maintainer-clean
 
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index b245e5a9c6fa7f62bc6ac64dd58c1b918aa1b95d..7262ac7da7ed16e093f2624b504c9fa69091ec44 100644 (file)
@@ -16,7 +16,7 @@ bin_PROGRAMS = lilypond
 # ignoring wildcards for `lexer.cc'
 # ignoring wildcards for `parser.cc'
  
 # ignoring wildcards for `lexer.cc'
 # ignoring wildcards for `parser.cc'
  
-lilypond_SOURCES = abbrev.cc abbreviation-beam-engraver.cc abbreviation-beam.cc atom.cc audio-column.cc audio-element.cc audio-item.cc audio-staff.cc axis-group-administration.cc axis-group-element.cc axis-group-item.cc axis-group-spanner.cc axis.cc bar-column-grav.cc bar-column.cc bar-grav.cc bar-number-grav.cc bar.cc beam-grav.cc beam-swallow-trans.cc beam.cc bow.cc boxes.cc break-align-item.cc break.cc change-iterator.cc change-translator.cc chord-iterator.cc clef-grav.cc clef-item.cc col-info.cc colhpos.cc collision-grav.cc collision.cc command-request.cc crescendo.cc debug.cc dimen.cc directional-spanner.cc dot-column-grav.cc dot-column.cc dots.cc dynamic-grav.cc elem-group.cc engraver-group.cc engraver.cc general-script-def.cc global-translator.cc gourlay-breaking.cc graphical-element.cc grouping.cc head-grav.cc header.cc horizontal-align-item.cc horizontal-group-item.cc horizontal-vertical-group-item.cc idealspacing.cc identifier.cc ineq-constrained-qp.cc item.cc key-grav.cc key-item.cc key-performer.cc key.cc keyword.cc leastsquares.cc lexerinit.cc lily-version.cc line-group-grav.cc line-spacer.cc linear-programming.cc local-key-grav.cc local-key-item.cc lookup.cc lyric-grav.cc lyric-performer.cc main.cc meter-grav.cc meter-performer.cc meter.cc midi-def.cc midi-item.cc midi-stream.cc midi-walker.cc misc.cc molecule.cc music-iterator.cc music-list.cc music-output-def.cc music.cc musical-request.cc my-lily-lexer.cc my-lily-parser.cc note-column.cc note-head.cc note-performer.cc note.cc notename-table.cc offset.cc outputter.cc p-col.cc p-score.cc paper-def.cc performance.cc performer-group-performer.cc performer.cc pitch-squash-grav.cc plet-engraver.cc plet-spanner.cc plet-swallow-engraver.cc priority-halign-grav.cc property-iterator.cc ps-plet.cc qlp.cc qlpsolve.cc request-iterator.cc request.cc rest-collision-grav.cc rest-collision.cc rest-grav.cc rest.cc rhythmic-column-grav.cc rhythmic-head.cc score-bar.cc score-column.cc score-elem-info.cc score-elem.cc score-grav.cc score-performer.cc score-priority-grav.cc score.cc scoreline.cc scores.cc script-column.cc script-def.cc script-grav.cc script.cc slur-grav.cc slur.cc span-bar-grav.cc span-bar.cc span-score-bar-grav.cc span-score-bar.cc spanner.cc spring-spacer.cc staff-info.cc staff-performer.cc staff-side.cc staff-sym-grav.cc staff-sym.cc stem-grav.cc stem-info.cc stem.cc super-elem.cc swallow-grav.cc swallow-perf.cc symtable.cc template1.cc template2.cc template3.cc template4.cc template5.cc template6.cc template7.cc template8.cc tex-beam.cc tex-slur.cc tex-stream.cc tex.cc text-def.cc text-item.cc text-spanner.cc tie-grav.cc tie.cc time-description.cc timing-grav.cc timing-translator.cc translation-property.cc translator-ctors.cc translator-group.cc translator.cc type-swallow-trans.cc version.cc vertical-align-elem.cc vertical-align-grav.cc vertical-align-spanner.cc vertical-group-spanner.cc voice-iterator.cc warn.cc word-wrap.cc lexer.ll parser.yy
+lilypond_SOURCES = abbrev.cc abbreviation-beam-engraver.cc abbreviation-beam.cc atom.cc audio-column.cc audio-element.cc audio-item.cc audio-staff.cc axis-group-administration.cc axis-group-element.cc axis-group-item.cc axis-group-spanner.cc axis.cc bar-column-grav.cc bar-column.cc bar-grav.cc bar-number-grav.cc bar.cc beam-grav.cc beam-swallow-trans.cc beam.cc bow.cc boxes.cc break-align-item.cc break.cc change-iterator.cc change-translator.cc chord-iterator.cc clef-grav.cc clef-item.cc col-info.cc colhpos.cc collision-grav.cc collision.cc command-request.cc crescendo.cc debug.cc dimen.cc directional-spanner.cc dot-column-grav.cc dot-column.cc dots.cc dynamic-grav.cc engraver-group.cc engraver.cc general-script-def.cc global-translator.cc gourlay-breaking.cc graphical-element.cc grouping.cc head-grav.cc header.cc horizontal-align-item.cc horizontal-group-elem.cc horizontal-group-item.cc horizontal-vertical-group-elem.cc horizontal-vertical-group-item.cc idealspacing.cc identifier.cc ineq-constrained-qp.cc item.cc key-grav.cc key-item.cc key-performer.cc key.cc keyword.cc leastsquares.cc lexerinit.cc lily-version.cc line-group-grav.cc line-spacer.cc linear-programming.cc local-key-grav.cc local-key-item.cc lookup.cc lyric-grav.cc lyric-performer.cc main.cc meter-grav.cc meter-performer.cc meter.cc midi-def.cc midi-item.cc midi-stream.cc midi-walker.cc misc.cc molecule.cc music-iterator.cc music-list.cc music-output-def.cc music.cc musical-request.cc my-lily-lexer.cc my-lily-parser.cc note-column.cc note-head.cc note-performer.cc note.cc notename-table.cc offset.cc outputter.cc p-col.cc p-score.cc paper-def.cc performance.cc performer-group-performer.cc performer.cc pitch-squash-grav.cc plet-engraver.cc plet-spanner.cc plet-swallow-engraver.cc priority-halign-grav.cc property-iterator.cc ps-plet.cc qlp.cc qlpsolve.cc request-iterator.cc request.cc rest-collision-grav.cc rest-collision.cc rest-grav.cc rest.cc rhythmic-column-grav.cc rhythmic-head.cc rod.cc score-bar.cc score-column.cc score-elem-info.cc score-elem.cc score-grav.cc score-performer.cc score-priority-grav.cc score.cc scoreline.cc scores.cc script-column.cc script-def.cc script-grav.cc script.cc separating-group-spanner.cc separating-line-group-grav.cc single-malt-grouping-item.cc slur-grav.cc slur.cc span-bar-grav.cc span-bar.cc span-score-bar-grav.cc span-score-bar.cc spanner.cc spring-spacer.cc staff-info.cc staff-performer.cc staff-side.cc staff-sym-grav.cc staff-sym.cc stem-grav.cc stem-info.cc stem.cc super-elem.cc swallow-grav.cc swallow-perf.cc symtable.cc template1.cc template2.cc template3.cc template4.cc template5.cc template6.cc template7.cc template8.cc tex-beam.cc tex-slur.cc tex-stream.cc tex.cc text-def.cc text-item.cc text-spanner.cc tie-grav.cc tie.cc time-description.cc timing-grav.cc timing-translator.cc translation-property.cc translator-ctors.cc translator-group.cc translator.cc type-swallow-trans.cc version.cc vertical-align-elem.cc vertical-align-grav.cc vertical-align-spanner.cc vertical-group-elem.cc vertical-group-spanner.cc voice-iterator.cc warn.cc word-wrap.cc lexer.ll parser.yy
 noinst_HEADERS = parser.hh
 
 #lilypond_LDADD = -llily -lflower @LEXLIB@
 noinst_HEADERS = parser.hh
 
 #lilypond_LDADD = -llily -lflower @LEXLIB@
@@ -24,9 +24,6 @@ lilypond_LDADD = $(top_builddir)/lib/liblily.la $(top_builddir)/flower/libflower
 
 lilypond_LDFLAGS = -L$(absolute_builddir)/lib/.libs -L$(absolute_builddir)/flower/.libs
 
 
 lilypond_LDFLAGS = -L$(absolute_builddir)/lib/.libs -L$(absolute_builddir)/flower/.libs
 
-
-
 INCLUDES =  -I$(srcdir)/include -I$(srcdir)/../lib/include -I$(srcdir)/../flower/include 
 
 EXTRA_DIST = Makefile.am.wild GNUmakefile Stable.make VERSION
 INCLUDES =  -I$(srcdir)/include -I$(srcdir)/../lib/include -I$(srcdir)/../flower/include 
 
 EXTRA_DIST = Makefile.am.wild GNUmakefile Stable.make VERSION
@@ -51,5 +48,7 @@ all-am: Makefile $(PROGRAMS) wild-check
 # dummy target for non-GNU makes; is overridden in GNUmakefile
 wild-check:
 
 # dummy target for non-GNU makes; is overridden in GNUmakefile
 wild-check:
 
+distclean-local:
+       -rm -rf .deps
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
\ No newline at end of file
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
\ No newline at end of file
index b7584ca7bfeed32006bbdddf1d70a67875c5a022..f5050d47d044557b31c34355970cf829a94e00de 100644 (file)
@@ -20,9 +20,6 @@ lilypond_LDADD = $(top_builddir)/lib/liblily.la $(top_builddir)/flower/libflower
 
 lilypond_LDFLAGS = -L$(absolute_builddir)/lib/.libs -L$(absolute_builddir)/flower/.libs
 
 
 lilypond_LDFLAGS = -L$(absolute_builddir)/lib/.libs -L$(absolute_builddir)/flower/.libs
 
-
-
 INCLUDES =  -I$(srcdir)/include -I$(srcdir)/../lib/include -I$(srcdir)/../flower/include 
 
 EXTRA_DIST = Makefile.am.wild GNUmakefile Stable.make VERSION
 INCLUDES =  -I$(srcdir)/include -I$(srcdir)/../lib/include -I$(srcdir)/../flower/include 
 
 EXTRA_DIST = Makefile.am.wild GNUmakefile Stable.make VERSION
@@ -47,3 +44,5 @@ all-am: Makefile $(PROGRAMS) wild-check
 # dummy target for non-GNU makes; is overridden in GNUmakefile
 wild-check:
 
 # dummy target for non-GNU makes; is overridden in GNUmakefile
 wild-check:
 
+distclean-local:
+       -rm -rf .deps
index 7440c2f3e87945aa899589ee6c556f4648ba9e12..f847d9f7f35dc906ca50c595138731c10e48fbef 100644 (file)
@@ -112,7 +112,7 @@ bin_PROGRAMS = lilypond
 # ignoring wildcards for `lexer.cc'
 # ignoring wildcards for `parser.cc'
 
 # ignoring wildcards for `lexer.cc'
 # ignoring wildcards for `parser.cc'
 
-lilypond_SOURCES = abbrev.cc abbreviation-beam-engraver.cc abbreviation-beam.cc atom.cc audio-column.cc audio-element.cc audio-item.cc audio-staff.cc axis-group-administration.cc axis-group-element.cc axis-group-item.cc axis-group-spanner.cc axis.cc bar-column-grav.cc bar-column.cc bar-grav.cc bar-number-grav.cc bar.cc beam-grav.cc beam-swallow-trans.cc beam.cc bow.cc boxes.cc break-align-item.cc break.cc change-iterator.cc change-translator.cc chord-iterator.cc clef-grav.cc clef-item.cc col-info.cc colhpos.cc collision-grav.cc collision.cc command-request.cc crescendo.cc debug.cc dimen.cc directional-spanner.cc dot-column-grav.cc dot-column.cc dots.cc dynamic-grav.cc elem-group.cc engraver-group.cc engraver.cc general-script-def.cc global-translator.cc gourlay-breaking.cc graphical-element.cc grouping.cc head-grav.cc header.cc horizontal-align-item.cc horizontal-group-item.cc horizontal-vertical-group-item.cc idealspacing.cc identifier.cc ineq-constrained-qp.cc item.cc key-grav.cc key-item.cc key-performer.cc key.cc keyword.cc leastsquares.cc lexerinit.cc lily-version.cc line-group-grav.cc line-spacer.cc linear-programming.cc local-key-grav.cc local-key-item.cc lookup.cc lyric-grav.cc lyric-performer.cc main.cc meter-grav.cc meter-performer.cc meter.cc midi-def.cc midi-item.cc midi-stream.cc midi-walker.cc misc.cc molecule.cc music-iterator.cc music-list.cc music-output-def.cc music.cc musical-request.cc my-lily-lexer.cc my-lily-parser.cc note-column.cc note-head.cc note-performer.cc note.cc notename-table.cc offset.cc outputter.cc p-col.cc p-score.cc paper-def.cc performance.cc performer-group-performer.cc performer.cc pitch-squash-grav.cc plet-engraver.cc plet-spanner.cc plet-swallow-engraver.cc priority-halign-grav.cc property-iterator.cc ps-plet.cc qlp.cc qlpsolve.cc request-iterator.cc request.cc rest-collision-grav.cc rest-collision.cc rest-grav.cc rest.cc rhythmic-column-grav.cc rhythmic-head.cc score-bar.cc score-column.cc score-elem-info.cc score-elem.cc score-grav.cc score-performer.cc score-priority-grav.cc score.cc scoreline.cc scores.cc script-column.cc script-def.cc script-grav.cc script.cc slur-grav.cc slur.cc span-bar-grav.cc span-bar.cc span-score-bar-grav.cc span-score-bar.cc spanner.cc spring-spacer.cc staff-info.cc staff-performer.cc staff-side.cc staff-sym-grav.cc staff-sym.cc stem-grav.cc stem-info.cc stem.cc super-elem.cc swallow-grav.cc swallow-perf.cc symtable.cc template1.cc template2.cc template3.cc template4.cc template5.cc template6.cc template7.cc template8.cc tex-beam.cc tex-slur.cc tex-stream.cc tex.cc text-def.cc text-item.cc text-spanner.cc tie-grav.cc tie.cc time-description.cc timing-grav.cc timing-translator.cc translation-property.cc translator-ctors.cc translator-group.cc translator.cc type-swallow-trans.cc version.cc vertical-align-elem.cc vertical-align-grav.cc vertical-align-spanner.cc vertical-group-spanner.cc voice-iterator.cc warn.cc word-wrap.cc lexer.ll parser.yy
+lilypond_SOURCES = abbrev.cc abbreviation-beam-engraver.cc abbreviation-beam.cc atom.cc audio-column.cc audio-element.cc audio-item.cc audio-staff.cc axis-group-administration.cc axis-group-element.cc axis-group-item.cc axis-group-spanner.cc axis.cc bar-column-grav.cc bar-column.cc bar-grav.cc bar-number-grav.cc bar.cc beam-grav.cc beam-swallow-trans.cc beam.cc bow.cc boxes.cc break-align-item.cc break.cc change-iterator.cc change-translator.cc chord-iterator.cc clef-grav.cc clef-item.cc col-info.cc colhpos.cc collision-grav.cc collision.cc command-request.cc crescendo.cc debug.cc dimen.cc directional-spanner.cc dot-column-grav.cc dot-column.cc dots.cc dynamic-grav.cc engraver-group.cc engraver.cc general-script-def.cc global-translator.cc gourlay-breaking.cc graphical-element.cc grouping.cc head-grav.cc header.cc horizontal-align-item.cc horizontal-group-elem.cc horizontal-group-item.cc horizontal-vertical-group-elem.cc horizontal-vertical-group-item.cc idealspacing.cc identifier.cc ineq-constrained-qp.cc item.cc key-grav.cc key-item.cc key-performer.cc key.cc keyword.cc leastsquares.cc lexerinit.cc lily-version.cc line-group-grav.cc line-spacer.cc linear-programming.cc local-key-grav.cc local-key-item.cc lookup.cc lyric-grav.cc lyric-performer.cc main.cc meter-grav.cc meter-performer.cc meter.cc midi-def.cc midi-item.cc midi-stream.cc midi-walker.cc misc.cc molecule.cc music-iterator.cc music-list.cc music-output-def.cc music.cc musical-request.cc my-lily-lexer.cc my-lily-parser.cc note-column.cc note-head.cc note-performer.cc note.cc notename-table.cc offset.cc outputter.cc p-col.cc p-score.cc paper-def.cc performance.cc performer-group-performer.cc performer.cc pitch-squash-grav.cc plet-engraver.cc plet-spanner.cc plet-swallow-engraver.cc priority-halign-grav.cc property-iterator.cc ps-plet.cc qlp.cc qlpsolve.cc request-iterator.cc request.cc rest-collision-grav.cc rest-collision.cc rest-grav.cc rest.cc rhythmic-column-grav.cc rhythmic-head.cc rod.cc score-bar.cc score-column.cc score-elem-info.cc score-elem.cc score-grav.cc score-performer.cc score-priority-grav.cc score.cc scoreline.cc scores.cc script-column.cc script-def.cc script-grav.cc script.cc separating-group-spanner.cc separating-line-group-grav.cc single-malt-grouping-item.cc slur-grav.cc slur.cc span-bar-grav.cc span-bar.cc span-score-bar-grav.cc span-score-bar.cc spanner.cc spring-spacer.cc staff-info.cc staff-performer.cc staff-side.cc staff-sym-grav.cc staff-sym.cc stem-grav.cc stem-info.cc stem.cc super-elem.cc swallow-grav.cc swallow-perf.cc symtable.cc template1.cc template2.cc template3.cc template4.cc template5.cc template6.cc template7.cc template8.cc tex-beam.cc tex-slur.cc tex-stream.cc tex.cc text-def.cc text-item.cc text-spanner.cc tie-grav.cc tie.cc time-description.cc timing-grav.cc timing-translator.cc translation-property.cc translator-ctors.cc translator-group.cc translator.cc type-swallow-trans.cc version.cc vertical-align-elem.cc vertical-align-grav.cc vertical-align-spanner.cc vertical-group-elem.cc vertical-group-spanner.cc voice-iterator.cc warn.cc word-wrap.cc lexer.ll parser.yy
 noinst_HEADERS = parser.hh
 
 #lilypond_LDADD = -llily -lflower @LEXLIB@
 noinst_HEADERS = parser.hh
 
 #lilypond_LDADD = -llily -lflower @LEXLIB@
@@ -141,29 +141,31 @@ beam-swallow-trans.o beam.o bow.o boxes.o break-align-item.o break.o \
 change-iterator.o change-translator.o chord-iterator.o clef-grav.o \
 clef-item.o col-info.o colhpos.o collision-grav.o collision.o \
 command-request.o crescendo.o debug.o dimen.o directional-spanner.o \
 change-iterator.o change-translator.o chord-iterator.o clef-grav.o \
 clef-item.o col-info.o colhpos.o collision-grav.o collision.o \
 command-request.o crescendo.o debug.o dimen.o directional-spanner.o \
-dot-column-grav.o dot-column.o dots.o dynamic-grav.o elem-group.o \
-engraver-group.o engraver.o general-script-def.o global-translator.o \
-gourlay-breaking.o graphical-element.o grouping.o head-grav.o header.o \
-horizontal-align-item.o horizontal-group-item.o \
-horizontal-vertical-group-item.o idealspacing.o identifier.o \
-ineq-constrained-qp.o item.o key-grav.o key-item.o key-performer.o \
-key.o keyword.o leastsquares.o lexerinit.o lily-version.o \
-line-group-grav.o line-spacer.o linear-programming.o local-key-grav.o \
-local-key-item.o lookup.o lyric-grav.o lyric-performer.o main.o \
-meter-grav.o meter-performer.o meter.o midi-def.o midi-item.o \
-midi-stream.o midi-walker.o misc.o molecule.o music-iterator.o \
-music-list.o music-output-def.o music.o musical-request.o \
-my-lily-lexer.o my-lily-parser.o note-column.o note-head.o \
-note-performer.o note.o notename-table.o offset.o outputter.o p-col.o \
-p-score.o paper-def.o performance.o performer-group-performer.o \
-performer.o pitch-squash-grav.o plet-engraver.o plet-spanner.o \
-plet-swallow-engraver.o priority-halign-grav.o property-iterator.o \
-ps-plet.o qlp.o qlpsolve.o request-iterator.o request.o \
-rest-collision-grav.o rest-collision.o rest-grav.o rest.o \
-rhythmic-column-grav.o rhythmic-head.o score-bar.o score-column.o \
-score-elem-info.o score-elem.o score-grav.o score-performer.o \
-score-priority-grav.o score.o scoreline.o scores.o script-column.o \
-script-def.o script-grav.o script.o slur-grav.o slur.o span-bar-grav.o \
+dot-column-grav.o dot-column.o dots.o dynamic-grav.o engraver-group.o \
+engraver.o general-script-def.o global-translator.o gourlay-breaking.o \
+graphical-element.o grouping.o head-grav.o header.o \
+horizontal-align-item.o horizontal-group-elem.o horizontal-group-item.o \
+horizontal-vertical-group-elem.o horizontal-vertical-group-item.o \
+idealspacing.o identifier.o ineq-constrained-qp.o item.o key-grav.o \
+key-item.o key-performer.o key.o keyword.o leastsquares.o lexerinit.o \
+lily-version.o line-group-grav.o line-spacer.o linear-programming.o \
+local-key-grav.o local-key-item.o lookup.o lyric-grav.o \
+lyric-performer.o main.o meter-grav.o meter-performer.o meter.o \
+midi-def.o midi-item.o midi-stream.o midi-walker.o misc.o molecule.o \
+music-iterator.o music-list.o music-output-def.o music.o \
+musical-request.o my-lily-lexer.o my-lily-parser.o note-column.o \
+note-head.o note-performer.o note.o notename-table.o offset.o \
+outputter.o p-col.o p-score.o paper-def.o performance.o \
+performer-group-performer.o performer.o pitch-squash-grav.o \
+plet-engraver.o plet-spanner.o plet-swallow-engraver.o \
+priority-halign-grav.o property-iterator.o ps-plet.o qlp.o qlpsolve.o \
+request-iterator.o request.o rest-collision-grav.o rest-collision.o \
+rest-grav.o rest.o rhythmic-column-grav.o rhythmic-head.o rod.o \
+score-bar.o score-column.o score-elem-info.o score-elem.o score-grav.o \
+score-performer.o score-priority-grav.o score.o scoreline.o scores.o \
+script-column.o script-def.o script-grav.o script.o \
+separating-group-spanner.o separating-line-group-grav.o \
+single-malt-grouping-item.o slur-grav.o slur.o span-bar-grav.o \
 span-bar.o span-score-bar-grav.o span-score-bar.o spanner.o \
 spring-spacer.o staff-info.o staff-performer.o staff-side.o \
 staff-sym-grav.o staff-sym.o stem-grav.o stem-info.o stem.o \
 span-bar.o span-score-bar-grav.o span-score-bar.o spanner.o \
 spring-spacer.o staff-info.o staff-performer.o staff-side.o \
 staff-sym-grav.o staff-sym.o stem-grav.o stem-info.o stem.o \
@@ -174,8 +176,8 @@ text-item.o text-spanner.o tie-grav.o tie.o time-description.o \
 timing-grav.o timing-translator.o translation-property.o \
 translator-ctors.o translator-group.o translator.o type-swallow-trans.o \
 version.o vertical-align-elem.o vertical-align-grav.o \
 timing-grav.o timing-translator.o translation-property.o \
 translator-ctors.o translator-group.o translator.o type-swallow-trans.o \
 version.o vertical-align-elem.o vertical-align-grav.o \
-vertical-align-spanner.o vertical-group-spanner.o voice-iterator.o \
-warn.o word-wrap.o lexer.o parser.o
+vertical-align-spanner.o vertical-group-elem.o vertical-group-spanner.o \
+voice-iterator.o warn.o word-wrap.o lexer.o parser.o
 lilypond_DEPENDENCIES =  $(top_builddir)/lib/liblily.la \
 $(top_builddir)/flower/libflower.la
 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
 lilypond_DEPENDENCIES =  $(top_builddir)/lib/liblily.la \
 $(top_builddir)/flower/libflower.la
 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
@@ -389,7 +391,7 @@ abbrev.o: abbrev.cc include/abbrev.hh include/item.hh include/boxes.hh \
        include/direction.hh include/debug.hh \
        ../flower/include/dstream.hh ../lib/include/warn.hh \
        include/beam.hh include/directional-spanner.hh \
        include/direction.hh include/debug.hh \
        ../flower/include/dstream.hh ../lib/include/warn.hh \
        include/beam.hh include/directional-spanner.hh \
-       include/spanner.hh ../flower/include/plist.hh \
+       include/spanner.hh include/rod.hh ../flower/include/plist.hh \
        ../flower/include/list.hh ../flower/include/list.icc \
        ../flower/include/cursor.hh ../flower/include/link.hh \
        ../flower/include/link.icc ../flower/include/pcursor.hh \
        ../flower/include/list.hh ../flower/include/list.icc \
        ../flower/include/cursor.hh ../flower/include/link.hh \
        ../flower/include/link.icc ../flower/include/pcursor.hh \
@@ -429,9 +431,11 @@ abbreviation-beam-engraver.o: abbreviation-beam-engraver.cc \
        ../flower/include/iterate.hh ../flower/include/plist.icc \
        include/abbreviation-beam.hh include/beam.hh \
        include/directional-spanner.hh include/spanner.hh \
        ../flower/include/iterate.hh ../flower/include/plist.icc \
        include/abbreviation-beam.hh include/beam.hh \
        include/directional-spanner.hh include/spanner.hh \
-       include/musical-request.hh include/misc.hh include/grouping.hh
+       include/rod.hh include/musical-request.hh include/misc.hh \
+       include/grouping.hh
 abbreviation-beam.o: abbreviation-beam.cc include/p-col.hh \
 abbreviation-beam.o: abbreviation-beam.cc include/p-col.hh \
-       include/horizontal-group-item.hh include/elem-group.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
        include/score-elem.hh ../flower/include/parray.hh \
        ../flower/include/varray.hh \
        ../flower/include/virtual-methods.hh \
        include/score-elem.hh ../flower/include/parray.hh \
        ../flower/include/varray.hh \
        ../flower/include/virtual-methods.hh \
@@ -443,7 +447,7 @@ abbreviation-beam.o: abbreviation-beam.cc include/p-col.hh \
        ../flower/include/fproto.hh ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
        ../flower/include/fproto.hh ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
-       ../flower/include/interval.hh include/axis-group-element.hh \
+       ../flower/include/interval.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/direction.hh ../flower/include/plist.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/direction.hh ../flower/include/plist.hh \
@@ -451,7 +455,7 @@ abbreviation-beam.o: abbreviation-beam.cc include/p-col.hh \
        ../flower/include/cursor.hh ../flower/include/link.hh \
        ../flower/include/link.icc ../flower/include/pcursor.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
        ../flower/include/cursor.hh ../flower/include/link.hh \
        ../flower/include/link.icc ../flower/include/pcursor.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
-       ../flower/include/plist.icc include/dimen.hh \
+       ../flower/include/plist.icc include/rod.hh include/dimen.hh \
        include/abbreviation-beam.hh include/beam.hh \
        include/directional-spanner.hh include/spanner.hh \
        include/misc.hh ../lib/include/moment.hh \
        include/abbreviation-beam.hh include/beam.hh \
        include/directional-spanner.hh include/spanner.hh \
        include/misc.hh ../lib/include/moment.hh \
@@ -579,12 +583,12 @@ axis-group-item.o: axis-group-item.cc include/axis-group-item.hh \
        include/axis-group-administration.hh include/item.hh \
        include/boxes.hh include/drul-array.hh include/direction.hh \
        include/p-col.hh include/horizontal-group-item.hh \
        include/axis-group-administration.hh include/item.hh \
        include/boxes.hh include/drul-array.hh include/direction.hh \
        include/p-col.hh include/horizontal-group-item.hh \
-       include/elem-group.hh ../flower/include/plist.hh \
+       include/horizontal-group-elem.hh ../flower/include/plist.hh \
        ../flower/include/list.hh ../flower/include/list.icc \
        ../flower/include/cursor.hh ../flower/include/link.hh \
        ../flower/include/link.icc ../flower/include/pcursor.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
        ../flower/include/list.hh ../flower/include/list.icc \
        ../flower/include/cursor.hh ../flower/include/link.hh \
        ../flower/include/link.icc ../flower/include/pcursor.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
-       ../flower/include/plist.icc
+       ../flower/include/plist.icc include/rod.hh
 axis-group-spanner.o: axis-group-spanner.cc \
        include/axis-group-spanner.hh include/spanner.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
 axis-group-spanner.o: axis-group-spanner.cc \
        include/axis-group-spanner.hh include/spanner.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
@@ -599,16 +603,17 @@ axis-group-spanner.o: axis-group-spanner.cc \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        ../flower/include/interval.hh include/drul-array.hh \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        ../flower/include/interval.hh include/drul-array.hh \
-       include/direction.hh include/axis-group-element.hh \
+       include/direction.hh include/rod.hh \
+       include/axis-group-element.hh \
        include/axis-group-administration.hh include/item.hh \
        include/boxes.hh include/p-col.hh \
        include/axis-group-administration.hh include/item.hh \
        include/boxes.hh include/p-col.hh \
-       include/horizontal-group-item.hh include/elem-group.hh \
-       include/axis-group-item.hh ../flower/include/plist.hh \
-       ../flower/include/list.hh ../flower/include/list.icc \
-       ../flower/include/cursor.hh ../flower/include/link.hh \
-       ../flower/include/link.icc ../flower/include/pcursor.hh \
-       ../flower/include/cursor.icc ../flower/include/iterate.hh \
-       ../flower/include/plist.icc
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-item.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc
 axis.o: axis.cc include/axes.hh ../flower/include/string.hh \
        ../flower/include/arithmetic-operator.hh \
        ../flower/include/fproto.hh ../flower/include/real.hh \
 axis.o: axis.cc include/axes.hh ../flower/include/string.hh \
        ../flower/include/arithmetic-operator.hh \
        ../flower/include/fproto.hh ../flower/include/real.hh \
@@ -636,7 +641,9 @@ bar-column-grav.o: bar-column-grav.cc include/bar-column-grav.hh \
        include/score-elem.hh ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
        include/axis-group-administration.hh include/item.hh \
        include/score-elem.hh ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
        include/axis-group-administration.hh include/item.hh \
-       include/boxes.hh include/drul-array.hh include/elem-group.hh \
+       include/boxes.hh include/drul-array.hh \
+       include/horizontal-vertical-group-elem.hh \
+       include/vertical-group-elem.hh include/horizontal-group-elem.hh \
        include/script.hh include/staff-side.hh include/bar.hh
 bar-column.o: bar-column.cc include/bar.hh include/item.hh \
        include/boxes.hh ../flower/include/fproto.hh \
        include/script.hh include/staff-side.hh include/bar.hh
 bar-column.o: bar-column.cc include/bar.hh include/item.hh \
        include/boxes.hh ../flower/include/fproto.hh \
@@ -655,7 +662,9 @@ bar-column.o: bar-column.cc include/bar.hh include/item.hh \
        include/script-column.hh \
        include/horizontal-vertical-group-item.hh \
        include/axis-group-item.hh include/axis-group-element.hh \
        include/script-column.hh \
        include/horizontal-vertical-group-item.hh \
        include/axis-group-item.hh include/axis-group-element.hh \
-       include/axis-group-administration.hh include/elem-group.hh
+       include/axis-group-administration.hh \
+       include/horizontal-vertical-group-elem.hh \
+       include/vertical-group-elem.hh include/horizontal-group-elem.hh
 bar-grav.o: bar-grav.cc include/bar-grav.hh include/engraver.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
        ../flower/include/fproto.hh ../flower/include/real.hh \
 bar-grav.o: bar-grav.cc include/bar-grav.hh include/engraver.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
        ../flower/include/fproto.hh ../flower/include/real.hh \
@@ -758,10 +767,10 @@ beam-grav.o: beam-grav.cc ../lib/include/duration-convert.hh \
        ../flower/include/pcursor.hh ../flower/include/cursor.icc \
        ../flower/include/iterate.hh ../flower/include/plist.icc \
        include/beam.hh include/directional-spanner.hh \
        ../flower/include/pcursor.hh ../flower/include/cursor.icc \
        ../flower/include/iterate.hh ../flower/include/plist.icc \
        include/beam.hh include/directional-spanner.hh \
-       include/spanner.hh include/musical-request.hh \
+       include/spanner.hh include/rod.hh include/musical-request.hh \
        include/grouping.hh include/p-col.hh \
        include/grouping.hh include/p-col.hh \
-       include/horizontal-group-item.hh include/elem-group.hh \
-       include/axis-group-element.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
        include/axis-group-administration.hh include/axis-group-item.hh
 beam-swallow-trans.o: beam-swallow-trans.cc \
        include/type-swallow-trans.hh include/translator.hh \
        include/axis-group-administration.hh include/axis-group-item.hh
 beam-swallow-trans.o: beam-swallow-trans.cc \
        include/type-swallow-trans.hh include/translator.hh \
@@ -781,8 +790,9 @@ beam-swallow-trans.o: beam-swallow-trans.cc \
        ../flower/include/interval.hh include/direction.hh \
        ../lib/include/duration.hh ../lib/include/plet.hh
 beam.o: beam.cc include/p-col.hh include/horizontal-group-item.hh \
        ../flower/include/interval.hh include/direction.hh \
        ../lib/include/duration.hh ../lib/include/plet.hh
 beam.o: beam.cc include/p-col.hh include/horizontal-group-item.hh \
-       include/elem-group.hh include/score-elem.hh \
-       ../flower/include/parray.hh ../flower/include/varray.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
        ../flower/include/virtual-methods.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh \
        ../flower/include/virtual-methods.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh \
@@ -792,7 +802,7 @@ beam.o: beam.cc include/p-col.hh include/horizontal-group-item.hh \
        ../flower/include/fproto.hh ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
        ../flower/include/fproto.hh ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
-       ../flower/include/interval.hh include/axis-group-element.hh \
+       ../flower/include/interval.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/direction.hh ../flower/include/plist.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/direction.hh ../flower/include/plist.hh \
@@ -800,9 +810,9 @@ beam.o: beam.cc include/p-col.hh include/horizontal-group-item.hh \
        ../flower/include/cursor.hh ../flower/include/link.hh \
        ../flower/include/link.icc ../flower/include/pcursor.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
        ../flower/include/cursor.hh ../flower/include/link.hh \
        ../flower/include/link.icc ../flower/include/pcursor.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
-       ../flower/include/plist.icc include/dimen.hh include/beam.hh \
-       include/directional-spanner.hh include/spanner.hh \
-       include/abbreviation-beam.hh include/misc.hh \
+       ../flower/include/plist.icc include/rod.hh include/dimen.hh \
+       include/beam.hh include/directional-spanner.hh \
+       include/spanner.hh include/abbreviation-beam.hh include/misc.hh \
        ../lib/include/moment.hh ../flower/include/rational.hh \
        ../flower/include/scalar.hh include/grouping.hh \
        include/minterval.hh include/debug.hh \
        ../lib/include/moment.hh ../flower/include/rational.hh \
        ../flower/include/scalar.hh include/grouping.hh \
        include/minterval.hh include/debug.hh \
@@ -825,7 +835,7 @@ bow.o: bow.cc include/bow.hh include/directional-spanner.hh \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        ../flower/include/interval.hh include/drul-array.hh \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        ../flower/include/interval.hh include/drul-array.hh \
-       include/direction.hh include/paper-def.hh \
+       include/direction.hh include/rod.hh include/paper-def.hh \
        ../lib/include/moment.hh ../flower/include/rational.hh \
        include/music-output-def.hh ../flower/include/plist.hh \
        ../flower/include/list.hh ../flower/include/list.icc \
        ../lib/include/moment.hh ../flower/include/rational.hh \
        include/music-output-def.hh ../flower/include/plist.hh \
        ../flower/include/list.hh ../flower/include/list.icc \
@@ -843,35 +853,35 @@ boxes.o: boxes.cc include/boxes.hh ../flower/include/fproto.hh \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/varray.hh
 break-align-item.o: break-align-item.cc include/break-align-item.hh \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/varray.hh
 break-align-item.o: break-align-item.cc include/break-align-item.hh \
-       include/horizontal-align-item.hh include/elem-group.hh \
-       include/score-elem.hh ../flower/include/parray.hh \
-       ../flower/include/varray.hh \
-       ../flower/include/virtual-methods.hh \
-       ../flower/include/directed-graph.hh \
-       include/graphical-element.hh include/offset.hh \
-       ../flower/include/real.hh include/axes.hh \
+       include/horizontal-align-item.hh include/item.hh \
+       include/boxes.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/interval.hh \
+       ../flower/include/compare.hh include/offset.hh include/axes.hh \
        ../flower/include/string.hh \
        ../flower/include/arithmetic-operator.hh \
        ../flower/include/string.hh \
        ../flower/include/arithmetic-operator.hh \
-       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
-       ../flower/include/international.hh ../flower/include/compare.hh \
-       include/lily-proto.hh ../lib/include/proto.hh \
-       ../flower/include/interval.hh include/axis-group-element.hh \
-       include/axis-group-administration.hh include/item.hh \
-       include/boxes.hh include/drul-array.hh include/direction.hh
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/drul-array.hh \
+       include/direction.hh
 break.o: break.cc include/score-column.hh include/lily-proto.hh \
        ../lib/include/proto.hh ../flower/include/fproto.hh \
        ../flower/include/real.hh ../flower/include/varray.hh \
        ../lib/include/moment.hh ../flower/include/rational.hh \
        ../flower/include/compare.hh \
        ../flower/include/arithmetic-operator.hh include/p-col.hh \
 break.o: break.cc include/score-column.hh include/lily-proto.hh \
        ../lib/include/proto.hh ../flower/include/fproto.hh \
        ../flower/include/real.hh ../flower/include/varray.hh \
        ../lib/include/moment.hh ../flower/include/rational.hh \
        ../flower/include/compare.hh \
        ../flower/include/arithmetic-operator.hh include/p-col.hh \
-       include/horizontal-group-item.hh include/elem-group.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
        include/score-elem.hh ../flower/include/parray.hh \
        ../flower/include/virtual-methods.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
        ../flower/include/string.hh ../flower/include/string-handle.hh \
        ../flower/include/international.hh \
        include/score-elem.hh ../flower/include/parray.hh \
        ../flower/include/virtual-methods.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
        ../flower/include/string.hh ../flower/include/string-handle.hh \
        ../flower/include/international.hh \
-       ../flower/include/interval.hh include/axis-group-element.hh \
+       ../flower/include/interval.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/direction.hh ../flower/include/plist.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/direction.hh ../flower/include/plist.hh \
@@ -879,14 +889,14 @@ break.o: break.cc include/score-column.hh include/lily-proto.hh \
        ../flower/include/cursor.hh ../flower/include/link.hh \
        ../flower/include/link.icc ../flower/include/pcursor.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
        ../flower/include/cursor.hh ../flower/include/link.hh \
        ../flower/include/link.icc ../flower/include/pcursor.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
-       ../flower/include/plist.icc include/break.hh include/colhpos.hh \
-       include/paper-def.hh include/music-output-def.hh \
-       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
-       include/line-spacer.hh ../flower/include/vector.hh \
-       include/debug.hh ../flower/include/dstream.hh \
-       ../lib/include/warn.hh include/scoreline.hh include/spanner.hh \
-       include/p-score.hh include/music-output.hh \
-       ../flower/include/cpu-timer.hh
+       ../flower/include/plist.icc include/rod.hh include/break.hh \
+       include/colhpos.hh include/paper-def.hh \
+       include/music-output-def.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh include/line-spacer.hh \
+       ../flower/include/vector.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/scoreline.hh include/spanner.hh include/p-score.hh \
+       include/music-output.hh ../flower/include/cpu-timer.hh
 change-iterator.o: change-iterator.cc include/change-iterator.hh \
        include/music-iterator.hh include/lily-proto.hh \
        ../lib/include/proto.hh ../flower/include/fproto.hh \
 change-iterator.o: change-iterator.cc include/change-iterator.hh \
        include/music-iterator.hh include/lily-proto.hh \
        ../lib/include/proto.hh ../flower/include/fproto.hh \
@@ -995,7 +1005,8 @@ clef-item.o: clef-item.cc include/clef-item.hh include/item.hh \
        include/score-elem-info.hh include/staff-info.hh \
        include/translator.hh
 col-info.o: col-info.cc include/p-col.hh \
        include/score-elem-info.hh include/staff-info.hh \
        include/translator.hh
 col-info.o: col-info.cc include/p-col.hh \
-       include/horizontal-group-item.hh include/elem-group.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
        include/score-elem.hh ../flower/include/parray.hh \
        ../flower/include/varray.hh \
        ../flower/include/virtual-methods.hh \
        include/score-elem.hh ../flower/include/parray.hh \
        ../flower/include/varray.hh \
        ../flower/include/virtual-methods.hh \
@@ -1007,7 +1018,7 @@ col-info.o: col-info.cc include/p-col.hh \
        ../flower/include/fproto.hh ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
        ../flower/include/fproto.hh ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
-       ../flower/include/interval.hh include/axis-group-element.hh \
+       ../flower/include/interval.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/direction.hh ../flower/include/plist.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/direction.hh ../flower/include/plist.hh \
@@ -1015,9 +1026,10 @@ col-info.o: col-info.cc include/p-col.hh \
        ../flower/include/cursor.hh ../flower/include/link.hh \
        ../flower/include/link.icc ../flower/include/pcursor.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
        ../flower/include/cursor.hh ../flower/include/link.hh \
        ../flower/include/link.icc ../flower/include/pcursor.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
-       ../flower/include/plist.icc include/col-info.hh \
-       ../flower/include/pointer.hh include/debug.hh \
-       ../flower/include/dstream.hh ../lib/include/warn.hh
+       ../flower/include/plist.icc include/rod.hh include/col-info.hh \
+       ../flower/include/pointer.hh ../flower/include/assoc.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh
 colhpos.o: colhpos.cc include/colhpos.hh ../flower/include/varray.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
        ../flower/include/fproto.hh ../flower/include/real.hh \
 colhpos.o: colhpos.cc include/colhpos.hh ../flower/include/varray.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
        ../flower/include/fproto.hh ../flower/include/real.hh \
@@ -1044,7 +1056,9 @@ collision-grav.o: collision-grav.cc include/note-column.hh \
        include/direction.hh include/script-column.hh \
        include/horizontal-vertical-group-item.hh \
        include/axis-group-item.hh include/axis-group-element.hh \
        include/direction.hh include/script-column.hh \
        include/horizontal-vertical-group-item.hh \
        include/axis-group-item.hh include/axis-group-element.hh \
-       include/axis-group-administration.hh include/elem-group.hh \
+       include/axis-group-administration.hh \
+       include/horizontal-vertical-group-elem.hh \
+       include/vertical-group-elem.hh include/horizontal-group-elem.hh \
        include/collision-grav.hh include/engraver.hh \
        include/request.hh ../lib/include/moment.hh \
        ../flower/include/rational.hh ../lib/include/input.hh \
        include/collision-grav.hh include/engraver.hh \
        include/request.hh ../lib/include/moment.hh \
        ../flower/include/rational.hh ../lib/include/input.hh \
@@ -1071,17 +1085,18 @@ collision.o: collision.cc include/debug.hh ../flower/include/dstream.hh \
        ../flower/include/interval.hh \
        include/axis-group-administration.hh include/item.hh \
        include/boxes.hh include/drul-array.hh include/direction.hh \
        ../flower/include/interval.hh \
        include/axis-group-administration.hh include/item.hh \
        include/boxes.hh include/drul-array.hh include/direction.hh \
-       include/elem-group.hh include/note-column.hh \
-       include/script-column.hh include/note-head.hh \
-       include/rhythmic-head.hh include/paper-def.hh \
-       ../lib/include/moment.hh ../flower/include/rational.hh \
-       include/music-output-def.hh ../flower/include/plist.hh \
-       ../flower/include/list.hh ../flower/include/list.icc \
-       ../flower/include/cursor.hh ../flower/include/link.hh \
-       ../flower/include/link.icc ../flower/include/pcursor.hh \
-       ../flower/include/cursor.icc ../flower/include/iterate.hh \
-       ../flower/include/plist.icc ../flower/include/dictionary.hh \
-       ../flower/include/assoc.hh
+       include/horizontal-vertical-group-elem.hh \
+       include/vertical-group-elem.hh include/horizontal-group-elem.hh \
+       include/note-column.hh include/script-column.hh \
+       include/note-head.hh include/rhythmic-head.hh \
+       include/paper-def.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh include/music-output-def.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh
 command-request.o: command-request.cc include/command-request.hh \
        include/request.hh ../flower/include/string.hh \
        ../flower/include/arithmetic-operator.hh \
 command-request.o: command-request.cc include/command-request.hh \
        include/request.hh ../flower/include/string.hh \
        ../flower/include/arithmetic-operator.hh \
@@ -1115,15 +1130,15 @@ crescendo.o: crescendo.cc include/molecule.hh include/lily-proto.hh \
        ../flower/include/virtual-methods.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/spanner.hh \
        ../flower/include/virtual-methods.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/spanner.hh \
-       include/drul-array.hh include/lookup.hh include/atom.hh \
-       ../flower/include/scalar.hh include/paper-def.hh \
-       ../lib/include/moment.hh ../flower/include/rational.hh \
-       include/music-output-def.hh ../flower/include/dictionary.hh \
-       ../flower/include/assoc.hh include/debug.hh \
-       ../flower/include/dstream.hh ../lib/include/warn.hh \
-       include/score-column.hh include/p-col.hh \
-       include/horizontal-group-item.hh include/elem-group.hh \
-       include/axis-group-element.hh \
+       include/drul-array.hh include/rod.hh include/lookup.hh \
+       include/atom.hh ../flower/include/scalar.hh \
+       include/paper-def.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh include/music-output-def.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh include/score-column.hh include/p-col.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh
 debug.o: debug.cc include/debug.hh ../flower/include/dstream.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh
 debug.o: debug.cc include/debug.hh ../flower/include/dstream.hh \
@@ -1158,7 +1173,7 @@ directional-spanner.o: directional-spanner.cc \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        ../flower/include/interval.hh include/drul-array.hh \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        ../flower/include/interval.hh include/drul-array.hh \
-       include/direction.hh
+       include/direction.hh include/rod.hh
 dot-column-grav.o: dot-column-grav.cc
 dot-column.o: dot-column.cc include/dots.hh include/item.hh \
        include/boxes.hh ../flower/include/fproto.hh \
 dot-column-grav.o: dot-column-grav.cc
 dot-column.o: dot-column.cc include/dots.hh include/item.hh \
        include/boxes.hh ../flower/include/fproto.hh \
@@ -1174,8 +1189,8 @@ dot-column.o: dot-column.cc include/dots.hh include/item.hh \
        include/graphical-element.hh include/lily-proto.hh \
        ../lib/include/proto.hh include/drul-array.hh \
        include/direction.hh include/dot-column.hh \
        include/graphical-element.hh include/lily-proto.hh \
        ../lib/include/proto.hh include/drul-array.hh \
        include/direction.hh include/dot-column.hh \
-       include/horizontal-group-item.hh include/elem-group.hh \
-       include/axis-group-element.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/rhythmic-head.hh
 dots.o: dots.cc include/dots.hh include/item.hh include/boxes.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/rhythmic-head.hh
 dots.o: dots.cc include/dots.hh include/item.hh include/boxes.hh \
@@ -1214,7 +1229,7 @@ dynamic-grav.o: dynamic-grav.cc include/debug.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
        ../flower/include/interval.hh include/direction.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
        ../flower/include/interval.hh include/direction.hh \
-       include/spanner.hh include/drul-array.hh \
+       include/spanner.hh include/drul-array.hh include/rod.hh \
        include/dynamic-grav.hh include/engraver.hh include/request.hh \
        ../lib/include/moment.hh ../flower/include/rational.hh \
        ../lib/include/input.hh include/music.hh include/minterval.hh \
        include/dynamic-grav.hh include/engraver.hh include/request.hh \
        ../lib/include/moment.hh ../flower/include/rational.hh \
        ../lib/include/input.hh include/music.hh include/minterval.hh \
@@ -1232,11 +1247,13 @@ dynamic-grav.o: dynamic-grav.cc include/debug.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
        ../flower/include/plist.icc include/score-column.hh \
        include/p-col.hh include/horizontal-group-item.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
        ../flower/include/plist.icc include/score-column.hh \
        include/p-col.hh include/horizontal-group-item.hh \
-       include/elem-group.hh include/axis-group-element.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/staff-sym.hh include/note-column.hh \
        include/script-column.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/staff-sym.hh include/note-column.hh \
        include/script-column.hh \
-       include/horizontal-vertical-group-item.hh
+       include/horizontal-vertical-group-item.hh \
+       include/horizontal-vertical-group-elem.hh \
+       include/vertical-group-elem.hh
 elem-group.o: elem-group.cc include/elem-group.hh include/score-elem.hh \
        ../flower/include/parray.hh ../flower/include/varray.hh \
        ../flower/include/virtual-methods.hh \
 elem-group.o: elem-group.cc include/elem-group.hh include/score-elem.hh \
        ../flower/include/parray.hh ../flower/include/varray.hh \
        ../flower/include/virtual-methods.hh \
@@ -1344,23 +1361,23 @@ gourlay-breaking.o: gourlay-breaking.cc include/gourlay-breaking.hh \
        ../flower/include/pcursor.hh ../flower/include/cursor.icc \
        ../flower/include/iterate.hh ../flower/include/plist.icc \
        include/col-info.hh ../flower/include/pointer.hh \
        ../flower/include/pcursor.hh ../flower/include/cursor.icc \
        ../flower/include/iterate.hh ../flower/include/plist.icc \
        include/col-info.hh ../flower/include/pointer.hh \
-       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/assoc.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh \
        ../flower/include/arithmetic-operator.hh include/debug.hh \
        ../flower/include/dstream.hh ../flower/include/string.hh \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../lib/include/warn.hh \
        include/p-col.hh include/horizontal-group-item.hh \
        ../flower/include/arithmetic-operator.hh include/debug.hh \
        ../flower/include/dstream.hh ../flower/include/string.hh \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../lib/include/warn.hh \
        include/p-col.hh include/horizontal-group-item.hh \
-       include/elem-group.hh include/score-elem.hh \
-       ../flower/include/parray.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
        ../flower/include/virtual-methods.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
        ../flower/include/virtual-methods.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
-       include/axis-group-element.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
-       include/direction.hh include/p-score.hh include/music-output.hh \
-       include/paper-def.hh include/music-output-def.hh \
-       ../flower/include/dictionary.hh ../flower/include/assoc.hh
+       include/direction.hh include/rod.hh include/p-score.hh \
+       include/music-output.hh include/paper-def.hh \
+       include/music-output-def.hh ../flower/include/dictionary.hh
 graphical-element.o: graphical-element.cc include/graphical-element.hh \
        include/offset.hh ../flower/include/real.hh include/axes.hh \
        ../flower/include/string.hh \
 graphical-element.o: graphical-element.cc include/graphical-element.hh \
        include/offset.hh ../flower/include/real.hh include/axes.hh \
        ../flower/include/string.hh \
@@ -1423,7 +1440,23 @@ header.o: header.cc ../flower/include/string.hh \
        ../flower/include/varray.hh ../flower/include/dictionary.hh \
        include/header.hh
 horizontal-align-item.o: horizontal-align-item.cc \
        ../flower/include/varray.hh ../flower/include/dictionary.hh \
        include/header.hh
 horizontal-align-item.o: horizontal-align-item.cc \
-       include/horizontal-align-item.hh include/elem-group.hh \
+       include/horizontal-align-item.hh include/item.hh \
+       include/boxes.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/interval.hh \
+       ../flower/include/compare.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/drul-array.hh \
+       include/direction.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh
+horizontal-group-elem.o: horizontal-group-elem.cc \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
        include/score-elem.hh ../flower/include/parray.hh \
        ../flower/include/varray.hh \
        ../flower/include/virtual-methods.hh \
        include/score-elem.hh ../flower/include/parray.hh \
        ../flower/include/varray.hh \
        ../flower/include/virtual-methods.hh \
@@ -1435,13 +1468,14 @@ horizontal-align-item.o: horizontal-align-item.cc \
        ../flower/include/fproto.hh ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
        ../flower/include/fproto.hh ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
-       ../flower/include/interval.hh include/axis-group-element.hh \
+       ../flower/include/interval.hh \
        include/axis-group-administration.hh include/item.hh \
        include/boxes.hh include/drul-array.hh include/direction.hh \
        include/debug.hh ../flower/include/dstream.hh \
        ../lib/include/warn.hh
 horizontal-group-item.o: horizontal-group-item.cc include/p-col.hh \
        include/axis-group-administration.hh include/item.hh \
        include/boxes.hh include/drul-array.hh include/direction.hh \
        include/debug.hh ../flower/include/dstream.hh \
        ../lib/include/warn.hh
 horizontal-group-item.o: horizontal-group-item.cc include/p-col.hh \
-       include/horizontal-group-item.hh include/elem-group.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
        include/score-elem.hh ../flower/include/parray.hh \
        ../flower/include/varray.hh \
        ../flower/include/virtual-methods.hh \
        include/score-elem.hh ../flower/include/parray.hh \
        ../flower/include/varray.hh \
        ../flower/include/virtual-methods.hh \
@@ -1453,7 +1487,7 @@ horizontal-group-item.o: horizontal-group-item.cc include/p-col.hh \
        ../flower/include/fproto.hh ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
        ../flower/include/fproto.hh ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
-       ../flower/include/interval.hh include/axis-group-element.hh \
+       ../flower/include/interval.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/direction.hh ../flower/include/plist.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/direction.hh ../flower/include/plist.hh \
@@ -1461,7 +1495,27 @@ horizontal-group-item.o: horizontal-group-item.cc include/p-col.hh \
        ../flower/include/cursor.hh ../flower/include/link.hh \
        ../flower/include/link.icc ../flower/include/pcursor.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
        ../flower/include/cursor.hh ../flower/include/link.hh \
        ../flower/include/link.icc ../flower/include/pcursor.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
-       ../flower/include/plist.icc
+       ../flower/include/plist.icc include/rod.hh
+horizontal-vertical-group-elem.o: horizontal-vertical-group-elem.cc \
+       include/horizontal-vertical-group-elem.hh \
+       include/vertical-group-elem.hh include/axis-group-element.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh \
+       ../flower/include/real.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/interval.hh \
+       include/axis-group-administration.hh \
+       include/horizontal-group-elem.hh include/item.hh \
+       include/boxes.hh include/drul-array.hh include/direction.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh
 horizontal-vertical-group-item.o: horizontal-vertical-group-item.cc \
        include/horizontal-vertical-group-item.hh \
        include/axis-group-item.hh include/axis-group-element.hh \
 horizontal-vertical-group-item.o: horizontal-vertical-group-item.cc \
        include/horizontal-vertical-group-item.hh \
        include/axis-group-item.hh include/axis-group-element.hh \
@@ -1479,19 +1533,22 @@ horizontal-vertical-group-item.o: horizontal-vertical-group-item.cc \
        ../flower/include/interval.hh \
        include/axis-group-administration.hh include/item.hh \
        include/boxes.hh include/drul-array.hh include/direction.hh \
        ../flower/include/interval.hh \
        include/axis-group-administration.hh include/item.hh \
        include/boxes.hh include/drul-array.hh include/direction.hh \
-       include/elem-group.hh include/p-col.hh \
-       include/horizontal-group-item.hh ../flower/include/plist.hh \
-       ../flower/include/list.hh ../flower/include/list.icc \
-       ../flower/include/cursor.hh ../flower/include/link.hh \
-       ../flower/include/link.icc ../flower/include/pcursor.hh \
-       ../flower/include/cursor.icc ../flower/include/iterate.hh \
-       ../flower/include/plist.icc
+       include/horizontal-vertical-group-elem.hh \
+       include/vertical-group-elem.hh include/horizontal-group-elem.hh \
+       include/p-col.hh include/horizontal-group-item.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/rod.hh
 idealspacing.o: idealspacing.cc include/idealspacing.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
        ../flower/include/fproto.hh ../flower/include/real.hh \
        include/p-col.hh include/horizontal-group-item.hh \
 idealspacing.o: idealspacing.cc include/idealspacing.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
        ../flower/include/fproto.hh ../flower/include/real.hh \
        include/p-col.hh include/horizontal-group-item.hh \
-       include/elem-group.hh include/score-elem.hh \
-       ../flower/include/parray.hh ../flower/include/varray.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
        ../flower/include/virtual-methods.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
        ../flower/include/virtual-methods.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
@@ -1499,7 +1556,7 @@ idealspacing.o: idealspacing.cc include/idealspacing.hh \
        ../flower/include/arithmetic-operator.hh \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        ../flower/include/arithmetic-operator.hh \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
-       ../flower/include/interval.hh include/axis-group-element.hh \
+       ../flower/include/interval.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/direction.hh ../flower/include/plist.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/direction.hh ../flower/include/plist.hh \
@@ -1507,7 +1564,7 @@ idealspacing.o: idealspacing.cc include/idealspacing.hh \
        ../flower/include/cursor.hh ../flower/include/link.hh \
        ../flower/include/link.icc ../flower/include/pcursor.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
        ../flower/include/cursor.hh ../flower/include/link.hh \
        ../flower/include/link.icc ../flower/include/pcursor.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
-       ../flower/include/plist.icc include/p-score.hh \
+       ../flower/include/plist.icc include/rod.hh include/p-score.hh \
        include/colhpos.hh include/music-output.hh include/debug.hh \
        ../flower/include/dstream.hh ../lib/include/warn.hh
 identifier.o: identifier.cc include/midi-def.hh include/lily-proto.hh \
        include/colhpos.hh include/music-output.hh include/debug.hh \
        ../flower/include/dstream.hh ../lib/include/warn.hh
 identifier.o: identifier.cc include/midi-def.hh include/lily-proto.hh \
@@ -1570,10 +1627,10 @@ item.o: item.cc include/p-score.hh include/colhpos.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/drul-array.hh \
        include/direction.hh include/p-col.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/drul-array.hh \
        include/direction.hh include/p-col.hh \
-       include/horizontal-group-item.hh include/elem-group.hh \
-       include/axis-group-element.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
-       include/spanner.hh
+       include/rod.hh include/spanner.hh
 key-grav.o: key-grav.cc include/key-grav.hh include/engraver.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
        ../flower/include/fproto.hh ../flower/include/real.hh \
 key-grav.o: key-grav.cc include/key-grav.hh include/engraver.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
        ../flower/include/fproto.hh ../flower/include/real.hh \
@@ -1706,12 +1763,14 @@ line-group-grav.o: line-group-grav.cc include/staff-sym.hh \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        ../flower/include/interval.hh include/drul-array.hh \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        ../flower/include/interval.hh include/drul-array.hh \
-       include/direction.hh include/vertical-group-spanner.hh \
-       include/axis-group-spanner.hh include/axis-group-element.hh \
-       include/axis-group-administration.hh include/elem-group.hh \
-       include/command-request.hh include/request.hh \
-       ../lib/include/moment.hh ../flower/include/rational.hh \
-       ../lib/include/input.hh include/music.hh include/minterval.hh \
+       include/direction.hh include/rod.hh \
+       include/vertical-group-spanner.hh include/axis-group-spanner.hh \
+       include/axis-group-element.hh \
+       include/axis-group-administration.hh \
+       include/vertical-group-elem.hh include/command-request.hh \
+       include/request.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
        ../lib/include/duration.hh ../lib/include/plet.hh \
        include/bar.hh include/item.hh include/boxes.hh \
        include/debug.hh ../flower/include/dstream.hh \
        ../lib/include/duration.hh ../lib/include/plet.hh \
        include/bar.hh include/item.hh include/boxes.hh \
        include/debug.hh ../flower/include/dstream.hh \
@@ -1720,7 +1779,8 @@ line-group-grav.o: line-group-grav.cc include/staff-sym.hh \
        ../flower/include/scalar.hh include/staff-info.hh \
        include/translator.hh ../flower/include/dictionary.hh \
        ../flower/include/assoc.hh include/p-col.hh \
        ../flower/include/scalar.hh include/staff-info.hh \
        include/translator.hh ../flower/include/dictionary.hh \
        ../flower/include/assoc.hh include/p-col.hh \
-       include/horizontal-group-item.hh include/axis-group-item.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-item.hh \
        ../flower/include/plist.hh ../flower/include/list.hh \
        ../flower/include/list.icc ../flower/include/cursor.hh \
        ../flower/include/link.hh ../flower/include/link.icc \
        ../flower/include/plist.hh ../flower/include/list.hh \
        ../flower/include/list.icc ../flower/include/cursor.hh \
        ../flower/include/link.hh ../flower/include/link.icc \
@@ -1758,7 +1818,7 @@ local-key-grav.o: local-key-grav.cc include/musical-request.hh \
        ../flower/include/dstream.hh ../lib/include/warn.hh \
        include/key-item.hh include/tie.hh include/bow.hh \
        include/directional-spanner.hh include/spanner.hh \
        ../flower/include/dstream.hh ../lib/include/warn.hh \
        include/key-item.hh include/tie.hh include/bow.hh \
        include/directional-spanner.hh include/spanner.hh \
-       include/note-head.hh include/rhythmic-head.hh \
+       include/rod.hh include/note-head.hh include/rhythmic-head.hh \
        include/time-description.hh
 local-key-item.o: local-key-item.cc include/dimen.hh \
        ../flower/include/real.hh ../flower/include/string.hh \
        include/time-description.hh
 local-key-item.o: local-key-item.cc include/dimen.hh \
        ../flower/include/real.hh ../flower/include/string.hh \
@@ -2209,7 +2269,8 @@ my-lily-parser.o: my-lily-parser.cc include/my-lily-parser.hh \
        include/command-request.hh parser.hh include/header.hh \
        ../flower/include/dictionary.hh ../flower/include/assoc.hh
 note-column.o: note-column.cc include/dot-column.hh \
        include/command-request.hh parser.hh include/header.hh \
        ../flower/include/dictionary.hh ../flower/include/assoc.hh
 note-column.o: note-column.cc include/dot-column.hh \
-       include/horizontal-group-item.hh include/elem-group.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
        include/score-elem.hh ../flower/include/parray.hh \
        ../flower/include/varray.hh \
        ../flower/include/virtual-methods.hh \
        include/score-elem.hh ../flower/include/parray.hh \
        ../flower/include/varray.hh \
        ../flower/include/virtual-methods.hh \
@@ -2221,12 +2282,14 @@ note-column.o: note-column.cc include/dot-column.hh \
        ../flower/include/fproto.hh ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
        ../flower/include/fproto.hh ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
-       ../flower/include/interval.hh include/axis-group-element.hh \
+       ../flower/include/interval.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/direction.hh include/note-column.hh \
        include/script-column.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/direction.hh include/note-column.hh \
        include/script-column.hh \
-       include/horizontal-vertical-group-item.hh include/script.hh \
+       include/horizontal-vertical-group-item.hh \
+       include/horizontal-vertical-group-elem.hh \
+       include/vertical-group-elem.hh include/script.hh \
        include/staff-side.hh include/note-head.hh \
        include/rhythmic-head.hh include/stem.hh \
        ../lib/include/moment.hh ../flower/include/rational.hh \
        include/staff-side.hh include/note-head.hh \
        include/rhythmic-head.hh include/stem.hh \
        ../lib/include/moment.hh ../flower/include/rational.hh \
@@ -2346,8 +2409,9 @@ outputter.o: outputter.cc include/outputter.hh include/lily-proto.hh \
        include/direction.hh ../flower/include/varray.hh \
        include/dimen.hh include/tex.hh ../flower/include/scalar.hh
 p-col.o: p-col.cc include/p-col.hh include/horizontal-group-item.hh \
        include/direction.hh ../flower/include/varray.hh \
        include/dimen.hh include/tex.hh ../flower/include/scalar.hh
 p-col.o: p-col.cc include/p-col.hh include/horizontal-group-item.hh \
-       include/elem-group.hh include/score-elem.hh \
-       ../flower/include/parray.hh ../flower/include/varray.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
        ../flower/include/virtual-methods.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh \
        ../flower/include/virtual-methods.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh \
@@ -2357,7 +2421,7 @@ p-col.o: p-col.cc include/p-col.hh include/horizontal-group-item.hh \
        ../flower/include/fproto.hh ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
        ../flower/include/fproto.hh ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
-       ../flower/include/interval.hh include/axis-group-element.hh \
+       ../flower/include/interval.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/direction.hh ../flower/include/plist.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/direction.hh ../flower/include/plist.hh \
@@ -2365,7 +2429,7 @@ p-col.o: p-col.cc include/p-col.hh include/horizontal-group-item.hh \
        ../flower/include/cursor.hh ../flower/include/link.hh \
        ../flower/include/link.icc ../flower/include/pcursor.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
        ../flower/include/cursor.hh ../flower/include/link.hh \
        ../flower/include/link.icc ../flower/include/pcursor.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
-       ../flower/include/plist.icc include/p-score.hh \
+       ../flower/include/plist.icc include/rod.hh include/p-score.hh \
        include/colhpos.hh include/music-output.hh include/debug.hh \
        ../flower/include/dstream.hh ../lib/include/warn.hh
 p-score.o: p-score.cc include/main.hh include/lily-proto.hh \
        include/colhpos.hh include/music-output.hh include/debug.hh \
        ../flower/include/dstream.hh ../lib/include/warn.hh
 p-score.o: p-score.cc include/main.hh include/lily-proto.hh \
@@ -2384,24 +2448,24 @@ p-score.o: p-score.cc include/main.hh include/lily-proto.hh \
        ../flower/include/dstream.hh ../lib/include/warn.hh \
        include/lookup.hh include/atom.hh include/boxes.hh \
        ../flower/include/scalar.hh include/direction.hh \
        ../flower/include/dstream.hh ../lib/include/warn.hh \
        include/lookup.hh include/atom.hh include/boxes.hh \
        ../flower/include/scalar.hh include/direction.hh \
-       include/spanner.hh include/drul-array.hh include/paper-def.hh \
-       ../lib/include/moment.hh ../flower/include/rational.hh \
-       include/music-output-def.hh ../flower/include/plist.hh \
-       ../flower/include/list.hh ../flower/include/list.icc \
-       ../flower/include/cursor.hh ../flower/include/link.hh \
-       ../flower/include/link.icc ../flower/include/pcursor.hh \
-       ../flower/include/cursor.icc ../flower/include/iterate.hh \
-       ../flower/include/plist.icc ../flower/include/dictionary.hh \
-       ../flower/include/assoc.hh include/scoreline.hh \
-       include/colhpos.hh include/p-col.hh \
-       include/horizontal-group-item.hh include/elem-group.hh \
-       include/axis-group-element.hh \
+       include/spanner.hh include/drul-array.hh include/rod.hh \
+       include/paper-def.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh include/music-output-def.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/scoreline.hh include/colhpos.hh include/p-col.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/p-score.hh include/music-output.hh \
        include/tex-stream.hh include/header.hh include/word-wrap.hh \
        include/break.hh include/gourlay-breaking.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/p-score.hh include/music-output.hh \
        include/tex-stream.hh include/header.hh include/word-wrap.hh \
        include/break.hh include/gourlay-breaking.hh \
-       include/outputter.hh ../flower/include/plist.tcc \
-       ../flower/include/pcursor.tcc
+       include/outputter.hh ../flower/include/list.tcc \
+       ../flower/include/cursor.tcc
 paper-def.o: paper-def.cc ../flower/include/string.hh \
        ../flower/include/arithmetic-operator.hh \
        ../flower/include/fproto.hh ../flower/include/real.hh \
 paper-def.o: paper-def.cc ../flower/include/string.hh \
        ../flower/include/arithmetic-operator.hh \
        ../flower/include/fproto.hh ../flower/include/real.hh \
@@ -2576,15 +2640,16 @@ plet-engraver.o: plet-engraver.cc ../lib/include/proto.hh \
        include/directional-spanner.hh include/spanner.hh \
        include/score-elem.hh ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
        include/directional-spanner.hh include/spanner.hh \
        include/score-elem.hh ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
-       include/text-def.hh include/general-script-def.hh \
-       include/beam.hh ../flower/include/plist.hh \
-       ../flower/include/list.hh ../flower/include/list.icc \
-       ../flower/include/cursor.hh ../flower/include/link.hh \
-       ../flower/include/link.icc ../flower/include/pcursor.hh \
-       ../flower/include/cursor.icc ../flower/include/iterate.hh \
-       ../flower/include/plist.icc include/score-column.hh \
-       include/p-col.hh include/horizontal-group-item.hh \
-       include/elem-group.hh include/axis-group-element.hh \
+       include/rod.hh include/text-def.hh \
+       include/general-script-def.hh include/beam.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/score-column.hh include/p-col.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/stem.hh \
        include/molecule.hh
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/stem.hh \
        include/molecule.hh
@@ -2606,18 +2671,20 @@ plet-spanner.o: plet-spanner.cc include/atom.hh \
        ../flower/include/pcursor.hh ../flower/include/cursor.icc \
        ../flower/include/iterate.hh ../flower/include/plist.icc \
        include/p-col.hh include/horizontal-group-item.hh \
        ../flower/include/pcursor.hh ../flower/include/cursor.icc \
        ../flower/include/iterate.hh ../flower/include/plist.icc \
        include/p-col.hh include/horizontal-group-item.hh \
-       include/elem-group.hh include/score-elem.hh \
-       ../flower/include/parray.hh ../flower/include/varray.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
        ../flower/include/virtual-methods.hh \
        ../flower/include/directed-graph.hh \
        ../flower/include/virtual-methods.hh \
        ../flower/include/directed-graph.hh \
-       include/graphical-element.hh include/axis-group-element.hh \
+       include/graphical-element.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
-       include/item.hh include/drul-array.hh include/paper-def.hh \
-       ../lib/include/moment.hh ../flower/include/rational.hh \
-       include/music-output-def.hh ../flower/include/dictionary.hh \
-       ../flower/include/assoc.hh include/plet-spanner.hh \
-       include/bow.hh include/directional-spanner.hh \
-       include/spanner.hh include/stem.hh include/text-def.hh \
+       include/item.hh include/drul-array.hh include/rod.hh \
+       include/paper-def.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh include/music-output-def.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/plet-spanner.hh include/bow.hh \
+       include/directional-spanner.hh include/spanner.hh \
+       include/stem.hh include/text-def.hh \
        include/general-script-def.hh ../lib/include/input.hh
 plet-swallow-engraver.o: plet-swallow-engraver.cc \
        include/musical-request.hh include/lily-proto.hh \
        include/general-script-def.hh ../lib/include/input.hh
 plet-swallow-engraver.o: plet-swallow-engraver.cc \
        include/musical-request.hh include/lily-proto.hh \
@@ -2652,9 +2719,7 @@ priority-halign-grav.o: priority-halign-grav.cc include/bar.hh \
        include/graphical-element.hh include/lily-proto.hh \
        ../lib/include/proto.hh include/drul-array.hh \
        include/direction.hh include/break-align-item.hh \
        include/graphical-element.hh include/lily-proto.hh \
        ../lib/include/proto.hh include/drul-array.hh \
        include/direction.hh include/break-align-item.hh \
-       include/horizontal-align-item.hh include/elem-group.hh \
-       include/axis-group-element.hh \
-       include/axis-group-administration.hh \
+       include/horizontal-align-item.hh \
        include/priority-halign-grav.hh include/engraver.hh \
        include/request.hh ../lib/include/moment.hh \
        ../flower/include/rational.hh ../lib/include/input.hh \
        include/priority-halign-grav.hh include/engraver.hh \
        include/request.hh ../lib/include/moment.hh \
        ../flower/include/rational.hh ../lib/include/input.hh \
@@ -2789,7 +2854,9 @@ rest-collision-grav.o: rest-collision-grav.cc include/debug.hh \
        ../flower/include/dictionary.hh ../flower/include/assoc.hh \
        include/collision.hh include/horizontal-vertical-group-item.hh \
        include/axis-group-item.hh include/axis-group-element.hh \
        ../flower/include/dictionary.hh ../flower/include/assoc.hh \
        include/collision.hh include/horizontal-vertical-group-item.hh \
        include/axis-group-item.hh include/axis-group-element.hh \
-       include/axis-group-administration.hh include/elem-group.hh \
+       include/axis-group-administration.hh \
+       include/horizontal-vertical-group-elem.hh \
+       include/vertical-group-elem.hh include/horizontal-group-elem.hh \
        include/note-column.hh include/script-column.hh
 rest-collision.o: rest-collision.cc include/debug.hh \
        ../flower/include/dstream.hh ../flower/include/string.hh \
        include/note-column.hh include/script-column.hh
 rest-collision.o: rest-collision.cc include/debug.hh \
        ../flower/include/dstream.hh ../flower/include/string.hh \
@@ -2809,7 +2876,9 @@ rest-collision.o: rest-collision.cc include/debug.hh \
        include/script-column.hh \
        include/horizontal-vertical-group-item.hh \
        include/axis-group-item.hh include/axis-group-element.hh \
        include/script-column.hh \
        include/horizontal-vertical-group-item.hh \
        include/axis-group-item.hh include/axis-group-element.hh \
-       include/axis-group-administration.hh include/elem-group.hh \
+       include/axis-group-administration.hh \
+       include/horizontal-vertical-group-elem.hh \
+       include/vertical-group-elem.hh include/horizontal-group-elem.hh \
        include/stem.hh ../lib/include/moment.hh \
        ../flower/include/rational.hh include/molecule.hh \
        ../flower/include/plist.hh ../flower/include/list.hh \
        include/stem.hh ../lib/include/moment.hh \
        ../flower/include/rational.hh include/molecule.hh \
        ../flower/include/plist.hh ../flower/include/list.hh \
@@ -2899,7 +2968,9 @@ rhythmic-column-grav.o: rhythmic-column-grav.cc \
        include/script-column.hh \
        include/horizontal-vertical-group-item.hh \
        include/axis-group-item.hh include/axis-group-element.hh \
        include/script-column.hh \
        include/horizontal-vertical-group-item.hh \
        include/axis-group-item.hh include/axis-group-element.hh \
-       include/axis-group-administration.hh include/elem-group.hh \
+       include/axis-group-administration.hh \
+       include/horizontal-vertical-group-elem.hh \
+       include/vertical-group-elem.hh include/horizontal-group-elem.hh \
        include/script.hh include/staff-side.hh include/dot-column.hh \
        include/horizontal-group-item.hh
 rhythmic-head.o: rhythmic-head.cc include/rhythmic-head.hh \
        include/script.hh include/staff-side.hh include/dot-column.hh \
        include/horizontal-group-item.hh
 rhythmic-head.o: rhythmic-head.cc include/rhythmic-head.hh \
@@ -2930,6 +3001,30 @@ rhythmic-head.o: rhythmic-head.cc include/rhythmic-head.hh \
        include/axis-group-element.hh \
        include/axis-group-administration.hh include/p-score.hh \
        include/colhpos.hh include/music-output.hh
        include/axis-group-element.hh \
        include/axis-group-administration.hh include/p-score.hh \
        include/colhpos.hh include/music-output.hh
+rod.o: rod.cc include/rod.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh include/direction.hh \
+       include/drul-array.hh include/p-col.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../flower/include/interval.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/item.hh include/boxes.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh
 score-bar.o: score-bar.cc include/score-bar.hh include/bar.hh \
        include/item.hh include/boxes.hh ../flower/include/fproto.hh \
        ../flower/include/real.hh ../flower/include/interval.hh \
 score-bar.o: score-bar.cc include/score-bar.hh include/bar.hh \
        include/item.hh include/boxes.hh ../flower/include/fproto.hh \
        ../flower/include/real.hh ../flower/include/interval.hh \
@@ -2952,13 +3047,14 @@ score-column.o: score-column.cc include/debug.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
        ../lib/include/warn.hh include/p-col.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
        ../lib/include/warn.hh include/p-col.hh \
-       include/horizontal-group-item.hh include/elem-group.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
        include/score-elem.hh ../flower/include/parray.hh \
        ../flower/include/varray.hh \
        ../flower/include/virtual-methods.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
        include/score-elem.hh ../flower/include/parray.hh \
        ../flower/include/varray.hh \
        ../flower/include/virtual-methods.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
-       ../flower/include/interval.hh include/axis-group-element.hh \
+       ../flower/include/interval.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/direction.hh ../flower/include/plist.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/direction.hh ../flower/include/plist.hh \
@@ -2966,8 +3062,9 @@ score-column.o: score-column.cc include/debug.hh \
        ../flower/include/cursor.hh ../flower/include/link.hh \
        ../flower/include/link.icc ../flower/include/pcursor.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
        ../flower/include/cursor.hh ../flower/include/link.hh \
        ../flower/include/link.icc ../flower/include/pcursor.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
-       ../flower/include/plist.icc include/score-column.hh \
-       ../lib/include/moment.hh ../flower/include/rational.hh
+       ../flower/include/plist.icc include/rod.hh \
+       include/score-column.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh
 score-elem-info.o: score-elem-info.cc include/score-elem-info.hh \
        ../flower/include/scalar.hh ../flower/include/string.hh \
        ../flower/include/arithmetic-operator.hh \
 score-elem-info.o: score-elem-info.cc include/score-elem-info.hh \
        ../flower/include/scalar.hh ../flower/include/string.hh \
        ../flower/include/arithmetic-operator.hh \
@@ -3005,9 +3102,10 @@ score-elem.o: score-elem.cc include/outputter.hh include/lily-proto.hh \
        include/graphical-element.hh include/debug.hh \
        ../flower/include/dstream.hh ../lib/include/warn.hh \
        include/tex.hh include/dimen.hh include/spanner.hh \
        include/graphical-element.hh include/debug.hh \
        ../flower/include/dstream.hh ../lib/include/warn.hh \
        include/tex.hh include/dimen.hh include/spanner.hh \
-       include/drul-array.hh include/scoreline.hh include/item.hh \
-       include/p-col.hh include/horizontal-group-item.hh \
-       include/elem-group.hh include/axis-group-element.hh \
+       include/drul-array.hh include/rod.hh include/scoreline.hh \
+       include/item.hh include/p-col.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
        include/axis-group-administration.hh include/axis-group-item.hh
 score-grav.o: score-grav.cc include/super-elem.hh include/score-elem.hh \
        ../flower/include/parray.hh ../flower/include/varray.hh \
        include/axis-group-administration.hh include/axis-group-item.hh
 score-grav.o: score-grav.cc include/super-elem.hh include/score-elem.hh \
        ../flower/include/parray.hh ../flower/include/varray.hh \
@@ -3022,7 +3120,7 @@ score-grav.o: score-grav.cc include/super-elem.hh include/score-elem.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
        ../flower/include/interval.hh include/scoreline.hh \
        include/colhpos.hh include/spanner.hh include/drul-array.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
        ../flower/include/interval.hh include/scoreline.hh \
        include/colhpos.hh include/spanner.hh include/drul-array.hh \
-       include/direction.hh include/debug.hh \
+       include/direction.hh include/rod.hh include/debug.hh \
        ../flower/include/dstream.hh ../lib/include/warn.hh \
        include/item.hh include/boxes.hh include/score-grav.hh \
        include/engraver-group.hh ../flower/include/plist.hh \
        ../flower/include/dstream.hh ../lib/include/warn.hh \
        include/item.hh include/boxes.hh include/score-grav.hh \
        include/engraver-group.hh ../flower/include/plist.hh \
@@ -3041,8 +3139,8 @@ score-grav.o: score-grav.cc include/super-elem.hh include/score-elem.hh \
        include/p-score.hh include/music-output.hh \
        include/musical-request.hh ../lib/include/duration.hh \
        ../lib/include/plet.hh include/score-column.hh include/p-col.hh \
        include/p-score.hh include/music-output.hh \
        include/musical-request.hh ../lib/include/duration.hh \
        ../lib/include/plet.hh include/score-column.hh include/p-col.hh \
-       include/horizontal-group-item.hh include/elem-group.hh \
-       include/axis-group-element.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/command-request.hh include/paper-def.hh \
        include/music-output-def.hh
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/command-request.hh include/paper-def.hh \
        include/music-output-def.hh
@@ -3079,7 +3177,8 @@ score-performer.o: score-performer.cc include/score-performer.hh \
        ../lib/include/source-file.hh ../lib/include/source.hh \
        include/audio-staff.hh
 score-priority-grav.o: score-priority-grav.cc \
        ../lib/include/source-file.hh ../lib/include/source.hh \
        include/audio-staff.hh
 score-priority-grav.o: score-priority-grav.cc \
-       include/horizontal-group-item.hh include/elem-group.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
        include/score-elem.hh ../flower/include/parray.hh \
        ../flower/include/varray.hh \
        ../flower/include/virtual-methods.hh \
        include/score-elem.hh ../flower/include/parray.hh \
        ../flower/include/varray.hh \
        ../flower/include/virtual-methods.hh \
@@ -3091,7 +3190,7 @@ score-priority-grav.o: score-priority-grav.cc \
        ../flower/include/fproto.hh ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
        ../flower/include/fproto.hh ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
-       ../flower/include/interval.hh include/axis-group-element.hh \
+       ../flower/include/interval.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/direction.hh include/score-priority-grav.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/direction.hh include/score-priority-grav.hh \
@@ -3142,17 +3241,18 @@ scoreline.o: scoreline.cc include/scoreline.hh include/colhpos.hh \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        ../flower/include/interval.hh include/drul-array.hh \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        ../flower/include/interval.hh include/drul-array.hh \
-       include/direction.hh include/dimen.hh include/atom.hh \
-       include/boxes.hh include/paper-def.hh ../lib/include/moment.hh \
-       ../flower/include/rational.hh include/music-output-def.hh \
-       ../flower/include/plist.hh ../flower/include/list.hh \
-       ../flower/include/list.icc ../flower/include/cursor.hh \
-       ../flower/include/link.hh ../flower/include/link.icc \
-       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
-       ../flower/include/iterate.hh ../flower/include/plist.icc \
-       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
-       include/p-col.hh include/horizontal-group-item.hh \
-       include/elem-group.hh include/axis-group-element.hh \
+       include/direction.hh include/rod.hh include/dimen.hh \
+       include/atom.hh include/boxes.hh include/paper-def.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       include/music-output-def.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh include/p-col.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/p-score.hh include/music-output.hh
 scores.o: scores.cc include/main.hh include/lily-proto.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/p-score.hh include/music-output.hh
 scores.o: scores.cc include/main.hh include/lily-proto.hh \
@@ -3192,10 +3292,11 @@ script-column.o: script-column.cc include/script-column.hh \
        ../flower/include/interval.hh \
        include/axis-group-administration.hh include/item.hh \
        include/boxes.hh include/drul-array.hh include/direction.hh \
        ../flower/include/interval.hh \
        include/axis-group-administration.hh include/item.hh \
        include/boxes.hh include/drul-array.hh include/direction.hh \
-       include/elem-group.hh include/debug.hh \
-       ../flower/include/dstream.hh ../lib/include/warn.hh \
-       include/script.hh include/staff-side.hh include/note-head.hh \
-       include/rhythmic-head.hh include/stem.hh \
+       include/horizontal-vertical-group-elem.hh \
+       include/vertical-group-elem.hh include/horizontal-group-elem.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh include/script.hh include/staff-side.hh \
+       include/note-head.hh include/rhythmic-head.hh include/stem.hh \
        ../lib/include/moment.hh ../flower/include/rational.hh \
        include/molecule.hh ../flower/include/plist.hh \
        ../flower/include/list.hh ../flower/include/list.icc \
        ../lib/include/moment.hh ../flower/include/rational.hh \
        include/molecule.hh ../flower/include/plist.hh \
        ../flower/include/list.hh ../flower/include/list.icc \
@@ -3251,7 +3352,7 @@ script-grav.o: script-grav.cc include/script-grav.hh include/engraver.hh \
        ../flower/include/link.hh ../flower/include/link.icc \
        ../flower/include/pcursor.hh ../flower/include/cursor.icc \
        ../flower/include/iterate.hh ../flower/include/plist.icc \
        ../flower/include/link.hh ../flower/include/link.icc \
        ../flower/include/pcursor.hh ../flower/include/cursor.icc \
        ../flower/include/iterate.hh ../flower/include/plist.icc \
-       include/staff-sym.hh include/spanner.hh \
+       include/staff-sym.hh include/spanner.hh include/rod.hh \
        include/general-script-def.hh
 script.o: script.cc include/script-def.hh ../flower/include/string.hh \
        ../flower/include/arithmetic-operator.hh \
        include/general-script-def.hh
 script.o: script.cc include/script-def.hh ../flower/include/string.hh \
        ../flower/include/arithmetic-operator.hh \
@@ -3279,6 +3380,86 @@ script.o: script.cc include/script-def.hh ../flower/include/string.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/stem.hh include/molecule.hh include/lookup.hh \
        include/atom.hh ../flower/include/scalar.hh
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/stem.hh include/molecule.hh include/lookup.hh \
        include/atom.hh ../flower/include/scalar.hh
+separating-group-spanner.o: separating-group-spanner.cc \
+       include/separating-group-spanner.hh \
+       include/vertical-group-spanner.hh include/axis-group-spanner.hh \
+       include/spanner.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../flower/include/interval.hh include/drul-array.hh \
+       include/direction.hh include/rod.hh \
+       include/axis-group-element.hh \
+       include/axis-group-administration.hh \
+       include/vertical-group-elem.hh \
+       include/single-malt-grouping-item.hh include/item.hh \
+       include/boxes.hh
+separating-line-group-grav.o: separating-line-group-grav.cc \
+       include/separating-line-group-grav.hh \
+       include/line-group-grav.hh include/engraver.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/varray.hh include/request.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/parray.hh include/separating-group-spanner.hh \
+       include/vertical-group-spanner.hh include/axis-group-spanner.hh \
+       include/spanner.hh include/score-elem.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       include/drul-array.hh include/rod.hh \
+       include/axis-group-element.hh \
+       include/axis-group-administration.hh \
+       include/vertical-group-elem.hh \
+       include/single-malt-grouping-item.hh include/item.hh \
+       include/boxes.hh include/p-col.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-item.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc
+single-malt-grouping-item.o: single-malt-grouping-item.cc \
+       include/single-malt-grouping-item.hh include/item.hh \
+       include/boxes.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/interval.hh \
+       ../flower/include/compare.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/drul-array.hh \
+       include/direction.hh include/p-col.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/rod.hh
 slur-grav.o: slur-grav.cc ../lib/include/proto.hh \
        ../flower/include/fproto.hh ../flower/include/real.hh \
        ../flower/include/plist.hh ../flower/include/list.hh \
 slur-grav.o: slur-grav.cc ../lib/include/proto.hh \
        ../flower/include/fproto.hh ../flower/include/real.hh \
        ../flower/include/plist.hh ../flower/include/list.hh \
@@ -3306,13 +3487,15 @@ slur-grav.o: slur-grav.cc ../lib/include/proto.hh \
        include/spanner.hh include/score-elem.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
        include/spanner.hh include/score-elem.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
-       include/drul-array.hh include/bow.hh include/debug.hh \
-       ../flower/include/dstream.hh ../lib/include/warn.hh \
-       include/note-column.hh include/item.hh include/boxes.hh \
-       include/script-column.hh \
+       include/drul-array.hh include/rod.hh include/bow.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh include/note-column.hh include/item.hh \
+       include/boxes.hh include/script-column.hh \
        include/horizontal-vertical-group-item.hh \
        include/axis-group-item.hh include/axis-group-element.hh \
        include/horizontal-vertical-group-item.hh \
        include/axis-group-item.hh include/axis-group-element.hh \
-       include/axis-group-administration.hh include/elem-group.hh
+       include/axis-group-administration.hh \
+       include/horizontal-vertical-group-elem.hh \
+       include/vertical-group-elem.hh include/horizontal-group-elem.hh
 slur.o: slur.cc include/slur.hh include/directional-spanner.hh \
        include/spanner.hh include/lily-proto.hh \
        ../lib/include/proto.hh ../flower/include/fproto.hh \
 slur.o: slur.cc include/slur.hh include/directional-spanner.hh \
        include/spanner.hh include/lily-proto.hh \
        ../lib/include/proto.hh ../flower/include/fproto.hh \
@@ -3326,9 +3509,9 @@ slur.o: slur.cc include/slur.hh include/directional-spanner.hh \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        ../flower/include/interval.hh include/drul-array.hh \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        ../flower/include/interval.hh include/drul-array.hh \
-       include/direction.hh include/bow.hh ../flower/include/scalar.hh \
-       include/lookup.hh include/atom.hh include/boxes.hh \
-       include/paper-def.hh ../lib/include/moment.hh \
+       include/direction.hh include/rod.hh include/bow.hh \
+       ../flower/include/scalar.hh include/lookup.hh include/atom.hh \
+       include/boxes.hh include/paper-def.hh ../lib/include/moment.hh \
        ../flower/include/rational.hh include/music-output-def.hh \
        ../flower/include/plist.hh ../flower/include/list.hh \
        ../flower/include/list.icc ../flower/include/cursor.hh \
        ../flower/include/rational.hh include/music-output-def.hh \
        ../flower/include/plist.hh ../flower/include/list.hh \
        ../flower/include/list.icc ../flower/include/cursor.hh \
@@ -3339,7 +3522,9 @@ slur.o: slur.cc include/slur.hh include/directional-spanner.hh \
        include/note-column.hh include/item.hh include/script-column.hh \
        include/horizontal-vertical-group-item.hh \
        include/axis-group-item.hh include/axis-group-element.hh \
        include/note-column.hh include/item.hh include/script-column.hh \
        include/horizontal-vertical-group-item.hh \
        include/axis-group-item.hh include/axis-group-element.hh \
-       include/axis-group-administration.hh include/elem-group.hh \
+       include/axis-group-administration.hh \
+       include/horizontal-vertical-group-elem.hh \
+       include/vertical-group-elem.hh include/horizontal-group-elem.hh \
        include/stem.hh include/molecule.hh include/p-col.hh \
        include/horizontal-group-item.hh include/debug.hh \
        ../flower/include/dstream.hh ../lib/include/warn.hh
        include/stem.hh include/molecule.hh include/p-col.hh \
        include/horizontal-group-item.hh include/debug.hh \
        ../flower/include/dstream.hh ../lib/include/warn.hh
@@ -3364,9 +3549,7 @@ span-bar-grav.o: span-bar-grav.cc include/span-bar.hh include/bar.hh \
        include/staff-info.hh include/translator.hh \
        ../flower/include/dictionary.hh ../flower/include/assoc.hh \
        include/vertical-align-spanner.hh include/spanner.hh \
        include/staff-info.hh include/translator.hh \
        ../flower/include/dictionary.hh ../flower/include/assoc.hh \
        include/vertical-align-spanner.hh include/spanner.hh \
-       include/vertical-align-elem.hh include/elem-group.hh \
-       include/axis-group-element.hh \
-       include/axis-group-administration.hh
+       include/rod.hh include/vertical-align-elem.hh
 span-bar.o: span-bar.cc include/dimen.hh ../flower/include/real.hh \
        ../flower/include/string.hh \
        ../flower/include/arithmetic-operator.hh \
 span-bar.o: span-bar.cc include/dimen.hh ../flower/include/real.hh \
        ../flower/include/string.hh \
        ../flower/include/arithmetic-operator.hh \
@@ -3390,9 +3573,7 @@ span-bar.o: span-bar.cc include/dimen.hh ../flower/include/real.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
        ../flower/include/plist.icc ../flower/include/dictionary.hh \
        ../flower/include/assoc.hh include/molecule.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
        ../flower/include/plist.icc ../flower/include/dictionary.hh \
        ../flower/include/assoc.hh include/molecule.hh \
-       include/vertical-align-elem.hh include/elem-group.hh \
-       include/axis-group-element.hh \
-       include/axis-group-administration.hh
+       include/vertical-align-elem.hh
 span-score-bar-grav.o: span-score-bar-grav.cc include/span-score-bar.hh \
        include/span-bar.hh include/bar.hh include/item.hh \
        include/boxes.hh ../flower/include/fproto.hh \
 span-score-bar-grav.o: span-score-bar-grav.cc include/span-score-bar.hh \
        include/span-bar.hh include/bar.hh include/item.hh \
        include/boxes.hh ../flower/include/fproto.hh \
@@ -3452,9 +3633,9 @@ spanner.o: spanner.cc include/debug.hh ../flower/include/dstream.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
        ../flower/include/interval.hh include/drul-array.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
        ../flower/include/interval.hh include/drul-array.hh \
-       include/direction.hh include/p-col.hh \
-       include/horizontal-group-item.hh include/elem-group.hh \
-       include/axis-group-element.hh \
+       include/direction.hh include/rod.hh include/p-col.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh ../flower/include/plist.hh \
        ../flower/include/list.hh ../flower/include/list.icc \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh ../flower/include/plist.hh \
        ../flower/include/list.hh ../flower/include/list.icc \
@@ -3474,28 +3655,29 @@ spring-spacer.o: spring-spacer.cc include/spring-spacer.hh \
        ../flower/include/link.icc ../flower/include/pcursor.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
        ../flower/include/plist.icc include/col-info.hh \
        ../flower/include/link.icc ../flower/include/pcursor.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
        ../flower/include/plist.icc include/col-info.hh \
-       ../flower/include/pointer.hh include/colhpos.hh \
-       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/pointer.hh ../flower/include/assoc.hh \
+       include/colhpos.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh \
        ../flower/include/arithmetic-operator.hh include/p-col.hh \
        ../flower/include/arithmetic-operator.hh include/p-col.hh \
-       include/horizontal-group-item.hh include/elem-group.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
        include/score-elem.hh ../flower/include/parray.hh \
        ../flower/include/virtual-methods.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
        ../flower/include/string.hh ../flower/include/string-handle.hh \
        ../flower/include/international.hh \
        include/score-elem.hh ../flower/include/parray.hh \
        ../flower/include/virtual-methods.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
        ../flower/include/string.hh ../flower/include/string-handle.hh \
        ../flower/include/international.hh \
-       include/axis-group-element.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
-       include/direction.hh include/debug.hh \
+       include/direction.hh include/rod.hh include/debug.hh \
        ../flower/include/dstream.hh ../lib/include/warn.hh \
        include/qlp.hh include/ineq-constrained-qp.hh \
        ../flower/include/matrix.hh ../flower/include/matrix-storage.hh \
        ../flower/include/unionfind.hh include/idealspacing.hh \
        ../flower/include/pointer.tcc include/score-column.hh \
        include/paper-def.hh include/music-output-def.hh \
        ../flower/include/dstream.hh ../lib/include/warn.hh \
        include/qlp.hh include/ineq-constrained-qp.hh \
        ../flower/include/matrix.hh ../flower/include/matrix-storage.hh \
        ../flower/include/unionfind.hh include/idealspacing.hh \
        ../flower/include/pointer.tcc include/score-column.hh \
        include/paper-def.hh include/music-output-def.hh \
-       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
-       include/dimen.hh include/main.hh
+       ../flower/include/dictionary.hh include/dimen.hh \
+       include/main.hh
 staff-info.o: staff-info.cc ../lib/include/proto.hh \
        ../flower/include/fproto.hh ../flower/include/real.hh \
        ../flower/include/plist.hh ../flower/include/list.hh \
 staff-info.o: staff-info.cc ../lib/include/proto.hh \
        ../flower/include/fproto.hh ../flower/include/real.hh \
        ../flower/include/plist.hh ../flower/include/list.hh \
@@ -3508,17 +3690,18 @@ staff-info.o: staff-info.cc ../lib/include/proto.hh \
        ../flower/include/varray.hh ../lib/include/moment.hh \
        ../flower/include/rational.hh \
        ../flower/include/arithmetic-operator.hh include/p-col.hh \
        ../flower/include/varray.hh ../lib/include/moment.hh \
        ../flower/include/rational.hh \
        ../flower/include/arithmetic-operator.hh include/p-col.hh \
-       include/horizontal-group-item.hh include/elem-group.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
        include/score-elem.hh ../flower/include/parray.hh \
        ../flower/include/virtual-methods.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
        ../flower/include/string.hh ../flower/include/string-handle.hh \
        ../flower/include/international.hh \
        include/score-elem.hh ../flower/include/parray.hh \
        ../flower/include/virtual-methods.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
        ../flower/include/string.hh ../flower/include/string-handle.hh \
        ../flower/include/international.hh \
-       ../flower/include/interval.hh include/axis-group-element.hh \
+       ../flower/include/interval.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
-       include/direction.hh
+       include/direction.hh include/rod.hh
 staff-performer.o: staff-performer.cc include/staff-performer.hh \
        include/performer-group-performer.hh include/lily-proto.hh \
        ../lib/include/proto.hh ../flower/include/fproto.hh \
 staff-performer.o: staff-performer.cc include/staff-performer.hh \
        include/performer-group-performer.hh include/lily-proto.hh \
        ../lib/include/proto.hh ../flower/include/fproto.hh \
@@ -3565,7 +3748,7 @@ staff-side.o: staff-side.cc ../flower/include/interval.hh \
        ../flower/include/parray.hh ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
        include/direction.hh include/staff-sym.hh include/spanner.hh \
        ../flower/include/parray.hh ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
        include/direction.hh include/staff-sym.hh include/spanner.hh \
-       include/drul-array.hh include/debug.hh \
+       include/drul-array.hh include/rod.hh include/debug.hh \
        ../flower/include/dstream.hh ../lib/include/warn.hh
 staff-sym-grav.o: staff-sym-grav.cc include/staff-sym-grav.hh \
        include/engraver.hh include/lily-proto.hh \
        ../flower/include/dstream.hh ../lib/include/warn.hh
 staff-sym-grav.o: staff-sym-grav.cc include/staff-sym-grav.hh \
        include/engraver.hh include/lily-proto.hh \
@@ -3586,14 +3769,14 @@ staff-sym-grav.o: staff-sym-grav.cc include/staff-sym-grav.hh \
        include/spanner.hh include/score-elem.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
        include/spanner.hh include/score-elem.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
-       include/drul-array.hh include/score.hh \
+       include/drul-array.hh include/rod.hh include/score.hh \
        ../flower/include/plist.hh ../flower/include/list.hh \
        ../flower/include/list.icc ../flower/include/cursor.hh \
        ../flower/include/link.hh ../flower/include/link.icc \
        ../flower/include/pcursor.hh ../flower/include/cursor.icc \
        ../flower/include/iterate.hh ../flower/include/plist.icc \
        include/p-col.hh include/horizontal-group-item.hh \
        ../flower/include/plist.hh ../flower/include/list.hh \
        ../flower/include/list.icc ../flower/include/cursor.hh \
        ../flower/include/link.hh ../flower/include/link.icc \
        ../flower/include/pcursor.hh ../flower/include/cursor.icc \
        ../flower/include/iterate.hh ../flower/include/plist.icc \
        include/p-col.hh include/horizontal-group-item.hh \
-       include/elem-group.hh include/axis-group-element.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh
 staff-sym.o: staff-sym.cc include/staff-sym.hh include/spanner.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh
 staff-sym.o: staff-sym.cc include/staff-sym.hh include/spanner.hh \
@@ -3609,8 +3792,8 @@ staff-sym.o: staff-sym.cc include/staff-sym.hh include/spanner.hh \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        ../flower/include/interval.hh include/drul-array.hh \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        ../flower/include/interval.hh include/drul-array.hh \
-       include/direction.hh include/lookup.hh include/atom.hh \
-       include/boxes.hh ../flower/include/scalar.hh \
+       include/direction.hh include/rod.hh include/lookup.hh \
+       include/atom.hh include/boxes.hh ../flower/include/scalar.hh \
        include/paper-def.hh ../lib/include/moment.hh \
        ../flower/include/rational.hh include/music-output-def.hh \
        ../flower/include/plist.hh ../flower/include/list.hh \
        include/paper-def.hh ../lib/include/moment.hh \
        ../flower/include/rational.hh include/music-output-def.hh \
        ../flower/include/plist.hh ../flower/include/list.hh \
@@ -3703,12 +3886,13 @@ stem.o: stem.cc include/stem.hh include/item.hh include/boxes.hh \
        ../flower/include/assoc.hh include/note-head.hh \
        include/rhythmic-head.hh include/lookup.hh include/atom.hh \
        ../flower/include/scalar.hh include/p-col.hh \
        ../flower/include/assoc.hh include/note-head.hh \
        include/rhythmic-head.hh include/lookup.hh include/atom.hh \
        ../flower/include/scalar.hh include/p-col.hh \
-       include/horizontal-group-item.hh include/elem-group.hh \
-       include/axis-group-element.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
-       include/misc.hh include/grouping.hh include/minterval.hh \
-       include/beam.hh include/directional-spanner.hh \
-       include/spanner.hh include/rest.hh
+       include/rod.hh include/misc.hh include/grouping.hh \
+       include/minterval.hh include/beam.hh \
+       include/directional-spanner.hh include/spanner.hh \
+       include/rest.hh
 super-elem.o: super-elem.cc include/super-elem.hh include/score-elem.hh \
        ../flower/include/parray.hh ../flower/include/varray.hh \
        ../flower/include/virtual-methods.hh \
 super-elem.o: super-elem.cc include/super-elem.hh include/score-elem.hh \
        ../flower/include/parray.hh ../flower/include/varray.hh \
        ../flower/include/virtual-methods.hh \
@@ -3722,7 +3906,7 @@ super-elem.o: super-elem.cc include/super-elem.hh include/score-elem.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
        ../flower/include/interval.hh include/scoreline.hh \
        include/colhpos.hh include/spanner.hh include/drul-array.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
        ../flower/include/interval.hh include/scoreline.hh \
        include/colhpos.hh include/spanner.hh include/drul-array.hh \
-       include/direction.hh include/p-score.hh \
+       include/direction.hh include/rod.hh include/p-score.hh \
        ../flower/include/plist.hh ../flower/include/list.hh \
        ../flower/include/list.icc ../flower/include/cursor.hh \
        ../flower/include/link.hh ../flower/include/link.icc \
        ../flower/include/plist.hh ../flower/include/list.hh \
        ../flower/include/list.icc ../flower/include/cursor.hh \
        ../flower/include/link.hh ../flower/include/link.icc \
@@ -3785,7 +3969,8 @@ template1.o: template1.cc ../lib/include/proto.hh \
        ../flower/include/compare.hh ../flower/include/pcursor.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
        ../flower/include/plist.icc include/p-col.hh \
        ../flower/include/compare.hh ../flower/include/pcursor.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
        ../flower/include/plist.icc include/p-col.hh \
-       include/horizontal-group-item.hh include/elem-group.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
        include/score-elem.hh ../flower/include/parray.hh \
        ../flower/include/varray.hh \
        ../flower/include/virtual-methods.hh \
        include/score-elem.hh ../flower/include/parray.hh \
        ../flower/include/varray.hh \
        ../flower/include/virtual-methods.hh \
@@ -3795,10 +3980,10 @@ template1.o: template1.cc ../lib/include/proto.hh \
        ../flower/include/arithmetic-operator.hh \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh \
        ../flower/include/arithmetic-operator.hh \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh \
-       ../flower/include/interval.hh include/axis-group-element.hh \
+       ../flower/include/interval.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
-       include/direction.hh include/musical-request.hh \
+       include/direction.hh include/rod.hh include/musical-request.hh \
        include/request.hh ../lib/include/moment.hh \
        ../flower/include/rational.hh ../lib/include/input.hh \
        include/music.hh include/minterval.hh \
        include/request.hh ../lib/include/moment.hh \
        ../flower/include/rational.hh ../lib/include/input.hh \
        include/music.hh include/minterval.hh \
@@ -3838,22 +4023,7 @@ template4.o: template4.cc ../lib/include/proto.hh \
        ../flower/include/cursor.hh ../flower/include/link.hh \
        ../flower/include/link.icc ../flower/include/compare.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
        ../flower/include/cursor.hh ../flower/include/link.hh \
        ../flower/include/link.icc ../flower/include/compare.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
-       ../flower/include/plist.icc include/audio-item.hh \
-       include/lily-proto.hh ../flower/include/string.hh \
-       ../flower/include/arithmetic-operator.hh \
-       ../flower/include/string-handle.hh \
-       ../flower/include/international.hh include/audio-element.hh \
-       ../flower/include/virtual-methods.hh include/audio-staff.hh \
-       include/p-col.hh include/horizontal-group-item.hh \
-       include/elem-group.hh include/score-elem.hh \
-       ../flower/include/parray.hh ../flower/include/varray.hh \
-       ../flower/include/directed-graph.hh \
-       include/graphical-element.hh include/offset.hh include/axes.hh \
-       ../flower/include/interval.hh include/axis-group-element.hh \
-       include/axis-group-administration.hh include/axis-group-item.hh \
-       include/item.hh include/boxes.hh include/drul-array.hh \
-       include/direction.hh include/p-score.hh include/colhpos.hh \
-       include/music-output.hh ../flower/include/cursor.tcc \
+       ../flower/include/plist.icc ../flower/include/cursor.tcc \
        ../flower/include/list.tcc ../flower/include/pcursor.tcc \
        ../flower/include/plist.tcc
 template5.o: template5.cc ../lib/include/proto.hh \
        ../flower/include/list.tcc ../flower/include/pcursor.tcc \
        ../flower/include/plist.tcc
 template5.o: template5.cc ../lib/include/proto.hh \
@@ -4051,13 +4221,13 @@ text-spanner.o: text-spanner.cc include/molecule.hh \
        ../flower/include/virtual-methods.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/drul-array.hh \
        ../flower/include/virtual-methods.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/drul-array.hh \
-       include/text-def.hh include/general-script-def.hh \
-       ../lib/include/input.hh include/debug.hh \
-       ../flower/include/dstream.hh ../lib/include/warn.hh \
-       include/paper-def.hh ../lib/include/moment.hh \
-       ../flower/include/rational.hh include/music-output-def.hh \
-       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
-       include/atom.hh
+       include/rod.hh include/text-def.hh \
+       include/general-script-def.hh ../lib/include/input.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh include/paper-def.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       include/music-output-def.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh include/atom.hh
 tie-grav.o: tie-grav.cc include/tie-grav.hh include/engraver.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
        ../flower/include/fproto.hh ../flower/include/real.hh \
 tie-grav.o: tie-grav.cc include/tie-grav.hh include/engraver.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
        ../flower/include/fproto.hh ../flower/include/real.hh \
@@ -4077,7 +4247,7 @@ tie-grav.o: tie-grav.cc include/tie-grav.hh include/engraver.hh \
        include/directional-spanner.hh include/spanner.hh \
        include/score-elem.hh ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
        include/directional-spanner.hh include/spanner.hh \
        include/score-elem.hh ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
-       include/drul-array.hh include/note-head.hh \
+       include/drul-array.hh include/rod.hh include/note-head.hh \
        include/rhythmic-head.hh include/item.hh include/boxes.hh \
        include/musical-request.hh ../lib/include/duration.hh \
        ../lib/include/plet.hh include/music-list.hh \
        include/rhythmic-head.hh include/item.hh include/boxes.hh \
        include/musical-request.hh ../lib/include/duration.hh \
        ../lib/include/plet.hh include/music-list.hh \
@@ -4106,10 +4276,11 @@ tie.o: tie.cc include/paper-def.hh include/lily-proto.hh \
        include/score-elem.hh ../flower/include/parray.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
        include/score-elem.hh ../flower/include/parray.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
-       include/drul-array.hh include/direction.hh include/note-head.hh \
-       include/rhythmic-head.hh include/item.hh include/boxes.hh \
-       include/p-col.hh include/horizontal-group-item.hh \
-       include/elem-group.hh include/axis-group-element.hh \
+       include/drul-array.hh include/direction.hh include/rod.hh \
+       include/note-head.hh include/rhythmic-head.hh include/item.hh \
+       include/boxes.hh include/p-col.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/debug.hh ../flower/include/dstream.hh \
        ../lib/include/warn.hh
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/debug.hh ../flower/include/dstream.hh \
        ../lib/include/warn.hh
@@ -4266,9 +4437,8 @@ version.o: version.cc include/main.hh include/lily-proto.hh \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh
 vertical-align-elem.o: vertical-align-elem.cc \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh
 vertical-align-elem.o: vertical-align-elem.cc \
-       include/vertical-align-elem.hh include/elem-group.hh \
-       include/score-elem.hh ../flower/include/parray.hh \
-       ../flower/include/varray.hh \
+       include/vertical-align-elem.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
        ../flower/include/virtual-methods.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh \
        ../flower/include/virtual-methods.hh \
        ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh \
@@ -4278,10 +4448,10 @@ vertical-align-elem.o: vertical-align-elem.cc \
        ../flower/include/fproto.hh ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
        ../flower/include/fproto.hh ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
-       ../flower/include/interval.hh include/axis-group-element.hh \
-       include/axis-group-administration.hh
+       ../flower/include/interval.hh
 vertical-align-grav.o: vertical-align-grav.cc include/p-col.hh \
 vertical-align-grav.o: vertical-align-grav.cc include/p-col.hh \
-       include/horizontal-group-item.hh include/elem-group.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
        include/score-elem.hh ../flower/include/parray.hh \
        ../flower/include/varray.hh \
        ../flower/include/virtual-methods.hh \
        include/score-elem.hh ../flower/include/parray.hh \
        ../flower/include/varray.hh \
        ../flower/include/virtual-methods.hh \
@@ -4293,7 +4463,7 @@ vertical-align-grav.o: vertical-align-grav.cc include/p-col.hh \
        ../flower/include/fproto.hh ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
        ../flower/include/fproto.hh ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
-       ../flower/include/interval.hh include/axis-group-element.hh \
+       ../flower/include/interval.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/direction.hh ../flower/include/plist.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/direction.hh ../flower/include/plist.hh \
@@ -4301,15 +4471,16 @@ vertical-align-grav.o: vertical-align-grav.cc include/p-col.hh \
        ../flower/include/cursor.hh ../flower/include/link.hh \
        ../flower/include/link.icc ../flower/include/pcursor.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
        ../flower/include/cursor.hh ../flower/include/link.hh \
        ../flower/include/link.icc ../flower/include/pcursor.hh \
        ../flower/include/cursor.icc ../flower/include/iterate.hh \
-       ../flower/include/plist.icc include/vertical-align-grav.hh \
-       include/engraver.hh include/request.hh ../lib/include/moment.hh \
+       ../flower/include/plist.icc include/rod.hh \
+       include/vertical-align-grav.hh include/engraver.hh \
+       include/request.hh ../lib/include/moment.hh \
        ../flower/include/rational.hh ../lib/include/input.hh \
        include/music.hh include/minterval.hh \
        include/score-elem-info.hh ../flower/include/scalar.hh \
        include/staff-info.hh include/translator.hh \
        ../flower/include/dictionary.hh ../flower/include/assoc.hh \
        include/vertical-align-spanner.hh include/spanner.hh \
        ../flower/include/rational.hh ../lib/include/input.hh \
        include/music.hh include/minterval.hh \
        include/score-elem-info.hh ../flower/include/scalar.hh \
        include/staff-info.hh include/translator.hh \
        ../flower/include/dictionary.hh ../flower/include/assoc.hh \
        include/vertical-align-spanner.hh include/spanner.hh \
-       include/vertical-align-elem.hh
+       include/vertical-align-elem.hh include/vertical-group-elem.hh
 vertical-align-spanner.o: vertical-align-spanner.cc \
        include/vertical-align-spanner.hh include/spanner.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
 vertical-align-spanner.o: vertical-align-spanner.cc \
        include/vertical-align-spanner.hh include/spanner.hh \
        include/lily-proto.hh ../lib/include/proto.hh \
@@ -4324,9 +4495,26 @@ vertical-align-spanner.o: vertical-align-spanner.cc \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        ../flower/include/interval.hh include/drul-array.hh \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        ../flower/include/interval.hh include/drul-array.hh \
-       include/direction.hh include/vertical-align-elem.hh \
-       include/elem-group.hh include/axis-group-element.hh \
-       include/axis-group-administration.hh
+       include/direction.hh include/rod.hh \
+       include/vertical-align-elem.hh
+vertical-group-elem.o: vertical-group-elem.cc \
+       include/vertical-group-elem.hh include/axis-group-element.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh \
+       ../flower/include/real.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/interval.hh \
+       include/axis-group-administration.hh include/item.hh \
+       include/boxes.hh include/drul-array.hh include/direction.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh
 vertical-group-spanner.o: vertical-group-spanner.cc \
        include/vertical-group-spanner.hh include/axis-group-spanner.hh \
        include/spanner.hh include/lily-proto.hh \
 vertical-group-spanner.o: vertical-group-spanner.cc \
        include/vertical-group-spanner.hh include/axis-group-spanner.hh \
        include/spanner.hh include/lily-proto.hh \
@@ -4341,10 +4529,12 @@ vertical-group-spanner.o: vertical-group-spanner.cc \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        ../flower/include/interval.hh include/drul-array.hh \
        ../flower/include/string-handle.hh \
        ../flower/include/international.hh ../flower/include/compare.hh \
        ../flower/include/interval.hh include/drul-array.hh \
-       include/direction.hh include/axis-group-element.hh \
-       include/axis-group-administration.hh include/elem-group.hh \
-       include/item.hh include/boxes.hh include/p-col.hh \
-       include/horizontal-group-item.hh include/axis-group-item.hh \
+       include/direction.hh include/rod.hh \
+       include/axis-group-element.hh \
+       include/axis-group-administration.hh \
+       include/vertical-group-elem.hh include/item.hh include/boxes.hh \
+       include/p-col.hh include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-item.hh \
        ../flower/include/plist.hh ../flower/include/list.hh \
        ../flower/include/list.icc ../flower/include/cursor.hh \
        ../flower/include/link.hh ../flower/include/link.icc \
        ../flower/include/plist.hh ../flower/include/list.hh \
        ../flower/include/list.icc ../flower/include/cursor.hh \
        ../flower/include/link.hh ../flower/include/link.icc \
@@ -4411,13 +4601,13 @@ word-wrap.o: word-wrap.cc include/word-wrap.hh include/break.hh \
        ../flower/include/parray.hh include/music-output.hh \
        include/debug.hh ../flower/include/dstream.hh \
        ../lib/include/warn.hh include/p-col.hh \
        ../flower/include/parray.hh include/music-output.hh \
        include/debug.hh ../flower/include/dstream.hh \
        ../lib/include/warn.hh include/p-col.hh \
-       include/horizontal-group-item.hh include/elem-group.hh \
+       include/horizontal-group-item.hh \
+       include/horizontal-group-elem.hh include/axis-group-element.hh \
        include/score-elem.hh ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
        include/score-elem.hh ../flower/include/directed-graph.hh \
        include/graphical-element.hh include/offset.hh include/axes.hh \
-       include/axis-group-element.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
        include/axis-group-administration.hh include/axis-group-item.hh \
        include/item.hh include/boxes.hh include/drul-array.hh \
-       include/direction.hh include/spring-spacer.hh \
+       include/direction.hh include/rod.hh include/spring-spacer.hh \
        include/line-spacer.hh ../flower/include/vector.hh \
        include/col-info.hh ../flower/include/pointer.hh
 
        include/line-spacer.hh ../flower/include/vector.hh \
        include/col-info.hh ../flower/include/pointer.hh
 
@@ -4484,7 +4674,7 @@ mostlyclean:  mostlyclean-recursive mostlyclean-am
 
 clean:  clean-recursive clean-am
 
 
 clean:  clean-recursive clean-am
 
-distclean:  distclean-recursive distclean-am
+distclean:  distclean-recursive distclean-am distclean-local
        -rm -f config.status
        -rm -f libtool
 
        -rm -f config.status
        -rm -f libtool
 
@@ -4529,8 +4719,10 @@ all-am: Makefile $(PROGRAMS) wild-check
 # dummy target for non-GNU makes; is overridden in GNUmakefile
 wild-check:
 
 # dummy target for non-GNU makes; is overridden in GNUmakefile
 wild-check:
 
+distclean-local:
+       -rm -rf .deps
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index 8eb70f97cab8877d92907ea42d45562327ef8ac0..1d1ec0f441211df262115692e5507239f01439b3 100644 (file)
@@ -1,4 +1,4 @@
 MAJOR_VERSION = 0
 MINOR_VERSION = 1
 MAJOR_VERSION = 0
 MINOR_VERSION = 1
-PATCH_LEVEL = 50
+PATCH_LEVEL = 52
 MY_PATCH_LEVEL =
 MY_PATCH_LEVEL =
index 8ef35c0beade7a6f7a30917827e143d744ab6d72..b97b94cf61556b8065abba8ed204b78bd6a75b9b 100644 (file)
@@ -57,3 +57,5 @@ Axis_group_element::Axis_group_element()
   transparent_b_ = true;
 }
 
   transparent_b_ = true;
 }
 
+
+IMPLEMENT_IS_TYPE_B1(Axis_group_element, Score_elem);
index f22332098be9e7e77984fdb5b93d935c1e30c13a..8419f85ad5008eca6cad50699d6f48f6d8f0c35c 100644 (file)
@@ -42,7 +42,7 @@ Axis_group_item::do_breakable_col_processing()
            it_l->find_prebroken_piece (broken_to_drul_[j]->break_status_i_);
          ((Axis_group_item*)broken_to_drul_[j])->add_element (new_l);
        }
            it_l->find_prebroken_piece (broken_to_drul_[j]->break_status_i_);
          ((Axis_group_item*)broken_to_drul_[j])->add_element (new_l);
        }
-      while ((j*=-1)!=LEFT);
+      while (flip(&j)!=LEFT);
     }
   Item::do_breakable_col_processing();
 }
     }
   Item::do_breakable_col_processing();
 }
index 42050ae5b4499fda404da13cd5c55757b7890361..5cace351e33134d0de7eb1b37d69726a5851c37a 100644 (file)
@@ -98,7 +98,7 @@ Axis_group_spanner::do_break_processing()
                  if (v)
                    v->add_element (my_item);
                }
                  if (v)
                    v->add_element (my_item);
                }
-             while ((j*=-1) != LEFT);
+             while (flip(&j) != LEFT);
            }
        }
       else 
            }
        }
       else 
index cb6159ae09a108f8856bccb66ef86ddb52418f8b..a463ff233f0fbeaa4df7d94764ef592e53c6373e 100644 (file)
@@ -151,7 +151,7 @@ Beam::set_default_dir ()
       Stem *s = stems_[i];
       int current = s->dir_ 
        ? (1 + d * s->dir_)/2
       Stem *s = stems_[i];
       int current = s->dir_ 
        ? (1 + d * s->dir_)/2
-       : s->get_center_distance (Direction (-d));
+       : s->get_center_distance ((Direction)-d);
 
       if (current)
        {
 
       if (current)
        {
@@ -159,12 +159,12 @@ Beam::set_default_dir ()
          count[d] ++;
        }
 
          count[d] ++;
        }
 
-    } while ((d *= -1) != DOWN);
+    } while (flip(&d) != DOWN);
   
    do {
     if (!total[d])
       count[d] = 1;
   
    do {
     if (!total[d])
       count[d] = 1;
-  } while ((d *= -1) != DOWN);
+  } while (flip(&d) != DOWN);
   
   /* 
 
   
   /* 
 
index 8475f79db4aa4f73f55d3c860bd8292841a782a2..2b29b433f502ded30c7a87bb5489d11e50e85ad5 100644 (file)
@@ -135,16 +135,13 @@ Break_algorithm::feasible (Line_of_cols curline) const
   if (linelength <=  0)
     return true;
 
   if (linelength <=  0)
     return true;
 
-  Real l =0;
   for (int i=0; i < curline.size (); i++)
     {
       if (i && i < curline.size () -1
          && ((Score_column*)curline[i])->forced_break_b ())
        return false;
   for (int i=0; i < curline.size (); i++)
     {
       if (i && i < curline.size () -1
          && ((Score_column*)curline[i])->forced_break_b ())
        return false;
-      
-      l +=curline[i]->width ().length ();
     }
     }
-  return l < linelength;
+  return true;
 }
 
 void
 }
 
 void
index 83c7f61fbc0296646a13f91b386dbd0dc2065ab9..9fa43ef8d30f09257fd61f767e3481129299b28f 100644 (file)
@@ -15,7 +15,7 @@ Colinfo::print() const
 {
 #ifndef NPRINT
   DOUT << "column { ";
 {
 #ifndef NPRINT
   DOUT << "column { ";
-  if (fixed())
+  if (fixed_b())
     DOUT << "fixed at " << fixed_position()<<", ";
   assert (pcol_l_);
   DOUT << width_.str();
     DOUT << "fixed at " << fixed_position()<<", ";
   assert (pcol_l_);
   DOUT << width_.str();
@@ -41,3 +41,20 @@ Colinfo::Colinfo()
   pcol_l_ =0;
 }
 
   pcol_l_ =0;
 }
 
+bool
+Colinfo::fixed_b () const
+{
+ return fixpos_p_.get_C();
+}
+
+Real
+Colinfo::fixed_position () const
+{
+  return *fixpos_p_;
+}
+
+int
+Colinfo::rank_i () const
+{
+  return pcol_l_->rank_i ();
+}
index 22920506ec5759aaf4d231c4736e616ee05dc13b..400b6709a05b68821543ff39e10f35e409a056f0 100644 (file)
@@ -53,7 +53,7 @@ Crescendo::get_symbol() const
   do {
     Score_column* s = (Score_column* )spanned_drul_[d] ; // UGH
     broken[d] = (!s->musical_b());
   do {
     Score_column* s = (Score_column* )spanned_drul_[d] ; // UGH
     broken[d] = (!s->musical_b());
-  } while ((d *= -1) != LEFT);
+  } while (flip(&d) != LEFT);
   
 
   bool continued = broken[(Direction)-grow_dir_];
   
 
   bool continued = broken[(Direction)-grow_dir_];
index 69859a59c3f424c7128d3a55a33e818a2820283b..c4fe4b46af53fd41695d53255e390b3f827337bb 100644 (file)
@@ -50,7 +50,7 @@ Dynamic_engraver::do_process_requests()
       if (dreq_l->absdynamic())
        {
          Text_def * td_p = new Text_def;
       if (dreq_l->absdynamic())
        {
          Text_def * td_p = new Text_def;
-         td_p->align_i_ = 0;
+         td_p->align_i_ = CENTER;
          String loud = dreq_l->absdynamic()->loudness_str ();
          td_p->text_str_ = paper()->lookup_l ()->dynamic (loud).tex_;
          td_p->style_str_ = "dynamic";
          String loud = dreq_l->absdynamic()->loudness_str ();
          td_p->text_str_ = paper()->lookup_l ()->dynamic (loud).tex_;
          td_p->style_str_ = "dynamic";
diff --git a/lily/elem-group.cc b/lily/elem-group.cc
deleted file mode 100644 (file)
index 4e21538..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
-  elem-group.cc -- implement Horizontal_vertical_group_element
-
-  source file of the GNU LilyPond music typesetter
-
-  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
-*/
-
-#include "elem-group.hh"
-#include "interval.hh"
-#include "item.hh"
-#include "debug.hh"
-
-
-void
-Vertical_group_element::add_element (Graphical_element*e)
-{
-  axis_admin_.add_element (e, this, Y_AXIS, Y_AXIS);
-}
-
-void
-Vertical_group_element::remove_element (Graphical_element*e)
-{
-  axis_admin_.remove_element (e, Y_AXIS, Y_AXIS);
-}
-
-
-Interval
-Vertical_group_element::do_height() const
-{
-  return axis_admin_.extent (Y_AXIS);
-}
-void
-Vertical_group_element::remove_all()
-{
-  axis_admin_.remove_all (Y_AXIS,Y_AXIS);
-}
-
-// ****************
-
-void
-Horizontal_group_element::remove_all()
-{
-  axis_admin_.remove_all (X_AXIS,X_AXIS);
-}
-
-void
-Horizontal_group_element::add_element (Graphical_element*e)
-{
-  axis_admin_.add_element (e,this, X_AXIS,X_AXIS);
-}
-
-void
-Horizontal_group_element::remove_element (Graphical_element*e)
-{
-  axis_admin_.remove_element (e,X_AXIS,X_AXIS);
-}
-
-
-Interval
-Horizontal_group_element::do_width() const
-{
-  return axis_admin_.extent (X_AXIS);
-}
-
-
-// ****************
-
-void
-Horizontal_vertical_group_element::remove_all()
-{
-  axis_admin_.remove_all (X_AXIS,Y_AXIS);
-}
-void
-Horizontal_vertical_group_element::add_element (Graphical_element *e)
-{
-  axis_admin_.add_element (e, this, X_AXIS, Y_AXIS);
-}
-
-void
-Horizontal_vertical_group_element::remove_element (Graphical_element*e)
-{
-  axis_admin_.remove_element (e, X_AXIS, Y_AXIS);
-}
-
-
-
-IMPLEMENT_IS_TYPE_B1(Axis_group_element, Score_elem);
-IMPLEMENT_IS_TYPE_B1(Horizontal_group_element, Axis_group_element);
-IMPLEMENT_IS_TYPE_B1(Vertical_group_element, Axis_group_element);
-IMPLEMENT_IS_TYPE_B2(Horizontal_vertical_group_element, Horizontal_group_element, Vertical_group_element);
index 66370135f8b66d4a3869f46788a2d73fd5b7286d..e434e356092447ab4361a7362875402019341aaf 100644 (file)
@@ -71,3 +71,11 @@ General_script_def::get_atom (Paper_def*, Direction) const
 }
 
 IMPLEMENT_IS_TYPE_B(General_script_def);
 }
 
 IMPLEMENT_IS_TYPE_B(General_script_def);
+
+
+Interval
+General_script_def::width (Paper_def*) const
+{
+  Interval t;
+  return t;
+}
diff --git a/lily/horizontal-group-elem.cc b/lily/horizontal-group-elem.cc
new file mode 100644 (file)
index 0000000..85ca745
--- /dev/null
@@ -0,0 +1,34 @@
+
+#include "horizontal-group-elem.hh"
+#include "interval.hh"
+#include "item.hh"
+#include "debug.hh"
+
+
+IMPLEMENT_IS_TYPE_B1(Horizontal_group_element, Axis_group_element);
+
+void
+Horizontal_group_element::remove_all()
+{
+  axis_admin_.remove_all (X_AXIS,X_AXIS);
+}
+
+void
+Horizontal_group_element::add_element (Graphical_element*e)
+{
+  axis_admin_.add_element (e,this, X_AXIS,X_AXIS);
+}
+
+void
+Horizontal_group_element::remove_element (Graphical_element*e)
+{
+  axis_admin_.remove_element (e,X_AXIS,X_AXIS);
+}
+
+
+Interval
+Horizontal_group_element::do_width() const
+{
+  return axis_admin_.extent (X_AXIS);
+}
+
diff --git a/lily/horizontal-vertical-group-elem.cc b/lily/horizontal-vertical-group-elem.cc
new file mode 100644 (file)
index 0000000..6b5ddd7
--- /dev/null
@@ -0,0 +1,26 @@
+
+#include "horizontal-vertical-group-elem.hh"
+#include "interval.hh"
+#include "item.hh"
+#include "debug.hh"
+
+void
+Horizontal_vertical_group_element::remove_all()
+{
+  axis_admin_.remove_all (X_AXIS,Y_AXIS);
+}
+void
+Horizontal_vertical_group_element::add_element (Graphical_element *e)
+{
+  axis_admin_.add_element (e, this, X_AXIS, Y_AXIS);
+}
+
+void
+Horizontal_vertical_group_element::remove_element (Graphical_element*e)
+{
+  axis_admin_.remove_element (e, X_AXIS, Y_AXIS);
+}
+
+
+
+IMPLEMENT_IS_TYPE_B2(Horizontal_vertical_group_element, Horizontal_group_element, Vertical_group_element);
index 33cc6f410aa5ee05b0f7d072a60f6162d4cad355..bcef2c017fa7d4b0e03b31a76eec4d310d3d4430 100644 (file)
@@ -3,9 +3,9 @@
 # Generated automatically by wild-perl 0.1
 # lily/include/Makefile.am.wild
 
 # Generated automatically by wild-perl 0.1
 # lily/include/Makefile.am.wild
 
-noinst_HEADERS = abbrev.hh abbreviation-beam-engraver.hh abbreviation-beam.hh atom.hh audio-column.hh audio-element.hh audio-item.hh audio-staff.hh axes.hh axis-group-administration.hh axis-group-element.hh axis-group-item.hh axis-group-spanner.hh bar-align-grav.hh bar-column-grav.hh bar-column.hh bar-grav.hh bar-number-grav.hh bar.hh beam-grav.hh beam-swallow-trans.hh beam.hh bow.hh boxes.hh break-align-item.hh break-caching.hh break.hh change-iterator.hh change-translator.hh chord-iterator.hh clef-grav.hh clef-item.hh col-info.hh colhpos.hh collision-grav.hh collision.hh command-request.hh const.hh crescendo.hh debug.hh dimen.hh direction.hh directional-spanner.hh dot-column-grav.hh dot-column.hh dots.hh drul-array.hh dynamic-grav.hh elem-group.hh engraver-group.hh engraver.hh general-script-def.hh glob.hh global-translator.hh gourlay-breaking.hh graphical-element.hh grouping.hh head-column.hh head-grav.hh header.hh horizontal-align-item.hh horizontal-group-item.hh horizontal-vertical-group-item.hh idealspacing.hh identifier.hh ineq-constrained-qp.hh item.hh key-grav.hh key-item.hh key-performer.hh key.hh keyword.hh leastsquares.hh lily-proto.hh line-group-grav.hh line-spacer.hh linear-programming.hh linespace.hh local-key-grav.hh local-key-item.hh lookup.hh lyric-engraver.hh lyric-performer.hh main.hh meter-grav.hh meter-performer.hh meter.hh midi-def.hh midi-item.hh midi-stream.hh midi-walker.hh minterval.hh misc.hh molecule.hh music-iterator.hh music-list.hh music-output-def.hh music-output.hh music.hh musical-request.hh my-lily-lexer.hh my-lily-parser.hh note-column.hh note-head.hh note-performer.hh notename-table.hh notename.hh offset.hh outputter.hh p-col.hh p-score.hh paper-def.hh parseconstruct.hh performance.hh performer-group-performer.hh performer.hh pitch-squash-grav.hh plet-engraver.hh plet-spanner.hh plet-swallow-engraver.hh priority-halign-grav.hh property-iterator.hh qlp.hh qlpsolve.hh request-iterator.hh request.hh rest-collision-grav.hh rest-collision.hh rest-column-grav.hh rest-column.hh rest-grav.hh rest.hh rhythmic-column-grav.hh rhythmic-head.hh score-bar.hh score-column.hh score-elem-info.hh score-elem.hh score-grav.hh score-performer.hh score-priority-grav.hh score.hh scoreline.hh script-column.hh script-def.hh script-grav.hh script.hh slur-grav.hh slur.hh span-bar-grav.hh span-bar.hh span-score-bar-grav.hh span-score-bar.hh spanner.hh spring-spacer.hh staff-info.hh staff-performer.hh staff-side.hh staff-sym-grav.hh staff-sym.hh stem-grav.hh stem-info.hh stem.hh super-elem.hh swallow-grav.hh swallow-perf.hh symtable.hh tex-stream.hh tex.hh text-def.hh text-item.hh text-spanner.hh tie-grav.hh tie.hh time-description.hh timing-grav.hh timing-translator.hh todo-performer.hh translation-property.hh translator-change.hh translator-group.hh translator.hh type-swallow-trans.hh vertical-align-elem.hh vertical-align-grav.hh vertical-align-spanner.hh vertical-group-spanner.hh voice-iterator.hh word-wrap.hh dummy.icc minmax.tcc
+noinst_HEADERS = abbrev.hh abbreviation-beam-engraver.hh abbreviation-beam.hh atom.hh audio-column.hh audio-element.hh audio-item.hh audio-staff.hh axes.hh axis-group-administration.hh axis-group-element.hh axis-group-item.hh axis-group-spanner.hh bar-align-grav.hh bar-column-grav.hh bar-column.hh bar-grav.hh bar-number-grav.hh bar.hh beam-grav.hh beam-swallow-trans.hh beam.hh bow.hh boxes.hh break-align-item.hh break-caching.hh break.hh change-iterator.hh change-translator.hh chord-iterator.hh clef-grav.hh clef-item.hh col-info.hh colhpos.hh collision-grav.hh collision.hh command-request.hh const.hh crescendo.hh debug.hh dimen.hh direction.hh directional-spanner.hh dot-column-grav.hh dot-column.hh dots.hh drul-array.hh dynamic-grav.hh elem-group.hh engraver-group.hh engraver.hh general-script-def.hh glob.hh global-translator.hh gourlay-breaking.hh graphical-element.hh grouping.hh head-column.hh head-grav.hh header.hh horizontal-align-item.hh horizontal-group-elem.hh horizontal-group-item.hh horizontal-vertical-group-elem.hh horizontal-vertical-group-item.hh idealspacing.hh identifier.hh ineq-constrained-qp.hh item.hh key-grav.hh key-item.hh key-performer.hh key.hh keyword.hh leastsquares.hh lily-proto.hh line-group-grav.hh line-spacer.hh linear-programming.hh linespace.hh local-key-grav.hh local-key-item.hh lookup.hh lyric-engraver.hh lyric-performer.hh main.hh meter-grav.hh meter-performer.hh meter.hh midi-def.hh midi-item.hh midi-stream.hh midi-walker.hh minterval.hh misc.hh molecule.hh music-iterator.hh music-list.hh music-output-def.hh music-output.hh music.hh musical-request.hh my-lily-lexer.hh my-lily-parser.hh note-column.hh note-head.hh note-performer.hh notename-table.hh notename.hh offset.hh outputter.hh p-col.hh p-score.hh paper-def.hh parseconstruct.hh performance.hh performer-group-performer.hh performer.hh pitch-squash-grav.hh plet-engraver.hh plet-spanner.hh plet-swallow-engraver.hh priority-halign-grav.hh property-iterator.hh qlp.hh qlpsolve.hh request-iterator.hh request.hh rest-collision-grav.hh rest-collision.hh rest-column-grav.hh rest-column.hh rest-grav.hh rest.hh rhythmic-column-grav.hh rhythmic-head.hh rod.hh score-bar.hh score-column.hh score-elem-info.hh score-elem.hh score-grav.hh score-performer.hh score-priority-grav.hh score.hh scoreline.hh script-column.hh script-def.hh script-grav.hh script.hh separating-group-spanner.hh separating-line-group-grav.hh single-malt-grouping-item.hh slur-grav.hh slur.hh span-bar-grav.hh span-bar.hh span-score-bar-grav.hh span-score-bar.hh spanner.hh spring-spacer.hh staff-info.hh staff-performer.hh staff-side.hh staff-sym-grav.hh staff-sym.hh stem-grav.hh stem-info.hh stem.hh super-elem.hh swallow-grav.hh swallow-perf.hh symtable.hh tex-stream.hh tex.hh text-def.hh text-item.hh text-spanner.hh tie-grav.hh tie.hh time-description.hh timing-grav.hh timing-translator.hh todo-performer.hh translation-property.hh translator-change.hh translator-group.hh translator.hh type-swallow-trans.hh vertical-align-elem.hh vertical-align-grav.hh vertical-align-spanner.hh vertical-group-elem.hh vertical-group-spanner.hh voice-iterator.hh word-wrap.hh dummy.icc minmax.tcc
 
 EXTRA_DIST = Makefile.am.wild
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 
 EXTRA_DIST = Makefile.am.wild
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
\ No newline at end of file
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
\ No newline at end of file
index 7da93c0656f79bcc1670d7b82d246a431f52710c..b51e7448b831ad1947937545620df587c06fdc6f 100644 (file)
@@ -99,7 +99,7 @@ YACC = @YACC@
 ZIP = @ZIP@
 absolute_builddir = @absolute_builddir@
 
 ZIP = @ZIP@
 absolute_builddir = @absolute_builddir@
 
-noinst_HEADERS = abbrev.hh abbreviation-beam-engraver.hh abbreviation-beam.hh atom.hh audio-column.hh audio-element.hh audio-item.hh audio-staff.hh axes.hh axis-group-administration.hh axis-group-element.hh axis-group-item.hh axis-group-spanner.hh bar-align-grav.hh bar-column-grav.hh bar-column.hh bar-grav.hh bar-number-grav.hh bar.hh beam-grav.hh beam-swallow-trans.hh beam.hh bow.hh boxes.hh break-align-item.hh break-caching.hh break.hh change-iterator.hh change-translator.hh chord-iterator.hh clef-grav.hh clef-item.hh col-info.hh colhpos.hh collision-grav.hh collision.hh command-request.hh const.hh crescendo.hh debug.hh dimen.hh direction.hh directional-spanner.hh dot-column-grav.hh dot-column.hh dots.hh drul-array.hh dynamic-grav.hh elem-group.hh engraver-group.hh engraver.hh general-script-def.hh glob.hh global-translator.hh gourlay-breaking.hh graphical-element.hh grouping.hh head-column.hh head-grav.hh header.hh horizontal-align-item.hh horizontal-group-item.hh horizontal-vertical-group-item.hh idealspacing.hh identifier.hh ineq-constrained-qp.hh item.hh key-grav.hh key-item.hh key-performer.hh key.hh keyword.hh leastsquares.hh lily-proto.hh line-group-grav.hh line-spacer.hh linear-programming.hh linespace.hh local-key-grav.hh local-key-item.hh lookup.hh lyric-engraver.hh lyric-performer.hh main.hh meter-grav.hh meter-performer.hh meter.hh midi-def.hh midi-item.hh midi-stream.hh midi-walker.hh minterval.hh misc.hh molecule.hh music-iterator.hh music-list.hh music-output-def.hh music-output.hh music.hh musical-request.hh my-lily-lexer.hh my-lily-parser.hh note-column.hh note-head.hh note-performer.hh notename-table.hh notename.hh offset.hh outputter.hh p-col.hh p-score.hh paper-def.hh parseconstruct.hh performance.hh performer-group-performer.hh performer.hh pitch-squash-grav.hh plet-engraver.hh plet-spanner.hh plet-swallow-engraver.hh priority-halign-grav.hh property-iterator.hh qlp.hh qlpsolve.hh request-iterator.hh request.hh rest-collision-grav.hh rest-collision.hh rest-column-grav.hh rest-column.hh rest-grav.hh rest.hh rhythmic-column-grav.hh rhythmic-head.hh score-bar.hh score-column.hh score-elem-info.hh score-elem.hh score-grav.hh score-performer.hh score-priority-grav.hh score.hh scoreline.hh script-column.hh script-def.hh script-grav.hh script.hh slur-grav.hh slur.hh span-bar-grav.hh span-bar.hh span-score-bar-grav.hh span-score-bar.hh spanner.hh spring-spacer.hh staff-info.hh staff-performer.hh staff-side.hh staff-sym-grav.hh staff-sym.hh stem-grav.hh stem-info.hh stem.hh super-elem.hh swallow-grav.hh swallow-perf.hh symtable.hh tex-stream.hh tex.hh text-def.hh text-item.hh text-spanner.hh tie-grav.hh tie.hh time-description.hh timing-grav.hh timing-translator.hh todo-performer.hh translation-property.hh translator-change.hh translator-group.hh translator.hh type-swallow-trans.hh vertical-align-elem.hh vertical-align-grav.hh vertical-align-spanner.hh vertical-group-spanner.hh voice-iterator.hh word-wrap.hh dummy.icc minmax.tcc
+noinst_HEADERS = abbrev.hh abbreviation-beam-engraver.hh abbreviation-beam.hh atom.hh audio-column.hh audio-element.hh audio-item.hh audio-staff.hh axes.hh axis-group-administration.hh axis-group-element.hh axis-group-item.hh axis-group-spanner.hh bar-align-grav.hh bar-column-grav.hh bar-column.hh bar-grav.hh bar-number-grav.hh bar.hh beam-grav.hh beam-swallow-trans.hh beam.hh bow.hh boxes.hh break-align-item.hh break-caching.hh break.hh change-iterator.hh change-translator.hh chord-iterator.hh clef-grav.hh clef-item.hh col-info.hh colhpos.hh collision-grav.hh collision.hh command-request.hh const.hh crescendo.hh debug.hh dimen.hh direction.hh directional-spanner.hh dot-column-grav.hh dot-column.hh dots.hh drul-array.hh dynamic-grav.hh elem-group.hh engraver-group.hh engraver.hh general-script-def.hh glob.hh global-translator.hh gourlay-breaking.hh graphical-element.hh grouping.hh head-column.hh head-grav.hh header.hh horizontal-align-item.hh horizontal-group-elem.hh horizontal-group-item.hh horizontal-vertical-group-elem.hh horizontal-vertical-group-item.hh idealspacing.hh identifier.hh ineq-constrained-qp.hh item.hh key-grav.hh key-item.hh key-performer.hh key.hh keyword.hh leastsquares.hh lily-proto.hh line-group-grav.hh line-spacer.hh linear-programming.hh linespace.hh local-key-grav.hh local-key-item.hh lookup.hh lyric-engraver.hh lyric-performer.hh main.hh meter-grav.hh meter-performer.hh meter.hh midi-def.hh midi-item.hh midi-stream.hh midi-walker.hh minterval.hh misc.hh molecule.hh music-iterator.hh music-list.hh music-output-def.hh music-output.hh music.hh musical-request.hh my-lily-lexer.hh my-lily-parser.hh note-column.hh note-head.hh note-performer.hh notename-table.hh notename.hh offset.hh outputter.hh p-col.hh p-score.hh paper-def.hh parseconstruct.hh performance.hh performer-group-performer.hh performer.hh pitch-squash-grav.hh plet-engraver.hh plet-spanner.hh plet-swallow-engraver.hh priority-halign-grav.hh property-iterator.hh qlp.hh qlpsolve.hh request-iterator.hh request.hh rest-collision-grav.hh rest-collision.hh rest-column-grav.hh rest-column.hh rest-grav.hh rest.hh rhythmic-column-grav.hh rhythmic-head.hh rod.hh score-bar.hh score-column.hh score-elem-info.hh score-elem.hh score-grav.hh score-performer.hh score-priority-grav.hh score.hh scoreline.hh script-column.hh script-def.hh script-grav.hh script.hh separating-group-spanner.hh separating-line-group-grav.hh single-malt-grouping-item.hh slur-grav.hh slur.hh span-bar-grav.hh span-bar.hh span-score-bar-grav.hh span-score-bar.hh spanner.hh spring-spacer.hh staff-info.hh staff-performer.hh staff-side.hh staff-sym-grav.hh staff-sym.hh stem-grav.hh stem-info.hh stem.hh super-elem.hh swallow-grav.hh swallow-perf.hh symtable.hh tex-stream.hh tex.hh text-def.hh text-item.hh text-spanner.hh tie-grav.hh tie.hh time-description.hh timing-grav.hh timing-translator.hh todo-performer.hh translation-property.hh translator-change.hh translator-group.hh translator.hh type-swallow-trans.hh vertical-align-elem.hh vertical-align-grav.hh vertical-align-spanner.hh vertical-group-elem.hh vertical-group-spanner.hh voice-iterator.hh word-wrap.hh dummy.icc minmax.tcc
 
 EXTRA_DIST = Makefile.am.wild
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 
 EXTRA_DIST = Makefile.am.wild
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -218,7 +218,7 @@ mostlyclean distclean maintainer-clean
 
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index 50944b6fc43d2f0f2cf66989c26dcc3218161c62..405712e99db1bc047d5cae34fa248f274dd492b6 100644 (file)
 #include "lily-proto.hh"
 #include "pointer.hh"
 #include "interval.hh"
 #include "lily-proto.hh"
 #include "pointer.hh"
 #include "interval.hh"
+#include "assoc.hh"
 
 /// helper struct for #Spacing_problem#
 struct Colinfo {
   Paper_column *pcol_l_;
   P<Real> fixpos_p_;
 
 /// helper struct for #Spacing_problem#
 struct Colinfo {
   Paper_column *pcol_l_;
   P<Real> fixpos_p_;
+  Assoc<int, Real> min_dists_assoc_;
   Interval width_;
   int rank_i_;
   /// did some tricks to make this column come out.
   Interval width_;
   int rank_i_;
   /// did some tricks to make this column come out.
@@ -26,9 +28,10 @@ struct Colinfo {
   Colinfo();
   Colinfo (Paper_column *,Real const *);
 
   Colinfo();
   Colinfo (Paper_column *,Real const *);
 
+  int rank_i () const;
   void print() const;
   void print() const;
-  bool fixed() const { return fixpos_p_.get_C();}
-  Real fixed_position() const { return *fixpos_p_; }
+  bool fixed_b() const ;
+  Real fixed_position() const ;
 };
 
 #endif // COL_INFO_HH
 };
 
 #endif // COL_INFO_HH
index d02274f6c1e762923ae9786dc989620aae39b5a4..66abd5f379f570a878220d1e9063236f846c04ba 100644 (file)
@@ -19,9 +19,17 @@ enum Direction
   CENTER=0,
   SMALLER=-1,
   BIGGER=1,
   CENTER=0,
   SMALLER=-1,
   BIGGER=1,
-
 };
 
 };
 
+inline Direction
+flip (Direction *i) {
+  if (*i == (Direction)1)
+    *i = (Direction)-1;
+  else if (*i == (Direction)-1)
+    *i = (Direction)1;
+  return *i;
+}
+
 /**
    if d > 0: the max operator
    if d < 0: the min operator
 /**
    if d > 0: the max operator
    if d < 0: the min operator
index 69db537a9b60c225c8bfbb188c850376c7bd91e1..962fd2b6c21d2a7e8b98f6de03e19974c52a5370 100644 (file)
@@ -12,6 +12,8 @@
 
 #include "direction.hh"
 
 
 #include "direction.hh"
 
+#include <assert.h>
+
 /**
   Left/right or Up/down arrays. Drul is nicer sounding than udlr
  */
 /**
   Left/right or Up/down arrays. Drul is nicer sounding than udlr
  */
index 82ab4cc787517a1883e8bd518cd0d92aea0e4298..59bb03cdf052c0ad86b357eb622ac569f13d11d5 100644 (file)
 
 
 
 
 
 
-/**
-  Treat a group of elements a unity in horizontal sense .
-  A column is a typical Vertical_group.
- */
-class Horizontal_group_element : public virtual Axis_group_element {
-protected:
-    virtual void remove_all();
-    virtual Interval do_width() const;
-
-public:
-    DECLARE_MY_RUNTIME_TYPEINFO;
-    virtual void add_element (Graphical_element*);
-    virtual void remove_element (Graphical_element*);
-
-};
-/**
-  Like Horizontal_group_element, but in X direction
- */
-class Vertical_group_element : public virtual Axis_group_element {
-protected:
-    virtual Interval do_height() const;
-    virtual void remove_all();
-
-public:
-    virtual void add_element (Graphical_element*);
-    virtual void remove_element (Graphical_element*);
-    DECLARE_MY_RUNTIME_TYPEINFO;
-};
-
-/** A class to treat a group of elements as a single entity. The
-  dimensions are the unions of the dimensions of what it contains.
-  Translation means translating the contents.
-  */
-class Horizontal_vertical_group_element : public Vertical_group_element, 
-                                 public Horizontal_group_element 
-{  
-protected:
-    virtual void remove_all();
-public:
-    virtual void add_element (Graphical_element*);
-    virtual void remove_element (Graphical_element*);
-    
-    DECLARE_MY_RUNTIME_TYPEINFO;    
-};
 
 
+#error
 #endif // ELEM_GROUP_HH
 #endif // ELEM_GROUP_HH
index 3788df867cbd0fddc933595376e7b05076ddd891..4faf568ae939bde4788dedb4f3799fc8844d0b56 100644 (file)
  */
 class General_script_def : public Input {
 public:
  */
 class General_script_def : public Input {
 public:
-    VIRTUAL_COPY_CONS(General_script_def,General_script_def);
-    DECLARE_MY_RUNTIME_TYPEINFO;
-    virtual Direction staff_dir() const;
-    void print() const;
-    virtual Direction rel_stem_dir() const;
-    virtual int priority_i() const;
-    virtual bool inside_b() const;
-    virtual Atom get_atom (Paper_def* p, Direction dir_) const;
-    bool equal_b (General_script_def const&) const;
-    virtual ~General_script_def() {}
+  VIRTUAL_COPY_CONS(General_script_def,General_script_def);
+  DECLARE_MY_RUNTIME_TYPEINFO;
+  virtual Direction staff_dir() const;
+  void print() const;
+  virtual Direction rel_stem_dir() const;
+  virtual int priority_i() const;
+  virtual bool inside_b() const;
+  virtual Atom get_atom (Paper_def* p, Direction dir_) const;
+  bool equal_b (General_script_def const&) const;
+  virtual ~General_script_def() {}
     
     
+  virtual Interval width (Paper_def *) const;
 protected:
 protected:
-    virtual bool do_equal_b (General_script_def const *) const;
-    virtual void do_print() const;
+  virtual bool do_equal_b (General_script_def const *) const;
+  virtual void do_print() const;
 };
 
 #endif // GENERAL_SCRIPT_DEF_HH
 };
 
 #endif // GENERAL_SCRIPT_DEF_HH
index f223e07be10d03556be8a80acfcc130c5b61dd2d..7ae19db88ba0a1a4b55810b37e3ea201077d5515 100644 (file)
@@ -9,7 +9,7 @@
 
 #ifndef HORIZONTAL_ALIGN_ITEM_HH
 #define HORIZONTAL_ALIGN_ITEM_HH
 
 #ifndef HORIZONTAL_ALIGN_ITEM_HH
 #define HORIZONTAL_ALIGN_ITEM_HH
-#include "elem-group.hh"
+
 #include "item.hh"
 
 /**
 #include "item.hh"
 
 /**
diff --git a/lily/include/horizontal-group-elem.hh b/lily/include/horizontal-group-elem.hh
new file mode 100644 (file)
index 0000000..8d3adfb
--- /dev/null
@@ -0,0 +1,33 @@
+/*   
+  horizontal-group-elem.hh -- declare 
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1997 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+  
+ */
+
+#ifndef HORIZONTAL_GROUP_ELEM_HH
+#define HORIZONTAL_GROUP_ELEM_HH
+
+#include "axis-group-element.hh"
+
+/**
+  Treat a group of elements a unity in horizontal sense .
+  A column is a typical Vertical_group.
+ */
+class Horizontal_group_element : public virtual Axis_group_element {
+protected:
+    virtual void remove_all();
+    virtual Interval do_width() const;
+
+public:
+    DECLARE_MY_RUNTIME_TYPEINFO;
+    virtual void add_element (Graphical_element*);
+    virtual void remove_element (Graphical_element*);
+
+};
+
+
+#endif /* HORIZONTAL_GROUP_ELEM_HH */
+
index 10d8106b1d5eb790fe6ede1ef08d765e9b22e30e..568c257c64bfc0d890d02310f92950207f8b2f4b 100644 (file)
@@ -10,7 +10,7 @@
 #ifndef HORIZONTAL_GROUP_ITEM_HH
 #define HORIZONTAL_GROUP_ITEM_HH
 
 #ifndef HORIZONTAL_GROUP_ITEM_HH
 #define HORIZONTAL_GROUP_ITEM_HH
 
-#include "elem-group.hh"
+#include "horizontal-group-elem.hh"
 #include "axis-group-item.hh"
 
 /**
 #include "axis-group-item.hh"
 
 /**
diff --git a/lily/include/horizontal-vertical-group-elem.hh b/lily/include/horizontal-vertical-group-elem.hh
new file mode 100644 (file)
index 0000000..9080872
--- /dev/null
@@ -0,0 +1,35 @@
+/*   
+  horizontal-vertical-group-elem.hh -- declare 
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1997 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+  
+ */
+
+#ifndef HORIZONTAL_VERTICAL_GROUP_ELEM_HH
+#define HORIZONTAL_VERTICAL_GROUP_ELEM_HH
+
+#include "vertical-group-elem.hh"
+#include "horizontal-group-elem.hh"
+
+/** A class to treat a group of elements as a single entity. The
+  dimensions are the unions of the dimensions of what it contains.
+  Translation means translating the contents.
+  */
+class Horizontal_vertical_group_element : public Vertical_group_element, 
+                                 public Horizontal_group_element 
+{  
+protected:
+    virtual void remove_all();
+public:
+    virtual void add_element (Graphical_element*);
+    virtual void remove_element (Graphical_element*);
+    
+    DECLARE_MY_RUNTIME_TYPEINFO;    
+};
+
+
+#endif /* HORIZONTAL_VERTICAL_GROUP_ELEM_HH */
+
+
index 733ff639bda653b427a01c914c3dee44373354d8..1aa8c8b82ca5254d09d91afd42f7845800ef29e2 100644 (file)
@@ -11,7 +11,7 @@
 #define HORIZONTAL_VERTICAL_GROUP_ITEM_HH
 
 #include "axis-group-item.hh"
 #define HORIZONTAL_VERTICAL_GROUP_ITEM_HH
 
 #include "axis-group-item.hh"
-#include "elem-group.hh"
+#include "horizontal-vertical-group-elem.hh"
 
 
 /**
 
 
 /**
index df5b6757ec1383895b5d957f5dc140105262e3de..64bcca5e700ba347abe2d38d2d66e18db446e5af 100644 (file)
@@ -31,12 +31,12 @@ public:
 
   /// should be put in a breakable col.
   bool breakable_b_;
 
   /// should be put in a breakable col.
   bool breakable_b_;
-  int break_status_i_;
+  Direction break_status_i_;
   int break_priority_i_;
   
   /// nobreak = 0, pre = -1, post = 1
   int break_status_i() const;
   int break_priority_i_;
   
   /// nobreak = 0, pre = -1, post = 1
   int break_status_i() const;
-  Item * find_prebroken_piece (int) const;
+  Item * find_prebroken_piece (Direction) const;
   Item * find_prebroken_piece (Line_of_score*) const;    
 
   virtual Item *item() { return this; }
   Item * find_prebroken_piece (Line_of_score*) const;    
 
   virtual Item *item() { return this; }
@@ -44,6 +44,7 @@ public:
   Real hpos_f() const;
   DECLARE_MY_RUNTIME_TYPEINFO;
   virtual Line_of_score * line_l() const;
   Real hpos_f() const;
   DECLARE_MY_RUNTIME_TYPEINFO;
   virtual Line_of_score * line_l() const;
+  virtual Paper_column * column_l () const;
     
   static int left_right_compare (Item const *, Item const*);
 protected:
     
   static int left_right_compare (Item const *, Item const*);
 protected:
index 8f11061320f2ec7349100c1ca8bab29c45935b6e..809bb015ca49c7e8892f1c66d2f583060ab0bf52 100644 (file)
@@ -176,6 +176,8 @@ struct Rhythmic_grouping;
 struct Rhythmic_head;
 struct Rhythmic_grouping_req;
 struct Rhythmic_req;
 struct Rhythmic_head;
 struct Rhythmic_grouping_req;
 struct Rhythmic_req;
+struct Single_malt_grouping_item;
+struct Separating_group_spanner;
 struct Score;
 struct Score_column;
 struct Score_elem;
 struct Score;
 struct Score_column;
 struct Score_elem;
@@ -226,6 +228,7 @@ struct Timing_req;
 struct Vertical_brace;
 struct Vertical_spanner;
 struct Vertical_group_element;
 struct Vertical_brace;
 struct Vertical_spanner;
 struct Vertical_group_element;
+struct Vertical_group_spanner;
 struct Vertical_align_spanner;
 struct Vertical_align_engraver;
 struct Vertical_align_element;
 struct Vertical_align_spanner;
 struct Vertical_align_engraver;
 struct Vertical_align_element;
index ac57f9ab6a5679d7b636f0911504bff54f488b6d..5316de9a8a8bf46a2aa17a8e46e75bb6b39bed24 100644 (file)
 #define LINE_GROUP_GRAV_HH
 
 #include "engraver.hh"
 #define LINE_GROUP_GRAV_HH
 
 #include "engraver.hh"
+#include "lily-proto.hh"
 
 /**
   Engravers put elements on the same or lowel level in a line
   */
 class Line_group_engraver : public Engraver{
 
 /**
   Engravers put elements on the same or lowel level in a line
   */
 class Line_group_engraver : public Engraver{
+protected:
+
   Vertical_group_spanner *staffline_p_;   
 
   Vertical_group_spanner *staffline_p_;   
 
-protected:
+
+  virtual void create_line_spanner ();
   virtual void do_creation_processing();
   virtual void do_removal_processing();
   virtual void acknowledge_element (Score_elem_info);
   virtual void do_creation_processing();
   virtual void do_removal_processing();
   virtual void acknowledge_element (Score_elem_info);
index 28fa8d04aa45c86caba4551572f370807d25045f..ff5303d5f608f1abd8a6f20c103a6de87609a4db 100644 (file)
@@ -165,9 +165,9 @@ public:
 class Span_req  : public virtual Musical_req  {
 public:
   /// should the spanner start or stop, or is it unwanted?
 class Span_req  : public virtual Musical_req  {
 public:
   /// should the spanner start or stop, or is it unwanted?
-  enum {
+  enum Spantype {
     NOSPAN, START, STOP
     NOSPAN, START, STOP
-  } spantype ;
+  } spantype;
   bool do_equal_b (Request*) const;
   REQUESTMETHODS(Span_req,span);
 
   bool do_equal_b (Request*) const;
   REQUESTMETHODS(Span_req,span);
 
index c297bb78430b8a0ddc5cd718144c69601611f60a..0a5487a13868e90b5361edcc39c99eac271f6e65 100644 (file)
@@ -12,6 +12,8 @@
 
 #include "horizontal-group-item.hh"
 #include "plist.hh"
 
 #include "horizontal-group-item.hh"
 #include "plist.hh"
+#include "rod.hh"
+
 
 /**
    stuff grouped vertically.
 
 /**
    stuff grouped vertically.
@@ -30,6 +32,11 @@ class Paper_column : public Horizontal_group_item {
 public:
   DECLARE_MY_RUNTIME_TYPEINFO;
   SCORE_ELEM_CLONE(Paper_column);
 public:
   DECLARE_MY_RUNTIME_TYPEINFO;
   SCORE_ELEM_CLONE(Paper_column);
+  Drul_array< Array<Column_rod> > minimal_dists_arr_drul_;
+
+  void preprocess ();
+  /// set a minimum distance
+  void add_rod (Paper_column * to, Real distance, Direction d);
   
   /** prebreak is put before end of line.
     if broken here, then (*this) column is discarded, and prebreak
   
   /** prebreak is put before end of line.
     if broken here, then (*this) column is discarded, and prebreak
@@ -39,7 +46,8 @@ public:
 
   /// postbreak at beginning of the new line
   Paper_column *postbreak_l() const;
 
   /// postbreak at beginning of the new line
   Paper_column *postbreak_l() const;
-    
+
+  virtual Paper_column * column_l () const;
   /// if lines are broken then this column is in #line#
   Line_of_score *line_l_;
 
   /// if lines are broken then this column is in #line#
   Line_of_score *line_l_;
 
diff --git a/lily/include/rod.hh b/lily/include/rod.hh
new file mode 100644 (file)
index 0000000..42509d4
--- /dev/null
@@ -0,0 +1,37 @@
+/*   
+  rod.hh -- declare Rod, Column_rod
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1998 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+  
+ */
+
+#ifndef ROD_HH
+#define ROD_HH
+#include "lily-proto.hh"
+#include "direction.hh"
+#include "drul-array.hh"
+
+struct Column_rod {
+  Paper_column *other_l_;
+  Real distance_f_;
+  Direction dir_;
+  Column_rod ();
+  static int compare (const Column_rod &r1, const Column_rod &r2);
+  void print () const;
+};
+
+struct Rod
+{
+  Drul_array <Item*> item_l_drul_;
+  Real distance_f_;
+  void add_to_cols ();
+
+  Rod (Item*,Item*);
+  Rod ();
+};
+
+
+#endif /* ROD_HH */
+
index 64ec7fcbe19899d8cf40257ef6fcd22b6b0024fe..5757d074e80e20a43a00209b51c49bfa768c8784 100644 (file)
@@ -97,6 +97,9 @@ protected:
   /// do calculations before determining horizontal spacing
   virtual void do_pre_processing();
 
   /// do calculations before determining horizontal spacing
   virtual void do_pre_processing();
 
+  /// generate rods & springs
+  virtual void do_space_processing ();
+
   virtual void do_breakable_col_processing();
   /// do calculations after determining horizontal spacing
   virtual void do_post_processing();
   virtual void do_breakable_col_processing();
   /// do calculations after determining horizontal spacing
   virtual void do_post_processing();
diff --git a/lily/include/separating-group-spanner.hh b/lily/include/separating-group-spanner.hh
new file mode 100644 (file)
index 0000000..6ec7d0f
--- /dev/null
@@ -0,0 +1,29 @@
+/*   
+  separating-group-spanner.hh -- declare 
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1998 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+  
+ */
+
+#ifndef SEPARATING_GROUP_SPANNER_HH
+#define SEPARATING_GROUP_SPANNER_HH
+
+#include "vertical-group-spanner.hh"
+
+
+class Separating_group_spanner : public Spanner
+{
+  Link_array<Single_malt_grouping_item> spacing_unit_l_arr_;
+public:
+  DECLARE_MY_RUNTIME_TYPEINFO;
+  void add_spacing_unit (Single_malt_grouping_item*);
+protected:
+  SCORE_ELEM_CLONE (Separating_group_spanner);
+  virtual Array<Rod> get_rods () const;
+  virtual void do_substitute_dependency (Score_elem*,Score_elem*);
+};
+
+#endif /* SEPARATING_GROUP_SPANNER_HH */
+
diff --git a/lily/include/separating-line-group-grav.hh b/lily/include/separating-line-group-grav.hh
new file mode 100644 (file)
index 0000000..17e83aa
--- /dev/null
@@ -0,0 +1,34 @@
+/*   
+  separating-line-group-grav.hh -- declare Separating_line_group_engraver
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1998 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+  
+ */
+
+#ifndef SEPARATING_LINE_GROUP_GRAV_HH
+#define SEPARATING_LINE_GROUP_GRAV_HH
+
+#include "line-group-grav.hh"
+
+class Separating_line_group_engraver : public Line_group_engraver
+{
+protected:
+  Single_malt_grouping_item * break_malt_p_;
+  Single_malt_grouping_item* nobreak_malt_p_;
+  Separating_group_spanner * sep_span_p_;
+  
+  virtual void acknowledge_element (Score_elem_info);
+  virtual void do_creation_processing ();
+  virtual void do_removal_processing ();
+  virtual void do_pre_move_processing ();
+public:
+  Separating_line_group_engraver ();
+  TRANSLATOR_CLONE (Separating_line_group_engraver);
+  DECLARE_MY_RUNTIME_TYPEINFO;
+};
+
+
+#endif /* SEPARATING_LINE_GROUP_GRAV_HH */
+
diff --git a/lily/include/single-malt-grouping-item.hh b/lily/include/single-malt-grouping-item.hh
new file mode 100644 (file)
index 0000000..4b74897
--- /dev/null
@@ -0,0 +1,35 @@
+/*   
+  single-malt-grouping-item.hh -- declare 
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1997 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+  
+ */
+
+#ifndef SINGLE_MALT_GROUPING_ITEM_HH
+#define SINGLE_MALT_GROUPING_ITEM_HH
+
+#include "item.hh"
+
+/** Calc dimensions for the Separating_group_spanner; this has to be
+   an itme to get dependencies correct.  It can't be an element_group
+   since these usually are in a different X_group 
+
+   It's 1 30 am.  Naming suggestions appreciated.  */
+class Single_malt_grouping_item : public Item
+{
+  SCORE_ELEM_CLONE (Single_malt_grouping_item);
+  Link_array<Item> item_l_arr_;
+public:
+  Single_malt_grouping_item ();
+  Interval do_width () const;
+  void add (Item*);
+  DECLARE_MY_RUNTIME_TYPEINFO;
+protected:
+  virtual  void do_substitute_dependency (Score_elem*, Score_elem*);
+
+};
+
+#endif /* SINGLE_MALT_GROUPING_ITEM_HH */
+
index ad205fcbf01b122590c68ed87ca9152be857d89f..0559dce40dd6a5841a625f290f065911c522357d 100644 (file)
@@ -10,6 +10,7 @@
 #include "lily-proto.hh"
 #include "score-elem.hh"
 #include "drul-array.hh"
 #include "lily-proto.hh"
 #include "score-elem.hh"
 #include "drul-array.hh"
+#include "rod.hh"
 
 /** A symbol which is attached between two columns. A spanner is a
   symbol which spans across several columns, so its final appearance
 
 /** A symbol which is attached between two columns. A spanner is a
   symbol which spans across several columns, so its final appearance
@@ -41,7 +42,7 @@ public:
   virtual Spanner* spanner() { return this; }    
   Spanner();
   bool broken_b() const;
   virtual Spanner* spanner() { return this; }    
   Spanner();
   bool broken_b() const;
-
+  virtual Array<Rod> get_rods () const;
   Spanner* find_broken_piece (Line_of_score*) const;
 protected:
   void set_my_columns();
   Spanner* find_broken_piece (Line_of_score*) const;
 protected:
   void set_my_columns();
@@ -57,6 +58,7 @@ protected:
   virtual void do_unlink();
   virtual void do_junk_links();
   virtual void do_brew_molecule ();
   virtual void do_unlink();
   virtual void do_junk_links();
   virtual void do_brew_molecule ();
+  virtual void do_space_processing ();
   virtual void do_break_processing();
   virtual Interval do_width() const;
   virtual void do_print() const;
   virtual void do_break_processing();
   virtual Interval do_width() const;
   virtual void do_print() const;
index 04c9184f56ada169f9c916f4c682dd0c92f4560f..ffd59f5f688407efffe80be7f757179ad91bbe0e 100644 (file)
@@ -69,6 +69,7 @@ class Spring_spacer : public Line_spacer {
 
   void handle_loose_cols();
   void position_loose_cols (Vector &) const;
 
   void handle_loose_cols();
   void position_loose_cols (Vector &) const;
+  bool try_initial_solution_and_tell (Vector&)const;
   Vector try_initial_solution() const;
   void calc_idealspacing();
   void set_fixed_cols (Mixed_qp&) const;
   Vector try_initial_solution() const;
   void calc_idealspacing();
   void set_fixed_cols (Mixed_qp&) const;
index 74bfda66916466a5981474197e776f0cc7ad3093..e5e43938876f129ac0460afbb459b763dbfcab46 100644 (file)
@@ -21,6 +21,7 @@ public:
     void add_broken_line (Line_of_score*);
   Super_elem();
 
     void add_broken_line (Line_of_score*);
   Super_elem();
 
+  void space_processing ();
   void pre_processing();
   void breakable_col_processing();
   void break_processing();
   void pre_processing();
   void breakable_col_processing();
   void break_processing();
index 6624959140b8e9f5dce4a7fda8bdb81707225f42..13fb25511bc27e6ae93f1cf40a97813a2c13174e 100644 (file)
 class Text_def : public General_script_def 
 {
 public:
 class Text_def : public General_script_def 
 {
 public:
-    DECLARE_MY_RUNTIME_TYPEINFO;
-    VIRTUAL_COPY_CONS(Text_def,General_script_def);
+  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Text_def,General_script_def);
 
 
-    /**
-      centered , or aligned?
+  /**
+     centered , or aligned?
 
 
-      -1 = raggedright, 0 = center, 1 = raggedleft
-     */
-    Direction align_i_;
+     -1 = raggedright, 0 = center, 1 = raggedleft
+  */
+  Direction align_i_;
 
 
-    String text_str_;
-    String style_str_;
+  String text_str_;
+  String style_str_;
     
     
-    virtual void do_print() const;
-    virtual Direction staff_dir() const;
-    virtual Atom get_atom (Paper_def* p, Direction dir_) const;
-    virtual ~Text_def() {};
-    virtual bool do_equal_b (const General_script_def*) const;
-    Text_def();
-    virtual void print() const;
-    Interval width (Paper_def*) const;
+  virtual void do_print() const;
+  virtual Direction staff_dir() const;
+  virtual Atom get_atom (Paper_def* p, Direction dir_) const;
+  virtual ~Text_def() {};
+  virtual bool do_equal_b (const General_script_def*) const;
+  Text_def();
+  virtual void print() const;
+  virtual Interval width (Paper_def*) const;
 };
 
 #endif // TEXT_DEF_HH
 };
 
 #endif // TEXT_DEF_HH
index bb6b7ed48f937217b1eefa836eb5537b9895d6af..a01e2c5164c045e212a16e5f75957f02ad351e80 100644 (file)
@@ -10,7 +10,7 @@
 #ifndef VERTICAL_ALIGN_ITEM_HH
 #define VERTICAL_ALIGN_ITEM_HH
 
 #ifndef VERTICAL_ALIGN_ITEM_HH
 #define VERTICAL_ALIGN_ITEM_HH
 
-#include "elem-group.hh"
+#include "score-elem.hh"
 
 /**
   Order elements top to bottom.
 
 /**
   Order elements top to bottom.
diff --git a/lily/include/vertical-group-elem.hh b/lily/include/vertical-group-elem.hh
new file mode 100644 (file)
index 0000000..5e46c66
--- /dev/null
@@ -0,0 +1,29 @@
+/*   
+  vertical-group-elem.hh -- declare 
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1997 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+  
+ */
+
+#ifndef VERTICAL_GROUP_ELEM_HH
+#define VERTICAL_GROUP_ELEM_HH
+
+#include "axis-group-element.hh"
+/**
+  Like Horizontal_group_element, but in X direction
+ */
+class Vertical_group_element : public virtual Axis_group_element {
+protected:
+    virtual Interval do_height() const;
+    virtual void remove_all();
+
+public:
+    virtual void add_element (Graphical_element*);
+    virtual void remove_element (Graphical_element*);
+    DECLARE_MY_RUNTIME_TYPEINFO;
+};
+
+#endif /* VERTICAL_GROUP_ELEM_HH */
+
index 3c9ef948bce9628af57447bedf1494ca75f49c50..405c65a0b7ff86de93cc937b553b8abf389abf2f 100644 (file)
@@ -11,7 +11,7 @@
 #define SPAN_VERTICAL_GROUP_HH
 
 #include "axis-group-spanner.hh"
 #define SPAN_VERTICAL_GROUP_HH
 
 #include "axis-group-spanner.hh"
-#include "elem-group.hh"
+#include "vertical-group-elem.hh"
 
 /** An element which groups a line. 
  */
 
 /** An element which groups a line. 
  */
@@ -28,4 +28,5 @@ public:
   virtual void remove_element (Graphical_element*e) { Vertical_group_element::remove_element (e); }  
 };
 
   virtual void remove_element (Graphical_element*e) { Vertical_group_element::remove_element (e); }  
 };
 
+
 #endif // SPAN_VERTICAL_GROUP_HH
 #endif // SPAN_VERTICAL_GROUP_HH
index daaf880a96abd8b5df2add34fdef3f979637af09..11d4568635be2aae04a6d092b9bb733c7470dbc6 100644 (file)
 #include "debug.hh"
 #include "item.hh"
 #include "p-col.hh"
 #include "debug.hh"
 #include "item.hh"
 #include "p-col.hh"
-#include "elem-group.hh"
+// #include "elem-group.hh"
 #include "spanner.hh"
 
 Item::Item()
 {
   break_priority_i_ = 0;
   breakable_b_ = false;
 #include "spanner.hh"
 
 Item::Item()
 {
   break_priority_i_ = 0;
   breakable_b_ = false;
-  break_status_i_ = 0;
+  break_status_i_ = CENTER;
   broken_to_drul_[LEFT] = broken_to_drul_[RIGHT]=0;
 }
 
   broken_to_drul_[LEFT] = broken_to_drul_[RIGHT]=0;
 }
 
@@ -67,7 +67,7 @@ Item::copy_breakable_items()
       item_p->handle_prebroken_dependencies();
       new_copies[i] =item_p;
     }
       item_p->handle_prebroken_dependencies();
       new_copies[i] =item_p;
     }
-  while ((i *= -1) != LEFT);
+  while (flip(&i) != LEFT);
   broken_to_drul_= new_copies;
 }
 
   broken_to_drul_= new_copies;
 }
 
@@ -102,12 +102,12 @@ Item::find_prebroken_piece (Line_of_score*l) const
 }
 
 Item*
 }
 
 Item*
-Item::find_prebroken_piece (int breakstatus) const
+Item::find_prebroken_piece (Direction breakstatus) const
 {
   if (!breakstatus)
     return (Item *) this;      // ugh
   else
 {
   if (!breakstatus)
     return (Item *) this;      // ugh
   else
-    return (Item*) broken_to_drul_[(Direction)breakstatus];
+    return (Item*) broken_to_drul_[breakstatus];
 }
 
 void
 }
 
 void
@@ -158,3 +158,9 @@ Item::do_unlink()
   }
   attached_span_l_arr_.set_size (0);
 }
   }
   attached_span_l_arr_.set_size (0);
 }
+
+Paper_column *
+Item::column_l () const
+{
+  return axis_group_l_a_[X_AXIS]->item ()->column_l ();
+}
index ab718a97f76bca922a7deed174a2836cbdb00469..0f1568f29f82f44f2ac714b2e1d064666a685dbd 100644 (file)
@@ -1,4 +1,5 @@
 #include "leastsquares.hh"
 #include "leastsquares.hh"
+
 void
 Least_squares::OK() const
 {
 void
 Least_squares::OK() const
 {
@@ -9,6 +10,7 @@ Least_squares::OK() const
 
   assert (dx);
 }
 
   assert (dx);
 }
+
 void
 Least_squares::minimise (Real &coef, Real &offset)
 {
 void
 Least_squares::minimise (Real &coef, Real &offset)
 {
index a975b75cc6622ce93bd49cb4af0051eca5892645..465a23d819a2717009f2822df294601973c091e5 100644 (file)
@@ -23,7 +23,7 @@ void
 Line_group_engraver::acknowledge_element (Score_elem_info  elem)
 {
   if (!elem.elem_l_->axis_group_l_a_[Y_AXIS])
 Line_group_engraver::acknowledge_element (Score_elem_info  elem)
 {
   if (!elem.elem_l_->axis_group_l_a_[Y_AXIS])
-       staffline_p_->add_element (elem.elem_l_);
+    staffline_p_->add_element (elem.elem_l_);
 }
 
 
 }
 
 
@@ -38,13 +38,19 @@ Line_group_engraver::do_removal_processing()
 void
 Line_group_engraver::do_creation_processing()
 {
 void
 Line_group_engraver::do_creation_processing()
 {
-  staffline_p_ = new Vertical_group_spanner ;
+  create_line_spanner ();
   staffline_p_->set_bounds(LEFT,get_staff_info().command_pcol_l ());
 
   // don't broadcast to self.
   announce_element (Score_elem_info (staffline_p_,0));
 }
 
   staffline_p_->set_bounds(LEFT,get_staff_info().command_pcol_l ());
 
   // don't broadcast to self.
   announce_element (Score_elem_info (staffline_p_,0));
 }
 
+void
+Line_group_engraver::create_line_spanner ()
+{
+  staffline_p_ = new Vertical_group_spanner ;
+}
+
 
 
 IMPLEMENT_IS_TYPE_B1(Line_group_engraver,Engraver);
 
 
 IMPLEMENT_IS_TYPE_B1(Line_group_engraver,Engraver);
index 6f9c317fd94eff93985fc008805d2958b15c7505..3e518e022c403babb123774c961bd8e81ea556ee 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
-  line-spacer.cc -- implement 
+  line-spacer.cc -- implement Line_spacer
 
   source file of the GNU LilyPond music typesetter
 
 
   source file of the GNU LilyPond music typesetter
 
index bc46309810682d6bad89d9c4e7c7eac3872acbf7..c84b92ee0fdebbe2671c8cf442fe742cc6ddff3e 100644 (file)
@@ -207,7 +207,7 @@ Rhythmic_req::duration() const
 Lyric_req::Lyric_req (Text_def* def_p)
   :Text_req (0, def_p)
 {
 Lyric_req::Lyric_req (Text_def* def_p)
   :Text_req (0, def_p)
 {
-  def_p->align_i_ = 0; // centre
+  def_p->align_i_ = CENTER;    // centre
   dir_ = DOWN;         // lyrics below (invisible) staff
 }
 
   dir_ = DOWN;         // lyrics below (invisible) staff
 }
 
index 06fae0d37fb468d15f2e512400f58f651a62f024..898c7357ab7826525be8b7bab1d7886c03ef9dea 100644 (file)
 #include "p-score.hh"
 #include "debug.hh"
 
 #include "p-score.hh"
 #include "debug.hh"
 
+void
+Paper_column::add_rod (Paper_column * p, Real d, Direction dir)
+{
+  assert( sign (p->rank_i ()  - rank_i ()) == dir);
+  for (int i=0; i < minimal_dists_arr_drul_[dir].size (); i++)
+    {
+      Column_rod &rod = minimal_dists_arr_drul_[dir][i];
+      if (rod.other_l_ == p)
+       {
+         rod.distance_f_ = rod.distance_f_ >? d;
+         return ;
+       }
+    }
+
+  Column_rod cr;
+  cr.distance_f_ = d;
+  cr.other_l_ = p;
+  cr.dir_ = dir;
+
+  minimal_dists_arr_drul_[dir].push (cr);
+      
+}
 
 int
 Paper_column::rank_i() const
 
 int
 Paper_column::rank_i() const
@@ -44,10 +66,15 @@ Paper_column::do_print() const
     } 
   if (break_status_i_)
     {
     } 
   if (break_status_i_)
     {
-      DOUT <<'\n' << ((break_status_i_ == -1)? "prebreak" : "postbreak");
+      DOUT <<'\n' << ((break_status_i_ == LEFT) ? "prebreak" : "postbreak");
       DOUT << '\n';
     }
   // DOUT << "extent: " << width().str () << "\n";
       DOUT << '\n';
     }
   // DOUT << "extent: " << width().str () << "\n";
+
+  for (int i=0; i < minimal_dists_arr_drul_[RIGHT].size (); i++)
+    {
+      minimal_dists_arr_drul_[RIGHT][i].print ();
+    }
 #endif 
 }
 
 #endif 
 }
 
@@ -96,3 +123,16 @@ Paper_column::used_b() const
 
 IMPLEMENT_IS_TYPE_B1(Paper_column, Horizontal_group_item);
 
 
 IMPLEMENT_IS_TYPE_B1(Paper_column, Horizontal_group_item);
 
+Paper_column*
+Paper_column::column_l () const
+{
+  return (Paper_column*)this;
+}
+
+
+void
+Paper_column::preprocess ()
+{
+  minimal_dists_arr_drul_[LEFT].sort (Column_rod::compare);
+  minimal_dists_arr_drul_[RIGHT].sort (Column_rod::compare);  
+}
index 437efdc694073b51358dc32fb31db12b47e56fca..e53985fa4e6ada010850302abe8c29069887d481 100644 (file)
@@ -25,8 +25,8 @@
 #include "outputter.hh"
 
 // sucking Cygnus egcs - w32
 #include "outputter.hh"
 
 // sucking Cygnus egcs - w32
-#include "plist.tcc"
-#include "pcursor.tcc"
+#include "list.tcc"
+#include "cursor.tcc"
 
 Paper_score::Paper_score ()
 {
 
 Paper_score::Paper_score ()
 {
@@ -185,7 +185,9 @@ Paper_score::process ()
   *mlog << _("Preprocessing elements... ") <<flush;
   super_elem_l_->breakable_col_processing ();
   super_elem_l_->pre_processing ();
   *mlog << _("Preprocessing elements... ") <<flush;
   super_elem_l_->breakable_col_processing ();
   super_elem_l_->pre_processing ();
+  
   *mlog << _("\nCalculating column positions ... ") <<flush;
   *mlog << _("\nCalculating column positions ... ") <<flush;
+  super_elem_l_->space_processing ();
   calc_breaking ();
   *mlog << _("\nPostprocessing elements...") << endl;
   super_elem_l_->post_processing ();
   calc_breaking ();
   *mlog << _("\nPostprocessing elements...") << endl;
   super_elem_l_->post_processing ();
index 7c9149b7e5b6fd9ff402de327cdb5ec94f1e567a..584b05711b18cc5e5c27c9e8fffe5bc3f0c4c9fd 100644 (file)
 #include "duration-convert.hh"
 #include "change-translator.hh"
 
 #include "duration-convert.hh"
 #include "change-translator.hh"
 
+// needed for bison.simple's malloc() and free()
+#include <malloc.h>
+
 int const GUESS_PLET = 5;
 int guess_plet_a[GUESS_PLET] =
 { 
 int const GUESS_PLET = 5;
 int guess_plet_a[GUESS_PLET] =
 { 
@@ -151,7 +154,7 @@ int guess_plet_a[GUESS_PLET] =
 #define yyerror THIS->parser_error
 
 
 #define yyerror THIS->parser_error
 
 
-#line 68 "parser.yy"
+#line 71 "parser.yy"
 typedef union {
     Array<Interval>* intarr;
     Array<Melodic_req*> *melreqvec;/* should clean up naming */
 typedef union {
     Array<Interval>* intarr;
     Array<Melodic_req*> *melreqvec;/* should clean up naming */
@@ -191,7 +194,7 @@ typedef union {
     int pair[2];
     int ii[10];
 } YYSTYPE;
     int pair[2];
     int ii[10];
 } YYSTYPE;
-#line 107 "parser.yy"
+#line 110 "parser.yy"
 
 
 int
 
 
 int
@@ -355,29 +358,29 @@ static const short yyrhs[] = {    -1,
 
 #if YYDEBUG != 0
 static const short yyrline[] = { 0,
 
 #if YYDEBUG != 0
 static const short yyrline[] = { 0,
-   258,   259,   263,   266,   267,   268,   269,   272,   285,   288,
-   291,   294,   300,   304,   311,   318,   322,   331,   335,   342,
-   347,   351,   355,   359,   363,   367,   371,   374,   377,   381,
-   384,   391,   396,   401,   406,   411,   415,   424,   428,   442,
-   445,   448,   451,   456,   459,   464,   468,   473,   475,   484,
-   489,   493,   496,   500,   501,   504,   507,   511,   515,   520,
-   524,   531,   537,   540,   544,   548,   552,   557,   570,   576,
-   581,   586,   588,   593,   600,   601,   602,   603,   604,   605,
-   608,   610,   613,   614,   615,   618,   631,   645,   647,   651,
-   653,   659,   665,   670,   683,   688,   689,   692,   694,   697,
-   707,   709,   712,   716,   721,   726,   731,   736,   744,   747,
-   750,   754,   758,   764,   769,   778,   782,   791,   793,   796,
-   800,   803,   815,   820,   823,   829,   835,   841,   850,   858,
-   864,   872,   877,   885,   893,   900,   909,   913,   916,   919,
-   922,   925,   929,   941,   949,   958,   962,   965,   968,   970,
-   976,   980,   989,  1000,  1005,  1009,  1015,  1026,  1036,  1038,
-  1039,  1040,  1041,  1042,  1043,  1048,  1050,  1051,  1057,  1059,
-  1060,  1063,  1066,  1075,  1080,  1084,  1094,  1098,  1104,  1108,
-  1113,  1115,  1118,  1122,  1126,  1132,  1138,  1148,  1151,  1154,
-  1157,  1163,  1167,  1177,  1185,  1191,  1203,  1206,  1211,  1215,
-  1219,  1223,  1226,  1233,  1237,  1246,  1251,  1252,  1253,  1254,
-  1260,  1264,  1268,  1271,  1275,  1281,  1285,  1287,  1294,  1300,
-  1307,  1315
+   261,   262,   266,   269,   270,   271,   272,   275,   288,   291,
+   294,   297,   303,   307,   314,   321,   325,   334,   338,   345,
+   350,   354,   358,   362,   366,   370,   374,   377,   380,   384,
+   387,   394,   399,   404,   409,   414,   418,   427,   431,   445,
+   448,   451,   454,   459,   462,   467,   471,   476,   478,   487,
+   492,   496,   499,   503,   504,   507,   510,   514,   518,   523,
+   527,   534,   540,   543,   547,   551,   555,   560,   573,   579,
+   584,   589,   591,   596,   603,   604,   605,   606,   607,   608,
+   611,   613,   616,   617,   618,   621,   634,   648,   650,   654,
+   656,   662,   668,   673,   686,   691,   692,   695,   697,   700,
+   710,   712,   715,   719,   724,   729,   734,   739,   747,   750,
+   753,   757,   761,   767,   772,   781,   785,   794,   796,   799,
+   803,   806,   818,   823,   826,   832,   838,   844,   853,   861,
+   867,   875,   880,   888,   896,   903,   912,   916,   919,   922,
+   925,   928,   932,   944,   952,   961,   965,   968,   971,   973,
+   979,   983,   992,  1003,  1008,  1012,  1018,  1029,  1039,  1041,
+  1042,  1043,  1044,  1045,  1046,  1051,  1053,  1054,  1060,  1062,
+  1063,  1066,  1069,  1078,  1083,  1087,  1097,  1101,  1107,  1111,
+  1116,  1118,  1121,  1125,  1129,  1135,  1141,  1151,  1154,  1157,
+  1160,  1166,  1170,  1180,  1188,  1194,  1206,  1209,  1214,  1218,
+  1222,  1226,  1229,  1236,  1240,  1249,  1254,  1255,  1256,  1257,
+  1263,  1267,  1271,  1274,  1278,  1284,  1288,  1290,  1297,  1303,
+  1310,  1318
 };
 #endif
 
 };
 #endif
 
@@ -1220,32 +1223,32 @@ yyreduce:
   switch (yyn) {
 
 case 2:
   switch (yyn) {
 
 case 2:
-#line 259 "parser.yy"
+#line 262 "parser.yy"
 {
                delete THIS->default_header_p_ ;
                THIS->default_header_p_ = yyvsp[0].header;
        ;
     break;}
 case 3:
 {
                delete THIS->default_header_p_ ;
                THIS->default_header_p_ = yyvsp[0].header;
        ;
     break;}
 case 3:
-#line 263 "parser.yy"
+#line 266 "parser.yy"
 {
                add_score (yyvsp[0].score);
        ;
     break;}
 case 4:
 {
                add_score (yyvsp[0].score);
        ;
     break;}
 case 4:
-#line 266 "parser.yy"
+#line 269 "parser.yy"
 { ;
     break;}
 case 6:
 { ;
     break;}
 case 6:
-#line 268 "parser.yy"
+#line 271 "parser.yy"
 { ;
     break;}
 case 7:
 { ;
     break;}
 case 7:
-#line 269 "parser.yy"
+#line 272 "parser.yy"
 { ;
     break;}
 case 8:
 { ;
     break;}
 case 8:
-#line 273 "parser.yy"
+#line 276 "parser.yy"
 {
                if (String (*yyvsp[-1].string) != MUDELA_VERSION) {
                        if (THIS->ignore_version_b_) {
 {
                if (String (*yyvsp[-1].string) != MUDELA_VERSION) {
                        if (THIS->ignore_version_b_) {
@@ -1258,31 +1261,31 @@ case 8:
        ;
     break;}
 case 10:
        ;
     break;}
 case 10:
-#line 289 "parser.yy"
+#line 292 "parser.yy"
 {
        ;
     break;}
 case 11:
 {
        ;
     break;}
 case 11:
-#line 291 "parser.yy"
+#line 294 "parser.yy"
 {
                THIS->clear_notenames ();
        ;
     break;}
 case 12:
 {
                THIS->clear_notenames ();
        ;
     break;}
 case 12:
-#line 294 "parser.yy"
+#line 297 "parser.yy"
 {
                THIS->add_notename (*yyvsp[-2].string, yyvsp[0].melreq);
                delete yyvsp[-2].string;
        ;
     break;}
 case 13:
 {
                THIS->add_notename (*yyvsp[-2].string, yyvsp[0].melreq);
                delete yyvsp[-2].string;
        ;
     break;}
 case 13:
-#line 301 "parser.yy"
+#line 304 "parser.yy"
 {
                yyval.header = new Header;
        ;
     break;}
 case 14:
 {
                yyval.header = new Header;
        ;
     break;}
 case 14:
-#line 304 "parser.yy"
+#line 307 "parser.yy"
 {
                (*yyval.header)[*yyvsp[-3].string] = *yyvsp[-1].string;
                delete yyvsp[-3].string;
 {
                (*yyval.header)[*yyvsp[-3].string] = *yyvsp[-1].string;
                delete yyvsp[-3].string;
@@ -1290,31 +1293,31 @@ case 14:
        ;
     break;}
 case 15:
        ;
     break;}
 case 15:
-#line 312 "parser.yy"
+#line 315 "parser.yy"
 {
                yyval.header = yyvsp[-1].header;
        ;
     break;}
 case 16:
 {
                yyval.header = yyvsp[-1].header;
        ;
     break;}
 case 16:
-#line 319 "parser.yy"
+#line 322 "parser.yy"
 {
                yyval.string = new String;
        ;
     break;}
 case 17:
 {
                yyval.string = new String;
        ;
     break;}
 case 17:
-#line 322 "parser.yy"
+#line 325 "parser.yy"
 {
                *yyval.string += *yyvsp[0].string;
        ;
     break;}
 case 18:
 {
                *yyval.string += *yyvsp[0].string;
        ;
     break;}
 case 18:
-#line 332 "parser.yy"
+#line 335 "parser.yy"
 {
                THIS->remember_spot ();
        ;
     break;}
 case 19:
 {
                THIS->remember_spot ();
        ;
     break;}
 case 19:
-#line 335 "parser.yy"
+#line 338 "parser.yy"
 {
            THIS->lexer_p_->set_identifier (*yyvsp[-3].string, yyvsp[0].id);
            yyvsp[0].id->init_b_ = THIS->init_parse_b_;
 {
            THIS->lexer_p_->set_identifier (*yyvsp[-3].string, yyvsp[0].id);
            yyvsp[0].id->init_b_ = THIS->init_parse_b_;
@@ -1322,98 +1325,98 @@ case 19:
        ;
     break;}
 case 20:
        ;
     break;}
 case 20:
-#line 343 "parser.yy"
+#line 346 "parser.yy"
 {
                yyval.id = new Score_id (yyvsp[0].score, SCORE_IDENTIFIER);
 
        ;
     break;}
 case 21:
 {
                yyval.id = new Score_id (yyvsp[0].score, SCORE_IDENTIFIER);
 
        ;
     break;}
 case 21:
-#line 347 "parser.yy"
+#line 350 "parser.yy"
 {
                yyval.id = new Paper_def_id (yyvsp[0].paper, PAPER_IDENTIFIER);
 
        ;
     break;}
 case 22:
 {
                yyval.id = new Paper_def_id (yyvsp[0].paper, PAPER_IDENTIFIER);
 
        ;
     break;}
 case 22:
-#line 351 "parser.yy"
+#line 354 "parser.yy"
 {
                yyval.id = new Midi_def_id (yyvsp[0].midi, MIDI_IDENTIFIER);
 
        ;
     break;}
 case 23:
 {
                yyval.id = new Midi_def_id (yyvsp[0].midi, MIDI_IDENTIFIER);
 
        ;
     break;}
 case 23:
-#line 355 "parser.yy"
+#line 358 "parser.yy"
 {
                yyval.id = new Script_id (yyvsp[0].script, SCRIPT_IDENTIFIER);
 
        ;
     break;}
 case 24:
 {
                yyval.id = new Script_id (yyvsp[0].script, SCRIPT_IDENTIFIER);
 
        ;
     break;}
 case 24:
-#line 359 "parser.yy"
+#line 362 "parser.yy"
 {
                yyval.id = new Music_id (yyvsp[0].music, MUSIC_IDENTIFIER);
 
        ;
     break;}
 case 25:
 {
                yyval.id = new Music_id (yyvsp[0].music, MUSIC_IDENTIFIER);
 
        ;
     break;}
 case 25:
-#line 363 "parser.yy"
+#line 366 "parser.yy"
 {
                yyval.id = new Lookup_id (yyvsp[0].lookup, IDENTIFIER);
 
        ;
     break;}
 case 26:
 {
                yyval.id = new Lookup_id (yyvsp[0].lookup, IDENTIFIER);
 
        ;
     break;}
 case 26:
-#line 367 "parser.yy"
+#line 370 "parser.yy"
 {
                yyval.id = new Real_id (new Real (yyvsp[0].real), REAL_IDENTIFIER);
 
        ;
     break;}
 case 27:
 {
                yyval.id = new Real_id (new Real (yyvsp[0].real), REAL_IDENTIFIER);
 
        ;
     break;}
 case 27:
-#line 371 "parser.yy"
+#line 374 "parser.yy"
 {
                yyval.id = new Int_id (new int (yyvsp[0].i), INT_IDENTIFIER);
        ;
     break;}
 case 28:
 {
                yyval.id = new Int_id (new int (yyvsp[0].i), INT_IDENTIFIER);
        ;
     break;}
 case 28:
-#line 374 "parser.yy"
+#line 377 "parser.yy"
 {
                yyval.id = new Request_id (yyvsp[0].request, POST_REQUEST_IDENTIFIER);
        ;
     break;}
 case 29:
 {
                yyval.id = new Request_id (yyvsp[0].request, POST_REQUEST_IDENTIFIER);
        ;
     break;}
 case 29:
-#line 377 "parser.yy"
+#line 380 "parser.yy"
 {
                yyval.id = new Request_id (yyvsp[0].melreq, MELODIC_REQUEST_IDENTIFIER);
 
        ;
     break;}
 case 30:
 {
                yyval.id = new Request_id (yyvsp[0].melreq, MELODIC_REQUEST_IDENTIFIER);
 
        ;
     break;}
 case 30:
-#line 381 "parser.yy"
+#line 384 "parser.yy"
 {
                yyval.id = new Translator_id (yyvsp[0].trans, TRANS_IDENTIFIER);
        ;
     break;}
 case 31:
 {
                yyval.id = new Translator_id (yyvsp[0].trans, TRANS_IDENTIFIER);
        ;
     break;}
 case 31:
-#line 384 "parser.yy"
+#line 387 "parser.yy"
 {
                yyval.id = new Duration_id (yyvsp[0].duration, DURATION_IDENTIFIER);
        ;
     break;}
 case 32:
 {
                yyval.id = new Duration_id (yyvsp[0].duration, DURATION_IDENTIFIER);
        ;
     break;}
 case 32:
-#line 393 "parser.yy"
+#line 396 "parser.yy"
 { yyval.trans = yyvsp[-1].trans; ;
     break;}
 case 33:
 { yyval.trans = yyvsp[-1].trans; ;
     break;}
 case 33:
-#line 397 "parser.yy"
+#line 400 "parser.yy"
 {
                yyval.trans = yyvsp[0].id->translator ();
                yyval.trans-> set_spot (THIS->here_input ());
        ;
     break;}
 case 34:
 {
                yyval.trans = yyvsp[0].id->translator ();
                yyval.trans-> set_spot (THIS->here_input ());
        ;
     break;}
 case 34:
-#line 401 "parser.yy"
+#line 404 "parser.yy"
 {
                yyval.trans = get_translator_l (*yyvsp[-1].string)->clone ();
                yyval.trans->set_spot (THIS->here_input ());
 {
                yyval.trans = get_translator_l (*yyvsp[-1].string)->clone ();
                yyval.trans->set_spot (THIS->here_input ());
@@ -1421,7 +1424,7 @@ case 34:
        ;
     break;}
 case 35:
        ;
     break;}
 case 35:
-#line 406 "parser.yy"
+#line 409 "parser.yy"
 {
                yyval.trans-> set_property (*yyvsp[-3].string, *yyvsp[-1].scalar);
                delete yyvsp[-3].string;
 {
                yyval.trans-> set_property (*yyvsp[-3].string, *yyvsp[-1].scalar);
                delete yyvsp[-3].string;
@@ -1429,27 +1432,27 @@ case 35:
        ;
     break;}
 case 36:
        ;
     break;}
 case 36:
-#line 411 "parser.yy"
+#line 414 "parser.yy"
 {
                yyval.trans->group_l ()->consists_str_arr_.push (*yyvsp[-1].string);
                delete yyvsp[-1].string;
        ;
     break;}
 case 37:
 {
                yyval.trans->group_l ()->consists_str_arr_.push (*yyvsp[-1].string);
                delete yyvsp[-1].string;
        ;
     break;}
 case 37:
-#line 415 "parser.yy"
+#line 418 "parser.yy"
 {
                yyval.trans->group_l ()->accepts_str_arr_.push (*yyvsp[-1].string);
                delete yyvsp[-1].string;
        ;
     break;}
 case 38:
 {
                yyval.trans->group_l ()->accepts_str_arr_.push (*yyvsp[-1].string);
                delete yyvsp[-1].string;
        ;
     break;}
 case 38:
-#line 425 "parser.yy"
+#line 428 "parser.yy"
 { THIS->remember_spot ();
                THIS->error_level_i_ =0;
        ;
     break;}
 case 39:
 { THIS->remember_spot ();
                THIS->error_level_i_ =0;
        ;
     break;}
 case 39:
-#line 428 "parser.yy"
+#line 431 "parser.yy"
 {
                yyval.score = yyvsp[-1].score;
                yyval.score->set_spot (THIS->pop_spot ());
 {
                yyval.score = yyvsp[-1].score;
                yyval.score->set_spot (THIS->pop_spot ());
@@ -1464,25 +1467,25 @@ case 39:
        ;
     break;}
 case 40:
        ;
     break;}
 case 40:
-#line 442 "parser.yy"
+#line 445 "parser.yy"
 {
                yyval.score = new Score;
        ;
     break;}
 case 41:
 {
                yyval.score = new Score;
        ;
     break;}
 case 41:
-#line 445 "parser.yy"
+#line 448 "parser.yy"
 {
                yyval.score = yyvsp[0].id->score ();
        ;
     break;}
 case 42:
 {
                yyval.score = yyvsp[0].id->score ();
        ;
     break;}
 case 42:
-#line 448 "parser.yy"
+#line 451 "parser.yy"
 {
                yyval.score->header_p_ = yyvsp[0].header;
        ;
     break;}
 case 43:
 {
                yyval.score->header_p_ = yyvsp[0].header;
        ;
     break;}
 case 43:
-#line 451 "parser.yy"
+#line 454 "parser.yy"
 {
                if (yyval.score->music_p_)
                        yyvsp[0].music->warning ("More than one music block");  
 {
                if (yyval.score->music_p_)
                        yyvsp[0].music->warning ("More than one music block");  
@@ -1490,149 +1493,149 @@ case 43:
        ;
     break;}
 case 44:
        ;
     break;}
 case 44:
-#line 456 "parser.yy"
+#line 459 "parser.yy"
 {
                yyval.score->add (yyvsp[0].outputdef);
        ;
     break;}
 case 45:
 {
                yyval.score->add (yyvsp[0].outputdef);
        ;
     break;}
 case 45:
-#line 459 "parser.yy"
+#line 462 "parser.yy"
 {
 
        ;
     break;}
 case 46:
 {
 
        ;
     break;}
 case 46:
-#line 465 "parser.yy"
+#line 468 "parser.yy"
 {
                yyval.outputdef = yyvsp[0].paper;
        ;
     break;}
 case 47:
 {
                yyval.outputdef = yyvsp[0].paper;
        ;
     break;}
 case 47:
-#line 468 "parser.yy"
+#line 471 "parser.yy"
 {
                yyval.outputdef= yyvsp[0].midi;
        ;
     break;}
 case 48:
 {
                yyval.outputdef= yyvsp[0].midi;
        ;
     break;}
 case 48:
-#line 474 "parser.yy"
+#line 477 "parser.yy"
 { yyval.intvec =new Array<int>; ;
     break;}
 case 49:
 { yyval.intvec =new Array<int>; ;
     break;}
 case 49:
-#line 475 "parser.yy"
+#line 478 "parser.yy"
 {
                yyval.intvec->push (yyvsp[-2].i); yyval.intvec->push (yyvsp[0].i);
        ;
     break;}
 case 50:
 {
                yyval.intvec->push (yyvsp[-2].i); yyval.intvec->push (yyvsp[0].i);
        ;
     break;}
 case 50:
-#line 486 "parser.yy"
+#line 489 "parser.yy"
 { yyval.paper = yyvsp[-1].paper; ;
     break;}
 case 51:
 { yyval.paper = yyvsp[-1].paper; ;
     break;}
 case 51:
-#line 490 "parser.yy"
+#line 493 "parser.yy"
 {
                yyval.paper = THIS->default_paper ();
        ;
     break;}
 case 52:
 {
                yyval.paper = THIS->default_paper ();
        ;
     break;}
 case 52:
-#line 493 "parser.yy"
+#line 496 "parser.yy"
 {
                yyval.paper = yyvsp[0].id->paperdef ();
        ;
     break;}
 case 53:
 {
                yyval.paper = yyvsp[0].id->paperdef ();
        ;
     break;}
 case 53:
-#line 496 "parser.yy"
+#line 499 "parser.yy"
 { 
                yyval.paper->outfile_str_ = *yyvsp[-1].string;
                delete yyvsp[-1].string;
        ;
     break;}
 case 54:
 { 
                yyval.paper->outfile_str_ = *yyvsp[-1].string;
                delete yyvsp[-1].string;
        ;
     break;}
 case 54:
-#line 500 "parser.yy"
+#line 503 "parser.yy"
 { yyval.paper->set (yyvsp[0].lookup); ;
     break;}
 case 55:
 { yyval.paper->set (yyvsp[0].lookup); ;
     break;}
 case 55:
-#line 501 "parser.yy"
+#line 504 "parser.yy"
 {
                yyval.paper->set_var (*yyvsp[-3].string, yyvsp[-1].real);
        ;
     break;}
 case 56:
 {
                yyval.paper->set_var (*yyvsp[-3].string, yyvsp[-1].real);
        ;
     break;}
 case 56:
-#line 504 "parser.yy"
+#line 507 "parser.yy"
 {
                yyval.paper->set_var (*yyvsp[-3].string, yyvsp[-1].real);
        ;
     break;}
 case 57:
 {
                yyval.paper->set_var (*yyvsp[-3].string, yyvsp[-1].real);
        ;
     break;}
 case 57:
-#line 507 "parser.yy"
+#line 510 "parser.yy"
 {
                yyval.paper-> assign_translator (*yyvsp[-2].string, yyvsp[0].trans);
                delete yyvsp[-2].string;
        ;
     break;}
 case 58:
 {
                yyval.paper-> assign_translator (*yyvsp[-2].string, yyvsp[0].trans);
                delete yyvsp[-2].string;
        ;
     break;}
 case 58:
-#line 511 "parser.yy"
+#line 514 "parser.yy"
 {
                yyval.paper->shape_int_a_ = *yyvsp[-1].intarr;
                delete yyvsp[-1].intarr;
        ;
     break;}
 case 59:
 {
                yyval.paper->shape_int_a_ = *yyvsp[-1].intarr;
                delete yyvsp[-1].intarr;
        ;
     break;}
 case 59:
-#line 515 "parser.yy"
+#line 518 "parser.yy"
 {
 
        ;
     break;}
 case 60:
 {
 
        ;
     break;}
 case 60:
-#line 521 "parser.yy"
+#line 524 "parser.yy"
 {
                yyval.intarr = new Array<Interval>;
        ;
     break;}
 case 61:
 {
                yyval.intarr = new Array<Interval>;
        ;
     break;}
 case 61:
-#line 524 "parser.yy"
+#line 527 "parser.yy"
 {
                yyval.intarr->push(Interval(yyvsp[-1].real, yyvsp[-1].real + yyvsp[0].real));
        ;
     break;}
 case 62:
 {
                yyval.intarr->push(Interval(yyvsp[-1].real, yyvsp[-1].real + yyvsp[0].real));
        ;
     break;}
 case 62:
-#line 534 "parser.yy"
+#line 537 "parser.yy"
 { yyval.midi = yyvsp[-1].midi; ;
     break;}
 case 63:
 { yyval.midi = yyvsp[-1].midi; ;
     break;}
 case 63:
-#line 537 "parser.yy"
+#line 540 "parser.yy"
 {
                yyval.midi = THIS->default_midi ();
        ;
     break;}
 case 64:
 {
                yyval.midi = THIS->default_midi ();
        ;
     break;}
 case 64:
-#line 540 "parser.yy"
+#line 543 "parser.yy"
 {
                yyval.midi-> assign_translator (*yyvsp[-2].string, yyvsp[0].trans);
                delete yyvsp[-2].string;
        ;
     break;}
 case 65:
 {
                yyval.midi-> assign_translator (*yyvsp[-2].string, yyvsp[0].trans);
                delete yyvsp[-2].string;
        ;
     break;}
 case 65:
-#line 544 "parser.yy"
+#line 547 "parser.yy"
 {
                yyval.midi->outfile_str_ = *yyvsp[-1].string;
                delete yyvsp[-1].string;
        ;
     break;}
 case 66:
 {
                yyval.midi->outfile_str_ = *yyvsp[-1].string;
                delete yyvsp[-1].string;
        ;
     break;}
 case 66:
-#line 548 "parser.yy"
+#line 551 "parser.yy"
 {
                yyval.midi->set_tempo (yyvsp[-1].tempo->dur_.length (), yyvsp[-1].tempo->metronome_i_);
                delete yyvsp[-1].tempo;
        ;
     break;}
 case 67:
 {
                yyval.midi->set_tempo (yyvsp[-1].tempo->dur_.length (), yyvsp[-1].tempo->metronome_i_);
                delete yyvsp[-1].tempo;
        ;
     break;}
 case 67:
-#line 552 "parser.yy"
+#line 555 "parser.yy"
 {
 
        ;
     break;}
 case 68:
 {
 
        ;
     break;}
 case 68:
-#line 558 "parser.yy"
+#line 561 "parser.yy"
 {
                yyval.tempo = new Tempo_req;
                yyval.tempo->dur_ = *yyvsp[-2].duration;
 {
                yyval.tempo = new Tempo_req;
                yyval.tempo->dur_ = *yyvsp[-2].duration;
@@ -1641,30 +1644,30 @@ case 68:
        ;
     break;}
 case 69:
        ;
     break;}
 case 69:
-#line 571 "parser.yy"
+#line 574 "parser.yy"
 {
                yyval.musiclist = yyvsp[-1].musiclist;
        ;
     break;}
 case 70:
 {
                yyval.musiclist = yyvsp[-1].musiclist;
        ;
     break;}
 case 70:
-#line 577 "parser.yy"
+#line 580 "parser.yy"
 {
                yyval.musiclist = new Voice;
                yyval.musiclist->set_spot (THIS->here_input ());
        ;
     break;}
 case 71:
 {
                yyval.musiclist = new Voice;
                yyval.musiclist->set_spot (THIS->here_input ());
        ;
     break;}
 case 71:
-#line 581 "parser.yy"
+#line 584 "parser.yy"
 {
                yyval.musiclist->add (yyvsp[0].music);
        ;
     break;}
 case 72:
 {
                yyval.musiclist->add (yyvsp[0].music);
        ;
     break;}
 case 72:
-#line 587 "parser.yy"
+#line 590 "parser.yy"
 { yyval.music = yyvsp[0].music; ;
     break;}
 case 73:
 { yyval.music = yyvsp[0].music; ;
     break;}
 case 73:
-#line 588 "parser.yy"
+#line 591 "parser.yy"
 {
                yyval.music = yyvsp[0].music;
                yyval.music->translator_type_str_ = *yyvsp[-1].string;
 {
                yyval.music = yyvsp[0].music;
                yyval.music->translator_type_str_ = *yyvsp[-1].string;
@@ -1672,7 +1675,7 @@ case 73:
        ;
     break;}
 case 74:
        ;
     break;}
 case 74:
-#line 593 "parser.yy"
+#line 596 "parser.yy"
 {
                yyval.music = yyvsp[0].music;
                yyval.music->translator_type_str_ = *yyvsp[-3].string;
 {
                yyval.music = yyvsp[0].music;
                yyval.music->translator_type_str_ = *yyvsp[-3].string;
@@ -1682,43 +1685,43 @@ case 74:
        ;
     break;}
 case 75:
        ;
     break;}
 case 75:
-#line 600 "parser.yy"
+#line 603 "parser.yy"
 { yyval.music = yyvsp[0].musiclist; ;
     break;}
 case 76:
 { yyval.music = yyvsp[0].musiclist; ;
     break;}
 case 76:
-#line 601 "parser.yy"
+#line 604 "parser.yy"
 { yyval.music = yyvsp[0].chord; ;
     break;}
 case 77:
 { yyval.music = yyvsp[0].chord; ;
     break;}
 case 77:
-#line 602 "parser.yy"
+#line 605 "parser.yy"
 { yyval.music = yyvsp[0].music; ;
     break;}
 case 78:
 { yyval.music = yyvsp[0].music; ;
     break;}
 case 78:
-#line 603 "parser.yy"
+#line 606 "parser.yy"
 { yyval.music = yyvsp[0].id->music (); ;
     break;}
 case 79:
 { yyval.music = yyvsp[0].id->music (); ;
     break;}
 case 79:
-#line 604 "parser.yy"
+#line 607 "parser.yy"
 { yyval.music = yyvsp[-1].id->music (); ;
     break;}
 case 80:
 { yyval.music = yyvsp[-1].id->music (); ;
     break;}
 case 80:
-#line 606 "parser.yy"
+#line 609 "parser.yy"
 { THIS->lexer_p_->push_note_state (); ;
     break;}
 case 81:
 { THIS->lexer_p_->push_note_state (); ;
     break;}
 case 81:
-#line 608 "parser.yy"
+#line 611 "parser.yy"
 { yyval.music=yyvsp[0].music; THIS->lexer_p_->pop_state (); ;
     break;}
 case 82:
 { yyval.music=yyvsp[0].music; THIS->lexer_p_->pop_state (); ;
     break;}
 case 82:
-#line 611 "parser.yy"
+#line 614 "parser.yy"
 { THIS->lexer_p_->push_lyric_state (); ;
     break;}
 case 83:
 { THIS->lexer_p_->push_lyric_state (); ;
     break;}
 case 83:
-#line 613 "parser.yy"
+#line 616 "parser.yy"
 { yyval.music = yyvsp[0].music; THIS->lexer_p_->pop_state (); ;
     break;}
 case 86:
 { yyval.music = yyvsp[0].music; THIS->lexer_p_->pop_state (); ;
     break;}
 case 86:
-#line 619 "parser.yy"
+#line 622 "parser.yy"
 {
                Change_translator * t = new Change_translator;
                t-> change_to_type_str_ = *yyvsp[-2].string;
 {
                Change_translator * t = new Change_translator;
                t-> change_to_type_str_ = *yyvsp[-2].string;
@@ -1731,7 +1734,7 @@ case 86:
        ;
     break;}
 case 87:
        ;
     break;}
 case 87:
-#line 632 "parser.yy"
+#line 635 "parser.yy"
 {
                Translation_property *t = new Translation_property;
                t-> translator_type_str_ = *yyvsp[-4].string;
 {
                Translation_property *t = new Translation_property;
                t-> translator_type_str_ = *yyvsp[-4].string;
@@ -1745,26 +1748,26 @@ case 87:
        ;
     break;}
 case 88:
        ;
     break;}
 case 88:
-#line 646 "parser.yy"
+#line 649 "parser.yy"
 { yyval.scalar = new Scalar (*yyvsp[0].string); delete yyvsp[0].string; ;
     break;}
 case 89:
 { yyval.scalar = new Scalar (*yyvsp[0].string); delete yyvsp[0].string; ;
     break;}
 case 89:
-#line 647 "parser.yy"
+#line 650 "parser.yy"
 { yyval.scalar = new Scalar (yyvsp[0].i); ;
     break;}
 case 90:
 { yyval.scalar = new Scalar (yyvsp[0].i); ;
     break;}
 case 90:
-#line 652 "parser.yy"
+#line 655 "parser.yy"
 { yyval.chord  = yyvsp[-1].chord; ;
     break;}
 case 91:
 { yyval.chord  = yyvsp[-1].chord; ;
     break;}
 case 91:
-#line 653 "parser.yy"
+#line 656 "parser.yy"
 {
                yyval.chord = yyvsp[0].chord;
                yyval.chord->multi_level_i_=yyvsp[-1].i;
        ;
     break;}
 case 92:
 {
                yyval.chord = yyvsp[0].chord;
                yyval.chord->multi_level_i_=yyvsp[-1].i;
        ;
     break;}
 case 92:
-#line 660 "parser.yy"
+#line 663 "parser.yy"
 {
                yyval.chord = new Chord;
                yyval.chord-> multi_level_i_ = 1;
 {
                yyval.chord = new Chord;
                yyval.chord-> multi_level_i_ = 1;
@@ -1772,13 +1775,13 @@ case 92:
        ;
     break;}
 case 93:
        ;
     break;}
 case 93:
-#line 665 "parser.yy"
+#line 668 "parser.yy"
 {
                yyval.chord->add (yyvsp[0].music);
        ;
     break;}
 case 94:
 {
                yyval.chord->add (yyvsp[0].music);
        ;
     break;}
 case 94:
-#line 671 "parser.yy"
+#line 674 "parser.yy"
 {
                yyval.music = yyvsp[0].music;
                yyval.music -> transpose (yyvsp[-1].melreq);
 {
                yyval.music = yyvsp[0].music;
                yyval.music -> transpose (yyvsp[-1].melreq);
@@ -1787,18 +1790,18 @@ case 94:
        ;
     break;}
 case 95:
        ;
     break;}
 case 95:
-#line 684 "parser.yy"
+#line 687 "parser.yy"
 {
                THIS->add_requests ((Chord*)yyvsp[-1].music);//ugh
                yyval.music = yyvsp[-1].music;
        ;
     break;}
 case 97:
 {
                THIS->add_requests ((Chord*)yyvsp[-1].music);//ugh
                yyval.music = yyvsp[-1].music;
        ;
     break;}
 case 97:
-#line 689 "parser.yy"
+#line 692 "parser.yy"
 { yyval.music = 0; ;
     break;}
 case 100:
 { yyval.music = 0; ;
     break;}
 case 100:
-#line 698 "parser.yy"
+#line 701 "parser.yy"
 {
                yyval.music = new Request_chord;
                yyval.music-> set_spot (THIS->here_input ());
 {
                yyval.music = new Request_chord;
                yyval.music-> set_spot (THIS->here_input ());
@@ -1808,30 +1811,30 @@ case 100:
        ;
     break;}
 case 102:
        ;
     break;}
 case 102:
-#line 709 "parser.yy"
+#line 712 "parser.yy"
 { yyval.request = yyvsp[-1].request; ;
     break;}
 case 103:
 { yyval.request = yyvsp[-1].request; ;
     break;}
 case 103:
-#line 713 "parser.yy"
+#line 716 "parser.yy"
 {
                yyval.request = new Barcheck_req;
        ;
     break;}
 case 104:
 {
                yyval.request = new Barcheck_req;
        ;
     break;}
 case 104:
-#line 716 "parser.yy"
+#line 719 "parser.yy"
 {
                yyval.request = yyvsp[0].id->request ();
        ;
     break;}
 case 105:
 {
                yyval.request = yyvsp[0].id->request ();
        ;
     break;}
 case 105:
-#line 722 "parser.yy"
+#line 725 "parser.yy"
 {
                yyval.request = new Bar_req (*yyvsp[0].string);
                delete yyvsp[0].string;
        ;
     break;}
 case 106:
 {
                yyval.request = new Bar_req (*yyvsp[0].string);
                delete yyvsp[0].string;
        ;
     break;}
 case 106:
-#line 726 "parser.yy"
+#line 729 "parser.yy"
 {
                Break_force_req * f = new Break_force_req;
                f-> set_spot (THIS->here_input ());
 {
                Break_force_req * f = new Break_force_req;
                f-> set_spot (THIS->here_input ());
@@ -1839,7 +1842,7 @@ case 106:
        ;
     break;}
 case 107:
        ;
     break;}
 case 107:
-#line 731 "parser.yy"
+#line 734 "parser.yy"
 {
                Meter_change_req *m = new Meter_change_req;
                m->set (yyvsp[-2].i,yyvsp[0].i);
 {
                Meter_change_req *m = new Meter_change_req;
                m->set (yyvsp[-2].i,yyvsp[0].i);
@@ -1847,7 +1850,7 @@ case 107:
        ;
     break;}
 case 108:
        ;
     break;}
 case 108:
-#line 736 "parser.yy"
+#line 739 "parser.yy"
 {
                Skip_req * skip_p = new Skip_req;
                skip_p->duration_.set_plet (yyvsp[0].moment->num (),
 {
                Skip_req * skip_p = new Skip_req;
                skip_p->duration_.set_plet (yyvsp[0].moment->num (),
@@ -1858,33 +1861,33 @@ case 108:
        ;
     break;}
 case 109:
        ;
     break;}
 case 109:
-#line 744 "parser.yy"
+#line 747 "parser.yy"
 {
                yyval.request = yyvsp[0].tempo;
        ;
     break;}
 case 110:
 {
                yyval.request = yyvsp[0].tempo;
        ;
     break;}
 case 110:
-#line 747 "parser.yy"
+#line 750 "parser.yy"
 {
                yyval.request = new Cadenza_req (yyvsp[0].i);
        ;
     break;}
 case 111:
 {
                yyval.request = new Cadenza_req (yyvsp[0].i);
        ;
     break;}
 case 111:
-#line 750 "parser.yy"
+#line 753 "parser.yy"
 {
                yyval.request = new Partial_measure_req (*yyvsp[0].moment);
                delete yyvsp[0].moment;
        ;
     break;}
 case 112:
 {
                yyval.request = new Partial_measure_req (*yyvsp[0].moment);
                delete yyvsp[0].moment;
        ;
     break;}
 case 112:
-#line 754 "parser.yy"
+#line 757 "parser.yy"
 {
                yyval.request = new Clef_change_req (*yyvsp[0].string);
                delete yyvsp[0].string;
        ;
     break;}
 case 113:
 {
                yyval.request = new Clef_change_req (*yyvsp[0].string);
                delete yyvsp[0].string;
        ;
     break;}
 case 113:
-#line 758 "parser.yy"
+#line 761 "parser.yy"
 {
                Key_change_req *key_p= new Key_change_req;
                key_p->melodic_p_arr_ = *yyvsp[0].melreqvec;
 {
                Key_change_req *key_p= new Key_change_req;
                key_p->melodic_p_arr_ = *yyvsp[0].melreqvec;
@@ -1893,13 +1896,13 @@ case 113:
        ;
     break;}
 case 114:
        ;
     break;}
 case 114:
-#line 764 "parser.yy"
+#line 767 "parser.yy"
 {
                yyval.request = get_grouping_req (*yyvsp[0].intvec); delete yyvsp[0].intvec;
        ;
     break;}
 case 115:
 {
                yyval.request = get_grouping_req (*yyvsp[0].intvec); delete yyvsp[0].intvec;
        ;
     break;}
 case 115:
-#line 770 "parser.yy"
+#line 773 "parser.yy"
 {
                /* something silly happened.  Junk this stuff*/
                if (!THIS->post_reqs.empty ())
 {
                /* something silly happened.  Junk this stuff*/
                if (!THIS->post_reqs.empty ())
@@ -1910,14 +1913,14 @@ case 115:
        ;
     break;}
 case 116:
        ;
     break;}
 case 116:
-#line 778 "parser.yy"
+#line 781 "parser.yy"
 {
                yyvsp[0].request->set_spot (THIS->here_input ());
                THIS->post_reqs.push (yyvsp[0].request);
        ;
     break;}
 case 117:
 {
                yyvsp[0].request->set_spot (THIS->here_input ());
                THIS->post_reqs.push (yyvsp[0].request);
        ;
     break;}
 case 117:
-#line 782 "parser.yy"
+#line 785 "parser.yy"
 {
                Array<Request*>& r = *THIS->get_parens_request (yyvsp[0].i);
                for (int i = 0; i < r.size (); i++ )
 {
                Array<Request*>& r = *THIS->get_parens_request (yyvsp[0].i);
                for (int i = 0; i < r.size (); i++ )
@@ -1927,19 +1930,19 @@ case 117:
        ;
     break;}
 case 120:
        ;
     break;}
 case 120:
-#line 797 "parser.yy"
+#line 800 "parser.yy"
 {
                yyval.request = (Request*)yyvsp[0].id->request ();
        ;
     break;}
 case 121:
 {
                yyval.request = (Request*)yyvsp[0].id->request ();
        ;
     break;}
 case 121:
-#line 800 "parser.yy"
+#line 803 "parser.yy"
 {
                yyval.request = yyvsp[0].request;
        ;
     break;}
 case 122:
 {
                yyval.request = yyvsp[0].request;
        ;
     break;}
 case 122:
-#line 803 "parser.yy"
+#line 806 "parser.yy"
 {
                Abbreviation_req* a = new Abbreviation_req;
                a->type_i_ = yyvsp[0].i;
 {
                Abbreviation_req* a = new Abbreviation_req;
                a->type_i_ = yyvsp[0].i;
@@ -1947,27 +1950,27 @@ case 122:
        ;
     break;}
 case 123:
        ;
     break;}
 case 123:
-#line 816 "parser.yy"
+#line 819 "parser.yy"
 {
                yyval.melreq = yyvsp[0].melreq->clone ()->musical ()->melodic ();
                yyval.melreq->octave_i_ += THIS->default_octave_i_;
        ;
     break;}
 case 124:
 {
                yyval.melreq = yyvsp[0].melreq->clone ()->musical ()->melodic ();
                yyval.melreq->octave_i_ += THIS->default_octave_i_;
        ;
     break;}
 case 124:
-#line 820 "parser.yy"
+#line 823 "parser.yy"
 {
                yyval.melreq-> octave_i_ += yyvsp[0].i;
        ;
     break;}
 case 125:
 {
                yyval.melreq-> octave_i_ += yyvsp[0].i;
        ;
     break;}
 case 125:
-#line 823 "parser.yy"
+#line 826 "parser.yy"
 {
                yyval.melreq = yyvsp[0].melreq;
                yyvsp[0].melreq-> octave_i_ -= yyvsp[-1].i;
        ;
     break;}
 case 126:
 {
                yyval.melreq = yyvsp[0].melreq;
                yyvsp[0].melreq-> octave_i_ -= yyvsp[-1].i;
        ;
     break;}
 case 126:
-#line 830 "parser.yy"
+#line 833 "parser.yy"
 {
                yyval.notereq = new Note_req;
                * (Melodic_req *) yyval.notereq = *yyvsp[0].melreq;
 {
                yyval.notereq = new Note_req;
                * (Melodic_req *) yyval.notereq = *yyvsp[0].melreq;
@@ -1975,13 +1978,13 @@ case 126:
        ;
     break;}
 case 127:
        ;
     break;}
 case 127:
-#line 835 "parser.yy"
+#line 838 "parser.yy"
 {
                yyval.notereq->forceacc_b_ = ! yyval.notereq->forceacc_b_;
        ;
     break;}
 case 128:
 {
                yyval.notereq->forceacc_b_ = ! yyval.notereq->forceacc_b_;
        ;
     break;}
 case 128:
-#line 842 "parser.yy"
+#line 845 "parser.yy"
 {/* ugh */
                yyval.melreq = new Melodic_req;
                yyval.melreq->octave_i_ = yyvsp[-3].i;
 {/* ugh */
                yyval.melreq = new Melodic_req;
                yyval.melreq->octave_i_ = yyvsp[-3].i;
@@ -1990,7 +1993,7 @@ case 128:
        ;
     break;}
 case 129:
        ;
     break;}
 case 129:
-#line 851 "parser.yy"
+#line 854 "parser.yy"
 {
                yyval.duration = new Duration;
                yyval.duration-> durlog_i_ = yyvsp[-2].i;
 {
                yyval.duration = new Duration;
                yyval.duration-> durlog_i_ = yyvsp[-2].i;
@@ -1998,7 +2001,7 @@ case 129:
        ;
     break;}
 case 130:
        ;
     break;}
 case 130:
-#line 859 "parser.yy"
+#line 862 "parser.yy"
 {
                Absolute_dynamic_req *ad_p = new Absolute_dynamic_req;
                ad_p ->loudness_ = (Dynamic_req::Loudness)yyvsp[-1].i;
 {
                Absolute_dynamic_req *ad_p = new Absolute_dynamic_req;
                ad_p ->loudness_ = (Dynamic_req::Loudness)yyvsp[-1].i;
@@ -2006,23 +2009,23 @@ case 130:
        ;
     break;}
 case 131:
        ;
     break;}
 case 131:
-#line 864 "parser.yy"
+#line 867 "parser.yy"
 {
                Span_dynamic_req * sp_p = new Span_dynamic_req;
 {
                Span_dynamic_req * sp_p = new Span_dynamic_req;
-               sp_p->spantype = yyvsp[-1].i;
-               sp_p-> dynamic_dir_  = yyvsp[-2].i;
+               sp_p->spantype = (Span_req::Spantype)yyvsp[-1].i;
+               sp_p-> dynamic_dir_  = (Direction)yyvsp[-2].i;
                yyval.request = sp_p;
        ;
     break;}
 case 132:
                yyval.request = sp_p;
        ;
     break;}
 case 132:
-#line 873 "parser.yy"
+#line 876 "parser.yy"
 {
                yyval.pair[0] = yyvsp[-2].i;
                yyval.pair[1] = yyvsp[0].i;
        ;
     break;}
 case 133:
 {
                yyval.pair[0] = yyvsp[-2].i;
                yyval.pair[1] = yyvsp[0].i;
        ;
     break;}
 case 133:
-#line 878 "parser.yy"
+#line 881 "parser.yy"
 {
                int num = yyvsp[0].i >? 1;
                yyval.pair[0] = guess_plet_a[(num <? GUESS_PLET) - 1];
 {
                int num = yyvsp[0].i >? 1;
                yyval.pair[0] = guess_plet_a[(num <? GUESS_PLET) - 1];
@@ -2030,7 +2033,7 @@ case 133:
        ;
     break;}
 case 134:
        ;
     break;}
 case 134:
-#line 886 "parser.yy"
+#line 889 "parser.yy"
 {
                yyval.i = MAEBTELP;
                THIS->plet_.type_i_ = yyvsp[0].pair[1];
 {
                yyval.i = MAEBTELP;
                THIS->plet_.type_i_ = yyvsp[0].pair[1];
@@ -2040,7 +2043,7 @@ case 134:
        ;
     break;}
 case 135:
        ;
     break;}
 case 135:
-#line 893 "parser.yy"
+#line 896 "parser.yy"
 {
                yyval.i = TELP;
                THIS->plet_.type_i_ = 1;
 {
                yyval.i = TELP;
                THIS->plet_.type_i_ = 1;
@@ -2050,7 +2053,7 @@ case 135:
        ;
     break;}
 case 136:
        ;
     break;}
 case 136:
-#line 900 "parser.yy"
+#line 903 "parser.yy"
 {
                yyval.i = TELP;
                THIS->plet_.type_i_ = yyvsp[0].pair[1];
 {
                yyval.i = TELP;
                THIS->plet_.type_i_ = yyvsp[0].pair[1];
@@ -2060,42 +2063,42 @@ case 136:
        ;
     break;}
 case 137:
        ;
     break;}
 case 137:
-#line 910 "parser.yy"
+#line 913 "parser.yy"
 {
                yyval.i = '~';
        ;
     break;}
 case 138:
 {
                yyval.i = '~';
        ;
     break;}
 case 138:
-#line 913 "parser.yy"
+#line 916 "parser.yy"
 {
                yyval.i='(';
        ;
     break;}
 case 139:
 {
                yyval.i='(';
        ;
     break;}
 case 139:
-#line 916 "parser.yy"
+#line 919 "parser.yy"
 {
                yyval.i = ']';
        ;
     break;}
 case 140:
 {
                yyval.i = ']';
        ;
     break;}
 case 140:
-#line 919 "parser.yy"
+#line 922 "parser.yy"
 {
                yyval.i = '<';
        ;
     break;}
 case 141:
 {
                yyval.i = '<';
        ;
     break;}
 case 141:
-#line 922 "parser.yy"
+#line 925 "parser.yy"
 {
                yyval.i = '>';
        ;
     break;}
 case 142:
 {
                yyval.i = '>';
        ;
     break;}
 case 142:
-#line 925 "parser.yy"
+#line 928 "parser.yy"
 {
        ;
     break;}
 case 143:
 {
        ;
     break;}
 case 143:
-#line 930 "parser.yy"
+#line 933 "parser.yy"
 {
                yyval.c = '[';
                if (!Duration::duration_type_b (yyvsp[0].i))
 {
                yyval.c = '[';
                if (!Duration::duration_type_b (yyvsp[0].i))
@@ -2107,7 +2110,7 @@ case 143:
        ;
     break;}
 case 144:
        ;
     break;}
 case 144:
-#line 942 "parser.yy"
+#line 945 "parser.yy"
 {
                yyval.i = BEAMPLET;
                THIS->plet_.type_i_ = yyvsp[0].pair[1];
 {
                yyval.i = BEAMPLET;
                THIS->plet_.type_i_ = yyvsp[0].pair[1];
@@ -2117,7 +2120,7 @@ case 144:
        ;
     break;}
 case 145:
        ;
     break;}
 case 145:
-#line 949 "parser.yy"
+#line 952 "parser.yy"
 {
                yyval.i = PLET;
                THIS->plet_.type_i_ = yyvsp[0].pair[1];
 {
                yyval.i = PLET;
                THIS->plet_.type_i_ = yyvsp[0].pair[1];
@@ -2127,39 +2130,39 @@ case 145:
        ;
     break;}
 case 146:
        ;
     break;}
 case 146:
-#line 959 "parser.yy"
+#line 962 "parser.yy"
 {
                yyval.i = '!';
        ;
     break;}
 case 147:
 {
                yyval.i = '!';
        ;
     break;}
 case 147:
-#line 962 "parser.yy"
+#line 965 "parser.yy"
 {
                yyval.i=')';
        ;
     break;}
 case 148:
 {
                yyval.i=')';
        ;
     break;}
 case 148:
-#line 965 "parser.yy"
+#line 968 "parser.yy"
 {
                yyval.i='[';
        ;
     break;}
 case 149:
 {
                yyval.i='[';
        ;
     break;}
 case 149:
-#line 968 "parser.yy"
+#line 971 "parser.yy"
 {
        ;
     break;}
 case 150:
 {
        ;
     break;}
 case 150:
-#line 970 "parser.yy"
+#line 973 "parser.yy"
 {
        ;
     break;}
 case 151:
 {
        ;
     break;}
 case 151:
-#line 977 "parser.yy"
+#line 980 "parser.yy"
 { yyval.script = yyvsp[-1].script; ;
     break;}
 case 152:
 { yyval.script = yyvsp[-1].script; ;
     break;}
 case 152:
-#line 981 "parser.yy"
+#line 984 "parser.yy"
 {
                Script_def *s = new Script_def;
                s->set_from_input (*yyvsp[-5].string,yyvsp[-4].i, yyvsp[-3].i,yyvsp[-2].i,yyvsp[-1].i, yyvsp[0].i);
 {
                Script_def *s = new Script_def;
                s->set_from_input (*yyvsp[-5].string,yyvsp[-4].i, yyvsp[-3].i,yyvsp[-2].i,yyvsp[-1].i, yyvsp[0].i);
@@ -2168,39 +2171,39 @@ case 152:
        ;
     break;}
 case 153:
        ;
     break;}
 case 153:
-#line 990 "parser.yy"
+#line 993 "parser.yy"
 {
                Musical_script_req *m = new Musical_script_req;
                yyval.request = m;
                m->scriptdef_p_ = yyvsp[0].script;
                m->set_spot (THIS->here_input ());
                if (!m->dir_)
 {
                Musical_script_req *m = new Musical_script_req;
                yyval.request = m;
                m->scriptdef_p_ = yyvsp[0].script;
                m->set_spot (THIS->here_input ());
                if (!m->dir_)
-                 m->dir_  = yyvsp[-1].i;
+                 m->dir_  = (Direction)yyvsp[-1].i;
        ;
     break;}
 case 154:
        ;
     break;}
 case 154:
-#line 1001 "parser.yy"
+#line 1004 "parser.yy"
 { 
                yyval.script = yyvsp[0].textdef;
                ((Text_def*) yyval.script)->align_i_ = CENTER; /* UGH */
        ;
     break;}
 case 155:
 { 
                yyval.script = yyvsp[0].textdef;
                ((Text_def*) yyval.script)->align_i_ = CENTER; /* UGH */
        ;
     break;}
 case 155:
-#line 1005 "parser.yy"
+#line 1008 "parser.yy"
 { 
                yyval.script = yyvsp[0].script;
                yyval.script-> set_spot (THIS->here_input ());
        ;
     break;}
 case 156:
 { 
                yyval.script = yyvsp[0].script;
                yyval.script-> set_spot (THIS->here_input ());
        ;
     break;}
 case 156:
-#line 1009 "parser.yy"
+#line 1012 "parser.yy"
 {
                yyval.script = yyvsp[0].textdef;
                ((Text_def*)yyval.script)->align_i_ = CENTER;
        ;
     break;}
 case 157:
 {
                yyval.script = yyvsp[0].textdef;
                ((Text_def*)yyval.script)->align_i_ = CENTER;
        ;
     break;}
 case 157:
-#line 1016 "parser.yy"
+#line 1019 "parser.yy"
 {
                Text_def *t  = new Text_def;
                yyval.textdef = t;
 {
                Text_def *t  = new Text_def;
                yyval.textdef = t;
@@ -2211,7 +2214,7 @@ case 157:
        ;
     break;}
 case 158:
        ;
     break;}
 case 158:
-#line 1027 "parser.yy"
+#line 1030 "parser.yy"
 {
                Text_def* t  = new Text_def;
                yyval.textdef = t;
 {
                Text_def* t  = new Text_def;
                yyval.textdef = t;
@@ -2221,69 +2224,69 @@ case 158:
        ;
     break;}
 case 159:
        ;
     break;}
 case 159:
-#line 1037 "parser.yy"
+#line 1040 "parser.yy"
 { yyval.string = get_scriptdef ('^'); ;
     break;}
 case 160:
 { yyval.string = get_scriptdef ('^'); ;
     break;}
 case 160:
-#line 1038 "parser.yy"
+#line 1041 "parser.yy"
 { yyval.string = get_scriptdef ('+'); ;
     break;}
 case 161:
 { yyval.string = get_scriptdef ('+'); ;
     break;}
 case 161:
-#line 1039 "parser.yy"
+#line 1042 "parser.yy"
 { yyval.string = get_scriptdef ('-'); ;
     break;}
 case 162:
 { yyval.string = get_scriptdef ('-'); ;
     break;}
 case 162:
-#line 1040 "parser.yy"
+#line 1043 "parser.yy"
 { yyval.string = get_scriptdef ('|'); ;
     break;}
 case 163:
 { yyval.string = get_scriptdef ('|'); ;
     break;}
 case 163:
-#line 1041 "parser.yy"
+#line 1044 "parser.yy"
 { yyval.string = get_scriptdef ('o'); ;
     break;}
 case 164:
 { yyval.string = get_scriptdef ('o'); ;
     break;}
 case 164:
-#line 1042 "parser.yy"
+#line 1045 "parser.yy"
 { yyval.string = get_scriptdef ('>'); ;
     break;}
 case 165:
 { yyval.string = get_scriptdef ('>'); ;
     break;}
 case 165:
-#line 1043 "parser.yy"
+#line 1046 "parser.yy"
 {
                yyval.string = get_scriptdef ('.');
        ;
     break;}
 case 166:
 {
                yyval.string = get_scriptdef ('.');
        ;
     break;}
 case 166:
-#line 1049 "parser.yy"
+#line 1052 "parser.yy"
 { yyval.script = yyvsp[0].id->script (); ;
     break;}
 case 167:
 { yyval.script = yyvsp[0].id->script (); ;
     break;}
 case 167:
-#line 1050 "parser.yy"
+#line 1053 "parser.yy"
 { yyval.script = yyvsp[0].script; ;
     break;}
 case 168:
 { yyval.script = yyvsp[0].script; ;
     break;}
 case 168:
-#line 1051 "parser.yy"
+#line 1054 "parser.yy"
 {
                yyval.script = THIS->lexer_p_->lookup_identifier (*yyvsp[0].string)->script ();
                delete yyvsp[0].string;
        ;
     break;}
 case 169:
 {
                yyval.script = THIS->lexer_p_->lookup_identifier (*yyvsp[0].string)->script ();
                delete yyvsp[0].string;
        ;
     break;}
 case 169:
-#line 1058 "parser.yy"
+#line 1061 "parser.yy"
 { yyval.i = -1; ;
     break;}
 case 170:
 { yyval.i = -1; ;
     break;}
 case 170:
-#line 1059 "parser.yy"
+#line 1062 "parser.yy"
 { yyval.i = 1; ;
     break;}
 case 171:
 { yyval.i = 1; ;
     break;}
 case 171:
-#line 1060 "parser.yy"
+#line 1063 "parser.yy"
 { yyval.i = 0; ;
     break;}
 case 172:
 { yyval.i = 0; ;
     break;}
 case 172:
-#line 1064 "parser.yy"
+#line 1067 "parser.yy"
 {
        ;
     break;}
 case 173:
 {
        ;
     break;}
 case 173:
-#line 1066 "parser.yy"
+#line 1069 "parser.yy"
 {
                Array<Request*>& r = *THIS->get_parens_request (yyvsp[0].i);
                for (int i = 0; i < r.size (); i++ )
 {
                Array<Request*>& r = *THIS->get_parens_request (yyvsp[0].i);
                for (int i = 0; i < r.size (); i++ )
@@ -2293,21 +2296,21 @@ case 173:
        ;
     break;}
 case 174:
        ;
     break;}
 case 174:
-#line 1076 "parser.yy"
+#line 1079 "parser.yy"
 {
                THIS->set_duration_mode (*yyvsp[0].string);
                delete yyvsp[0].string;
        ;
     break;}
 case 175:
 {
                THIS->set_duration_mode (*yyvsp[0].string);
                delete yyvsp[0].string;
        ;
     break;}
 case 175:
-#line 1080 "parser.yy"
+#line 1083 "parser.yy"
 {
                THIS->set_default_duration (yyvsp[0].duration);
                delete yyvsp[0].duration;
        ;
     break;}
 case 176:
 {
                THIS->set_default_duration (yyvsp[0].duration);
                delete yyvsp[0].duration;
        ;
     break;}
 case 176:
-#line 1084 "parser.yy"
+#line 1087 "parser.yy"
 {
                /*
                        This is weird, but default_octave_i_
 {
                /*
                        This is weird, but default_octave_i_
@@ -2319,67 +2322,67 @@ case 176:
                THIS->default_octave_i_ = 1; ;
     break;}
 case 177:
                THIS->default_octave_i_ = 1; ;
     break;}
 case 177:
-#line 1094 "parser.yy"
+#line 1097 "parser.yy"
 {
                THIS->default_octave_i_ = yyvsp[0].melreq->octave_i_;
                delete yyvsp[0].melreq;
        ;
     break;}
 case 178:
 {
                THIS->default_octave_i_ = yyvsp[0].melreq->octave_i_;
                delete yyvsp[0].melreq;
        ;
     break;}
 case 178:
-#line 1098 "parser.yy"
+#line 1101 "parser.yy"
 {
                THIS->textstyle_str_ = *yyvsp[0].string;
                delete yyvsp[0].string;
        ;
     break;}
 case 179:
 {
                THIS->textstyle_str_ = *yyvsp[0].string;
                delete yyvsp[0].string;
        ;
     break;}
 case 179:
-#line 1105 "parser.yy"
+#line 1108 "parser.yy"
 {
                yyval.moment = new Moment (0,1);
        ;
     break;}
 case 180:
 {
                yyval.moment = new Moment (0,1);
        ;
     break;}
 case 180:
-#line 1108 "parser.yy"
+#line 1111 "parser.yy"
 {
                *yyval.moment += yyvsp[0].duration->length ();
        ;
     break;}
 case 181:
 {
                *yyval.moment += yyvsp[0].duration->length ();
        ;
     break;}
 case 181:
-#line 1114 "parser.yy"
+#line 1117 "parser.yy"
 { yyval.i = 1; ;
     break;}
 case 182:
 { yyval.i = 1; ;
     break;}
 case 182:
-#line 1115 "parser.yy"
+#line 1118 "parser.yy"
 { yyval.i ++; ;
     break;}
 case 183:
 { yyval.i ++; ;
     break;}
 case 183:
-#line 1119 "parser.yy"
+#line 1122 "parser.yy"
 {
                yyval.duration = new Duration (THIS->default_duration_);
        ;
     break;}
 case 184:
 {
                yyval.duration = new Duration (THIS->default_duration_);
        ;
     break;}
 case 184:
-#line 1122 "parser.yy"
+#line 1125 "parser.yy"
 {
                yyval.duration = new Duration (THIS->default_duration_);
                yyval.duration->dots_i_  = yyvsp[0].i;
        ;
     break;}
 case 185:
 {
                yyval.duration = new Duration (THIS->default_duration_);
                yyval.duration->dots_i_  = yyvsp[0].i;
        ;
     break;}
 case 185:
-#line 1126 "parser.yy"
+#line 1129 "parser.yy"
 {
                THIS->set_last_duration (yyvsp[0].duration);
                yyval.duration = yyvsp[0].duration;
        ;
     break;}
 case 186:
 {
                THIS->set_last_duration (yyvsp[0].duration);
                yyval.duration = yyvsp[0].duration;
        ;
     break;}
 case 186:
-#line 1133 "parser.yy"
+#line 1136 "parser.yy"
 {
                yyval.duration = yyvsp[0].duration;
        ;
     break;}
 case 187:
 {
                yyval.duration = yyvsp[0].duration;
        ;
     break;}
 case 187:
-#line 1139 "parser.yy"
+#line 1142 "parser.yy"
 {
                yyval.duration = new Duration;
                if (!Duration::duration_type_b (yyvsp[0].i))
 {
                yyval.duration = new Duration;
                if (!Duration::duration_type_b (yyvsp[0].i))
@@ -2391,37 +2394,37 @@ case 187:
        ;
     break;}
 case 188:
        ;
     break;}
 case 188:
-#line 1148 "parser.yy"
+#line 1151 "parser.yy"
 {
                yyval.duration = yyvsp[0].id->duration ();
        ;
     break;}
 case 189:
 {
                yyval.duration = yyvsp[0].id->duration ();
        ;
     break;}
 case 189:
-#line 1151 "parser.yy"
+#line 1154 "parser.yy"
 {
                yyval.duration->dots_i_ ++;
        ;
     break;}
 case 190:
 {
                yyval.duration->dots_i_ ++;
        ;
     break;}
 case 190:
-#line 1154 "parser.yy"
+#line 1157 "parser.yy"
 {
                yyval.duration->plet_.iso_i_ = yyvsp[0].i;
        ;
     break;}
 case 191:
 {
                yyval.duration->plet_.iso_i_ = yyvsp[0].i;
        ;
     break;}
 case 191:
-#line 1157 "parser.yy"
+#line 1160 "parser.yy"
 {
                yyval.duration->plet_.type_i_ = yyvsp[0].i;
        ;
     break;}
 case 192:
 {
                yyval.duration->plet_.type_i_ = yyvsp[0].i;
        ;
     break;}
 case 192:
-#line 1164 "parser.yy"
+#line 1167 "parser.yy"
 {
                yyval.i =0;
        ;
     break;}
 case 193:
 {
                yyval.i =0;
        ;
     break;}
 case 193:
-#line 1167 "parser.yy"
+#line 1170 "parser.yy"
 {
                if (!Duration::duration_type_b (yyvsp[0].i))
                        THIS->parser_error ("3:Not a duration");
 {
                if (!Duration::duration_type_b (yyvsp[0].i))
                        THIS->parser_error ("3:Not a duration");
@@ -2431,7 +2434,7 @@ case 193:
        ;
     break;}
 case 194:
        ;
     break;}
 case 194:
-#line 1178 "parser.yy"
+#line 1181 "parser.yy"
 {
                if (!THIS->lexer_p_->note_state_b ())
                        THIS->parser_error ("have to be in Note mode for notes");
 {
                if (!THIS->lexer_p_->note_state_b ())
                        THIS->parser_error ("have to be in Note mode for notes");
@@ -2441,14 +2444,14 @@ case 194:
        ;
     break;}
 case 195:
        ;
     break;}
 case 195:
-#line 1185 "parser.yy"
+#line 1188 "parser.yy"
 {
                yyval.music = THIS->get_rest_element (*yyvsp[-1].string, yyvsp[0].duration);
                delete yyvsp[-1].string;
        ;
     break;}
 case 196:
 {
                yyval.music = THIS->get_rest_element (*yyvsp[-1].string, yyvsp[0].duration);
                delete yyvsp[-1].string;
        ;
     break;}
 case 196:
-#line 1192 "parser.yy"
+#line 1195 "parser.yy"
 {
        /* this sux! text-def should be feature of lyric-engraver. */
                if (!THIS->lexer_p_->lyric_state_b ())
 {
        /* this sux! text-def should be feature of lyric-engraver. */
                if (!THIS->lexer_p_->lyric_state_b ())
@@ -2458,43 +2461,43 @@ case 196:
        ;
     break;}
 case 197:
        ;
     break;}
 case 197:
-#line 1203 "parser.yy"
+#line 1206 "parser.yy"
 {
                yyval.melreqvec = new Array<Melodic_req*>;
        ;
     break;}
 case 198:
 {
                yyval.melreqvec = new Array<Melodic_req*>;
        ;
     break;}
 case 198:
-#line 1206 "parser.yy"
+#line 1209 "parser.yy"
 {
                yyval.melreqvec->push (yyvsp[0].melreq->clone ()->musical ()->melodic ());
        ;
     break;}
 case 199:
 {
                yyval.melreqvec->push (yyvsp[0].melreq->clone ()->musical ()->melodic ());
        ;
     break;}
 case 199:
-#line 1212 "parser.yy"
+#line 1215 "parser.yy"
 {
                yyval.i = yyvsp[0].i;
        ;
     break;}
 case 200:
 {
                yyval.i = yyvsp[0].i;
        ;
     break;}
 case 200:
-#line 1215 "parser.yy"
+#line 1218 "parser.yy"
 {
                yyval.i = yyvsp[0].i;
        ;
     break;}
 case 201:
 {
                yyval.i = yyvsp[0].i;
        ;
     break;}
 case 201:
-#line 1220 "parser.yy"
+#line 1223 "parser.yy"
 {
                yyval.i = yyvsp[0].i;
        ;
     break;}
 case 202:
 {
                yyval.i = yyvsp[0].i;
        ;
     break;}
 case 202:
-#line 1223 "parser.yy"
+#line 1226 "parser.yy"
 {
                yyval.i = -yyvsp[0].i;
        ;
     break;}
 case 203:
 {
                yyval.i = -yyvsp[0].i;
        ;
     break;}
 case 203:
-#line 1226 "parser.yy"
+#line 1229 "parser.yy"
 {
                int *i_p = yyvsp[0].id->intid ();
                yyval.i = *i_p;
 {
                int *i_p = yyvsp[0].id->intid ();
                yyval.i = *i_p;
@@ -2502,13 +2505,13 @@ case 203:
        ;
     break;}
 case 204:
        ;
     break;}
 case 204:
-#line 1234 "parser.yy"
+#line 1237 "parser.yy"
 {
                yyval.real = yyvsp[0].real;
        ;
     break;}
 case 205:
 {
                yyval.real = yyvsp[0].real;
        ;
     break;}
 case 205:
-#line 1237 "parser.yy"
+#line 1240 "parser.yy"
 {
                Real *r_p = yyvsp[0].id->real ();
                yyval.real = * r_p;
 {
                Real *r_p = yyvsp[0].id->real ();
                yyval.real = * r_p;
@@ -2516,65 +2519,65 @@ case 205:
        ;
     break;}
 case 206:
        ;
     break;}
 case 206:
-#line 1247 "parser.yy"
+#line 1250 "parser.yy"
 { yyval.real = yyvsp[-1].real*yyvsp[0].real; ;
     break;}
 case 207:
 { yyval.real = yyvsp[-1].real*yyvsp[0].real; ;
     break;}
 case 207:
-#line 1251 "parser.yy"
+#line 1254 "parser.yy"
 { yyval.real = 1 CM; ;
     break;}
 case 208:
 { yyval.real = 1 CM; ;
     break;}
 case 208:
-#line 1252 "parser.yy"
+#line 1255 "parser.yy"
 { yyval.real = 1 INCH; ;
     break;}
 case 209:
 { yyval.real = 1 INCH; ;
     break;}
 case 209:
-#line 1253 "parser.yy"
+#line 1256 "parser.yy"
 { yyval.real = 1 MM; ;
     break;}
 case 210:
 { yyval.real = 1 MM; ;
     break;}
 case 210:
-#line 1254 "parser.yy"
+#line 1257 "parser.yy"
 { yyval.real = 1 PT; ;
     break;}
 case 211:
 { yyval.real = 1 PT; ;
     break;}
 case 211:
-#line 1261 "parser.yy"
+#line 1264 "parser.yy"
 { yyval.lookup = yyvsp[-1].lookup; ;
     break;}
 case 212:
 { yyval.lookup = yyvsp[-1].lookup; ;
     break;}
 case 212:
-#line 1265 "parser.yy"
+#line 1268 "parser.yy"
 {
                yyval.lookup = new Lookup;
        ;
     break;}
 case 213:
 {
                yyval.lookup = new Lookup;
        ;
     break;}
 case 213:
-#line 1268 "parser.yy"
+#line 1271 "parser.yy"
 {
                yyval.lookup = yyvsp[0].id->lookup ();
        ;
     break;}
 case 214:
 {
                yyval.lookup = yyvsp[0].id->lookup ();
        ;
     break;}
 case 214:
-#line 1271 "parser.yy"
+#line 1274 "parser.yy"
 {
                yyval.lookup->texsetting = *yyvsp[0].string;
                delete yyvsp[0].string;
        ;
     break;}
 case 215:
 {
                yyval.lookup->texsetting = *yyvsp[0].string;
                delete yyvsp[0].string;
        ;
     break;}
 case 215:
-#line 1275 "parser.yy"
+#line 1278 "parser.yy"
 {
                yyval.lookup->add (*yyvsp[-2].string, yyvsp[0].symtable);
                delete yyvsp[-2].string;
        ;
     break;}
 case 216:
 {
                yyval.lookup->add (*yyvsp[-2].string, yyvsp[0].symtable);
                delete yyvsp[-2].string;
        ;
     break;}
 case 216:
-#line 1282 "parser.yy"
+#line 1285 "parser.yy"
 { yyval.symtable = yyvsp[-1].symtable; ;
     break;}
 case 217:
 { yyval.symtable = yyvsp[-1].symtable; ;
     break;}
 case 217:
-#line 1286 "parser.yy"
+#line 1289 "parser.yy"
 { yyval.symtable = new Symtable; ;
     break;}
 case 218:
 { yyval.symtable = new Symtable; ;
     break;}
 case 218:
-#line 1287 "parser.yy"
+#line 1290 "parser.yy"
 {
                yyval.symtable->add (*yyvsp[-1].string, *yyvsp[0].symbol);
                delete yyvsp[-1].string;
 {
                yyval.symtable->add (*yyvsp[-1].string, *yyvsp[0].symbol);
                delete yyvsp[-1].string;
@@ -2582,7 +2585,7 @@ case 218:
        ;
     break;}
 case 219:
        ;
     break;}
 case 219:
-#line 1295 "parser.yy"
+#line 1298 "parser.yy"
 {
                yyval.symbol = new Atom (*yyvsp[-1].string, *yyvsp[0].box);
                delete yyvsp[-1].string;
 {
                yyval.symbol = new Atom (*yyvsp[-1].string, *yyvsp[0].box);
                delete yyvsp[-1].string;
@@ -2590,7 +2593,7 @@ case 219:
        ;
     break;}
 case 220:
        ;
     break;}
 case 220:
-#line 1300 "parser.yy"
+#line 1303 "parser.yy"
 {
                Box b (Interval (0,0), Interval (0,0));
                yyval.symbol = new Atom (*yyvsp[0].string, b);
 {
                Box b (Interval (0,0), Interval (0,0));
                yyval.symbol = new Atom (*yyvsp[0].string, b);
@@ -2598,7 +2601,7 @@ case 220:
        ;
     break;}
 case 221:
        ;
     break;}
 case 221:
-#line 1308 "parser.yy"
+#line 1311 "parser.yy"
 {
                yyval.box = new Box (*yyvsp[-1].interval, *yyvsp[0].interval);
                delete yyvsp[-1].interval;
 {
                yyval.box = new Box (*yyvsp[-1].interval, *yyvsp[0].interval);
                delete yyvsp[-1].interval;
@@ -2606,7 +2609,7 @@ case 221:
        ;
     break;}
 case 222:
        ;
     break;}
 case 222:
-#line 1315 "parser.yy"
+#line 1318 "parser.yy"
 {
                yyval.interval = new Interval (yyvsp[-1].real, yyvsp[0].real);
        ;
 {
                yyval.interval = new Interval (yyvsp[-1].real, yyvsp[0].real);
        ;
@@ -2809,7 +2812,7 @@ yyerrhandle:
   yystate = yyn;
   goto yynewstate;
 }
   yystate = yyn;
   goto yynewstate;
 }
-#line 1320 "parser.yy"
+#line 1323 "parser.yy"
 
 
 void
 
 
 void
index 4be93f095718cf675154d9225be6d33f203a038a..842423e0ea9cf72b0122bdfdf7b7ae0b5bee2c4c 100644 (file)
@@ -40,6 +40,9 @@
 #include "duration-convert.hh"
 #include "change-translator.hh"
 
 #include "duration-convert.hh"
 #include "change-translator.hh"
 
+// needed for bison.simple's malloc() and free()
+#include <malloc.h>
+
 int const GUESS_PLET = 5;
 int guess_plet_a[GUESS_PLET] =
 { 
 int const GUESS_PLET = 5;
 int guess_plet_a[GUESS_PLET] =
 { 
@@ -863,8 +866,8 @@ dynamic_req:
        }
        | SPANDYNAMIC '{' int int '}' {
                Span_dynamic_req * sp_p = new Span_dynamic_req;
        }
        | SPANDYNAMIC '{' int int '}' {
                Span_dynamic_req * sp_p = new Span_dynamic_req;
-               sp_p->spantype = $4;
-               sp_p-> dynamic_dir_  = $3;
+               sp_p->spantype = (Span_req::Spantype)$4;
+               sp_p-> dynamic_dir_  = (Direction)$3;
                $$ = sp_p;
        }
        ;
                $$ = sp_p;
        }
        ;
@@ -993,7 +996,7 @@ script_req:
                m->scriptdef_p_ = $2;
                m->set_spot (THIS->here_input ());
                if (!m->dir_)
                m->scriptdef_p_ = $2;
                m->set_spot (THIS->here_input ());
                if (!m->dir_)
-                 m->dir_  = $1;
+                 m->dir_  = (Direction)$1;
        }
        ;
 
        }
        ;
 
index 6eebc48f04ca0815f3e0f8e851bf275b4d54253f..6787088b0e2bf4d9c014508b8c92e7d91bea601e 100644 (file)
@@ -85,7 +85,7 @@ Plet_spanner::do_add_processing ()
   do {
     if (!stem_l_drul_[d])
       new_stem_drul[d] = stem_l_drul_[(Direction)-d];
   do {
     if (!stem_l_drul_[d])
       new_stem_drul[d] = stem_l_drul_[(Direction)-d];
-  } while ( (d *= -1) != LEFT);
+  } while (flip(&d) != LEFT);
   stem_l_drul_ = new_stem_drul;
 }
   
   stem_l_drul_ = new_stem_drul;
 }
   
@@ -110,7 +110,7 @@ Plet_spanner::do_post_processing ()
       if (d == RIGHT)
         dx_f_drul_[d] = nw_f;
     }
       if (d == RIGHT)
         dx_f_drul_[d] = nw_f;
     }
-  while ( (d *= -1) != LEFT);
+  while (flip(&d) != LEFT);
 }
 
 void
 }
 
 void
diff --git a/lily/rod.cc b/lily/rod.cc
new file mode 100644 (file)
index 0000000..707f557
--- /dev/null
@@ -0,0 +1,54 @@
+/*   
+  rod.cc --  implement Rod, Column_rod
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1998 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+  
+ */
+#include "rod.hh"
+#include "p-col.hh"
+#include "debug.hh"
+
+Rod::Rod (Item *l, Item *r)
+{
+  item_l_drul_[LEFT] =l;
+  item_l_drul_[RIGHT]=r;
+  distance_f_ = l->width () [RIGHT] + r->width ()[LEFT];
+}
+         
+Rod::Rod ()
+{
+  distance_f_ = 0.0;
+  item_l_drul_[LEFT] = item_l_drul_[RIGHT] =0;
+}
+
+void
+Column_rod::print () const
+{
+#ifndef NDEBUG
+  DOUT << "Column_rod { rank = "
+       << other_l_->rank_i () << ", dist = " << distance_f_ << "}\n";   
+#endif
+}
+
+Column_rod::Column_rod ()
+{
+  distance_f_ = 0;
+  dir_ = CENTER;
+  other_l_ = 0;
+}
+  
+int
+Column_rod::compare (const Column_rod &r1, const Column_rod &r2)
+{
+  return r1.other_l_->rank_i() - r2.other_l_->rank_i();
+}
+void
+Rod::add_to_cols ()
+{
+  item_l_drul_[RIGHT]->column_l ()->add_rod
+    (item_l_drul_[LEFT]->column_l (), distance_f_, LEFT);
+  item_l_drul_[LEFT]->column_l ()->add_rod
+    (item_l_drul_[RIGHT]->column_l (), distance_f_,RIGHT);
+}
index bd1a3527b451947376b2aa48a87226c7d82a5e26..0da2f640cbd0b024cc89f4b0b9156424ccf1d750 100644 (file)
@@ -42,6 +42,7 @@ Moment_compare (Moment const &m1, Moment const &m2)
 void
 Score_column::preprocess()
 {
 void
 Score_column::preprocess()
 {
+  Paper_column ::preprocess ();
   durations.sort (Moment_compare);
 }
 
   durations.sort (Moment_compare);
 }
 
index 1a6ec4105ef78f8975e9cff4eb42e8009145000d..e81d7e0563e8609d7f44b034afdaafa493b5ab77 100644 (file)
@@ -191,6 +191,11 @@ Score_elem::do_pre_processing()
 {
 }
 
 {
 }
 
+void
+Score_elem::do_space_processing ()
+{
+}
+
 void
 Score_elem::do_add_processing()
 {
 void
 Score_elem::do_add_processing()
 {
index 8e28c11280b062365657f0a0dada02b5e4ba08e2..06f54eca515ee4ce47b96cf2a11efdcf9f406fde 100644 (file)
@@ -144,7 +144,7 @@ Score_engraver::typeset_all()
                s->set_bounds(d, command_column_l_);
                warning ("Unbound spanner");
              }
                s->set_bounds(d, command_column_l_);
                warning ("Unbound spanner");
              }
-         } while ((d *= -1) != LEFT);
+         } while (flip(&d) != LEFT);
        }
       else 
        {
        }
       else 
        {
index 0979cfe8245a61d38c8637c698ea9fca39d3a360..f5333cea467b70c69ab3847c3d913be080a2127d 100644 (file)
@@ -54,7 +54,7 @@ Script::set_default_dir()
   if (s_i)
     {
       if (stem_l_)
   if (s_i)
     {
       if (stem_l_)
-       dir_ = stem_l_->dir_ * s_i;
+       dir_ = Direction(stem_l_->dir_ * s_i);
       else
        {
          specs_l_->warning (_("Script needs stem direction"));
       else
        {
          specs_l_->warning (_("Script needs stem direction"));
diff --git a/lily/separating-group-spanner.cc b/lily/separating-group-spanner.cc
new file mode 100644 (file)
index 0000000..eca012b
--- /dev/null
@@ -0,0 +1,52 @@
+/*   
+  separating-group-spanner.cc --  implement Separating_group_spanner
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1998 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+  
+ */
+
+#include "separating-group-spanner.hh"
+#include "single-malt-grouping-item.hh"
+
+Array<Rod>
+Separating_group_spanner::get_rods () const
+{
+  Array<Rod> a;
+
+  for (int i=0; i < spacing_unit_l_arr_.size () -1; i++)
+    {
+      a.push (Rod (spacing_unit_l_arr_[i], spacing_unit_l_arr_[i+1]));    
+      if (spacing_unit_l_arr_[i]->breakable_b_)
+       {
+         a.push (Rod (spacing_unit_l_arr_[i]->find_prebroken_piece (RIGHT), spacing_unit_l_arr_[i+1]));
+       }
+      if (spacing_unit_l_arr_[i+1]->breakable_b_)
+       {
+         a.push (Rod (spacing_unit_l_arr_[i], spacing_unit_l_arr_[i+1]->find_prebroken_piece (LEFT)));
+       }
+    }
+      
+  return a;
+}
+
+void
+Separating_group_spanner::add_spacing_unit (Single_malt_grouping_item*i)
+{
+  spacing_unit_l_arr_.push (i);
+  add_dependency (i);
+}
+
+IMPLEMENT_IS_TYPE_B1(Separating_group_spanner, Spanner);
+
+void
+Separating_group_spanner::do_substitute_dependency (Score_elem*o, Score_elem*n)
+{
+  if (o->is_type_b (Single_malt_grouping_item::static_name ()))
+    {
+      Single_malt_grouping_item*ns = n ? (Single_malt_grouping_item*)n->item () : 0;
+      spacing_unit_l_arr_.substitute ((Single_malt_grouping_item*)o->item (), ns);
+    }
+}
+
diff --git a/lily/separating-line-group-grav.cc b/lily/separating-line-group-grav.cc
new file mode 100644 (file)
index 0000000..889c8db
--- /dev/null
@@ -0,0 +1,77 @@
+/*   
+  separating-line-group-grav.cc --  implement Separating_line_group_engraver
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1998 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+  
+ */
+
+#include "separating-line-group-grav.hh"
+#include "separating-group-spanner.hh"
+#include "single-malt-grouping-item.hh"
+#include "p-col.hh"
+
+Separating_line_group_engraver::Separating_line_group_engraver ()
+{
+  sep_span_p_ = 0;
+  break_malt_p_ = 0;
+  nobreak_malt_p_ =0;
+}
+
+void
+Separating_line_group_engraver::do_creation_processing ()
+{
+  sep_span_p_ = new Separating_group_spanner;
+  announce_element ( Score_elem_info (sep_span_p_, 0));
+  sep_span_p_->set_bounds (LEFT, get_staff_info ().command_pcol_l ());
+}
+
+void
+Separating_line_group_engraver::do_removal_processing ()
+{
+  sep_span_p_->set_bounds (RIGHT, get_staff_info ().command_pcol_l ());
+  typeset_element (sep_span_p_);
+  sep_span_p_ =0;
+}
+
+void
+Separating_line_group_engraver::acknowledge_element (Score_elem_info i)
+{
+  Item * it = i.elem_l_->item ();
+  if (it && !it->axis_group_l_a_[X_AXIS])
+    {
+      Single_malt_grouping_item *&p_ref_ (it->breakable_b_ ?
+                                         break_malt_p_ : nobreak_malt_p_);
+
+      if (!p_ref_)
+       {
+         p_ref_ = new Single_malt_grouping_item;
+         p_ref_->breakable_b_ = it->breakable_b_;
+         announce_element (Score_elem_info (p_ref_, 0));
+       }
+      p_ref_->add (it);
+    }
+}
+
+void
+Separating_line_group_engraver::do_pre_move_processing ()
+{
+  if (break_malt_p_)
+    {
+      sep_span_p_->add_spacing_unit (break_malt_p_);
+      
+      typeset_element (break_malt_p_);
+      break_malt_p_ =0;
+    }
+  if (nobreak_malt_p_)
+    {
+      sep_span_p_->add_spacing_unit (nobreak_malt_p_);
+      typeset_element (nobreak_malt_p_);
+      nobreak_malt_p_ =0;
+    }
+}
+
+
+IMPLEMENT_IS_TYPE_B1 (Separating_line_group_engraver, Line_group_engraver);
+ADD_THIS_TRANSLATOR( Separating_line_group_engraver);
diff --git a/lily/single-malt-grouping-item.cc b/lily/single-malt-grouping-item.cc
new file mode 100644 (file)
index 0000000..f6975f7
--- /dev/null
@@ -0,0 +1,50 @@
+/*   
+  single-malt-grouping-item.cc --  implement Single_malt_grouping_item
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1998 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+  
+ */
+
+#include "single-malt-grouping-item.hh"
+#include "p-col.hh"
+
+Single_malt_grouping_item ::Single_malt_grouping_item()
+{
+  transparent_b_ = true;
+}
+
+void
+Single_malt_grouping_item::add (Item* i)
+{
+  assert (i);
+  item_l_arr_.push (i);
+  add_dependency (i);
+}
+
+Interval
+Single_malt_grouping_item::do_width () const
+{
+  Paper_column * pc = column_l ();
+  Interval w;
+  for (int i=0; i < item_l_arr_.size (); i++)
+    {
+      Item *il = item_l_arr_[i];
+      assert (pc == il->column_l ());
+      w.unite  (il->width () + il->relative_coordinate (pc, X_AXIS));
+    }
+  
+  return w + (- relative_coordinate (pc, X_AXIS)); // TODO
+}
+
+IMPLEMENT_IS_TYPE_B1(Single_malt_grouping_item, Item);
+
+void
+Single_malt_grouping_item::do_substitute_dependency (Score_elem*o, Score_elem*n)
+{
+  if (o->item ())
+    {
+      item_l_arr_.unordered_substitute (o->item (),  n ? n->item () : 0);
+    }
+}
index 88b2c6cc3378661071b2dd6b018bdaac21e8e447..f8142f23ee55a6a9a7c07df59385594ed3cc03ff 100644 (file)
@@ -127,7 +127,7 @@ Slur::do_post_processing ()
        }
       dy_f_drul_[d] += dir_ * interline_f;
     }
        }
       dy_f_drul_[d] += dir_ * interline_f;
     }
-  while ((d *= -1) != LEFT);
+  while (flip(&d) != LEFT);
 }
 
 Real
 }
 
 Real
index a10cf1446f3cee6378d278b618615500ec8b457d..85221d3c94a9f141dea8472b026dbc152a02454c 100644 (file)
@@ -46,9 +46,9 @@ Spanner::break_into_pieces ()
       left = break_cols[i-1];
       right = break_cols[i];
       if (!right->line_l())
       left = break_cols[i-1];
       right = break_cols[i];
       if (!right->line_l())
-       right = right->find_prebroken_piece(-1);
+       right = right->find_prebroken_piece(LEFT);
       if (!left->line_l())
       if (!left->line_l())
-       left = left->find_prebroken_piece(1);
+       left = left->find_prebroken_piece(RIGHT);
 
             assert (left&&right && left->line_l() == right->line_l());
 
 
             assert (left&&right && left->line_l() == right->line_l());
 
@@ -69,9 +69,9 @@ Spanner::set_my_columns()
   do 
     {
       if (!spanned_drul_[i]->line_l())
   do 
     {
       if (!spanned_drul_[i]->line_l())
-       set_bounds(i,spanned_drul_[i]->find_prebroken_piece(-i));
+       set_bounds(i,spanned_drul_[i]->find_prebroken_piece((Direction)-i));
     } 
     } 
-  while ((i*=-1) != 1);
+  while (flip(&i) != 1);
 }       
 
 
 }       
 
 
@@ -172,3 +172,20 @@ Spanner::do_junk_links()
 {
   spanned_drul_[LEFT] = spanned_drul_[RIGHT] =0;
 }
 {
   spanned_drul_[LEFT] = spanned_drul_[RIGHT] =0;
 }
+
+Array<Rod>
+Spanner::get_rods () const
+{
+  Array<Rod> r;
+  return r;
+}
+
+void
+Spanner::do_space_processing ()
+{
+  Array<Rod> rs (get_rods ());
+  for (int i=0; i < rs.size (); i++)
+    {
+      rs[i].add_to_cols ();
+    }
+}
index 91e0ba704852f44c724d8abe75cbcb3693d1cbe7..fffd8318df6df91f5e13d2fad1ff9eec2b6709eb 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the GNU LilyPond music typesetter
 
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+  (c) 1996, 1997, 1998 Han-Wen Nienhuys <hanwen@stack.nl>
 */
 
 
 */
 
 
@@ -71,7 +71,7 @@ Spring_spacer::handle_loose_cols()
       connected.connect (i->left_i_,i->right_i_);
     }
   for (int i = 0; i < cols.size(); i++)
       connected.connect (i->left_i_,i->right_i_);
     }
   for (int i = 0; i < cols.size(); i++)
-    if (cols[i].fixed())
+    if (cols[i].fixed_b())
       fixed.push (i);
   for (int i=1; i < fixed.size(); i++)
     connected.connect (fixed[i-1], fixed[i]);
       fixed.push (i);
   for (int i=1; i < fixed.size(); i++)
     connected.connect (fixed[i-1], fixed[i]);
@@ -152,61 +152,77 @@ Spring_spacer::check_constraints (Vector v) const
 
   for (int i=0; i < dim; i++)
     {
 
   for (int i=0; i < dim; i++)
     {
-
-      if (cols[i].fixed()&&
+      if (cols[i].fixed_b() &&
          abs (cols[i].fixed_position() - v (i)) > COLFUDGE)
        return false;
 
          abs (cols[i].fixed_position() - v (i)) > COLFUDGE)
        return false;
 
-      if (!i)
-       continue;
-
-      Real mindist=cols[i-1].width_[RIGHT]
-       -cols[i].width_[LEFT];
-
-      // ugh... compares
-      Real dif =v (i) - v (i-1)- mindist;
-      bool b = (dif > - COLFUDGE);
-
-
-      if (!b)
-       return false;
+      Array<Column_rod> &rods (cols[i].pcol_l_->minimal_dists_arr_drul_[RIGHT]);
+      for (int j =0; j < rods.size (); j++)
+       {
+         int delta_idx=  rods[j].other_l_->rank_i () - cols[i].rank_i ();
+         if (i + delta_idx >= dim )
+           break;
+         if (rods[j].other_l_ != cols[i + delta_idx].pcol_l_)
+           continue;
+         if (v (i + delta_idx) - v (i) < rods[j].distance_f_)
+           return false;
+       }
 
     }
   return true;
 }
 
 
     }
   return true;
 }
 
-/// try to generate a solution which obeys the min distances and fixed
-/// positions
+/** try to generate a solution which obeys the min distances and fixed positions
+ */
 Vector
 Spring_spacer::try_initial_solution() const
 Vector
 Spring_spacer::try_initial_solution() const
+{
+  Vector v;
+  if (try_initial_solution_and_tell (v))
+    warning ("I'm too fat; call Oprah");
+  return v;
+
+}
+
+bool
+Spring_spacer::try_initial_solution_and_tell (Vector &v) const
 {
   int dim=cols.size();
 {
   int dim=cols.size();
+  bool succeeded = true;
   Vector initsol (dim);
   for (int i=0; i < dim; i++)
     {
   Vector initsol (dim);
   for (int i=0; i < dim; i++)
     {
-      if (cols[i].fixed())
-       {
-         initsol (i)=cols[i].fixed_position();
+      int first_rank = cols[0].rank_i ();
+      int last_rank = cols.top ().rank_i ();
 
 
-         if (i > 0)
-           {
-             Real r =initsol (i-1)  + cols[i-1].width_[RIGHT];
-             if (initsol (i) < r)
-                 initsol (i) =r;
-           }
+      Real min_x = i ?  initsol (i-1) : 0.0;
+      for (int j=0; j < cols[i].pcol_l_->minimal_dists_arr_drul_[LEFT].size (); j++)
+       {
+         Column_rod cr (cols[i].pcol_l_->minimal_dists_arr_drul_[LEFT] [j]);
+         if (cr.other_l_->rank_i () < first_rank)
+           break;
 
 
+         int idx = cr.other_l_->rank_i () - first_rank;
+         assert (i > idx && idx >= 0);
+         if (cr.other_l_->break_status_i_ !=  cols[idx].pcol_l_->break_status_i_ )
+           continue;
+         
+         min_x = min_x >? (initsol (idx) + cr.distance_f_);
        }
        }
-      else
+      
+      if (cols[i].fixed_b())
        {
        {
-         Real mindist=cols[i-1].width_[RIGHT]
-           - cols[i].width_[LEFT];
-         if (mindist < 0.0)
-           warning (_("Excentric column"));
-         initsol (i)=initsol (i-1)+mindist;
+         initsol (i)=cols[i].fixed_position();
+         if (initsol (i) < min_x )
+           {
+             initsol (i) = min_x;
+             succeeded = false;
+           }
        }
     }
        }
     }
-
-  return initsol;
+  v = initsol;
+  
+  return succeeded;
 }
 
 
 }
 
 
@@ -240,7 +256,7 @@ void
 Spring_spacer::set_fixed_cols (Mixed_qp &qp) const
 {
   for (int j=0; j < cols.size(); j++)
 Spring_spacer::set_fixed_cols (Mixed_qp &qp) const
 {
   for (int j=0; j < cols.size(); j++)
-    if (cols[j].fixed())
+    if (cols[j].fixed_b())
       qp.add_fixed_var (j,cols[j].fixed_position());
 } 
 
       qp.add_fixed_var (j,cols[j].fixed_position());
 } 
 
@@ -249,18 +265,30 @@ void
 Spring_spacer::make_constraints (Mixed_qp& lp) const
 {
   int dim=cols.size();
 Spring_spacer::make_constraints (Mixed_qp& lp) const
 {
   int dim=cols.size();
-  for (int j=0; j < dim; j++)
+  int last_rank = cols.top ().pcol_l_->rank_i ();
+  
+  for (int j=0; j < dim -1; j++)
     {
     {
-      Colinfo c=cols[j];
-      if (j > 0)
+      Paper_column* lc = cols[j].pcol_l_;
+      int my_rank = lc->rank_i();
+      for (int i = 0; i < lc->minimal_dists_arr_drul_[RIGHT].size (); i++)
        {
          Vector c1(dim);
        {
          Vector c1(dim);
+         Column_rod & cr = lc->minimal_dists_arr_drul_[RIGHT][i];
+         int right_rank = cr.other_l_->rank_i ();
 
 
-         c1(j)=1.0 ;
-         c1(j-1)=-1.0 ;
+         cout << "lr, rr, last = " << my_rank << ", " <<right_rank << ", " << last_rank << endl;
 
 
-         lp.add_inequality_cons (c1, cols[j-1].width_[RIGHT] 
-                                 - cols[j].width_[LEFT]);
+         if (right_rank > last_rank)
+           break;
+             
+         int right_idx = right_rank - my_rank + j;
+         cout << "li, ri = " << j << "," << right_idx;
+         cout << "lr, rr = " << my_rank << ", " <<right_rank << endl;
+         c1(right_idx)=1.0 ;
+         c1(j)=-1.0 ;
+
+         lp.add_inequality_cons (c1, cr.distance_f_);
        }
     }
 }
        }
     }
 }
@@ -337,6 +365,8 @@ Spring_spacer::add_column (Paper_column  *col, bool fixed, Real fixpos)
   else
     c.rank_i_ = 0;
   cols.push (c);
   else
     c.rank_i_ = 0;
   cols.push (c);
+
+  
 }
 
 Line_of_cols
 }
 
 Line_of_cols
@@ -524,7 +554,7 @@ Spring_spacer::calc_idealspacing()
 
   /* 
      First do all non-musical columns
 
   /* 
      First do all non-musical columns
-   */
+  */
   for (int i=0; i < cols.size(); i++)
     {
       if (!scol_l (i)->musical_b() && i+1 < cols.size())
   for (int i=0; i < cols.size(); i++)
     {
       if (!scol_l (i)->musical_b() && i+1 < cols.size())
@@ -551,7 +581,7 @@ Spring_spacer::calc_idealspacing()
 
   /* 
      Then musicals
 
   /* 
      Then musicals
-     */
+  */
   for (int i=0; i < cols.size(); i++)
     {
       if (scol_l (i)->musical_b())
   for (int i=0; i < cols.size(); i++)
     {
       if (scol_l (i)->musical_b())
index 1a552bcf2c03a642a9aaf20bf7e146a9dd2152ca..544da9c59f1a47dfbb4c1273de9700b2ecec81b8 100644 (file)
@@ -77,7 +77,7 @@ Stem_engraver::do_pre_move_processing()
   if (stem_p_)
     {
       Scalar prop = get_property ("ydirection");
   if (stem_p_)
     {
       Scalar prop = get_property ("ydirection");
-      dir_ = prop.isnum_b () ? int(prop) : CENTER;
+      dir_ = prop.isnum_b () ? (Direction)int(prop) : CENTER;
       if (dir_)
        stem_p_->dir_ = dir_;
 
       if (dir_)
        stem_p_->dir_ = dir_;
 
index 0cc425198ca0726dc7e30bb582c8391d6cb7cd86..3e9d8d0f70a439b95dc4348a03e8ee235a420171 100644 (file)
@@ -52,6 +52,8 @@ enum Score_elem_status {
   PREBROKEN,
   PRECALCING,
   PRECALCED,           // calcs before spacing done
   PREBROKEN,
   PRECALCING,
   PRECALCED,           // calcs before spacing done
+  SPACING,
+  SPACED,
   BROKEN,
   POSTCALCING,         // busy calculating. This is used to trap cyclic deps.
   POSTCALCED,          // after spacing calcs done
   BROKEN,
   POSTCALCING,         // busy calculating. This is used to trap cyclic deps.
   POSTCALCED,          // after spacing calcs done
@@ -67,6 +69,12 @@ Super_elem::pre_processing ()
   calcalute_dependencies (PRECALCING, PRECALCED, &Score_elem::do_pre_processing);
 }
 
   calcalute_dependencies (PRECALCING, PRECALCED, &Score_elem::do_pre_processing);
 }
 
+void
+Super_elem::space_processing ()
+{
+  calcalute_dependencies (SPACING, SPACED, &Score_elem::do_space_processing);
+}
+
 /* for break processing, use only one status, because copies have to
   have correct status. (Previously,
   Score_elem::handle_[pre]broken_dependencies assigned to status_i_
 /* for break processing, use only one status, because copies have to
   have correct status. (Previously,
   Score_elem::handle_[pre]broken_dependencies assigned to status_i_
index 8975172e83fd9065e116b50cf0ce8cbe53931b27..820b07be3d5e8469cb6838479b2c8b51a832d058 100644 (file)
@@ -9,10 +9,12 @@
 #include "proto.hh"
 #include "pcursor.hh"
 #include "plist.hh"
 #include "proto.hh"
 #include "pcursor.hh"
 #include "plist.hh"
+/*
 #include "audio-item.hh"
 #include "audio-staff.hh"
 #include "p-col.hh"
 #include "p-score.hh"
 #include "audio-item.hh"
 #include "audio-staff.hh"
 #include "p-col.hh"
 #include "p-score.hh"
+*/
 #include "cursor.tcc"
 #include "list.tcc"
 #include "pcursor.tcc"
 #include "cursor.tcc"
 #include "list.tcc"
 #include "pcursor.tcc"
index 8fb616fcb747ce0ef6916686b09a0e8d1872ac57..9e116df08ee99c1a93ebb9a4ebb01e35a0b5de1d 100644 (file)
@@ -179,7 +179,7 @@ Lookup::ps_slur (Real dy , Real dx, Real ht, Real dir) const
 Atom
 Lookup::tex_slur (int dy , Real &dx, Direction dir) const
 {
 Atom
 Lookup::tex_slur (int dy , Real &dx, Direction dir) const
 {
-  assert (abs (dir) <= 1);
+  assert (abs ((int)dir) <= 1);
   Atom s;
   Direction y_sign = (Direction) sign (dy);
 
   Atom s;
   Direction y_sign = (Direction) sign (dy);
 
index 952e917052ac4fac493f9d55eedfcf7e9d51f93d..c471fa1453f7c96c82c8ec14a077c1c319d74f06 100644 (file)
@@ -65,10 +65,9 @@ Text_item::brew_molecule_p () const
 {
   Atom a (tdef_p_->get_atom (paper (), dir_));
 
 {
   Atom a (tdef_p_->get_atom (paper (), dir_));
 
-  /*
-    if (fat_b_)
-    a.sym.dim.x = tdef_p_->width (paper ());
-    */
+
+  if (fat_b_)
+    a.dim_[X_AXIS] = tdef_p_->width (paper ());
   Molecule* mol_p = new Molecule (a);
 
   if (dir_<0)          // should do something better anyway.
   Molecule* mol_p = new Molecule (a);
 
   if (dir_<0)          // should do something better anyway.
index fb929047e6eb2f572d5670c0a7b443fdea11c840..de7b328b11c695583703b317ae3427b795120efe 100644 (file)
@@ -53,7 +53,7 @@ Tie::do_add_processing()
   do {
     if (!head_l_drul_[d])
       new_head_drul[d] = head_l_drul_[(Direction)-d];
   do {
     if (!head_l_drul_[d])
       new_head_drul[d] = head_l_drul_[(Direction)-d];
-  } while ((d *= -1) != LEFT);
+  } while (flip(&d) != LEFT);
   head_l_drul_ = new_head_drul;
 }
 
   head_l_drul_ = new_head_drul;
 }
 
@@ -86,7 +86,7 @@ Tie::do_post_processing()
                       ? head_l_drul_[d]->position_i_
                       : head_l_drul_[(Direction)-d]->position_i_);
     }
                       ? head_l_drul_[d]->position_i_
                       : head_l_drul_[(Direction)-d]->position_i_);
     }
-  while ((d *= -1) != LEFT);
+  while (flip(&d) != LEFT);
 
   do
     {
 
   do
     {
@@ -108,7 +108,7 @@ Tie::do_post_processing()
                                -0.5 * nw_f);
        }
     }
                                -0.5 * nw_f);
        }
     }
-  while ((d *= -1) != LEFT);
+  while (flip(&d) != LEFT);
 }
 
 void
 }
 
 void
index 94f5d0520437e3da70de61835c5c920c39731380..fe773a9375ac5a2dea9da15c57c91555b112143e 100644 (file)
@@ -9,6 +9,7 @@
 #include "p-col.hh"
 #include "vertical-align-grav.hh"
 #include "vertical-align-spanner.hh"
 #include "p-col.hh"
 #include "vertical-align-grav.hh"
 #include "vertical-align-spanner.hh"
+#include "vertical-group-elem.hh"
 
 Vertical_align_engraver::Vertical_align_engraver()
 {
 
 Vertical_align_engraver::Vertical_align_engraver()
 {
diff --git a/lily/vertical-group-elem.cc b/lily/vertical-group-elem.cc
new file mode 100644 (file)
index 0000000..ade65c5
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+  vertical-group-elem.cc -- implement Horizontal_vertical_group_element
+
+  source file of the GNU LilyPond music typesetter
+
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+#include "vertical-group-elem.hh"
+#include "interval.hh"
+#include "item.hh"
+#include "debug.hh"
+
+void
+Vertical_group_element::add_element (Graphical_element*e)
+{
+  axis_admin_.add_element (e, this, Y_AXIS, Y_AXIS);
+}
+
+void
+Vertical_group_element::remove_element (Graphical_element*e)
+{
+  axis_admin_.remove_element (e, Y_AXIS, Y_AXIS);
+}
+
+
+Interval
+Vertical_group_element::do_height() const
+{
+  return axis_admin_.extent (Y_AXIS);
+}
+void
+Vertical_group_element::remove_all()
+{
+  axis_admin_.remove_all (Y_AXIS,Y_AXIS);
+}
+
+IMPLEMENT_IS_TYPE_B1(Vertical_group_element, Axis_group_element);
index 2e11db74207ec83dabd550be07a2a953205c977d..abae14aa028ab466049e15537af1f28d1a9b5f6e 100644 (file)
@@ -11,3 +11,4 @@
 #include "p-col.hh"
 
 IMPLEMENT_IS_TYPE_B2(Vertical_group_spanner, Axis_group_spanner, Vertical_group_element);
 #include "p-col.hh"
 
 IMPLEMENT_IS_TYPE_B2(Vertical_group_spanner, Axis_group_spanner, Vertical_group_element);
+
index 6b7abf398bd089b3512dc3128adcddc43ba07759..c41e3ed9b2eff346b1beabbf061779abbc6b8f65 100644 (file)
@@ -41,6 +41,7 @@ Word_wrap::do_solve() const
       // do  another line
       line_no_i ++;
       Paper_column *post = breakpoints[break_idx_i]->postbreak_l();
       // do  another line
       line_no_i ++;
       Paper_column *post = breakpoints[break_idx_i]->postbreak_l();
+      int start_break_idx = break_idx_i;
       current.add (post);
       curcol++;                // skip the breakable.
       break_idx_i++;
       current.add (post);
       curcol++;                // skip the breakable.
       break_idx_i++;
@@ -75,7 +76,6 @@ Word_wrap::do_solve() const
            }
          else
            {
            }
          else
            {
-
              current.solve_line();
              current.print();
            }
              current.solve_line();
              current.print();
            }
@@ -83,7 +83,13 @@ Word_wrap::do_solve() const
          delete current.spacer_l_;
          current.spacer_l_ =0;
 
          delete current.spacer_l_;
          current.spacer_l_ =0;
 
-         // update minimum, or backup.
+         if (!current.satisfies_constraints_b_ && start_break_idx == break_idx_i - 1)
+           {
+             warning ( _ ("I don't fit.  Put me on Montignac"));
+             minimum = current;
+             break;
+           }
+
          if (current.energy_f_ < minimum.energy_f_ || current.energy_f_ < 0)
            {
              minimum = current;
          if (current.energy_f_ < minimum.energy_f_ || current.energy_f_ < 0)
            {
              minimum = current;
index ec0a09f422634b2edb5a374a254f5dce8b2e3355..76713abe78c9a2614c085edf1db5557bd42fe523 100644 (file)
@@ -36,4 +36,4 @@ lilypond.spec: lilypond.spec.in ../VERSION
        cat $< | $(SED_VERSION) | $(SED_DATE) > $@
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
        cat $< | $(SED_VERSION) | $(SED_DATE) > $@
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
\ No newline at end of file
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
\ No newline at end of file
index cbd578ad79fbe3067de6a57879b17c4f0e183a5a..0d96b7effb77a372ce3c9e4744b63c6a27769b5b 100644 (file)
@@ -220,7 +220,7 @@ lilypond.spec: lilypond.spec.in ../VERSION
        cat $< | $(SED_VERSION) | $(SED_DATE) > $@
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
        cat $< | $(SED_VERSION) | $(SED_DATE) > $@
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index 4718bdc78efbb9ccf0d923824e5a5cbd81693fa1..df611c045a0902a2a39c22e045d8fbcb73bf6533 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Titel: LilyPond
 Versie: 
 Begin3
 Titel: LilyPond
 Versie: 
-Inschrijf datum: 27MAR98
+Inschrijf datum: 31MAR98
 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: 
 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: 
index 0b8664a06bf7320fbadf53f4158f98fb00d78ac7..6b44b2b0dd581860e73d7a0314817e7e2b7de648 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Title: LilyPond
 Version: 
 Begin3
 Title: LilyPond
 Version: 
-Entered-date: 27MAR98
+Entered-date: 31MAR98
 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 
 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 
index 1d9ea56f927fc07b0b4ed68d11033f8d6a3940d7..da643e9d464577c7e8f25b41f48936e8cbc6883e 100644 (file)
@@ -32,7 +32,7 @@ make -C Documentation gifs
 make prefix="$RPM_BUILD_ROOT/usr" install
 %files
 %doc Documentation/AUTHORS.txt Documentation/CodingStyle.txt Documentation/INSTALL.txt Documentation/MANIFESTO.txt Documentation/PATCHES.txt Documentation/convert-mudela.txt Documentation/faq.txt Documentation/gnu-music.txt Documentation/index.txt Documentation/internals.txt Documentation/language.txt Documentation/lilypond.txt Documentation/links.txt Documentation/literature.txt Documentation/ly2dvi.txt Documentation/mi2mu.txt Documentation/mudela-book.txt Documentation/mutopia.txt Documentation/other-packages.txt BUGS TODO NEWS DEDICATION ANNOUNCE README
 make prefix="$RPM_BUILD_ROOT/usr" install
 %files
 %doc Documentation/AUTHORS.txt Documentation/CodingStyle.txt Documentation/INSTALL.txt Documentation/MANIFESTO.txt Documentation/PATCHES.txt Documentation/convert-mudela.txt Documentation/faq.txt Documentation/gnu-music.txt Documentation/index.txt Documentation/internals.txt Documentation/language.txt Documentation/lilypond.txt Documentation/links.txt Documentation/literature.txt Documentation/ly2dvi.txt Documentation/mi2mu.txt Documentation/mudela-book.txt Documentation/mutopia.txt Documentation/other-packages.txt BUGS TODO NEWS DEDICATION ANNOUNCE README
-%doc input/beam-bug.ly input/beams.ly input/cadenza.ly input/collisions.ly input/coriolan-alto.ly input/denneboom.ly input/dummy.tex 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/praeludium-fuga-E.ly input/rhythm.ly input/scales.ly input/scripts.ly input/sleur.ly input/slurs.ly input/spacing.ly input/stem.ly input/tril.ly input/twinkle-pop.ly input/twinkle.ly Documentation/introduction.doc Documentation/mudela-course.doc Documentation/mudela-man.doc 
+%doc input/beam-bug.ly input/beams.ly input/cadenza.ly input/collisions.ly input/coriolan-alto.ly input/denneboom.ly input/dummy.tex 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/praeludium-fuga-E.ly input/rhythm.ly input/scales.ly input/scripts.ly input/sleur.ly input/slurs.ly input/spacing.ly input/stem.ly input/test-lyrics.ly input/tril.ly input/twinkle-pop.ly input/twinkle.ly Documentation/introduction.doc Documentation/mudela-course.doc Documentation/mudela-man.doc 
 %doc Documentation/out/lelie_logo.gif
 /usr/bin/convert-mudela
 /usr/bin/mudela-book
 %doc Documentation/out/lelie_logo.gif
 /usr/bin/convert-mudela
 /usr/bin/mudela-book
index 91a0273e89867b3417fec68eebfe4c638361498f..625a9a8808a7774c05b749d6e34d2c96941330b4 100644 (file)
@@ -25,21 +25,34 @@ texout = $(depth)/tex
 LYTABLES = $(addprefix $(lyout)/, $(FET_FILES:.mf=.ly))
 TEXTABLES = $(addprefix $(texout)/, $(FET_FILES:.mf=.tex))
 
 LYTABLES = $(addprefix $(lyout)/, $(FET_FILES:.mf=.ly))
 TEXTABLES = $(addprefix $(texout)/, $(FET_FILES:.mf=.tex))
 
-default: all $(LYTABLES) $(TEXTABLES)
 
 
-localclean:
-       rm -f $(LYTABLES) $(TEXTABLES) 
+all-local: $(LYTABLES) $(TEXTABLES)
 
 
-localrealclean: 
-       rm -f $(MFDEPS)
+dist-hook: $(LYTABLES) $(TEXTABLES)
 
 
-localinstall:
+clean-local:
+       -rm -f $(LYTABLES) $(TEXTABLES)
+       -rm -f *.log
+
+distclean-local:
+       -rm -f $(MFDEPS)
+
+install-data-local:
        $(INSTALL) -d $(MFDIR)/public/lilypond
        $(INSTALL) -d $(MFDIR)/public/lilypond
+       $(INSTALL) -d $(TEXDIR)/lilypond
+       $(INSTALL) -d $(datadir)/lilypond/init
        $(INSTALL) -m 644 $(MFFILES) $(MFDIR)/public/lilypond/
        $(INSTALL) -m 644 $(MFFILES) $(MFDIR)/public/lilypond/
+       $(INSTALL) -m 644 $(TEXTABLES) $(TEXDIR)/lilypond
+       $(INSTALL) -m 644 $(LYTABLES) $(datadir)/lilypond/init/
 
 
-localuninstall:
-       for i in $(MFFILES) ; do rm -f $(MFDIR)/lilypond/$$i; done
-       -rmdir $(MFDIR)/public/lilypond/
+uninstall-local:
+       for i in $(MFFILES) ; do rm -f $(MFDIR)/public/lilypond/$$i; done
+       for i in $(TEXTABLES) ; do rm -f $(TEXDIR)/lilypond/$$i; done
+       for i in $LYTABLES) ; do rm -f $(datadir)/lilypond/init/$$i; done
+       -rmdir $(MFDIR)/public/lilypond
+       -rmdir $(TEXDIR)/lilypond
+       -rmdir $(datadir)/lilypond/init
+       -rmdir $(datadir)/lilypond
 
 include $(srcdir)/Rules.make
 
 
 include $(srcdir)/Rules.make
 
@@ -47,6 +60,5 @@ include $(srcdir)/Rules.make
 #
 include $(MFDEPS)
 #
 #
 include $(MFDEPS)
 #
-
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
\ No newline at end of file
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
\ No newline at end of file
index b12f046b9c4ca8ccba1e67499d38d514368fb410..245d7f7eb63eedec12c9cb278d1774acd0b0b005 100644 (file)
@@ -22,21 +22,34 @@ texout = $(depth)/tex
 LYTABLES = $(addprefix $(lyout)/, $(FET_FILES:.mf=.ly))
 TEXTABLES = $(addprefix $(texout)/, $(FET_FILES:.mf=.tex))
 
 LYTABLES = $(addprefix $(lyout)/, $(FET_FILES:.mf=.ly))
 TEXTABLES = $(addprefix $(texout)/, $(FET_FILES:.mf=.tex))
 
-default: all $(LYTABLES) $(TEXTABLES)
 
 
-localclean:
-       rm -f $(LYTABLES) $(TEXTABLES) 
+all-local: $(LYTABLES) $(TEXTABLES)
 
 
-localrealclean: 
-       rm -f $(MFDEPS)
+dist-hook: $(LYTABLES) $(TEXTABLES)
 
 
-localinstall:
+clean-local:
+       -rm -f $(LYTABLES) $(TEXTABLES)
+       -rm -f *.log
+
+distclean-local:
+       -rm -f $(MFDEPS)
+
+install-data-local:
        $(INSTALL) -d $(MFDIR)/public/lilypond
        $(INSTALL) -d $(MFDIR)/public/lilypond
+       $(INSTALL) -d $(TEXDIR)/lilypond
+       $(INSTALL) -d $(datadir)/lilypond/init
        $(INSTALL) -m 644 $(MFFILES) $(MFDIR)/public/lilypond/
        $(INSTALL) -m 644 $(MFFILES) $(MFDIR)/public/lilypond/
-
-localuninstall:
-       for i in $(MFFILES) ; do rm -f $(MFDIR)/lilypond/$$i; done
-       -rmdir $(MFDIR)/public/lilypond/
+       $(INSTALL) -m 644 $(TEXTABLES) $(TEXDIR)/lilypond
+       $(INSTALL) -m 644 $(LYTABLES) $(datadir)/lilypond/init/
+
+uninstall-local:
+       for i in $(MFFILES) ; do rm -f $(MFDIR)/public/lilypond/$$i; done
+       for i in $(TEXTABLES) ; do rm -f $(TEXDIR)/lilypond/$$i; done
+       for i in $LYTABLES) ; do rm -f $(datadir)/lilypond/init/$$i; done
+       -rmdir $(MFDIR)/public/lilypond
+       -rmdir $(TEXDIR)/lilypond
+       -rmdir $(datadir)/lilypond/init
+       -rmdir $(datadir)/lilypond
 
 include $(srcdir)/Rules.make
 
 
 include $(srcdir)/Rules.make
 
@@ -44,4 +57,3 @@ include $(srcdir)/Rules.make
 #
 include $(MFDEPS)
 #
 #
 include $(MFDEPS)
 #
-
index c107b24b5dd6f01fbe68d40a0b0f1b550a1de948..d7563987589af5b0aaf5f5bb8add5f2bb7524629 100644 (file)
@@ -155,6 +155,7 @@ distdir: $(DISTFILES)
          || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
          || cp -p $$d/$$file $(distdir)/$$file; \
        done
          || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
          || cp -p $$d/$$file $(distdir)/$$file; \
        done
+       $(MAKE) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-hook
 info:
 dvi:
 check: all
 info:
 dvi:
 check: all
@@ -163,15 +164,15 @@ installcheck:
 install-exec: 
        @$(NORMAL_INSTALL)
 
 install-exec: 
        @$(NORMAL_INSTALL)
 
-install-data: 
+install-data: install-data-local
        @$(NORMAL_INSTALL)
 
 install: install-exec install-data all
        @:
 
        @$(NORMAL_INSTALL)
 
 install: install-exec install-data all
        @:
 
-uninstall: 
+uninstall: uninstall-local
 
 
-all: Makefile
+all: Makefile all-local
 
 install-strip:
        $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
 
 install-strip:
        $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
@@ -194,9 +195,9 @@ maintainer-clean-generic:
        -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
 mostlyclean:  mostlyclean-generic
 
        -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
 mostlyclean:  mostlyclean-generic
 
-clean:  clean-generic mostlyclean
+clean:  clean-generic mostlyclean clean-local
 
 
-distclean:  distclean-generic clean
+distclean:  distclean-generic clean distclean-local
        -rm -f config.status
        -rm -f libtool
 
        -rm -f config.status
        -rm -f libtool
 
@@ -210,21 +211,33 @@ distclean-generic clean-generic maintainer-clean-generic clean \
 mostlyclean distclean maintainer-clean
 
 
 mostlyclean distclean maintainer-clean
 
 
-default: all $(LYTABLES) $(TEXTABLES)
+all-local: $(LYTABLES) $(TEXTABLES)
 
 
-localclean:
-       rm -f $(LYTABLES) $(TEXTABLES) 
+dist-hook: $(LYTABLES) $(TEXTABLES)
 
 
-localrealclean: 
-       rm -f $(MFDEPS)
+clean-local:
+       -rm -f $(LYTABLES) $(TEXTABLES)
+       -rm -f *.log
 
 
-localinstall:
+distclean-local:
+       -rm -f $(MFDEPS)
+
+install-data-local:
        $(INSTALL) -d $(MFDIR)/public/lilypond
        $(INSTALL) -d $(MFDIR)/public/lilypond
+       $(INSTALL) -d $(TEXDIR)/lilypond
+       $(INSTALL) -d $(datadir)/lilypond/init
        $(INSTALL) -m 644 $(MFFILES) $(MFDIR)/public/lilypond/
        $(INSTALL) -m 644 $(MFFILES) $(MFDIR)/public/lilypond/
-
-localuninstall:
-       for i in $(MFFILES) ; do rm -f $(MFDIR)/lilypond/$$i; done
-       -rmdir $(MFDIR)/public/lilypond/
+       $(INSTALL) -m 644 $(TEXTABLES) $(TEXDIR)/lilypond
+       $(INSTALL) -m 644 $(LYTABLES) $(datadir)/lilypond/init/
+
+uninstall-local:
+       for i in $(MFFILES) ; do rm -f $(MFDIR)/public/lilypond/$$i; done
+       for i in $(TEXTABLES) ; do rm -f $(TEXDIR)/lilypond/$$i; done
+       for i in $LYTABLES) ; do rm -f $(datadir)/lilypond/init/$$i; done
+       -rmdir $(MFDIR)/public/lilypond
+       -rmdir $(TEXDIR)/lilypond
+       -rmdir $(datadir)/lilypond/init
+       -rmdir $(datadir)/lilypond
 
 include $(srcdir)/Rules.make
 
 
 include $(srcdir)/Rules.make
 
@@ -232,9 +245,8 @@ include $(srcdir)/Rules.make
 #
 include $(MFDEPS)
 #
 #
 include $(MFDEPS)
 #
-
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index 2b98699c08ffc0a2dca69ef16a596c39cf2a03e5..bffa487cb29240ad215c4242720ca9c9ae5d7af3 100644 (file)
@@ -13,7 +13,7 @@ SUBDIRS = include
 
 bin_PROGRAMS = mi2mu
 
 
 bin_PROGRAMS = mi2mu
 
-mi2mu_SOURCES = main.cc mi2mu-version.cc midi-parser.cc midi-score-parser.cc midi-track-parser.cc mudela-column.cc mudela-item.cc mudela-score.cc mudela-staff.cc mudela-stream.cc mudela-voice.cc template.cc version.cc
+mi2mu_SOURCES = main.cc mi2mu-version.cc midi-parser.cc midi-score-parser.cc midi-track-parser.cc mudela-column.cc mudela-item.cc mudela-score.cc mudela-staff.cc mudela-stream.cc mudela-voice.cc template9.cc version.cc
 
 # ugh -lfl bo lib/FlexLexer stuff
 #mi2mu_LDADD = -llily -lflower -lfl
 
 # ugh -lfl bo lib/FlexLexer stuff
 #mi2mu_LDADD = -llily -lflower -lfl
@@ -31,5 +31,8 @@ all-am: Makefile $(PROGRAMS) wild-check
 
 # dummy target for non-GNU makes; is overridden in GNUmakefile
 wild-check:
 
 # dummy target for non-GNU makes; is overridden in GNUmakefile
 wild-check:
+
+distclean-local:
+       -rm -rf .deps
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
\ No newline at end of file
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
\ No newline at end of file
index 46079471217638afc04c67c4aefabccf59165488..cced5f03007171bf7260bde03c39d46574a8587c 100644 (file)
@@ -28,3 +28,6 @@ all-am: Makefile $(PROGRAMS) wild-check
 
 # dummy target for non-GNU makes; is overridden in GNUmakefile
 wild-check:
 
 # dummy target for non-GNU makes; is overridden in GNUmakefile
 wild-check:
+
+distclean-local:
+       -rm -rf .deps
index 4401cee22fffade7f256069e610d9ad119dd03fd..61945fc469db90529d8d701129d900f223d68274 100644 (file)
@@ -109,7 +109,7 @@ SUBDIRS = include
 
 bin_PROGRAMS = mi2mu
 
 
 bin_PROGRAMS = mi2mu
 
-mi2mu_SOURCES = main.cc mi2mu-version.cc midi-parser.cc midi-score-parser.cc midi-track-parser.cc mudela-column.cc mudela-item.cc mudela-score.cc mudela-staff.cc mudela-stream.cc mudela-voice.cc template.cc version.cc
+mi2mu_SOURCES = main.cc mi2mu-version.cc midi-parser.cc midi-score-parser.cc midi-track-parser.cc mudela-column.cc mudela-item.cc mudela-score.cc mudela-staff.cc mudela-stream.cc mudela-voice.cc template9.cc version.cc
 
 # ugh -lfl bo lib/FlexLexer stuff
 #mi2mu_LDADD = -llily -lflower -lfl
 
 # ugh -lfl bo lib/FlexLexer stuff
 #mi2mu_LDADD = -llily -lflower -lfl
@@ -131,8 +131,8 @@ LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 mi2mu_OBJECTS =  main.o mi2mu-version.o midi-parser.o \
 midi-score-parser.o midi-track-parser.o mudela-column.o mudela-item.o \
 LIBS = @LIBS@
 mi2mu_OBJECTS =  main.o mi2mu-version.o midi-parser.o \
 midi-score-parser.o midi-track-parser.o mudela-column.o mudela-item.o \
-mudela-score.o mudela-staff.o mudela-stream.o mudela-voice.o template.o \
-version.o
+mudela-score.o mudela-staff.o mudela-stream.o mudela-voice.o \
+template9.o version.o
 mi2mu_DEPENDENCIES =  $(top_builddir)/lib/liblily.la \
 $(top_builddir)/flower/libflower.la
 mi2mu_LDFLAGS = 
 mi2mu_DEPENDENCIES =  $(top_builddir)/lib/liblily.la \
 $(top_builddir)/flower/libflower.la
 mi2mu_LDFLAGS = 
@@ -429,7 +429,8 @@ mudela-score.o: mudela-score.cc ../lib/include/moment.hh \
        ../flower/include/iterate.hh ../flower/include/plist.icc \
        include/mudela-item.hh include/mudela-score.hh \
        ../flower/include/parray.hh include/mudela-staff.hh \
        ../flower/include/iterate.hh ../flower/include/plist.icc \
        include/mudela-item.hh include/mudela-score.hh \
        ../flower/include/parray.hh include/mudela-staff.hh \
-       include/mudela-stream.hh
+       include/mudela-stream.hh ../flower/include/list.tcc \
+       ../flower/include/cursor.tcc
 mudela-staff.o: mudela-staff.cc ../lib/include/moment.hh \
        ../flower/include/rational.hh ../flower/include/compare.hh \
        ../flower/include/arithmetic-operator.hh \
 mudela-staff.o: mudela-staff.cc ../lib/include/moment.hh \
        ../flower/include/rational.hh ../flower/include/compare.hh \
        ../flower/include/arithmetic-operator.hh \
@@ -493,6 +494,25 @@ template.o: template.cc ../lib/include/proto.hh \
        ../lib/include/plet.hh include/mudela-column.hh \
        include/mudela-staff.hh include/mudela-voice.hh \
        ../flower/include/plist.tcc
        ../lib/include/plet.hh include/mudela-column.hh \
        include/mudela-staff.hh include/mudela-voice.hh \
        ../flower/include/plist.tcc
+template9.o: template9.cc ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/compare.hh \
+       ../flower/include/pcursor.hh ../flower/include/plist.hh \
+       ../flower/include/plist.icc ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/list.tcc \
+       ../flower/include/cursor.tcc include/mudela-item.hh \
+       include/mi2mu-proto.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../lib/include/duration.hh \
+       ../lib/include/plet.hh include/mudela-column.hh \
+       include/mudela-staff.hh include/mudela-voice.hh \
+       include/mudela-score.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh ../flower/include/pcursor.tcc \
+       ../flower/include/plist.tcc
 version.o: version.cc ../lib/include/proto.hh \
        ../flower/include/fproto.hh ../flower/include/real.hh \
        ../flower/include/string.hh \
 version.o: version.cc ../lib/include/proto.hh \
        ../flower/include/fproto.hh ../flower/include/real.hh \
        ../flower/include/string.hh \
@@ -563,7 +583,7 @@ mostlyclean:  mostlyclean-recursive mostlyclean-am
 
 clean:  clean-recursive clean-am
 
 
 clean:  clean-recursive clean-am
 
-distclean:  distclean-recursive distclean-am
+distclean:  distclean-recursive distclean-am distclean-local
        -rm -f config.status
        -rm -f libtool
 
        -rm -f config.status
        -rm -f libtool
 
@@ -593,8 +613,11 @@ all-am: Makefile $(PROGRAMS) wild-check
 
 # dummy target for non-GNU makes; is overridden in GNUmakefile
 wild-check:
 
 # dummy target for non-GNU makes; is overridden in GNUmakefile
 wild-check:
+
+distclean-local:
+       -rm -rf .deps
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index 63032f9bbfd476bb8838f47c387a8f7705ca99ea..ca22f222b5b52bada04c63e5f34febd05c454cec 100644 (file)
@@ -8,4 +8,4 @@ noinst_HEADERS = mi2mu-global.hh mi2mu-proto.hh midi-parser.hh midi-score-parser
 EXTRA_DIST = Makefile.am.wild
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 EXTRA_DIST = Makefile.am.wild
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
\ No newline at end of file
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
\ No newline at end of file
index 10a1bfd1370c32c9bfa51ca2a871d493938b8d88..cb195580938c844a326afcf6389844fbd041ffa5 100644 (file)
@@ -218,7 +218,7 @@ mostlyclean distclean maintainer-clean
 
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index bf025d7ca0795a5b236db8b0c574aa34041141b4..3f8573c96fa07068cc22335a5aa986860842c9c0 100644 (file)
 #include "mudela-staff.hh"
 #include "mudela-stream.hh"
 
 #include "mudela-staff.hh"
 #include "mudela-stream.hh"
 
+// ugh, cygnus' b19 gcc
+#include "list.tcc"
+#include "cursor.tcc"
+
 //static Mudela_key key_c (0, 0);
 static Mudela_meter meter_4 (4, 2, 24, 8);
 // useconds per 4: 250000 === 60 4 per minute
 //static Mudela_key key_c (0, 0);
 static Mudela_meter meter_4 (4, 2, 24, 8);
 // useconds per 4: 250000 === 60 4 per minute
@@ -258,3 +262,4 @@ Mudela_score::settle_columns()
       start_i = end_i = 0;
     }
 }
       start_i = end_i = 0;
     }
 }
+
diff --git a/mi2mu/template.cc b/mi2mu/template.cc
deleted file mode 100644 (file)
index 856ff12..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-//
-// template.cc -- implementemplate
-//
-// copyright 1997 Jan Nieuwenhuizen <jan@digicash.com>
-
-#include "proto.hh"
-#include "list.hh"
-#include "list.tcc"
-#include "cursor.tcc"
-
-class istream;
-class ostream;
-
-#include "mudela-item.hh"
-#include "mudela-column.hh"
-#include "mudela-staff.hh"
-#include "mudela-voice.hh"
-#include "plist.hh"
-#include "plist.tcc"
-
-POINTERLIST_INSTANTIATE(Mudela_item);
-POINTERLIST_INSTANTIATE(Mudela_staff);
-POINTERLIST_INSTANTIATE(Mudela_voice);
-POINTERLIST_INSTANTIATE(Mudela_voice);
-POINTERLIST_INSTANTIATE(Mudela_column);
-
index bf2a5e5cd6ddbf8f698d583b0b6ab7a0dfdf3ebd..f61b26330855ca2ead1fe6f032f3e6e4e8268319 100644 (file)
@@ -13,4 +13,4 @@ OUTFILES = $(M4FILES:%.m4=%)
 default: all $(OUTFILES)
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 default: all $(OUTFILES)
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
\ No newline at end of file
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
\ No newline at end of file
index 8e8f9f535c600817509a3a225e8f1ec60c0ee675..79863de42fa920f2717b7bde2ad963ccd48f7933 100644 (file)
@@ -197,7 +197,7 @@ mostlyclean distclean maintainer-clean
 default: all $(OUTFILES)
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 default: all $(OUTFILES)
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index 0b9e7fcabcbedd9d736477601da48c2d90741431..a2bd3542b2c8efa15d9869488b7087817fed1929 100644 (file)
-\header{
-filename =      "wohltemperirt.ly";
-title =         "Fuga a 3";
-description =   "Das Wohltemperierte Clavier I, Fuga II (c-minor)";
-opus =  "BWV 847-Fuga";
-source =        "Henle's Urtext";
-composer =      "Johann Sebastian Bach (1685-1750)";
-enteredby =     "HWN and Werner Lemberg";
-copyright =     "Public Domain";
+\header {
+  filename =    "wtk1-fugue2.ly";
+  title =       "Fuga a 3";
+  description = "Das Wohltemperierte Clavier I, Fuga II (c-minor)";
+  opus =        "BWV 847-Fuga";
+  source =      "Henle's Urtext";
+  composer =    "Johann Sebastian Bach (1685-1750)";
+  enteredby =   "HWN, WL";
+  copyright =   "Public Domain";
 }
 }
+
 %{
  Tested Features: stem direction, multivoice, forced accidentals.
 %}
 
 \version "0.1.9";
 
 %{
  Tested Features: stem direction, multivoice, forced accidentals.
 %}
 
 \version "0.1.9";
 
-keyCminor = \melodic \key bes es as;
-                                    % should add \need{dutch.ini} for
-                                    % correct parsing of note names
+\include "dutch.ly"                 % for correct parsing of note names
 
 global = \melodic {
 
 global = \melodic {
-         \meter 4/4;                % should be \meter C
-         \keyCminor 
-        \skip 1*31;
-        \bar "|."; |
+  \meter 4/4;
+  \key bes es as;
+  \skip 1*31;
+  \bar "|."; |
 }
   
 dux = \melodic {
 }
   
 dux = \melodic {
-        \clef "violin";
-        \octave c';
+  \clef violin;
+  \octave c';
 
 
-        \stemdown
-        r8 [c'16 b] [c'8 g] [as c'16 b] [c'8 d'] |
-        [g c'16 b] [c'8 d'] [f16 g] as4 [g16 f] |
-        [es c' b a] [g f! es d] [c8 es' d' c'] |
-        [bes a bes c'] [fis g a fis] |
+  \stemdown
+  r8 [c'16 b] [c'8 g] [as c'16 b] [c'8 d'] |
+  [g c'16 b] [c'8 d'] [f16 g] as4 [g16 f] |
+  [es c' b a] [g f! es d] [c8 es' d' c'] |
+  [bes a bes c'] [fis g a fis] |
 %% 5
 %% 5
-        g4 r16 [c d es] [f g as8~] [as16 d es f] |
-        [g a bes8~] [bes16 es f g] [as g f es] [d8 c'16 b!] |
+  g4 r16 [c d es] [f g as8~] [as16 d es f] |
+  [g a bes8] ~ [bes16 es f g] [as g f es] [d8 c'16 b!] |
                                                     % forced accident!
                                                     % forced accident!
-        c'4 r4 r8 [f' es' d'] |
-        r8 [as g f] [g f16 es] [f8 d] | 
-        g4 r8 b [c' c'16 b] [c'8 g] |
+  c'4 r4 r8 [f' es' d'] |
+  r8 [as g f] [g f16 es] [f8 d] | 
+  g4 r8 b [c' c'16 b] [c'8 g] |
 %% 10   
 %% 10   
-        as4 r8 a [bes bes16 a] [bes8 f] |
-        g4 r8 g [as as g f] |
-       \translator Staff=bass \stemup
-        \octave c; r8 [as bes c'] r8 [as16 g] [as8 f8] |
-        [bes8 c' bes as] [bes g f es] |
-        [f des' c' bes] [c' as g f] |
+  as4 r8 a [bes bes16 a] [bes8 f] |
+  g4 r8 g [as as g f] |
+  \translator Staff = bass \stemup \octave c;
+   r8 [as bes c'] r8 [as16 g] [as8 f8] |
+  [bes8 c' bes as] [bes g f es] |
+  [f des' c' bes] [c' as g f] |
 %% 15
 %% 15
-       \translator Staff=treble \stemdown
-        g8 \octave c'; [g16 fis] [g8 c] [es g16 fis!] [g8 a] |
-        [d g16 fis] [g8 a!] [c16 d] es4 [d16 c] |
-                                                    % forced accident!
-        'bes8 r8 r16 [d e fis] [g a bes8~] [bes16 e f g] |
-        [a bes c'8~] [c'16 fis16 g a] [bes8 es!16 d] [es8 'g] |
-        ['as f16 es] [f8 'a8] ['bes g16 f] [g8 'b] |
+  g8
+   \translator Staff = treble \stemdown \octave c';
+   [g16 fis] [g8 c] [es g16 fis!] [g8 a] |
+  [d g16 fis] [g8 a!] [c16 d] es4 [d16 c] |         % forced accident!
+  'bes8 r8 r16 [d e fis] [g a bes8] ~ [bes16 e f g] |
+  [a bes c'8] ~ [c'16 fis16 g a] [bes8 es!16 d] [es8 'g] |
+  ['as f16 es] [f8 'a8] ['bes g16 f] [g8 'b] |
 %% 20
 %% 20
-        [c16 f es d] [c Bes! As G] [F8 as g f] |
-        [es d es f] [B c d B] |
-        c4 r8 e8 [f f16 e] [f8 c] |
-        d4 r8 d8 [es8 es16 d] [es8 Bes] |
-        c2 ~  [c8 d16 es][ f es f d] |
+  [c16 f es d] [c Bes! As G] [F8 as g f] |
+  [es d es f] [B c d B] |
+  c4 r8 e8 [f f16 e] [f8 c] |
+  d4 r8 d8 [es8 es16 d] [es8 Bes] |
+  c2 ~ [c8 d16 es] [f es f d] |
 %% 25
 %% 25
-        B8 r8 r B c r r es |
-        d r r f~ f r r f |
-        [es as g f] [es d es f] |
-        [B c d B] [B c] r c |
-        [f16 d es c]~ [c8 B] c4 r8 e |
+  B8 r8 r B c r r es |
+  d r r f ~ f r r f |
+  [es as g f] [es d es f] |
+  [B c d B] [B c] r c |
+  [f16 d es c] ~ [c8 B] c4 r8 e |
 %% 30
 %% 30
-        f4 r8 f [f es16 d] [es8 <f as]> |
-        <B d> r <B d> r <G2 c> |
+  f4 r8 f [f es16 d] [es8 <f as]> |
+  <B d> r <B d> r <G2 c> |
 }
 
 
 comes = \melodic {
 }
 
 
 comes = \melodic {
-        \octave c'';
-        \stemup
-        r1 |
-        r1 |
-        r8 [g16 fis] [g8 c] [es g16 fis] [g8 a] |
-        [d8 g16 fis] [g8 a] [c16 d] es4 [d16 c] |
+  \octave c'';
+  \stemup
+
+  r1 |
+  r1 |
+  r8 [g16 fis] [g8 c] [es g16 fis] [g8 a] |
+  [d8 g16 fis] [g8 a] [c16 d] es4 [d16 c] |
 %% 5
 %% 5
-        ['bes8 es16 d] [es8 'g8] ['as f16 es] [f8 'a] 
-        ['bes8 g16 f] [g8 'b] [c8 d16 es] f4~ |
-        [f8 es16 d] [c16 'bes! 'as 'g] ['f8 as g f] 
-        [es d es f] ['b c d 'b] |
-        [c g16 fis] [g8 d] es4 r8 e8 |
+  ['bes8 es16 d] [es8 'g8] ['as f16 es] [f8 'a] 
+  ['bes8 g16 f] [g8 'b] [c8 d16 es] f4 ~ |
+  [f8 es16 d] [c16 'bes! 'as 'g] ['f8 as g f] 
+  [es d es f] ['b c d 'b] |
+  [c g16 fis] [g8 d] es4 r8 e8 |
 %% 10 
 %% 10 
-        [f f16 e] [f8 c8] d4 r8 d |
-        [es8 es16 d] [es8 'bes] [c es16 d] [es8 f] |
-        ['bes es16 d] [es8 f] ['as16 'bes] c4 ['bes16 'as] |
-        [G16 Es F G] [As Bes c d] [es d c d] [es f g a] |
-        [bes F G As] [Bes c d e] [f es d es] [ f g a b] |
+  [f f16 e] [f8 c8] d4 r8 d |
+  [es8 es16 d] [es8 'bes] [c es16 d] [es8 f] |
+  \stemboth ['bes es16 d] [es8 f] ['as16 'bes] c4 ['bes16 'as] |
+  [G16 Es F G] [As Bes c d] [es d c d] [es f g a] |
+  [bes F G As] [Bes c d e] [f es d es] [ f g a b] |
 %% 15
 %% 15
-        [c'8 b16 a] [g f! es d] [c8 es d c] |
-        [Bes A Bes c] [Fis! G A Fis] |
-                                                    % forced accident
-        [G8 d16 c] d8 r8 r8 [e16 d] e8 r8 |
-        r [fis16 e] fis8 r r [G16 F] G8 r8 |
-        r8 [A16 G] A8 r r [B16 A] B8 r |
+  \stemup [c'8 b16 a] [g f! es d] [c8 es d c] |
+  [Bes A Bes c] [Fis! G A Fis] |                    % forced accident
+  [G8 d16 c] d8 r8 r8 [e16 d] e8 r8 |
+  r [fis16 e] fis8 r r [G16 F] G8 r8 |
+  r8 [A16 G] A8 r r [B16 A] B8 r |
 %% 20
 %% 20
-        r8 [c16 'b] [c8 'g] [As c16 'b] [c8 d] |
-        [G c16 B] [c8 d] [F16 G] As4 [G16 F] |
-        [Es8 c16 B] [c8 G] As4 r8 A |
-        [Bes8 Bes16 A] [Bes8 F8] 'g4 r8 G~ |
-        [G As16 Bes] [c B c As] F2~ |
+  r8 [c16 'b] [c8 'g] [As c16 'b] [c8 d] |
+  [G c16 B] [c8 d] [F16 G] As4 [G16 F] |
+  [Es8 c16 B] [c8 G] As4 r8 A |
+  [Bes8 Bes16 A] [Bes8 F8] 'g4 r8 G ~ |
+  [G As16 Bes] [c B c As] F2 ~ |
 %% 25
 %% 25
-        [F8 d16 c] [d8 F] [Es es16 d] [es8 G] |
-        [F f16 es] [f8 As] [G16 f es d] [c B A G] |
-        [c8 f es d] r [As G F] |
-        [G F16 Es] [F8 D] [As G] r A |
-        [B c] [F16 Es D C] C8 [c16 B] [c8 G] |
+  [F8 d16 c] [d8 F] [Es es16 d] [es8 G] |
+  [F f16 es] [f8 As] [G16 f es d] [c B A G] |
+  [c8 f es d] r [As G F] |
+  [G F16 Es] [F8 D] [As G] r A |
+  [B c] [F16 Es D C] C8 [c16 B] [c8 G] |
 %% 30
 %% 30
-        [As c16 B] [c8 <d 'b! 'as!]> [G8 c16 B] [c8 d] |
-        [F16 G] As4 [G16 F] E2 |
+  [As c16 B] [c8 <d 'b! 'as!]> [G8 c16 B] [c8 d] |
+  [F16 G] As4 [G16 F] E2 |
 }
 
 }
 
+
 bassdux = \melodic {
 bassdux = \melodic {
-        \clef "bass";
-        \octave c';
-        r1 |
-        r |
-        r |
-        r |
+  \clef bass;
+  \octave c';
+
+  r1 |
+  r |
+  r |
+  r |
 %% 5
 %% 5
-        r |
-        r1 |
-        r8 [c16 B] [c8 G] [As c16 B] [c8 d] |
-        [G c16 B] [c8 d] [F16 G] As4 [G16 F] | 
-        \octave c; [es c' b a] [g f es d] [c d es d] [c Bes! As! G] |
+  r |
+  r1 |
+  r8 [c16 B] [c8 G] [As c16 B] [c8 d] |
+  [G c16 B] [c8 d] [F16 G] As4 [G16 F] | 
+  \octave c; [es c' b a] [g f es d] [c d es d] [c Bes! As! G] |
                                                     % -> \classic_accidentals
 %% 10
                                                     % -> \classic_accidentals
 %% 10
-        [F bes as g] [f es d c] [Bes c d c] [Bes As G F] |
-        [Es as g f] [es des c Bes] [As8 c' bes as] |
-        [g8 f g as] [d es f d] |
-        [es as g f] [g es d c] |
-        [d bes as g] [as f es d!] |
+  [F bes as g] [f es d c] [Bes c d c] [Bes As G F] |
+  [Es as g f] [es des c Bes] [As8 c' bes as] |
+  [g8 f g as] [d es f d] |
+  [es as g f] [g es d c] |
+  [d bes as g] [as f es d!] |
 %% 15
 %% 15
-        es8 r8 r4 r8 [c Bes A] |
-        r [es d c] [d c16 Bes] [c8 d] |
-        [G8 bes16 a] [bes8 d] [es c'16 bes] [c'8 e] |
-        [f d'16 c'] [d'8 fis] g4 r16 [G A B] |
-        [c16 d es8~] [es16 A Bes c] [d es f8~] [f16 'b c d] |
+  es8 r8 r4 r8 [c Bes A] |
+  r [es d c] [d c16 Bes] [c8 d] |
+  [G8 bes16 a] [bes8 d] [es c'16 bes] [c'8 e] |
+  [f d'16 c'] [d'8 fis] g4 r16 [G A B] |
+  [c16 d es8~] [es16 A Bes c] [d es f8~] [f16 'b c d] |
 %% 20    
 %% 20    
-        es8 r r e [f F Es! D] |                     % -> \classic_accidentals
-        r [As G F] [G F16 Es] [F8 G] |
-        [c16 d  es d] [c Bes As G] [F bes as g] [f es d c] |
-        [Bes c d c] [Bes As G F] [Es as g f] [es d c Bes] |
-        [As Bes c Bes] [As G F Es] [D g f es] [d c B A] |
+  es8 r r e [f F Es! D] |                           % -> \classic_accidentals
+  r [As G F] [G F16 Es] [F8 G] |
+  [c16 d  es d] [c Bes As G] [F bes as g] [f es d c] |
+  [Bes c d c] [Bes As G F] [Es as g f] [es d c Bes] |
+  [As Bes c Bes] [As G F Es] [D g f es] [d c B A] |
 %% 25
 %% 25
-        G4 r4 r16 [G A B] [c d es f] |
-        [g f as g] [f es d c] [B8 c16 B] [c8 G] |
-        [As c16 B] [c8 d] [G c16 B] [c8 d] |
-        [F16 G] As4 [G16 F] Es4 r8 es |
-        [d c g G]
+  G4 r4 r16 [G A B] [c d es f] |
+  [g f as g] [f es d c] [B8 c16 B] [c8 G] |
+  [As c16 B] [c8 d] [G c16 B] [c8 d] |
+  [F16 G] As4 [G16 F] Es4 r8 es |
+  [d c g G]
 %% 30
 %% 30
-        \multi 2 <
-               { \stemup c2~ | c1~ | c1 }
-               { \stemdown C2~ | C1~ | C1 }
-        >
-    }
+  \multi 2 <
+    { \stemup c2 ~ | c1 ~ | c1 }
+    { \stemdown C2 ~ | C1 ~ | C1 }
+  >
+}
 
         
 \score {
 
         
 \score {
-       \type Grandstaff < 
-       \type Staff=treble  < 
-                       \global 
-                       \dux
-                       \comes 
-                 >
-       \type Staff=bass  <
-                       \global
-                       \bassdux
-                 >
+  \melodic {
+    \type Grandstaff < 
+      \type Staff = treble < 
+        \global 
+        \dux
+        \comes 
+      >
+      \type Staff = bass <
+        \global
+        \bassdux
+      >
     >
     >
+  }
+
+  \paper {
+    gourlay_maxmeasures = 5.;
+  }
 
 
-    \paper{
-       gourlay_maxmeasures =5.;
-       
-    }
-    \midi {
-        \tempo 4 = 84;
-    }
+  \midi {
+    \tempo 4 = 84;
+  }
 }
 
 % EOF
 }
 
 % EOF
index 836601b477412a29515a5cde828c9a21b23c1544..25d76365b60db6ce21ba44f218957455386c5fb8 100644 (file)
@@ -14,4 +14,4 @@ OUTFILES = $(M4FILES:%.m4=%)
 
 default: all $(OUTFILES)
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 
 default: all $(OUTFILES)
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
\ No newline at end of file
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
\ No newline at end of file
index dc925d97cdf819a5ecbd9c89015d47666e4b88b2..aaf6dca564f3b1aa7d13be5a97037296c3521442 100644 (file)
@@ -285,7 +285,7 @@ maintainer-clean-generic clean mostlyclean distclean maintainer-clean
 
 default: all $(OUTFILES)
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
 
 default: all $(OUTFILES)
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index c8167ad27bd22c9237639f7106e80118019fc5a8..927786c873abfd83ea2433dfc2fe7930252fb8f4 100644 (file)
@@ -3,17 +3,17 @@
 # Generated automatically by wild-perl 0.1
 # tex/Makefile.am.wild
 
 # Generated automatically by wild-perl 0.1
 # tex/Makefile.am.wild
 
-TEXFILES = dyndefs.tex eglerdefs.tex fetdefs.tex lily-mf-defs.tex lily-ps-defs.tex lilyponddefs.tex ltest.tex taupindefs.tex titledefs.tex
+TEXFILES = dyndefs.tex eglerdefs.tex feta11.tex feta13.tex feta16.tex feta19.tex feta20.tex feta23.tex feta26.tex fetdefs.tex lily-mf-defs.tex lily-ps-defs.tex lilyponddefs.tex ltest.tex taupindefs.tex titledefs.tex
 EXTRA_DIST = Makefile.am.wild $(TEXFILES)
 
 EXTRA_DIST = Makefile.am.wild $(TEXFILES)
 
-CLEANFILES = 
+CLEANFILES = feta11.tex feta13.tex feta16.tex feta19.tex feta20.tex feta23.tex feta26.tex
 
 
-install-data:
+install-data-local:
        $(INSTALL) -d $(TEXDIR)/lilypond
        $(INSTALL) -m 644 $(TEXFILES) $(TEXDIR)/lilypond/
 
        $(INSTALL) -d $(TEXDIR)/lilypond
        $(INSTALL) -m 644 $(TEXFILES) $(TEXDIR)/lilypond/
 
-uninstall-data:
+uninstall-local:
        for i in $(TEXFILES) ; do rm -f $(TEXDIR)/lilypond/$$i; done
        -rmdir $(TEXDIR)/lilypond/
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
        for i in $(TEXFILES) ; do rm -f $(TEXDIR)/lilypond/$$i; done
        -rmdir $(TEXDIR)/lilypond/
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
\ No newline at end of file
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
\ No newline at end of file
index 1bd3e8c8a15477a5a37fa968eb53fae067346c49..f9e538d1403f6c69193154b2167cef745f336cc4 100644 (file)
@@ -5,10 +5,10 @@ EXTRA_DIST = Makefile.am.wild $(TEXFILES)
 
 CLEANFILES = $(wildcard feta*.tex)
 
 
 CLEANFILES = $(wildcard feta*.tex)
 
-install-data:
+install-data-local:
        $(INSTALL) -d $(TEXDIR)/lilypond
        $(INSTALL) -m 644 $(TEXFILES) $(TEXDIR)/lilypond/
 
        $(INSTALL) -d $(TEXDIR)/lilypond
        $(INSTALL) -m 644 $(TEXFILES) $(TEXDIR)/lilypond/
 
-uninstall-data:
+uninstall-local:
        for i in $(TEXFILES) ; do rm -f $(TEXDIR)/lilypond/$$i; done
        -rmdir $(TEXDIR)/lilypond/
        for i in $(TEXFILES) ; do rm -f $(TEXDIR)/lilypond/$$i; done
        -rmdir $(TEXDIR)/lilypond/
index 09c27e43824d6683846fb56d2d32fcc430569d17..96a0f969338cb4e3f8d49d9b50fa79bb8a1e5528 100644 (file)
@@ -99,10 +99,10 @@ YACC = @YACC@
 ZIP = @ZIP@
 absolute_builddir = @absolute_builddir@
 
 ZIP = @ZIP@
 absolute_builddir = @absolute_builddir@
 
-TEXFILES = dyndefs.tex eglerdefs.tex fetdefs.tex lily-mf-defs.tex lily-ps-defs.tex lilyponddefs.tex ltest.tex taupindefs.tex titledefs.tex
+TEXFILES = dyndefs.tex eglerdefs.tex feta11.tex feta13.tex feta16.tex feta19.tex feta20.tex feta23.tex feta26.tex fetdefs.tex lily-mf-defs.tex lily-ps-defs.tex lilyponddefs.tex ltest.tex taupindefs.tex titledefs.tex
 EXTRA_DIST = Makefile.am.wild $(TEXFILES)
 
 EXTRA_DIST = Makefile.am.wild $(TEXFILES)
 
-CLEANFILES = 
+CLEANFILES = feta11.tex feta13.tex feta16.tex feta19.tex feta20.tex feta23.tex feta26.tex
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = ../lib/config.hh
 CONFIG_CLEAN_FILES = 
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = ../lib/config.hh
 CONFIG_CLEAN_FILES = 
@@ -145,13 +145,13 @@ installcheck:
 install-exec: 
        @$(NORMAL_INSTALL)
 
 install-exec: 
        @$(NORMAL_INSTALL)
 
-install-data: 
+install-data: install-data-local
        @$(NORMAL_INSTALL)
 
 install: install-exec install-data all
        @:
 
        @$(NORMAL_INSTALL)
 
 install: install-exec install-data all
        @:
 
-uninstall: 
+uninstall: uninstall-local
 
 all: Makefile
 
 
 all: Makefile
 
@@ -192,15 +192,15 @@ distclean-generic clean-generic maintainer-clean-generic clean \
 mostlyclean distclean maintainer-clean
 
 
 mostlyclean distclean maintainer-clean
 
 
-install-data:
+install-data-local:
        $(INSTALL) -d $(TEXDIR)/lilypond
        $(INSTALL) -m 644 $(TEXFILES) $(TEXDIR)/lilypond/
 
        $(INSTALL) -d $(TEXDIR)/lilypond
        $(INSTALL) -m 644 $(TEXFILES) $(TEXDIR)/lilypond/
 
-uninstall-data:
+uninstall-local:
        for i in $(TEXFILES) ; do rm -f $(TEXDIR)/lilypond/$$i; done
        -rmdir $(TEXDIR)/lilypond/
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
        for i in $(TEXFILES) ; do rm -f $(TEXDIR)/lilypond/$$i; done
        -rmdir $(TEXDIR)/lilypond/
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.am.wild
-       $(PERL) $(top_srcdir)/bin/wild-perl < $< > $@
+       $(PERL) $(top_srcdir)/bin/wild-perl --top-srcdir="$(real_topdir)" < $< > $@
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/tex/feta11.tex b/tex/feta11.tex
new file mode 100644 (file)
index 0000000..51cd339
--- /dev/null
@@ -0,0 +1,87 @@
+% Creator: mf-to-table.py version 0.5
+% Automatically generated on
+% Do not edit
+% input from feta11.log
+% name
+% rests
+\fetdef\wholerest{0}
+\fetdef\halfrest{1}
+\fetdef\outsidewholerest{2}
+\fetdef\outsidehalfrest{3}
+\fetdef\quartrest{4}
+\fetdef\eighthrest{5}
+\fetdef\sixteenthrest{6}
+\fetdef\thirtysecondrest{7}
+\fetdef\sixtyfourthrest{8}
+\fetdef\hundredtwentyeighthrest{9}
+
+% accidentals
+\fetdef\sharp{10}
+\fetdef\natural{11}
+\fetdef\flat{12}
+\fetdef\flatflat{13}
+\fetdef\sharpsharp{14}
+
+% dots
+\fetdef\dot{15}
+\fetdef\repeatcolon{16}
+
+% balls
+\fetdef\brevisball{17}
+\fetdef\brevisledger{18}
+\fetdef\longaball{19}
+\fetdef\longaledger{20}
+\fetdef\wholeball{21}
+\fetdef\wholeledger{22}
+\fetdef\halfball{23}
+\fetdef\halfledger{24}
+\fetdef\quartball{25}
+\fetdef\quartledger{26}
+
+% scripts
+\fetdef\ufermata{27}
+\fetdef\dfermata{28}
+\fetdef\sforzatoaccent{29}
+\fetdef\staccato{30}
+\fetdef\ustaccatissimo{31}
+\fetdef\dstaccatissimo{32}
+\fetdef\tenuto{33}
+\fetdef\umarcato{34}
+\fetdef\dmarcato{35}
+\fetdef\ouvert{36}
+\fetdef\plusstop{37}
+\fetdef\upbow{38}
+\fetdef\downbow{39}
+\fetdef\turn{40}
+\fetdef\trill{41}
+\fetdef\upedalheel{42}
+\fetdef\dpedalheel{43}
+\fetdef\upedaltoe{44}
+\fetdef\dpedaltoe{45}
+\fetdef\flageolet{46}
+\fetdef\trilelement{47}
+\fetdef\prall{48}
+\fetdef\mordent{49}
+\fetdef\prallprall{50}
+\fetdef\prallmordent{51}
+\fetdef\upprall{52}
+\fetdef\downprall{53}
+
+% flags
+\fetdef\eighthflag{54}
+\fetdef\sixteenthflag{55}
+\fetdef\thirtysecondflag{56}
+\fetdef\sixtyfourthflag{57}
+\fetdef\deighthflag{58}
+\fetdef\dsixteenthflag{59}
+\fetdef\dthirtysecondflag{60}
+\fetdef\dsixtyfourthflag{61}
+
+% clefs
+\fetdef\altoclef{62}
+\fetdef\caltoclef{63}
+\fetdef\bassclef{64}
+\fetdef\cbassclef{65}
+\fetdef\violinclef{66}
+\fetdef\cviolinclef{67}
+
diff --git a/tex/feta13.tex b/tex/feta13.tex
new file mode 100644 (file)
index 0000000..be72ab4
--- /dev/null
@@ -0,0 +1,87 @@
+% Creator: mf-to-table.py version 0.5
+% Automatically generated on
+% Do not edit
+% input from feta13.log
+% name
+% rests
+\fetdef\wholerest{0}
+\fetdef\halfrest{1}
+\fetdef\outsidewholerest{2}
+\fetdef\outsidehalfrest{3}
+\fetdef\quartrest{4}
+\fetdef\eighthrest{5}
+\fetdef\sixteenthrest{6}
+\fetdef\thirtysecondrest{7}
+\fetdef\sixtyfourthrest{8}
+\fetdef\hundredtwentyeighthrest{9}
+
+% accidentals
+\fetdef\sharp{10}
+\fetdef\natural{11}
+\fetdef\flat{12}
+\fetdef\flatflat{13}
+\fetdef\sharpsharp{14}
+
+% dots
+\fetdef\dot{15}
+\fetdef\repeatcolon{16}
+
+% balls
+\fetdef\brevisball{17}
+\fetdef\brevisledger{18}
+\fetdef\longaball{19}
+\fetdef\longaledger{20}
+\fetdef\wholeball{21}
+\fetdef\wholeledger{22}
+\fetdef\halfball{23}
+\fetdef\halfledger{24}
+\fetdef\quartball{25}
+\fetdef\quartledger{26}
+
+% scripts
+\fetdef\ufermata{27}
+\fetdef\dfermata{28}
+\fetdef\sforzatoaccent{29}
+\fetdef\staccato{30}
+\fetdef\ustaccatissimo{31}
+\fetdef\dstaccatissimo{32}
+\fetdef\tenuto{33}
+\fetdef\umarcato{34}
+\fetdef\dmarcato{35}
+\fetdef\ouvert{36}
+\fetdef\plusstop{37}
+\fetdef\upbow{38}
+\fetdef\downbow{39}
+\fetdef\turn{40}
+\fetdef\trill{41}
+\fetdef\upedalheel{42}
+\fetdef\dpedalheel{43}
+\fetdef\upedaltoe{44}
+\fetdef\dpedaltoe{45}
+\fetdef\flageolet{46}
+\fetdef\trilelement{47}
+\fetdef\prall{48}
+\fetdef\mordent{49}
+\fetdef\prallprall{50}
+\fetdef\prallmordent{51}
+\fetdef\upprall{52}
+\fetdef\downprall{53}
+
+% flags
+\fetdef\eighthflag{54}
+\fetdef\sixteenthflag{55}
+\fetdef\thirtysecondflag{56}
+\fetdef\sixtyfourthflag{57}
+\fetdef\deighthflag{58}
+\fetdef\dsixteenthflag{59}
+\fetdef\dthirtysecondflag{60}
+\fetdef\dsixtyfourthflag{61}
+
+% clefs
+\fetdef\altoclef{62}
+\fetdef\caltoclef{63}
+\fetdef\bassclef{64}
+\fetdef\cbassclef{65}
+\fetdef\violinclef{66}
+\fetdef\cviolinclef{67}
+
diff --git a/tex/feta16.tex b/tex/feta16.tex
new file mode 100644 (file)
index 0000000..bf27fbc
--- /dev/null
@@ -0,0 +1,87 @@
+% Creator: mf-to-table.py version 0.5
+% Automatically generated on
+% Do not edit
+% input from feta16.log
+% name
+% rests
+\fetdef\wholerest{0}
+\fetdef\halfrest{1}
+\fetdef\outsidewholerest{2}
+\fetdef\outsidehalfrest{3}
+\fetdef\quartrest{4}
+\fetdef\eighthrest{5}
+\fetdef\sixteenthrest{6}
+\fetdef\thirtysecondrest{7}
+\fetdef\sixtyfourthrest{8}
+\fetdef\hundredtwentyeighthrest{9}
+
+% accidentals
+\fetdef\sharp{10}
+\fetdef\natural{11}
+\fetdef\flat{12}
+\fetdef\flatflat{13}
+\fetdef\sharpsharp{14}
+
+% dots
+\fetdef\dot{15}
+\fetdef\repeatcolon{16}
+
+% balls
+\fetdef\brevisball{17}
+\fetdef\brevisledger{18}
+\fetdef\longaball{19}
+\fetdef\longaledger{20}
+\fetdef\wholeball{21}
+\fetdef\wholeledger{22}
+\fetdef\halfball{23}
+\fetdef\halfledger{24}
+\fetdef\quartball{25}
+\fetdef\quartledger{26}
+
+% scripts
+\fetdef\ufermata{27}
+\fetdef\dfermata{28}
+\fetdef\sforzatoaccent{29}
+\fetdef\staccato{30}
+\fetdef\ustaccatissimo{31}
+\fetdef\dstaccatissimo{32}
+\fetdef\tenuto{33}
+\fetdef\umarcato{34}
+\fetdef\dmarcato{35}
+\fetdef\ouvert{36}
+\fetdef\plusstop{37}
+\fetdef\upbow{38}
+\fetdef\downbow{39}
+\fetdef\turn{40}
+\fetdef\trill{41}
+\fetdef\upedalheel{42}
+\fetdef\dpedalheel{43}
+\fetdef\upedaltoe{44}
+\fetdef\dpedaltoe{45}
+\fetdef\flageolet{46}
+\fetdef\trilelement{47}
+\fetdef\prall{48}
+\fetdef\mordent{49}
+\fetdef\prallprall{50}
+\fetdef\prallmordent{51}
+\fetdef\upprall{52}
+\fetdef\downprall{53}
+
+% flags
+\fetdef\eighthflag{54}
+\fetdef\sixteenthflag{55}
+\fetdef\thirtysecondflag{56}
+\fetdef\sixtyfourthflag{57}
+\fetdef\deighthflag{58}
+\fetdef\dsixteenthflag{59}
+\fetdef\dthirtysecondflag{60}
+\fetdef\dsixtyfourthflag{61}
+
+% clefs
+\fetdef\altoclef{62}
+\fetdef\caltoclef{63}
+\fetdef\bassclef{64}
+\fetdef\cbassclef{65}
+\fetdef\violinclef{66}
+\fetdef\cviolinclef{67}
+
diff --git a/tex/feta19.tex b/tex/feta19.tex
new file mode 100644 (file)
index 0000000..29ccfc6
--- /dev/null
@@ -0,0 +1,87 @@
+% Creator: mf-to-table.py version 0.5
+% Automatically generated on
+% Do not edit
+% input from feta19.log
+% name
+% rests
+\fetdef\wholerest{0}
+\fetdef\halfrest{1}
+\fetdef\outsidewholerest{2}
+\fetdef\outsidehalfrest{3}
+\fetdef\quartrest{4}
+\fetdef\eighthrest{5}
+\fetdef\sixteenthrest{6}
+\fetdef\thirtysecondrest{7}
+\fetdef\sixtyfourthrest{8}
+\fetdef\hundredtwentyeighthrest{9}
+
+% accidentals
+\fetdef\sharp{10}
+\fetdef\natural{11}
+\fetdef\flat{12}
+\fetdef\flatflat{13}
+\fetdef\sharpsharp{14}
+
+% dots
+\fetdef\dot{15}
+\fetdef\repeatcolon{16}
+
+% balls
+\fetdef\brevisball{17}
+\fetdef\brevisledger{18}
+\fetdef\longaball{19}
+\fetdef\longaledger{20}
+\fetdef\wholeball{21}
+\fetdef\wholeledger{22}
+\fetdef\halfball{23}
+\fetdef\halfledger{24}
+\fetdef\quartball{25}
+\fetdef\quartledger{26}
+
+% scripts
+\fetdef\ufermata{27}
+\fetdef\dfermata{28}
+\fetdef\sforzatoaccent{29}
+\fetdef\staccato{30}
+\fetdef\ustaccatissimo{31}
+\fetdef\dstaccatissimo{32}
+\fetdef\tenuto{33}
+\fetdef\umarcato{34}
+\fetdef\dmarcato{35}
+\fetdef\ouvert{36}
+\fetdef\plusstop{37}
+\fetdef\upbow{38}
+\fetdef\downbow{39}
+\fetdef\turn{40}
+\fetdef\trill{41}
+\fetdef\upedalheel{42}
+\fetdef\dpedalheel{43}
+\fetdef\upedaltoe{44}
+\fetdef\dpedaltoe{45}
+\fetdef\flageolet{46}
+\fetdef\trilelement{47}
+\fetdef\prall{48}
+\fetdef\mordent{49}
+\fetdef\prallprall{50}
+\fetdef\prallmordent{51}
+\fetdef\upprall{52}
+\fetdef\downprall{53}
+
+% flags
+\fetdef\eighthflag{54}
+\fetdef\sixteenthflag{55}
+\fetdef\thirtysecondflag{56}
+\fetdef\sixtyfourthflag{57}
+\fetdef\deighthflag{58}
+\fetdef\dsixteenthflag{59}
+\fetdef\dthirtysecondflag{60}
+\fetdef\dsixtyfourthflag{61}
+
+% clefs
+\fetdef\altoclef{62}
+\fetdef\caltoclef{63}
+\fetdef\bassclef{64}
+\fetdef\cbassclef{65}
+\fetdef\violinclef{66}
+\fetdef\cviolinclef{67}
+
diff --git a/tex/feta20.tex b/tex/feta20.tex
new file mode 100644 (file)
index 0000000..03aa808
--- /dev/null
@@ -0,0 +1,87 @@
+% Creator: mf-to-table.py version 0.5
+% Automatically generated on
+% Do not edit
+% input from feta20.log
+% name
+% rests
+\fetdef\wholerest{0}
+\fetdef\halfrest{1}
+\fetdef\outsidewholerest{2}
+\fetdef\outsidehalfrest{3}
+\fetdef\quartrest{4}
+\fetdef\eighthrest{5}
+\fetdef\sixteenthrest{6}
+\fetdef\thirtysecondrest{7}
+\fetdef\sixtyfourthrest{8}
+\fetdef\hundredtwentyeighthrest{9}
+
+% accidentals
+\fetdef\sharp{10}
+\fetdef\natural{11}
+\fetdef\flat{12}
+\fetdef\flatflat{13}
+\fetdef\sharpsharp{14}
+
+% dots
+\fetdef\dot{15}
+\fetdef\repeatcolon{16}
+
+% balls
+\fetdef\brevisball{17}
+\fetdef\brevisledger{18}
+\fetdef\longaball{19}
+\fetdef\longaledger{20}
+\fetdef\wholeball{21}
+\fetdef\wholeledger{22}
+\fetdef\halfball{23}
+\fetdef\halfledger{24}
+\fetdef\quartball{25}
+\fetdef\quartledger{26}
+
+% scripts
+\fetdef\ufermata{27}
+\fetdef\dfermata{28}
+\fetdef\sforzatoaccent{29}
+\fetdef\staccato{30}
+\fetdef\ustaccatissimo{31}
+\fetdef\dstaccatissimo{32}
+\fetdef\tenuto{33}
+\fetdef\umarcato{34}
+\fetdef\dmarcato{35}
+\fetdef\ouvert{36}
+\fetdef\plusstop{37}
+\fetdef\upbow{38}
+\fetdef\downbow{39}
+\fetdef\turn{40}
+\fetdef\trill{41}
+\fetdef\upedalheel{42}
+\fetdef\dpedalheel{43}
+\fetdef\upedaltoe{44}
+\fetdef\dpedaltoe{45}
+\fetdef\flageolet{46}
+\fetdef\trilelement{47}
+\fetdef\prall{48}
+\fetdef\mordent{49}
+\fetdef\prallprall{50}
+\fetdef\prallmordent{51}
+\fetdef\upprall{52}
+\fetdef\downprall{53}
+
+% flags
+\fetdef\eighthflag{54}
+\fetdef\sixteenthflag{55}
+\fetdef\thirtysecondflag{56}
+\fetdef\sixtyfourthflag{57}
+\fetdef\deighthflag{58}
+\fetdef\dsixteenthflag{59}
+\fetdef\dthirtysecondflag{60}
+\fetdef\dsixtyfourthflag{61}
+
+% clefs
+\fetdef\altoclef{62}
+\fetdef\caltoclef{63}
+\fetdef\bassclef{64}
+\fetdef\cbassclef{65}
+\fetdef\violinclef{66}
+\fetdef\cviolinclef{67}
+
diff --git a/tex/feta23.tex b/tex/feta23.tex
new file mode 100644 (file)
index 0000000..f4619e0
--- /dev/null
@@ -0,0 +1,87 @@
+% Creator: mf-to-table.py version 0.5
+% Automatically generated on
+% Do not edit
+% input from feta23.log
+% name
+% rests
+\fetdef\wholerest{0}
+\fetdef\halfrest{1}
+\fetdef\outsidewholerest{2}
+\fetdef\outsidehalfrest{3}
+\fetdef\quartrest{4}
+\fetdef\eighthrest{5}
+\fetdef\sixteenthrest{6}
+\fetdef\thirtysecondrest{7}
+\fetdef\sixtyfourthrest{8}
+\fetdef\hundredtwentyeighthrest{9}
+
+% accidentals
+\fetdef\sharp{10}
+\fetdef\natural{11}
+\fetdef\flat{12}
+\fetdef\flatflat{13}
+\fetdef\sharpsharp{14}
+
+% dots
+\fetdef\dot{15}
+\fetdef\repeatcolon{16}
+
+% balls
+\fetdef\brevisball{17}
+\fetdef\brevisledger{18}
+\fetdef\longaball{19}
+\fetdef\longaledger{20}
+\fetdef\wholeball{21}
+\fetdef\wholeledger{22}
+\fetdef\halfball{23}
+\fetdef\halfledger{24}
+\fetdef\quartball{25}
+\fetdef\quartledger{26}
+
+% scripts
+\fetdef\ufermata{27}
+\fetdef\dfermata{28}
+\fetdef\sforzatoaccent{29}
+\fetdef\staccato{30}
+\fetdef\ustaccatissimo{31}
+\fetdef\dstaccatissimo{32}
+\fetdef\tenuto{33}
+\fetdef\umarcato{34}
+\fetdef\dmarcato{35}
+\fetdef\ouvert{36}
+\fetdef\plusstop{37}
+\fetdef\upbow{38}
+\fetdef\downbow{39}
+\fetdef\turn{40}
+\fetdef\trill{41}
+\fetdef\upedalheel{42}
+\fetdef\dpedalheel{43}
+\fetdef\upedaltoe{44}
+\fetdef\dpedaltoe{45}
+\fetdef\flageolet{46}
+\fetdef\trilelement{47}
+\fetdef\prall{48}
+\fetdef\mordent{49}
+\fetdef\prallprall{50}
+\fetdef\prallmordent{51}
+\fetdef\upprall{52}
+\fetdef\downprall{53}
+
+% flags
+\fetdef\eighthflag{54}
+\fetdef\sixteenthflag{55}
+\fetdef\thirtysecondflag{56}
+\fetdef\sixtyfourthflag{57}
+\fetdef\deighthflag{58}
+\fetdef\dsixteenthflag{59}
+\fetdef\dthirtysecondflag{60}
+\fetdef\dsixtyfourthflag{61}
+
+% clefs
+\fetdef\altoclef{62}
+\fetdef\caltoclef{63}
+\fetdef\bassclef{64}
+\fetdef\cbassclef{65}
+\fetdef\violinclef{66}
+\fetdef\cviolinclef{67}
+
diff --git a/tex/feta26.tex b/tex/feta26.tex
new file mode 100644 (file)
index 0000000..76079b0
--- /dev/null
@@ -0,0 +1,87 @@
+% Creator: mf-to-table.py version 0.5
+% Automatically generated on
+% Do not edit
+% input from feta26.log
+% name
+% rests
+\fetdef\wholerest{0}
+\fetdef\halfrest{1}
+\fetdef\outsidewholerest{2}
+\fetdef\outsidehalfrest{3}
+\fetdef\quartrest{4}
+\fetdef\eighthrest{5}
+\fetdef\sixteenthrest{6}
+\fetdef\thirtysecondrest{7}
+\fetdef\sixtyfourthrest{8}
+\fetdef\hundredtwentyeighthrest{9}
+
+% accidentals
+\fetdef\sharp{10}
+\fetdef\natural{11}
+\fetdef\flat{12}
+\fetdef\flatflat{13}
+\fetdef\sharpsharp{14}
+
+% dots
+\fetdef\dot{15}
+\fetdef\repeatcolon{16}
+
+% balls
+\fetdef\brevisball{17}
+\fetdef\brevisledger{18}
+\fetdef\longaball{19}
+\fetdef\longaledger{20}
+\fetdef\wholeball{21}
+\fetdef\wholeledger{22}
+\fetdef\halfball{23}
+\fetdef\halfledger{24}
+\fetdef\quartball{25}
+\fetdef\quartledger{26}
+
+% scripts
+\fetdef\ufermata{27}
+\fetdef\dfermata{28}
+\fetdef\sforzatoaccent{29}
+\fetdef\staccato{30}
+\fetdef\ustaccatissimo{31}
+\fetdef\dstaccatissimo{32}
+\fetdef\tenuto{33}
+\fetdef\umarcato{34}
+\fetdef\dmarcato{35}
+\fetdef\ouvert{36}
+\fetdef\plusstop{37}
+\fetdef\upbow{38}
+\fetdef\downbow{39}
+\fetdef\turn{40}
+\fetdef\trill{41}
+\fetdef\upedalheel{42}
+\fetdef\dpedalheel{43}
+\fetdef\upedaltoe{44}
+\fetdef\dpedaltoe{45}
+\fetdef\flageolet{46}
+\fetdef\trilelement{47}
+\fetdef\prall{48}
+\fetdef\mordent{49}
+\fetdef\prallprall{50}
+\fetdef\prallmordent{51}
+\fetdef\upprall{52}
+\fetdef\downprall{53}
+
+% flags
+\fetdef\eighthflag{54}
+\fetdef\sixteenthflag{55}
+\fetdef\thirtysecondflag{56}
+\fetdef\sixtyfourthflag{57}
+\fetdef\deighthflag{58}
+\fetdef\dsixteenthflag{59}
+\fetdef\dthirtysecondflag{60}
+\fetdef\dsixtyfourthflag{61}
+
+% clefs
+\fetdef\altoclef{62}
+\fetdef\caltoclef{63}
+\fetdef\bassclef{64}
+\fetdef\cbassclef{65}
+\fetdef\violinclef{66}
+\fetdef\cviolinclef{67}
+