]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 1.1.44 release/1.1.44
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 25 May 1999 09:08:06 +0000 (11:08 +0200)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 25 May 1999 09:08:06 +0000 (11:08 +0200)
248 files changed:
Documentation/GNUmakefile
Documentation/TODO [deleted file]
Documentation/gnu-music-history [deleted file]
Documentation/gnu-music.yo
Documentation/tex/refman.yo
Documentation/tex/tutorial.yo
Documentation/topdocs/INSTALL.yo
INSTALL.txt
NEWS
TASKS [new file with mode: 0644]
TODO
VERSION
aclocal.m4
configure
input/bugs/Overture.ly
input/bugs/bar-space.ly
input/bugs/rep.ly [new file with mode: 0644]
input/example-3.ly
input/just-friends.ly
input/keys.ly
input/kortjakje.ly
input/part.ly
input/pedal.ly
input/praeludium-fuga-E.ly
input/rhythm.ly
input/scales.ly
input/scripts.ly
input/star-spangled-banner.ly
input/test/abbrev.ly
input/test/alphabet.ly
input/test/auto-staff-switch.ly
input/test/bar-scripts.ly
input/test/beam-chord.ly
input/test/beam-interstaff.ly
input/test/beam-isknee.ly
input/test/beam-pos.ly
input/test/beams.ly
input/test/broken.ly
input/test/chord-inversion.ly
input/test/chord-table.ly
input/test/chords.ly
input/test/clefs.ly
input/test/collisions.ly
input/test/defaultbars.ly
input/test/denneboom.ly
input/test/dotted-slur.ly
input/test/extender.ly
input/test/extra-staff.ly
input/test/find-quarts.ly
input/test/font-body.ly
input/test/font.ly
input/test/font16.ly
input/test/font20.ly
input/test/gourlay.ly
input/test/grace.ly
input/test/hara-kiri.ly
input/test/incipit.ly
input/test/keys.ly
input/test/knee.ly
input/test/mark.ly
input/test/memory.ly
input/test/multi-rest.ly
input/test/noteheadstyle.ly
input/test/notemode-chords.ly
input/test/orchestscore.ly
input/test/ossia.ly
input/test/rep.ly [deleted file]
input/test/rest-collision.ly
input/test/score-bar-scripts.ly
input/test/sleur.ly
input/test/slur-bug.ly
input/test/slur-damping.ly
input/test/slur-interstaff.ly
input/test/slur-swap.ly
input/test/slurs.ly
input/test/spacing-2.ly
input/test/spacing.ly
input/test/span-bars.ly
input/test/staff-margin.ly
input/test/staff-side-slur.ly
input/test/staff-size.ly
input/test/stem.ly
input/test/tchaikovsky.ly
input/test/test-lyrics.ly
input/test/thumb.ly
input/test/tie-bug.ly
input/test/tie.ly
input/test/title.ly
input/test/transposition.ly
input/test/tup.ly
input/test/updown.fly
input/test/vertical-align.ly
input/test/vertical-text.ly
input/test/wtk-huh.ly
input/tril.ly
input/twinkle-pop.ly
input/twinkle.ly
lily/collision.cc
lily/include/col-info.hh
lily/include/lily-proto.hh
lily/include/line-of-score.hh
lily/include/p-col.hh
lily/include/paper-outputter.hh
lily/include/rod.hh
lily/include/spacing-engraver.hh [new file with mode: 0644]
lily/include/spacing-spanner.hh
lily/include/spanner.hh
lily/include/spring-spacer.hh
lily/include/spring.hh [new file with mode: 0644]
lily/include/tie.hh
lily/line-of-score.cc
lily/local-key-engraver.cc
lily/p-col.cc
lily/p-score.cc
lily/paper-outputter.cc
lily/parser.yy
lily/rod.cc
lily/slur-engraver.cc
lily/spacing-engraver.cc
lily/spacing-spanner.cc [new file with mode: 0644]
lily/spanner.cc
lily/spring-spacer.cc
lily/spring.cc [new file with mode: 0644]
lily/stem-engraver.cc
lily/tie-engraver.cc
lily/tie.cc
ly/book-fragment.ly
ly/book-init.ly
ly/center-fragment.ly
ly/center.ly
ly/engraver.ly
ly/fragment.ly
ly/init.fly
ly/init.ly
ly/init.sly
ly/paper16.ly
ly/paper20.ly
ly/property.ly
make/out/lelievijver.lsm
make/out/lilypond.lsm
make/out/lilypond.spec
make/toplevel.make.in
mutopia/Coriolan/bassi-part.ly
mutopia/Coriolan/clarinetti-part.ly
mutopia/Coriolan/clarinetti.ly
mutopia/Coriolan/clarinetto-1.ly
mutopia/Coriolan/clarinetto-2.ly
mutopia/Coriolan/contrabasso-part.ly
mutopia/Coriolan/contrabasso.ly
mutopia/Coriolan/coriolan.ly
mutopia/Coriolan/corni-part.ly
mutopia/Coriolan/corni.ly
mutopia/Coriolan/corno-1.ly
mutopia/Coriolan/corno-2.ly
mutopia/Coriolan/fagotti-part.ly
mutopia/Coriolan/fagotti.ly
mutopia/Coriolan/fagotto-1.ly
mutopia/Coriolan/fagotto-2.ly
mutopia/Coriolan/flauti-part.ly
mutopia/Coriolan/flauti.ly
mutopia/Coriolan/flauto-1.ly
mutopia/Coriolan/flauto-2.ly
mutopia/Coriolan/global.ly
mutopia/Coriolan/oboe-1.ly
mutopia/Coriolan/oboe-2.ly
mutopia/Coriolan/oboi-part.ly
mutopia/Coriolan/oboi.ly
mutopia/Coriolan/timpani.ly
mutopia/Coriolan/trombe-part.ly
mutopia/Coriolan/trombe.ly
mutopia/Coriolan/trombo-1.ly
mutopia/Coriolan/trombo-2.ly
mutopia/Coriolan/viola-1.ly
mutopia/Coriolan/viola-2.ly
mutopia/Coriolan/viola-part.ly
mutopia/Coriolan/violino-1-part.ly
mutopia/Coriolan/violino-1.ly
mutopia/Coriolan/violino-2-part.ly
mutopia/Coriolan/violino-2.ly
mutopia/Coriolan/violoncello-part.ly
mutopia/Coriolan/violoncello.ly
mutopia/D.Scarlatti/progress.ly
mutopia/D.Scarlatti/sonata-k1-l366.ly
mutopia/D.Scarlatti/sonata-k2-l388.ly
mutopia/D.Scarlatti/sonata-k3-l378.ly
mutopia/D.Scarlatti/sonata-k4-l390.ly
mutopia/D.Zipoli/verso_2.ly
mutopia/E.Satie/gnossienne-4.ly
mutopia/E.Satie/petite-ouverture-a-danser.ly
mutopia/F.Schubert/standchen-16.ly
mutopia/F.Schubert/standchen-20.ly
mutopia/F.Schubert/standchen.ly
mutopia/GNUmakefile
mutopia/Hymns/diademata.ly
mutopia/Hymns/laudatedom.ly
mutopia/Hymns/maccabaeus.ly
mutopia/Hymns/ode.ly
mutopia/Hymns/stille.ly
mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Allemande.ly
mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Capriccio.ly
mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly
mutopia/J.S.Bach/Solo-Cello-Suites/GNUmakefile
mutopia/J.S.Bach/Solo-Cello-Suites/allemande-urtext.ly
mutopia/J.S.Bach/Solo-Cello-Suites/courante-urtext.ly
mutopia/J.S.Bach/Solo-Cello-Suites/gigue-urtext.ly
mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-urtext.ly
mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly
mutopia/J.S.Bach/Solo-Cello-Suites/prelude-urtext.ly
mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly
mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-urtext.ly
mutopia/J.S.Bach/viola-i.ly
mutopia/J.S.Bach/violino-i.ly
mutopia/J.S.Bach/violino-viola.ly
mutopia/J.S.Bach/violino-violoncello.ly
mutopia/J.S.Bach/violoncello-i.ly
mutopia/J.S.Bach/wtk1-fugue1.ly
mutopia/J.S.Bach/wtk1-fugue2.ly
mutopia/J.S.Bach/wtk1-prelude1.ly
mutopia/L.Mozart/sinfonia.ly
mutopia/N.W.Gade/brass.ly
mutopia/N.W.Gade/parts.ly
mutopia/N.W.Gade/score.ly
mutopia/N.W.Gade/strings.ly
mutopia/N.W.Gade/wood.ly
mutopia/W.A.Mozart/cadenza.ly
mutopia/W.A.Mozart/horn-concerto-3.ly
mutopia/los-toros-oboe.ly
scm/lily.scm
scripts/abc-2-ly.py [new file with mode: 0644]
scripts/convert-mudela.py
scripts/mudela-book.py
scripts/mup-to-ly.py
stepmake/NEWS
stepmake/VERSION
stepmake/aclocal.m4
stepmake/configure
stepmake/make/out/stepmake.lsm
stepmake/make/out/stepmake.spec
stepmake/stepmake/script-rules.make
stepmake/stepmake/script-targets.make
stepmake/stepmake/script-vars.make
stepmake/stepmake/toplevel-targets.make
tex/lilyponddefs.tex

index 01dfbe9578475c505ea0a7a618ad671167cce78c..b6e67c58bc23c0133217330c04a9d17e19170fb9 100644 (file)
@@ -8,7 +8,7 @@ STEPMAKE_TEMPLATES=documentation
 README_TOP_FILES=NEWS DEDICATION TODO ANNOUNCE-0.1 AIMS
 INFO_FILES = $(wildcard $(outdir)/$(package).info*)
 
-EXTRA_DIST_FILES = gnu-music-history TODO 
+
 
 BLURBS=BLURB COPERTINA FLAPTEKST
 
diff --git a/Documentation/TODO b/Documentation/TODO
deleted file mode 100644 (file)
index 7145924..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-# Documentation/TODO
-
-       * overview and index of features
-
-       * get rid of pod manpage layout legacy
-
diff --git a/Documentation/gnu-music-history b/Documentation/gnu-music-history
deleted file mode 100644 (file)
index 4ed2814..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-
-=head1 HISTORY 
-
-
-Please note that this all happened when I wasn't around yet.  If you
-think that I am a biased, unfair, predisposed hypocrite, then don't
-bother flaming me;  I already know that.
-
-The GNU Music project is a project which aims to create free software
-for music printing and composing.  It was started in november '92 by a
-core team of four members (Bryan Ford <baford@cs.utah.edu>, David Linn
-<drl@vuse.vanderbilt.edu>, Francois Pinard <pinard@iro.umontreal.ca>,
-Neil Jerram <nj104@cus.cam.ac.uk>) and in January '93 Robert Strandh
-<Robert.Strandh@labri.u-bordeaux.fr> joined.
-
-After serious disputes with Robert Strandh and the FSF staff in '94,
-the project core team got divided. The development efforts of GMP
-stopped.
-
-Independently, I (HWN) started LilyPond. When I showed it to
-RMS, he was very enthousiastic about having LilyPond in the GNU
-project. I subsequently learned about the GNU Music project, and
-contacted them.  
-
-What was left of the GMP (Robert Strandh) and us, LilyPond people,
-agreed that cooperation would be desirable. Although merging of both
-efforts was and is technically infeasible, we did decide that LilyPond
-should also be part of the GNU Music project.
-
-Only later did I discover the previous quarrels about the GMP-"take
-1". To show that I am aware of the history, and to make sure nobody
-gets me wrong or is angry at me because I stole a project or a
-project's name, I wrote this note.
-
-In summary, LilyPond is now the only substantial embodiment of the GNU
-Music Project, and it is part of the GNU project.
-
-For completeness' sake, I will mention the other efforts  here:
-
-=over 4
-
-=item G Sharp, http://dept-info.labri.u-bordeaux.fr/~strandh/Gsharp
-
-An alpha version notation editor for X in Scheme. Source available on
-request from Robert Strandh.
-
-=item GNU music, 
-
-An alpha version of a music editing system with Musictex
-output. Pretest versions of GNU Music (v0.3) can still be obtained from
-Francois Pinard.
-
-=back
-
-This history note is probably biased in some way, because I wrote it.
-The rest of this document is also entirely mine, and is not meant to
-reflect anyone else's opinion.
index 5e57da7854db907c39dd6b61d63d0305edea9feb..4e6e3148edc81eef93b454eb2a07484c100a21f4 100644 (file)
@@ -2,22 +2,7 @@ article(GNU Music project - manifesto)(Han-Wen Nienhuys and Jan Nieuwenhuizen)()
 
 sect(Goal)
 
-Provide musicians with free software for
 
-itemize(
-it()composing
-it()engraving
-it()playing
-it()sequencing
-it()interchanging music
-it()arranging
-it()performing
-it()Metacomposing
-)
-
-These systems should encourage laymen to take up composing, in the
-same way that GNU tools have created a whole new generation of
-programmers.
 
 The public deserves free tools for composing and printing.
 
index eba1f1d98f11cfafbb13b1c142c6df2da7476743..121f41f66d3140021b72268bf2b6fa34542f42e2 100644 (file)
@@ -976,6 +976,9 @@ END OF COMMENT  )
 
 sect(Repeats)
 
+
+OUTDATED. FIXME
+
 In order to specify repeats, use the code(\repeat) keyword.  By
 default, repeats are printed with repeat symbols.  
 mudela(fragment,verbatim,center)(
@@ -1553,9 +1556,6 @@ than the music given in an code(\alternative).
 dit(code(barNonAuto)) If set to 1 then bar lines will not be printed
 automatically; they must be explicitly created with code(\bar) keywords.
 
-dit(code(unfoldRepeats)) If set to 1 then repeats will be unfolded.
-Otherwise, they will be printed using repeat symbols.  
 dit(code(defaultClef)) Determines the default clef.  See code(\clef)
 keyword.
 
index d8f9f5e28d37f77cc584117a34bf765e851f2691..883447e72e6e330b7e9845c9f9baa6680176b062 100644 (file)
@@ -1161,12 +1161,12 @@ property of the context code(Voice).  The context code(Voice) has an
 attribute whose value is the direction to use for stems.  You can
 change it to `up' by issuing the following phrase:
 verb(
-  \property "Voice"."ydirection" = "1"
+  \property "Voice"."verticalDirection" = "1"
 )
 
 This command should be read as ``change the property called
-code(ydirection) within the current code(Voice) context to the value
-code(-1).''  For the property code(ydirection) the value code(1) means
+code(verticalDirection) within the current code(Voice) context to the value
+code(-1).''  For the property code(verticalDirection) the value code(1) means
 `up', and code(-1) means `down'. So, the
 proper way to code the polyphonic example is given in
 bind(Figure)ref(tutorial:multi-voice-fig).
@@ -1175,10 +1175,10 @@ latexcommand(\begin{figure}[h])
 mudela(fragment,verbatim,center)(
   \context "Staff" <
     \context "Voice" =  "one"  {
-      \property Voice.ydirection = "1"
+      \property Voice.verticalDirection = "1"
       r4 as'4 () as'4 g'4 }
     \context "Voice" =  "two"  {
-      \property Voice.ydirection = "-1"
+      \property Voice.verticalDirection = "-1"
       g'2 f'4 e'4 }
   >
 )
@@ -1330,8 +1330,8 @@ definition.  To remedy this, we can use an identifier to capture the
 meaning of a code(\property).
 
 mudela(verbatim)(
-stemup = \property Voice.ydirection = "1"
-stemdown = \property Voice.ydirection = "-1"
+stemup = \property Voice.verticalDirection = "1"
+stemdown = \property Voice.verticalDirection = "-1"
 shift = \property Voice.hshift = "1"
 \score {
   \context "Staff" \notes <
@@ -1350,7 +1350,6 @@ a real command like code(\clef) or code(\bar).  Real commands are
 hardcoded into the language and they have to be terminated by
 semicolons.
 
-
 sect(Sound output)
 label(tutorial:sound)
 
index d76531c97d83c9a952fa952b573c0787ef13a6ba..91a2f829721d32c58eade30c3b8df327333843d4 100644 (file)
@@ -9,6 +9,15 @@ file(buildscripts/set-lily.sh) script.  It sets some environment
 variables and symlinks, which comes in handly when you have to compile 
 LilyPond more often.  
 
+sect(OBTAINING)
+
+You can get the latest version of LilyPond at
+lurl(ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/).  Refer to the links
+document for mirror sites.
+
+em(If you upgrade by patching do remember to rerun autoconf after
+applying the patch).
+
 sect(PREREQUISITES)
 
 For compilation you need:
@@ -74,7 +83,8 @@ or any mirror of this site.
 it()Bison (version 1.25 or newer).
 Check out lurl(ftp://ftp.gnu.org)
 or any mirror of this site.
-it() GUILE 1.3 (no, GUILE 1.2 won't work),     check out lurl(http://www.gnu.org/programs/guile.html)
+it() GUILE 1.3 (no, GUILE 1.2 won't work),
+check out lurl(http://www.gnu.org/programs/guile.html).
 
 
 it()Python (version 1.5 or newer).  Check out
index a8bf785b37f406008f2ba985716a528cb62253e0..3ca4a10605dc9a79d082f033aaa824799ab028b9 100644 (file)
@@ -6,17 +6,18 @@
 Contents
 
      1: ABSTRACT
-2: PREREQUISITES
-3: RUNNING
-4: RECOMMENDED
-5: WEBSITE
-6: CONFIGURING and COMPILING
-7: CONFIGURING FOR MULTIPLE PLATFORMS
-8: INSTALLING
-9: REDHAT LINUX
-10: DEBIAN GNU/LINUX
-11: WINDOWS NT/95
-12: AUTHORS
+2: OBTAINING
+3: PREREQUISITES
+4: RUNNING
+5: RECOMMENDED
+6: WEBSITE
+7: CONFIGURING and COMPILING
+8: CONFIGURING FOR MULTIPLE PLATFORMS
+9: INSTALLING
+10: REDHAT LINUX
+11: DEBIAN GNU/LINUX
+12: WINDOWS NT/95
+13: AUTHORS
 
 1: ABSTRACT
 
@@ -27,21 +28,30 @@ might want to check out the buildscripts/set-lily.sh script.
 It sets some environment variables and symlinks, which comes
 in handly when you have to compile LilyPond more often.
 
-2: PREREQUISITES
+2: OBTAINING
+
+You  can   get   the   latest   version   of   LilyPond   at
+ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/.   Refer  to  the links
+document for mirror sites.
+
+If you upgrade by patching do  remember  to  rerun  autoconf
+after applying the patch.
+
+3: PREREQUISITES
 
 For compilation you need:
 
 o    A GNU system: GNU LilyPond is known to run on these GNU
-     systems:  Linux  (PPC,  intel), FreeBSD, AIX, NeXTStep,
+     systems: Linux (PPC, intel),  FreeBSD,  AIX,  NeXTStep,
      IRIX, Digital Unix and Solaris.
 
-o    Lots of disk space: LilyPond takes between 50  and  100
+o    Lots  of  disk space: LilyPond takes between 50 and 100
      mb to compile if you use debugging information.  If you
-     are short on disk-space run configure  with  --disable-
+     are  short  on disk-space run configure with --disable-
      debugging.
 
      Although we recommend to use Unix, LilyPond is known to
-     run on Windows NT/95/98 as well.  See Section 11.
+     run on Windows NT/95/98 as well.  See Section 12.
 
 o    EGCS 1.1 or newer.
 
@@ -52,96 +62,97 @@ o    Python  1.5  (Strictly  speaking,  you  shouldn't  need
 o    GUILE  1.3  (no,  GUILE  1.2  won't  work),  check  out
      http://www.gnu.org/software/guile/guile.html.
 
-3: RUNNING
+4: RUNNING
 
-GNU  LilyPond does use a lot of resources. For operation you
+GNU LilyPond does use a lot of resources. For operation  you
 need the following:
 
 o    TeX
 
 o    A   PostScript   printer   and/or   viewer   (such   as
-     Ghostscript)  is  strongly recommended.  Xdvi will show
-     all embedded PostScript too  if  you  have  Ghostscript
+     Ghostscript) is strongly recommended.  Xdvi  will  show
+     all  embedded  PostScript  too  if you have Ghostscript
      installed.
 
 o    GUILE  1.3  (no,  GUILE  1.2  won't  work),  check  out
      http://www.gnu.org/programs/guile.html
 
-For running LilyPond successfully you have to help  TeX  and
-MetaFont  find  various files.  The recommended way of doing
-so is adjusting the environment variables  in  the  start-up
-scripts  of  your  shell.   An example is given here for the
+For  running  LilyPond successfully you have to help TeX and
+MetaFont find various files.  The recommended way  of  doing
+so  is  adjusting  the environment variables in the start-up
+scripts of your shell.  An example is  given  here  for  the
 Bourne shell:
 
      export MFINPUTS="/usr/local/share/lilypond/mf:"
-     export TEXINPUTS="/usr/local/share/lilypond/tex:"
+     export TEXINPUTS="/usr/local/share/lilypond/tex:/usr/local/share/lilypond/ps:"
 
-The empty path component represents  and MetaFont's  default
-search  paths.  Scripts with the proper paths for the bourne
+The  empty path component represents  and MetaFont's default
+search paths.  Scripts with the proper paths for the  bourne
 and   C-shell   respectively   are   generated   in   build-
-scripts/out/lilypond-profile  and buildscripts/out/lilypond-
+scripts/out/lilypond-profile and  buildscripts/out/lilypond-
 login during compilation.
 
-4: RECOMMENDED
+5: RECOMMENDED
 
-Although not strictly necessary, these  are  recommended  to
+Although  not  strictly  necessary, these are recommended to
 have.
 
 o    GNU make.  Check out ftp://ftp.gnu.org or any mirror of
      this site.
 
-o    Flex   (version   2.5.4   or   newer).     Check    out
+o    Flex    (version    2.5.4   or   newer).    Check   out
      ftp://ftp.gnu.org or any mirror of this site.
 
-o    Bison    (version    1.25   or   newer).    Check   out
+o    Bison   (version   1.25   or   newer).     Check    out
      ftp://ftp.gnu.org or any mirror of this site.
 
-o    GUILE 1.3 (no,  GUILE  1.2  won't  work),    check  out
-     http://www.gnu.org/programs/guile.html
+o    GUILE  1.3  (no,  GUILE  1.2  won't  work),  check  out
+     http://www.gnu.org/programs/guile.html.
 
-o    Python    (version    1.5   or   newer).    Check   out
+o    Python   (version   1.5   or   newer).     Check    out
      ftp://ftp.python.org or ftp://ftp.cwi.nl/pub/python.
 
-o    Yodl.  All documentation will  be  in  Yodl.  (1.30.17)
+o    Yodl.   All  documentation  will  be in Yodl. (1.30.17)
      ftp://ftp.lilypond.org/pub/yodl
      http://www.cs.uu.nl/~hanwen/yodl
 
 o    Texinfo. (version 3.12 or newer)
 
-o    GNU find Check out ftp://ftp.gnu.org or any  mirror  of
+o    GNU  find  Check out ftp://ftp.gnu.org or any mirror of
      this site.
 
 o    The geometry package for LaTeX is needed to use ly2dvi.
-     Available          at           ftp://ftp.ctan.org/tex-
+     Available           at          ftp://ftp.ctan.org/tex-
      archive/macros/latex/contrib/supported/geometry  or  at
      mirror site ftp://ftp.dante.de
 
 o    A fast computer: a full page of music typically takes 1
-     minute  on my 486/133, using the --enable-checking com-
+     minute on my 486/133, using the --enable-checking  com-
      pile.
 
-5: WEBSITE
+6: WEBSITE
 
-If you want to auto-generate  Lily's  website,  you'll  need
+If  you  want  to  auto-generate Lily's website, you'll need
 some additional conversion tools.
 
 o    xpmtoppm (from the Portable Bitmap Utilities) (For Red-
-     Hat Linux users: it  is  included  within  the  package
+     Hat  Linux  users:  it  is  included within the package
      libgr-progs).
 
 o    Bib2html http://pertsserver.cs.uiuc.edu/~hull/bib2html.
      Which, in turn depends on man2html for proper installa-
-     tion.    man2html   can   be  had  from  http://askdon-
+     tion.   man2html  can  be   had   from   http://askdon-
      ald.ask.uni-karlsruhe.de/hppd/hpux/Network-
      ing/WWW/Man2html-1.05.
 
      TeTeX users should not forget to rerun texhash.
 
 Building the website requires pnmtopng.  The version of pnm-
-topng that is distributed with RedHat  5.1  contains  a  bug
-(pnmtopng  is  dynamically  linked  to  the wrong version of
-libpng).  Recompile it from source, and make sure  that  the
-pnmtopng  binary  is linked statically to the libpng that is
+topng  that  is  distributed  with RedHat 5.1 contains a bug
+(pnmtopng is dynamically linked  to  the  wrong  version  of
+libpng).   Recompile  it from source, and make sure that the
+pnmtopng binary is linked statically to the libpng  that  is
+
 included in libgr.
 
       tar xzf libgr-2.0.13.tar.gz
@@ -152,13 +163,13 @@ included in libgr.
 
 You can then install the new pnmtopng into /usr/local/bin/
 
-6: CONFIGURING and COMPILING
+7: CONFIGURING and COMPILING
 
 to install GNU LilyPond, simply type:
 
           gunzip -c lilypond-x.y.z | tar xf -
           cd lilypond-x.y.z
-          configure      # fill in your standard prefix with --prefix
+          ./configure         # fill in your standard prefix with --prefix
           make
           make install
 
@@ -173,28 +184,27 @@ This will install a number of files, something close to:
           /usr/local/share/lilypond/*
           /usr/local/share/locale/{it,nl}/LC_MESSAGES/lilypond.mo
 
-The above assumes that you are root and have the GNU  devel-
+The  above assumes that you are root and have the GNU devel-
 opment tools, and your make is GNU make.  If this is not the
-case, you can adjust  your  environment  variables  to  your
-
+case,  you  can  adjust  your  environment variables to your
 taste:
 
           export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
-          configure
+          ./configure
 
 CPPFLAGS are the preprocessor flags.
 
 The configure script is Cygnus configure, and it will accept
---help. If you are not root, you will probably have to  make
+--help.  If you are not root, you will probably have to make
 it with a different --prefix option.  Our favourite location
 is
 
-          configure --prefix=$HOME/usr
+          ./configure --prefix=$HOME/usr
 
-In this case, you will have to set up MFINPUTS,  and  TEXIN-
+In  this  case, you will have to set up MFINPUTS, and TEXIN-
 PUTS accordingly.
 
-Since  GNU  LilyPond  currently  is beta, you are advised to
+Since GNU LilyPond currently is beta,  you  are  advised  to
 also use
 
           --enable-debugging
@@ -206,47 +216,47 @@ Options to configure include:
      Enable debugging print routines (lilypond -D option)
 
 --enable-optimise
-     Set maximum optimisation: compile with -O2.   This  can
-     be  unreliable  on  some compiler/platform combinations
+     Set  maximum  optimisation: compile with -O2.  This can
+     be unreliable on  some  compiler/platform  combinations
      (eg, DEC Alpha and PPC)
 
 --enable-profiling
      Compile with support for profiling.
 
 --enable-config
-     Output to a different configuration file.   Needed  for
+     Output  to  a different configuration file.  Needed for
      multi-platform builds
 
-All  options are documented in the configure help The option
+All options are documented in the configure help The  option
 --enable-optimise is recommended for Real Life usage.
 
 If you do
 
           make all
 
-everything will be compiled, but nothing will be  installed.
-The  resulting  binaries  can be found in the subdirectories
+everything  will be compiled, but nothing will be installed.
+The resulting binaries can be found  in  the  subdirectories
 out/ (which contain all files generated during compilation).
 
-7: CONFIGURING FOR MULTIPLE PLATFORMS
+8: CONFIGURING FOR MULTIPLE PLATFORMS
 
 If you want to compile LilyPond with different configuration
-settings, then, you  can  use  the  --enable-config  option.
-Example:  suppose I want to build with and   without profil-
+settings,  then,  you  can  use  the --enable-config option.
+Example: suppose I want to build with and   without  profil-
 ing.  Then I'd use the following for the normal build,
 
-           configure --prefix=~ --disable-optimise --enable-checking
+           ./configure --prefix=~ --disable-optimise --enable-checking
            make
            make install
 
 and for the profiling version, I specify a different config-
 uration.
 
-           configure --prefix=~ --enable-profiling --enable-config=optprof --enable-optimise --disable-checking
+           ./configure --prefix=~ --enable-profiling --enable-config=optprof --enable-optimise --disable-checking
            make config=optprof
            make config=optprof install
 
-8: INSTALLING
+9: INSTALLING
 
 If you have done a successful make, then a simple
 
@@ -255,13 +265,14 @@ If you have done a successful make, then a simple
 should do the trick.
 
 If you are doing an upgrade, please remember to remove obso-
-lete .pk and .tfm files of the fonts.   A  script  has  been
+lete  .pk  and  .tfm  files of the fonts.  A script has been
 provided to do the work for you, see bin/clean-fonts.sh.
 
 CAVEATS
 
-o    The  -O2  option   triggers   bugs on various platforms
-     (PowerPC, Alpha).   If  you  experience  problems,  you
+o    The -O2 option  triggers   bugs  on  various  platforms
+     (PowerPC,  Alpha).   If  you  experience  problems, you
+
      should first try  turning off this.
 
 EXAMPLE
@@ -291,10 +302,10 @@ This is what the output looks like over here:
 Check out the input files, some of them have comments Please
 refer to the man page for more information.
 
-9: REDHAT LINUX
+10: REDHAT LINUX
 
-RedHat Linux users can compile an RPM. A  spec  file  is  in
-make/out/lilypond.spec,  it  is  distributed  along with the
+RedHat  Linux  users  can  compile an RPM. A spec file is in
+make/out/lilypond.spec, it is  distributed  along  with  the
 sources.
 
 You can make the rpm by issuing
@@ -302,18 +313,18 @@ You can make the rpm by issuing
           rpm -tb lilypond-x.y.z.tar.gz
           rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z
 
-10: DEBIAN GNU/LINUX
+11: DEBIAN GNU/LINUX
 
-A Debian package is  also  available;  contact  Anthony  Fok
-foka@debian.org.   The build scripts are in the subdirectory
+A  Debian  package  is  also  available; contact Anthony Fok
+foka@debian.org.  The build scripts are in the  subdirectory
 debian/.
 
-11: WINDOWS NT/95
+12: WINDOWS NT/95
 
 Separate instructions on building for W32 are avaible in the
 file README-W32.yo.
 
-12: AUTHORS
+13: AUTHORS
 
 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 
diff --git a/NEWS b/NEWS
index 53b952e982ac57157b796347b73a016020c12123..23ddc6417352c87c1fd43a0bd8600b2ec2d5bd2b 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,12 +1,38 @@
-pl 43.crypton1
-       - bf: repeat :| placement + core dump
-         input/test/repeat.ly
-         input/test/coda-kludge.ly
-       - bf: mf without ljfour
 
+pl 44
+pl 43.jcn2
+       - bf: repeat :| placement + core dump
+         input/test/repeat.ly
+         input/test/coda-kludge.ly
+       - bf: mf without ljfour
+         * feta-accordion fix/hack for feta11 at 300dpi
+
+pl 43.hwn1
+       - half assed attempt at ABC convertor.
+       - Spacing_spanner: "decentral" spacing stuff.  Use -t to try.
+       - bf: StaffGroup vertical alignment
+       - \property {slur,tie,}ydirection -> {slurV,tieV,v}erticalDirection (1.0.20)
+       - Spanner now hangs on left endpoint.
+       - \property forgetAccidentals: do not remember accidentals.
+ Every note not in the key triggers typesetting of an accidental.
+       - \property noResetKey: do not reset key at start of measure:
+ accidental remain in effect until overriden
+       - bf: ties & accidentals (fix breaks oldTieBehavior)
+       - junked Tie::same_pitch_b_
+  
 pl 43.jcn1
        - configure, set-lily.sh, release stuff
 
+pl 42.tca2
+       - lilypond don't put \interstaffline after last line. This to
+         get really nice vertical spacing for mudela-book.
+       - mudela-book: vertical spacing
+       - lilyponddefs.tex: commented out \parindent=0pt to get correct 
+         paragraph indent for mudela-book
+
+************
+pl 43
+
 pl 41.hwn3
        - reinstated \property inheritance
        - \property SkipBars -> skipBars
@@ -24,8 +50,6 @@ quence]
 Absolute_dynamic_req, Span_dynamic_req, Slur_req, Beam_req. Use
 Span_reqs and Text_script_reqs with type fields instead. 
 
-
-
 pl 42.tca1
        - updated mudela-book documentation
        - misc mudela-book.py
@@ -105,8 +129,8 @@ Hara_kiri should be working again.
 spacing.)
        
 pl 40.mb1
-       - bf: ly2dvi set MFINPUTS so standard tree is found before lilypond
-       - bf: lilypond-regtest.doc, ls-latex.py; now finds author/title
+       - bf: ly2dvi set MFINPUTS so standard tree is found before lilypond
+       - bf: lilypond-regtest.doc, ls-latex.py; now finds author/title
 
 pl 40.uu1
        - large documentation patch by Adrian Mariano
@@ -310,8 +334,8 @@ pl 33.jcn1
        - allow autobeaming according to duration iso (crude) multiplicity
 
 pl 33.jbr1
-         - change my email address
-         - Windows platform does a cp -r instead of a ln -s
+        - change my email address
+        - Windows platform does a cp -r instead of a ln -s
 
 pl 33.uu1
        - bf: ^ and _
@@ -561,9 +585,9 @@ pl 23.ms1
        - sinfonia.ly: several fixes
        - dynamics
         * increased range pppppp to ffffff
-         * added sp, spp, sff, rfz
-         * example see input/test/tchaikovsky.ly
-         * updated dynamics in refman
+        * added sp, spp, sff, rfz
+        * example see input/test/tchaikovsky.ly
+        * updated dynamics in refman
 
 
 pl 24.jcn2
@@ -584,7 +608,7 @@ pl 24.jcn2
 
 
 pl 24.mb1
-        - bf: Correct units now used in the .afm files.
+       - bf: Correct units now used in the .afm files.
 
 ******
 
@@ -596,13 +620,13 @@ pl 23.jcn9
        - bf: lily-version
 
 pl 23.jbr1
-        - scripts/ly2dvi.py: Windows 95 shell does not support redivrection 
-          of stderr.  We now distribute ash and use it when needed.
-        - stepmake/bin/package-zip32.sh: distribute ash, and guild ice-9/
-          directory.  We build and distribute manpages in html format instead
-          of text format.
-        - Documentation/ntweb: Updated doco and now distributing as a self
-          extracted binary with install script.
+       - scripts/ly2dvi.py: Windows 95 shell does not support redivrection 
+         of stderr.  We now distribute ash and use it when needed.
+       - stepmake/bin/package-zip32.sh: distribute ash, and guild ice-9/
+         directory.  We build and distribute manpages in html format instead
+         of text format.
+       - Documentation/ntweb: Updated doco and now distributing as a self
+         extracted binary with install script.
 
 pl 23.hwn4
        - bugfixes
@@ -757,7 +781,7 @@ pl 18.jcn5
        - bf: vv-duet
 
 pl 18.mb1
-         - \mark now works, using G_staff_side_item.
+        - \mark now works, using G_staff_side_item.
        - Improved layout of multi-bar rests, including a new
          font symbol.
 
@@ -783,17 +807,17 @@ pl 18.jcn1
 pl 18 (jan 4 '99)
 
 pl 17.jbr2
-        - Documentation/README-W32: Brought my stuff up to date
-        - Documentation/ntweb: updated for realease
-        - stepmake/bin/package-zip32.sh: cygwin-b20 changes
-        - scripts/ly2dvi.py: LILYPONDPREFIX fixes
+       - Documentation/README-W32: Brought my stuff up to date
+       - Documentation/ntweb: updated for realease
+       - stepmake/bin/package-zip32.sh: cygwin-b20 changes
+       - scripts/ly2dvi.py: LILYPONDPREFIX fixes
 
 pl 17.jbr1
-        - scripts/ly2dvi.py root is now the shared directory path not the
-          root of the lily installation.  Environment variable LILYPONDPREFIX
-          is also the path to shared directory.
-        - lily/main.cc WINNT conditional added to avoid a casting of 
-          main_prog
+       - scripts/ly2dvi.py root is now the shared directory path not the
+         root of the lily installation.  Environment variable LILYPONDPREFIX
+         is also the path to shared directory.
+       - lily/main.cc WINNT conditional added to avoid a casting of 
+         main_prog
 
 pl 17.hwn1
        - bfs wtk1-fugue1
@@ -831,7 +855,7 @@ pl 15.uu1
 
 pl15.tca1
        - fixed verbatim option behaviour for mudela-book.
-        - added mudela-book option intertext="some text" 
+       - added mudela-book option intertext="some text" 
        - mudela-book now understand latex \begin{verbatim}
   
 pl 15.jcn1
@@ -850,8 +874,8 @@ parser, lilypond (mudela 1.0.14), manual
 parser, lilypond (Mudela 1.0.13)
 
 pl 14.jcn1
-        - bf: get_chord C-m5-
-        - typos: chord-name
+       - bf: get_chord C-m5-
+       - typos: chord-name
 
 pl 14.tca2     
        - move option proccing out of main
@@ -877,7 +901,7 @@ pl 12.jcn2
        - bf: package-diff
        - new chord syntax, again: TONIC [DURATION] ['-' MODIFIERS/ADDITIONS]
        - shorthand prefix for note-mode: '@', no shorthand for notes in chord
-           mode...
+          mode...
  
 pl 11.jcn6
        - bf: ly2dvi: better guess LILYPONDPREFIX: <bin>../share/lilypond
@@ -914,16 +938,16 @@ pl 11.jcn2
        - duration with chords + change:  @4 c @c7
 
 pl 11.jcn1
-        - minor chord syntax change: *c6 iso @c6;
+       - minor chord syntax change: *c6 iso @c6;
 
 **********
 
 pl 11
 
 pl9.tca1
-        - included that missing init/mudela-book-defs.py. Added
-          one line to init/GNUMakefile to make .py-files be included.
-        - fragment and nonfragment options to override autodetection
+       - included that missing init/mudela-book-defs.py. Added
+         one line to init/GNUMakefile to make .py-files be included.
+       - fragment and nonfragment options to override autodetection
 
 pl 10.jcn1
        - input/test/chords.ly
@@ -971,12 +995,12 @@ pl 9
        - fixed \relative
 
 pl8.tca1
-        - changes to mudela-book. Junked fragment and floating options,
-          added eps option. Options should not stay as long that you get
-          comfortable with them. ;)
-        - Also possible to define your own commands with
-          a syntax like \mudela{c d e}
-        - updated mudela-book-doc.doc
+       - changes to mudela-book. Junked fragment and floating options,
+         added eps option. Options should not stay as long that you get
+         comfortable with them. ;)
+       - Also possible to define your own commands with
+         a syntax like \mudela{c d e}
+       - updated mudela-book-doc.doc
 
 pl 8.jcn3
        - website: gnuisation of footers
@@ -1097,7 +1121,7 @@ pl 4.uu1
        - bf: mudela-book -> \default_paper is obsolete.
 
 pl 3.ms1
-         - thumb-upgrade
+        - thumb-upgrade
  
 pl4.jcn1
        - bf: dotted slur
@@ -1121,10 +1145,10 @@ pl 3.tca1
        - mudela-book example file in Documentation/tex/mudela-book-doc.doc
 
 pl 3.jcn5
-        - bf: dashed-slur
-        - bf: LilyIdString
-        - more star fixes
-        - repeatbar fixes
+       - bf: dashed-slur
+       - bf: LilyIdString
+       - more star fixes
+       - repeatbar fixes
 
 pl 3.jcn3
        - mup-to-ly.py: version 0.0
@@ -1168,12 +1192,12 @@ pl 1.jcn4
 pl 2
 
 pl 1.mb1
-        - Support for cautionary accidentals. , i.e. accidentals 
-          within parantheses. Syntax: 'cis?'. Try input/test/accid.fly
-          Note that the font has changed.
-        - bf: No unnecessary warnings about time signatures
-        - Added optional second argument of \key. Set to \major or \minor 
-          to get a major or minor key. Default: major.
+       - Support for cautionary accidentals. , i.e. accidentals 
+         within parantheses. Syntax: 'cis?'. Try input/test/accid.fly
+         Note that the font has changed.
+       - bf: No unnecessary warnings about time signatures
+       - Added optional second argument of \key. Set to \major or \minor 
+         to get a major or minor key. Default: major.
        - bf: Compilation error in midi-walker.cc
 
 pl 1.jcn2
diff --git a/TASKS b/TASKS
new file mode 100644 (file)
index 0000000..b52bec1
--- /dev/null
+++ b/TASKS
@@ -0,0 +1,50 @@
+Call for Volunteers --  The Mutopia project seeks YOUR help.
+
+
+WHAT IS MUTOPIA?
+
+Mutopia is an archive of public domain music, free for all to
+download, modify and redistribute.  It should be based on free
+software. It is similar in spirit to the gutenberg archive.
+
+
+
+WHAT NEEDS TO BE DONE
+
+- write legal faq documents
+
+- setup submission guidelines, 
+
+- acquire mutopia.org domain.
+
+- setup FTP server
+
+- cooperate with ABC folks, ftp.gmd.de
+
+
+
+WHO DO WE NEED
+
+Volunteers that want to setup and maintain a website and FTP site.
+
+Volunteers with enough legal knowledge to write submission guidelines.
+
+A project leader.
+
+
+
+WHO ARE WE?
+
+We are Han-Wen Nienhuys and Jan Nieuwenhuizen.  We are working on the
+GNU project music typesetter, a program that does for sheet music what
+TeX does for text.  We would like to help start this mutopia project.
+Unfortunately, maintaining and extending LilyPond does not leave us
+enough time to take up the task of setting up Mutopia
+
+
+Signed
+
+Han-Wen Nienhys
+Jan Nieuwenhuizen
+
+[other bigwigs?]
diff --git a/TODO b/TODO
index 92ee0c62c75744b04c5a67ebb9824a9be794730a..d23637eef9b35e0968ae0339788e9734156ef4d3 100644 (file)
--- a/TODO
+++ b/TODO
@@ -13,9 +13,12 @@ Grep for TODO and ugh/ugr/urg.
 . * PostScript
 .  * header for PS enteredby = "bla <bla@bar.com>"
 .  * ps/lily.ps see comments.
+. * down tuplet spanner.
+. * didot / big point.
 . * devise standard for functioning of Vertical_align_element.
 . * midi key.
 . * Repeats
+.  * input/bugs/rep.ly (moved from test)
 .  * unfold broken: 
 .   * without alternatives: repeat unfold 4 { a b c d }
 .   * count > alternatives: repeat unfold 79 { a b c d } 
@@ -58,11 +61,7 @@ There are distinct ways of specifying the first two (although at
 present, they're not properly distinguished) but no distinct way to
 specify the third.  Should there be?
 . * rest collision minimum dist.
-. * 1. is there a "no key signature mode" for lily yet so that i can just
-enter the notes without worrying about it instead of having to
-remember to put a "!" after each accidental?
-
-a note with a circle after it, meaning:
+. * a note with a circle after it, meaning:
 
    note + circle = note + 1/4 of its length
 
@@ -70,22 +69,12 @@ a note with a circle after it, meaning:
    page three, the c-sharp on the second line should be a quarter with 
    a circle, not a quarter tied to a sixteenth.  is this at all
    possible with lily?
-tuplets that are written as "number : note", for example
+. * tuplets that are written as "number : note", for example
    "3 : [image of a half note here]".  possible?
-"p+" and "p-" for dynamic markings.  possible?
 . * repeat engraver, gallina.ly
 
 . * Matanya's tips: 
 .  * spacing for prefatory matter
-.  * The line length is 7.5 inch (19.05
-cm) and the height of normal size is equivalent to the traditional raster 1
-> size. (The Schott company sells Letraset sheets of musical symbols which are
-> measured in raster sizes). It is agreed among most engravers I know that the
-> standard size for adult readers in solo music should 70% of raster 1.  Jeff's
-> example was 75%, so I had to modify my file to match. 
-
-So that makes for a staff space of 4 2/3 point. I'll add the
-dimensions to the TODO file.
 .  * accidentals closer to note head
 .  * to space the staffs/staffgroups contained in the score.  
 
@@ -112,10 +101,10 @@ In the orchestscore.ly file, I tried:
 . * Slur
 . * Rhythmic_grouping
 . * Duration
-. * Spring generation
 . * Collision
 . * Rest_collision
 . * clef grav prop's 
+. * parser
 
 .* TODO before 1.2
 . * Morally pure LilyPond.
@@ -147,6 +136,7 @@ In the orchestscore.ly file, I tried:
 .  * make wide_spanner_engraver (line_group_spanne,r staff_symbol)
 . * remove Interval dim_ from Dimension_cache and rename the struct.
 . * do scaled fonts generally 
+. * Spacing.
 . * The Lilypond accidental symbols are available through the TeX macros, 
 \textflat, \textsharp and \textnatural defined in the init file
 lilyponddefs.tex. All the symbols are defined in the files fetaXX.tex
@@ -211,6 +201,7 @@ compilation.
 . * ly2dvi
 .  * bottomnote for ly2dvi
 .  * deps for ly2dvi
+
 .* STUFF
 . * compulsory hshift
 . * Give # lines in linebreaking.  
@@ -219,11 +210,7 @@ compilation.
 . * \selectmusic to cut pieces from music. 
 . * TODO: merge atom & molecule; make  tree from molecule.
 . * Align_element::padding  ?
-. * uniformise property names...
-.  * ydirection <-> yDirection
-.  * rather allow '_' in identifiers first (i.e. junk ^ and _),
-and do y_direction?
-.  * typo checks on property names?
+. * typo checks on property names?
 . * use streambufs and iostream
        to provide IO handling for TeX stream, mudela stream, data-file.
 . * seriously buffer TeX output (do profile of writing .5 mb TeX file.)
@@ -364,11 +351,6 @@ touching it.
 .  * detect of 16/8 bit files
 .  * examples to go with it.
 
-. * Spring_spacer:
-.  * write a faster Spring_spacer (without matrices if possible)
-.  * relate energybound to linelen unitspace fontsize etc.
-.  * used fixed point fp?
-
 . * \header
 .  * output header info to MIDI too.
 
diff --git a/VERSION b/VERSION
index b691663438e6b2adc7a8e139ee7cbed619bc7884..c9c12ced278c1f9c57fbda3cf4cf4763ab55eb64 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,8 +1,8 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=1
-PATCH_LEVEL=43
-MY_PATCH_LEVEL=crypton1
+PATCH_LEVEL=44
+MY_PATCH_LEVEL=
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
index b55536ab7fe1d97f3fd786bbeebd84d423666e95..d579266f49ca40a49db06945fd12aab506a08eee 100644 (file)
@@ -1,3 +1,5 @@
+dnl WARNING WARNING WARNING WARNING
+dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4
 dnl aclocal.m4   -*-shell-script-*-
 dnl StepMake subroutines for configure.in
 
@@ -277,14 +279,15 @@ dnl    fi
     AC_CHECK_PROGS(TAR, tar, error)
 
     if test "x`uname`" = "xHP-UX"; then
+       AC_PATH_PROG(BASH, bash, /bin/sh)
        AC_STEPMAKE_WARN(avoiding buggy /bin/sh)
-       AC_CHECK_PROGS(SHELL, bash, /bin/ksh)
+       AC_PATH_PROG(SHELL, bash, /bin/ksh)
     else
+       AC_PATH_PROG(BASH, bash, /bin/sh)
        SHELL=/bin/sh
        AC_SUBST(SHELL)
     fi
 
-    AC_CHECK_PROGS(BASH, bash, /bin/sh)
 
     AC_PATH_PROG(PYTHON, ${PYTHON:-python}, -echo no python)
     AC_SUBST(PYTHON)
@@ -517,11 +520,11 @@ AC_DEFUN(AC_STEPMAKE_TEXMF_DIRS, [
     [TFMDIR=$enableval],
     [TFMDIR=auto] )
 
-    AC_MSG_CHECKING(TeX TFM directory)
+    AC_CHECK_PROGS(KPSEWHICH, kpsewhich, no)
+    AC_MSG_CHECKING(for TeX TFM directory)
     if test "x$TFMDIR" = xauto ; then
        if test "x$TEX_TFMDIR" = "x" ; then
-           if kpsewhich --version > /dev/null 2>&1 ; then
-               TEX_TFMDIR=`kpsewhich tfm cmr10.tfm`
+           if test "x$KPSEWHICH" != "xno" ; then
                CMR10=`kpsewhich tfm cmr10.tfm`
                TEX_TFMDIR=`dirname $CMR10`
            else
index 47a2eb6eb8e3445a2d1e9be04ece04b1ebe1af81..5f15b0176c2fc5937372263450372b314fc8d6f4 100755 (executable)
--- a/configure
+++ b/configure
@@ -86,6 +86,8 @@ ac_help="$ac_help
   with-localedir=LOCALE   use LOCALE as locale dir. Default: PREFIX/share/locale "
 ac_help="$ac_help
   with-lang=LANG          use LANG as language to emit messages"
+ac_help="$ac_help
+  enable-tex-tfmdir=DIR   set the tex-directory where cmr10.tfm lives (default: use kpsewhich)"
 
 # Initialize some variables set by options.
 # The variables have the same names as the options, with
@@ -620,8 +622,10 @@ fi
     fi
     stepmake=`echo ${stepmake} | sed "s!\\\${prefix}!$presome!"`
 
+    echo $ac_n "checking Package""... $ac_c" 1>&6
+echo "configure:627: checking Package" >&5
     if test "x$PACKAGE" = "xSTEPMAKE"; then
-        echo Stepmake package!
+       echo "$ac_t""Stepmake package!" 1>&6
        (cd stepmake; rm -f stepmake; ln -s ../stepmake .)
        (cd stepmake; rm -f bin; ln -s ../bin .)
        ac_aux_dir=
@@ -645,13 +649,15 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
 
        stepmake=stepmake
     else
-        echo Package: $PACKAGE
+        echo "$ac_t""$PACKAGE" 1>&6
+       echo $ac_n "checking for stepmake""... $ac_c" 1>&6
+echo "configure:655: checking for stepmake" >&5
        # Check for installed stepmake
        if test -d $stepmake; then
-           echo Using installed stepmake: $stepmake
+           echo "$ac_t""$stepmake" 1>&6
        else
            stepmake='$(depth)'/stepmake
-           echo Using local stepmake: $datadir/stepmake not found
+           echo "$ac_t""./stepmake  ($datadir/stepmake not found)" 1>&6
        fi
        ac_aux_dir=
 for ac_dir in \
@@ -768,7 +774,7 @@ 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:772: checking host system type" >&5
+echo "configure:778: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
@@ -793,7 +799,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:797: checking for $ac_word" >&5
+echo "configure:803: 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
@@ -828,7 +834,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:832: checking for $ac_word" >&5
+echo "configure:838: 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
@@ -865,7 +871,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:869: checking for $ac_word" >&5
+echo "configure:875: 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
@@ -897,90 +903,128 @@ test -n "$TAR" || TAR="error"
 
 
     if test "x`uname`" = "xHP-UX"; then
+       # Extract the first word of "bash", so it can be a program name with args.
+set dummy bash; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:910: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_BASH'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  case "$BASH" in
+  /*)
+  ac_cv_path_BASH="$BASH" # Let the user override the test with a path.
+  ;;
+  ?:/*)                         
+  ac_cv_path_BASH="$BASH" # Let the user override the test with a dos path.
+  ;;
+  *)
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do 
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_path_BASH="$ac_dir/$ac_word"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_path_BASH" && ac_cv_path_BASH="/bin/sh"
+  ;;
+esac
+fi
+BASH="$ac_cv_path_BASH"
+if test -n "$BASH"; then
+  echo "$ac_t""$BASH" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
        
     echo "configure: warning: avoiding buggy /bin/sh" 1>&2
     warn_b=yes
 
-       for ac_prog in bash
-do
-# Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
+       # Extract the first word of "bash", so it can be a program name with args.
+set dummy bash; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:910: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_SHELL'+set}'`\" = set"; then
+echo "configure:950: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_SHELL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
-  if test -n "$SHELL"; then
-  ac_cv_prog_SHELL="$SHELL" # Let the user override the test.
-else
+  case "$SHELL" in
+  /*)
+  ac_cv_path_SHELL="$SHELL" # Let the user override the test with a path.
+  ;;
+  ?:/*)                         
+  ac_cv_path_SHELL="$SHELL" # Let the user override the test with a dos path.
+  ;;
+  *)
   IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
   ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
+  for ac_dir in $ac_dummy; do 
     test -z "$ac_dir" && ac_dir=.
     if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_SHELL="$ac_prog"
+      ac_cv_path_SHELL="$ac_dir/$ac_word"
       break
     fi
   done
   IFS="$ac_save_ifs"
+  test -z "$ac_cv_path_SHELL" && ac_cv_path_SHELL="/bin/ksh"
+  ;;
+esac
 fi
-fi
-SHELL="$ac_cv_prog_SHELL"
+SHELL="$ac_cv_path_SHELL"
 if test -n "$SHELL"; then
   echo "$ac_t""$SHELL" 1>&6
 else
   echo "$ac_t""no" 1>&6
 fi
 
-test -n "$SHELL" && break
-done
-test -n "$SHELL" || SHELL="/bin/ksh"
-
     else
-       SHELL=/bin/sh
-       
-    fi
-
-    for ac_prog in bash
-do
-# Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
+       # Extract the first word of "bash", so it can be a program name with args.
+set dummy bash; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:950: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_BASH'+set}'`\" = set"; then
+echo "configure:987: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_BASH'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
-  if test -n "$BASH"; then
-  ac_cv_prog_BASH="$BASH" # Let the user override the test.
-else
+  case "$BASH" in
+  /*)
+  ac_cv_path_BASH="$BASH" # Let the user override the test with a path.
+  ;;
+  ?:/*)                         
+  ac_cv_path_BASH="$BASH" # Let the user override the test with a dos path.
+  ;;
+  *)
   IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
   ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
+  for ac_dir in $ac_dummy; do 
     test -z "$ac_dir" && ac_dir=.
     if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_BASH="$ac_prog"
+      ac_cv_path_BASH="$ac_dir/$ac_word"
       break
     fi
   done
   IFS="$ac_save_ifs"
+  test -z "$ac_cv_path_BASH" && ac_cv_path_BASH="/bin/sh"
+  ;;
+esac
 fi
-fi
-BASH="$ac_cv_prog_BASH"
+BASH="$ac_cv_path_BASH"
 if test -n "$BASH"; then
   echo "$ac_t""$BASH" 1>&6
 else
   echo "$ac_t""no" 1>&6
 fi
 
-test -n "$BASH" && break
-done
-test -n "$BASH" || BASH="/bin/sh"
+       SHELL=/bin/sh
+       
+    fi
 
 
     # Extract the first word of "${PYTHON:-python}", so it can be a program name with args.
 set dummy ${PYTHON:-python}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:984: checking for $ac_word" >&5
+echo "configure:1028: 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
@@ -1213,7 +1257,7 @@ EOF
     # 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:1217: checking for $ac_word" >&5
+echo "configure:1261: 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
@@ -1243,7 +1287,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
-echo "configure:1247: checking for $ac_word" >&5
+echo "configure:1291: 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
@@ -1294,7 +1338,7 @@ fi
       # Extract the first word of "cl", so it can be a program name with args.
 set dummy cl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1298: checking for $ac_word" >&5
+echo "configure:1342: 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
@@ -1326,7 +1370,7 @@ fi
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1330: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1374: 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.
@@ -1337,12 +1381,12 @@ cross_compiling=$ac_cv_prog_cc_cross
 
 cat > conftest.$ac_ext << EOF
 
-#line 1341 "configure"
+#line 1385 "configure"
 #include "confdefs.h"
 
 main(){return(0);}
 EOF
-if { (eval echo configure:1346: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1390: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; 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
@@ -1368,12 +1412,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:1372: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1416: 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 "configure:1377: checking whether we are using GNU C" >&5
+echo "configure:1421: 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
@@ -1382,7 +1426,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1386: \"$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:1430: \"$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
@@ -1401,7 +1445,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
 ac_save_CFLAGS="$CFLAGS"
 CFLAGS=
 echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1405: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1449: 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
@@ -1464,7 +1508,7 @@ EOF
 fi
 
 echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
-echo "configure:1468: checking how to run the C++ preprocessor" >&5
+echo "configure:1512: 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
@@ -1477,12 +1521,12 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
   CXXCPP="${CXX-g++} -E"
   cat > conftest.$ac_ext <<EOF
-#line 1481 "configure"
+#line 1525 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1486: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1530: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1519,7 +1563,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1523: checking for $ac_word" >&5
+echo "configure:1567: 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
@@ -1551,7 +1595,7 @@ test -n "$CXX" || CXX="gcc"
 
 
 echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1555: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
+echo "configure:1599: 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.
@@ -1562,12 +1606,12 @@ cross_compiling=$ac_cv_prog_cxx_cross
 
 cat > conftest.$ac_ext << EOF
 
-#line 1566 "configure"
+#line 1610 "configure"
 #include "confdefs.h"
 
 int main(){return(0);}
 EOF
-if { (eval echo configure:1571: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1615: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; 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
@@ -1593,12 +1637,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:1597: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1641: 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:1602: checking whether we are using GNU C++" >&5
+echo "configure:1646: 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
@@ -1607,7 +1651,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1611: \"$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:1655: \"$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
@@ -1626,7 +1670,7 @@ 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:1630: checking whether ${CXX-g++} accepts -g" >&5
+echo "configure:1674: 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
@@ -1660,17 +1704,17 @@ fi
 
     ac_safe=`echo "FlexLexer.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for FlexLexer.h""... $ac_c" 1>&6
-echo "configure:1664: checking for FlexLexer.h" >&5
+echo "configure:1708: 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
-#line 1669 "configure"
+#line 1713 "configure"
 #include "confdefs.h"
 #include <FlexLexer.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1674: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1718: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1721,12 +1765,12 @@ fi
 
 
     echo $ac_n "checking whether explicit instantiation is needed""... $ac_c" 1>&6
-echo "configure:1725: checking whether explicit instantiation is needed" >&5
+echo "configure:1769: checking whether explicit instantiation is needed" >&5
 if eval "test \"`echo '$''{'lily_cv_need_explicit_instantiation'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1730 "configure"
+#line 1774 "configure"
 #include "confdefs.h"
 
     template <class T> struct foo { static int baz; };
@@ -1736,7 +1780,7 @@ int main() {
  return foo<int>::baz; 
 ; return 0; }
 EOF
-if { (eval echo configure:1740: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1784: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   lily_cv_need_explicit_instantiation=no
 else
@@ -1763,7 +1807,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1767: checking for $ac_word" >&5
+echo "configure:1811: 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
@@ -1806,7 +1850,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1810: checking for $ac_word" >&5
+echo "configure:1854: 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
@@ -1841,7 +1885,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1845: checking for $ac_word" >&5
+echo "configure:1889: 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
@@ -1909,7 +1953,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1913: checking for $ac_word" >&5
+echo "configure:1957: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1942,7 +1986,7 @@ test -n "$AR" || AR="error"
     # 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:1946: checking for $ac_word" >&5
+echo "configure:1990: 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
@@ -1998,7 +2042,7 @@ fi
 
 
     echo $ac_n "checking language""... $ac_c" 1>&6
-echo "configure:2002: checking language" >&5    
+echo "configure:2046: checking language" >&5    
     case "$language" in
       En* | en* | Am* | am* | US* | us*)
            lang=English;;
@@ -2034,7 +2078,7 @@ EOF
 
 
     echo $ac_n "checking for gettext in -lintl""... $ac_c" 1>&6
-echo "configure:2038: checking for gettext in -lintl" >&5
+echo "configure:2082: checking for gettext in -lintl" >&5
 ac_lib_var=`echo intl'_'gettext | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2042,7 +2086,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lintl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2046 "configure"
+#line 2090 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 #ifdef __cplusplus
@@ -2056,7 +2100,7 @@ int main() {
 gettext()
 ; return 0; }
 EOF
-if { (eval echo configure:2060: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2104: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2086,12 +2130,12 @@ fi
     for ac_func in gettext
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2090: checking for $ac_func" >&5
+echo "configure:2134: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2095 "configure"
+#line 2139 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2117,7 +2161,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2121: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2165: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -2149,7 +2193,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2153: checking for $ac_word" >&5
+echo "configure:2197: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2180,7 +2224,7 @@ done
 test -n "$MSGFMT" || MSGFMT="\$(SHELL) \$(step-bindir)/fake-msgfmt.sh "
 
     echo $ac_n "checking whether msgfmt accepts -o""... $ac_c" 1>&6
-echo "configure:2184: checking whether msgfmt accepts -o" >&5
+echo "configure:2228: checking whether msgfmt accepts -o" >&5
     msgfmt_output="`msgfmt -o bla 2>&1 | grep usage`"
     if test "$msgfmt_output" = ""; then
        echo "$ac_t""yes" 1>&6
@@ -2208,7 +2252,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2212: checking for $ac_word" >&5
+echo "configure:2256: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_METAFONT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2244,7 +2288,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2248: checking for $ac_word" >&5
+echo "configure:2292: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MFONT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2282,7 +2326,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2286: checking for $ac_word" >&5
+echo "configure:2330: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_METAPOST'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2318,7 +2362,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2322: checking for $ac_word" >&5
+echo "configure:2366: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MPOST'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2348,6 +2392,7 @@ test -n "$MPOST" && break
 done
 test -n "$MPOST" || MPOST="-echo no mp or mpost"
 
+
        METAPOST=$MPOST
     fi
 
@@ -2356,7 +2401,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2360: checking for $ac_word" >&5
+echo "configure:2405: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_INIMETAFONT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2392,7 +2437,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2396: checking for $ac_word" >&5
+echo "configure:2441: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_INIMFONT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2430,7 +2475,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2434: checking for $ac_word" >&5
+echo "configure:2479: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_INIMETAPOST'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2466,7 +2511,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2470: checking for $ac_word" >&5
+echo "configure:2515: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_INIMPOST'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2499,12 +2544,88 @@ test -n "$INIMPOST" || INIMPOST="-echo no inimp or inimpost"
        INIMETAPOST=$INIMPOST
     fi
 
+    echo $ac_n "checking for working metafont mode""... $ac_c" 1>&6
+echo "configure:2549: checking for working metafont mode" >&5
+    modelist='ljfour lj4 lj3 lj2 ljet laserjet'
+    for MFMODE in $modelist; do
+       $METAFONT "\mode:=$MFMODE; mode_setup; end." > /dev/null 2>&1
+       if test -f mfput.tfm; then
+           break;
+       fi
+    done
+    rm -f mfput.*
+    echo "$ac_t""$MFMODE" 1>&6
+
+    
     
     
     
     
 
-# AC_STEPMAKE_TEXMF_DIRS
+
+    # Check whether --enable-tex-tfmdir or --disable-tex-tfmdir was given.
+if test "${enable_tex_tfmdir+set}" = set; then
+  enableval="$enable_tex_tfmdir"
+  TFMDIR=$enableval
+else
+  TFMDIR=auto 
+fi
+
+
+    for ac_prog in kpsewhich
+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:2581: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_KPSEWHICH'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$KPSEWHICH"; then
+  ac_cv_prog_KPSEWHICH="$KPSEWHICH" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_KPSEWHICH="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+KPSEWHICH="$ac_cv_prog_KPSEWHICH"
+if test -n "$KPSEWHICH"; then
+  echo "$ac_t""$KPSEWHICH" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+test -n "$KPSEWHICH" && break
+done
+test -n "$KPSEWHICH" || KPSEWHICH="no"
+
+    echo $ac_n "checking for TeX TFM directory""... $ac_c" 1>&6
+echo "configure:2612: checking for TeX TFM directory" >&5
+    if test "x$TFMDIR" = xauto ; then
+       if test "x$TEX_TFMDIR" = "x" ; then
+           if test "x$KPSEWHICH" != "xno" ; then
+               CMR10=`kpsewhich tfm cmr10.tfm`
+               TEX_TFMDIR=`dirname $CMR10`
+           else
+               
+    echo "configure: warning: Please set TEX_TFMDIR (to where cmr10.tfm lives):
+       TEX_TFMDIR=/usr/local/TeX/lib/tex/fonts ./configure" 1>&2
+    warn_b=yes
+
+           fi
+       fi
+    fi
+    echo "$ac_t""$TEX_TFMDIR" 1>&6
+    
+
 
     if test "x$YODL" = "x"; then 
        for ac_prog in striproff
@@ -2512,7 +2633,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2516: checking for $ac_word" >&5
+echo "configure:2637: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_STRIPROFF'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2547,7 +2668,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2551: checking for $ac_word" >&5
+echo "configure:2672: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2582,7 +2703,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2586: checking for $ac_word" >&5
+echo "configure:2707: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL2HTML'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2617,7 +2738,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2621: checking for $ac_word" >&5
+echo "configure:2742: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL2LATEX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2651,7 +2772,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2655: checking for $ac_word" >&5
+echo "configure:2776: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL2MAN'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2686,7 +2807,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2690: checking for $ac_word" >&5
+echo "configure:2811: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL2MSLESS'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2721,7 +2842,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2725: checking for $ac_word" >&5
+echo "configure:2846: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL2TEXINFO'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2756,7 +2877,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2760: checking for $ac_word" >&5
+echo "configure:2881: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL2TXT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2817,7 +2938,7 @@ test -n "$YODL2TXT" || YODL2TXT="-echo no yodl"
 ## The GUILE_FLAGS macro.
   ## First, let's just see if we can find Guile at all.
   echo $ac_n "checking for Guile""... $ac_c" 1>&6
-echo "configure:2821: checking for Guile" >&5
+echo "configure:2942: checking for Guile" >&5
   guile-config link > /dev/null || {
     echo "configure: cannot find guile-config; is Guile installed?" 1>&2
     exit 1
@@ -2829,7 +2950,7 @@ echo "configure:2821: checking for Guile" >&5
   echo "$ac_t""yes" 1>&6
 
     echo $ac_n "checking for gh_scm2doubles in -lguile""... $ac_c" 1>&6
-echo "configure:2833: checking for gh_scm2doubles in -lguile" >&5
+echo "configure:2954: checking for gh_scm2doubles in -lguile" >&5
 ac_lib_var=`echo guile'_'gh_scm2doubles | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2837,7 +2958,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lguile $GUILE_LDFLAGS      $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2841 "configure"
+#line 2962 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 #ifdef __cplusplus
@@ -2851,7 +2972,7 @@ int main() {
 gh_scm2doubles()
 ; return 0; }
 EOF
-if { (eval echo configure:2855: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2976: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2885,7 +3006,7 @@ fi
 
 
 echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
-echo "configure:2889: checking for 8-bit clean memcmp" >&5
+echo "configure:3010: 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
@@ -2893,7 +3014,7 @@ else
   ac_cv_func_memcmp_clean=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 2897 "configure"
+#line 3018 "configure"
 #include "confdefs.h"
 #ifdef __cplusplus
 extern "C" void exit(int);
@@ -2906,7 +3027,7 @@ main()
 }
 
 EOF
-if { (eval echo configure:2910: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3031: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_memcmp_clean=yes
 else
@@ -2924,12 +3045,12 @@ echo "$ac_t""$ac_cv_func_memcmp_clean" 1>&6
 test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.${ac_objext}"
 
 echo $ac_n "checking for vprintf""... $ac_c" 1>&6
-echo "configure:2928: checking for vprintf" >&5
+echo "configure:3049: checking for vprintf" >&5
 if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2933 "configure"
+#line 3054 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char vprintf(); below.  */
@@ -2955,7 +3076,7 @@ vprintf();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3080: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_vprintf=yes"
 else
@@ -2979,12 +3100,12 @@ fi
 
 if test "$ac_cv_func_vprintf" != yes; then
 echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
-echo "configure:2983: checking for _doprnt" >&5
+echo "configure:3104: checking for _doprnt" >&5
 if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2988 "configure"
+#line 3109 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char _doprnt(); below.  */
@@ -3010,7 +3131,7 @@ _doprnt();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3014: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3135: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func__doprnt=yes"
 else
@@ -3037,12 +3158,12 @@ fi
 for ac_func in memmem snprintf vsnprintf gettext
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3041: checking for $ac_func" >&5
+echo "configure:3162: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3046 "configure"
+#line 3167 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3068,7 +3189,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3072: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3193: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3107,7 +3228,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3111: checking for $ac_word" >&5
+echo "configure:3232: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3147,13 +3268,22 @@ test -n "$MAKEINFO" || MAKEINFO="error"
        fi
 
 
-
-echo $ac_n "checking Checking TFM directory""... $ac_c" 1>&6
-echo "configure:3153: checking Checking TFM directory" >&5
-CMR10=`kpsewhich tfm cmr10.tfm`
-TEX_TFMDIR=`dirname $CMR10`
-echo "$ac_t""$TEX_TFMDIR" 1>&6
-
+echo $ac_n "checking links for running from sourcetree""... $ac_c" 1>&6
+echo "configure:3273: checking links for running from sourcetree" >&5
+LILYPONDPREFIX=$absolute_builddir
+LOCALES="it nl"
+for i in $LOCALES; do
+       dir=$LILYPONDPREFIX/share/locale/$i/LC_MESSAGES
+       if test ! -x $dir ; then
+               mkdir -p $dir
+       fi
+       rm -f $dir/lilypond.mo 
+       ln -sf $LILYPONDPREFIX/po/out/$i.mo $dir/lilypond.mo
+done
+rm -f afm; ln -sf $LILYPONDPREFIX/mf/out afm
+rm -f tfm; ln -sf $LILYPONDPREFIX/mf/out tfm
+rm -f cmtfm; ln -sf $TEX_TFMDIR cmtfm
+echo "$ac_t""ok" 1>&6
 
 
     trap '' 1 2 15
@@ -3340,6 +3470,9 @@ s%@INIMETAFONT@%$INIMETAFONT%g
 s%@INIMFONT@%$INIMFONT%g
 s%@INIMETAPOST@%$INIMETAPOST%g
 s%@INIMPOST@%$INIMPOST%g
+s%@MFMODE@%$MFMODE%g
+s%@KPSEWHICH@%$KPSEWHICH%g
+s%@TEX_TFMDIR@%$TEX_TFMDIR%g
 s%@STRIPROFF@%$STRIPROFF%g
 s%@YODL@%$YODL%g
 s%@YODL2HTML@%$YODL2HTML%g
@@ -3351,7 +3484,6 @@ s%@YODL2TXT@%$YODL2TXT%g
 s%@YODL2LESS_DIR@%$YODL2LESS_DIR%g
 s%@LIBOBJS@%$LIBOBJS%g
 s%@MAKEINFO@%$MAKEINFO%g
-s%@TEX_TFMDIR@%$TEX_TFMDIR%g
 
 CEOF
 EOF
@@ -3665,4 +3797,3 @@ fi
     chmod 444 GNUmakefile
 
 
-
index 1968b768cf41ba61eb8c93c36b5113deca6d669c..1f6f5148378e600872ef1ea34ca3f93cc8168ca9 100644 (file)
@@ -4,7 +4,7 @@ composer = "Johann Christoph Faber";
 piece = "1.  Overture";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 global=\notes{
        \time 2/2;
index e895cb50aa41a513b3b20ddf2e38725eff0496a9..5f01cc9934cf05917d71c118dd142ee8c6456d18 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 
 scales = \notes\transpose c''{
                f2 f f f f f f f f f\break 
diff --git a/input/bugs/rep.ly b/input/bugs/rep.ly
new file mode 100644 (file)
index 0000000..94a0615
--- /dev/null
@@ -0,0 +1,14 @@
+\score{
+       <
+                 \context Staff \notes\relative c'{ 
+                         c4 d e f
+                         \repeat semi 3 { g a b c }
+%                        \alternative { { c b a g } { f e d c } } c c c c
+                         \alternative { { c b a g } { f e d c } { c d e f } }
+                         g g g g
+                         \repeat semi 2 { c c c c }
+                         \repeat semi 2 { c c c c }
+                         g g g g
+                 }
+       >
+}
index 1fea3ac1984f391841b06c3fef05b772f804eb07..7bbed535f0ef9de0f36118632b802e85e39c17d3 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 
 one = \notes\relative c{
        c'' d e f
index 74d87dff77b96869238496239a7c37b2c106ad88..60443d076f34b11a30769c2c7fc1328688c048c5 100644 (file)
@@ -57,4 +57,4 @@ of a certain tune (Jazz, Real Book, for example), like
        }
 }
 
-\version "1.0.18";
+\version "1.0.20";
index d931c9bf9733a565c4a73bf57579a166139ac2df..f203dedaf14cba4f6433932fe1c6670f6dad1592 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 
 
 blah = \notes {
index 09a1db7e40e3963e3541cd89273a01357a6a475f..376fadc8ba04e651f737e4e2e13bffe1919972c7 100644 (file)
@@ -10,7 +10,7 @@ copyright =    "public domain";
 Tested Features: example file with comments
 
 %}
-\version "1.0.19";
+\version "1.0.20";
 
 
 % the % is a comment.
index 904e05f0d886b2c64f591a536f5ace659cd07a91..e54ca2a2017c98650dce9bfc321afc608f2c2b38 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 part = \notes {
        c-1 c c c
        r1*3
index 1dcb3eb6a35f31afce611fa06f318091197110ac..bfd90fea410d25abad2d4272b4c16f9eb9f1d70f 100644 (file)
@@ -28,7 +28,7 @@
 % \lbheel \lbheel \lfheel \lftoe
 % \rbheel \rbtoe \rfheel \rftoe
 
-\version "1.0.19";
+\version "1.0.20";
 
 \score{
                \notes {
index 5fd8dfff59a21945a7bc94dca622d97217617a7a..a8c26b71f6d1b384d0025e6a77a9229e5d0f9d92 100644 (file)
@@ -23,7 +23,7 @@
    * organ staff...
 %}
 
-\version "1.0.19";
+\version "1.0.20";
 
 
 
@@ -192,23 +192,23 @@ breakmusic = \notes {
     \translator {
     \VoiceContext
     \name "VoiceOne";
-    ydirection = "1";
+    verticalDirection = "1";
     }
     \translator {
     \VoiceContext
     \name "VoiceTwo";
-    ydirection = "-1";
+    verticalDirection = "-1";
     }
     \translator {
     \VoiceContext
     \name "VoiceThree";
-    ydirection = "1";
+    verticalDirection = "1";
     hshift = "1";
     }
     \translator {
     \VoiceContext
     \name "VoiceFour";
-    ydirection = "-1";
+    verticalDirection = "-1";
     hshift = "1";
     }
    \translator { 
index 4b2091264640c74a24c58813f044ca33ddc1c825..e8ab4e3de6b98f456f826a1d047bc71da7233875 100644 (file)
@@ -7,7 +7,7 @@ TestedFeatures =         "multiple meters, beaming, unsynced bars, userdefd engravers";
 
 
 
-\version "1.0.19";
+\version "1.0.20";
 
 ritme = \notes\transpose c'' {
        \time  4/4;
index 8f130977aada3cce9d062753fa4ff39e8e8f9fa0..4b00ac05be613901c2482aed1b5bc933b1186e84 100644 (file)
@@ -16,7 +16,7 @@ copyright =    "public domain";
 % scales with accents.
 %
 
-\version "1.0.19";
+\version "1.0.20";
 blah =         \notes {
                \time 6/8;      
 \transpose c {
index bdd00db6235af8ea165674f7a20c56356e9b96a5..598e45bc38d28e07611b46e535aba443bef9277d 100644 (file)
@@ -1,5 +1,5 @@
        
-\version "1.0.19";
+\version "1.0.20";
 
 
 blah =         \notes{ \transpose c'' {
index 4578d11e304b0fc721f0a9f207e0f74e5458839d..c018bd523c40beee241d26bb5d043c90b461b613 100644 (file)
@@ -118,4 +118,4 @@ global = \notes {
 }
 
 
-\version "1.0.18";
+\version "1.0.20";
index 0e41f5b2478d7d021133cd1ff744af3924d8afe8..33b050ea55fc3b1f08adc22a8169dfc8f16207c0 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "1.0.19";
+\version "1.0.20";
 \score{
        \notes \transpose c'''{
                \stemup
index 7df84b510b767906951d2831ff03283ddadcf6bc..acb8b7ab87b8b4481903a18e72871b8be9c0f683 100644 (file)
@@ -121,4 +121,4 @@ xxx\break
        }
 }
 
-\version "1.0.19"; 
+\version "1.0.20"; 
index c0e8e2b5670aab932a955ed14ad5891b22cd5f94..d176fbc7f274c1085121bb32d61b3079c6e1cad6 100644 (file)
@@ -31,4 +31,4 @@
 
 }}
 
-\version "1.0.19"; 
+\version "1.0.20"; 
index fd08429887372b53118301cc096082d33d132d7a..8990f4686834a3a5198897054369a971f894a22a 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "1.0.19";
+\version "1.0.20";
 
 onestaff = \context Staff = foo\notes  {
        \property Staff.instr = instr
index 7b5cb08c97dd83e90260b2a685d704c4d6e64f8f..3ad0189aeb7c9ff7d750f28f9795c67e6f59523b 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 
 \score{
        \notes\transpose c'{
index 660d86d902ae1e98735120343774485ff303c8cc..4554160c4351d4c984ab1d67a5765d2c99008c90 100644 (file)
@@ -30,4 +30,4 @@
        }
 }
 
-\version "1.0.19"; 
+\version "1.0.20"; 
index ecaaab30c3a0b312ee1374857d0c4cb71e9a0cfe..f71167fdabcffd291a99965a3e12963168ee005a 100644 (file)
@@ -21,4 +21,4 @@
        }
 }
 
-\version "1.0.19"; 
+\version "1.0.20"; 
index 40f16d56344d0f2ee29dc63f7db10de0171c1ac6..6d69d96723663005d3ee637bdfb2068e5c14e51b 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 
 \score{
        \notes\transpose c''{
index 47ad0f5258b11e32e733a1b16252ae0bdb3e2c31..2e0cbb43ca707ea29868dc5573540cafd31d2fa7 100644 (file)
@@ -6,7 +6,7 @@ copyright =      "PD";
 
 TestedFeatures =        "beams and beamflags";
 }
-\version "1.0.19";
+\version "1.0.20";
 
 \score{
        <
index 93beafe9ae241c53b42354aa36b761a3a7216f6b..83b3e26ff7ae6e179047cfc3e8ceb6d78067af02 100644 (file)
@@ -5,7 +5,7 @@ TestedFeatures =         "This file tests Feta embedded slurs" +
         "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 shortlong = \notes{
        c4()c( c c  |
index 443089d7f16252504c2bc2d5ac9906d49cef79dd..29fae53e31db71ce98a606bad6117f517c7f58df 100644 (file)
@@ -22,4 +22,4 @@ inversions = \notes\transpose c''\chords{
        >
 }
 
-\version "1.0.19"; 
+\version "1.0.20"; 
index b2ad9409ded55a1b33e12fde8da43d53564e6f5c..25ffa4bc7899613c122d2bf26cc85312f2a6e35e 100644 (file)
@@ -41,4 +41,4 @@ tab = \notes\transpose c'''\chords{
 
 }
 
-\version "1.0.19"; 
+\version "1.0.20"; 
index 0ace585d5556ea90fbefb893bec81e792e0f0588..06cf21a60a36060a83b6af4094b5bffbb60516dd 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 
 %{
 Would this be acceptable/good enough/convenient for entry?
index 2fb5476b47f19c034629292235f1f7f03d4be656..4050cbfcd5d8364a4cf65dfc32a82cb415286bb9 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 
 \score {
        \notes{ 
index ce736b98456bb20ac433c54540509321de013921..c938d5bd49237b71aee8a0d28fbadae0aaa153b7 100644 (file)
@@ -5,7 +5,7 @@ enteredby =      "HWN,JCN";
 copyright =     "public domain";
 Tested =        "test the Collision resolution ";
 }
-\version "1.0.19";
+\version "1.0.20";
 
 twovoice = \context Staff \notes < 
        \context Voice=i { \stemdown c4 d e f g2~  g4 a [c8 d e f] c2| }
index 1bf7fb703d9db66348e7a31839ef12ca36ad1544..5c94ae07bf9dede84caa1626007f152196cc96d2 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 
 
 \score {
index c3debaf4ebbe16eda32de77dcd523fb3e4218d7e..dc382e07a6ab720a981acb7e8894f47bf93286ce 100644 (file)
@@ -7,7 +7,7 @@ TestedFeatures = "This file tests silly line shapes";
 
 \include "paper20.ly"
 
-\version "1.0.19";
+\version "1.0.20";
 
 oden = \lyrics{ 
        O8 |
index bc799418d93c5509df3532ccf3e887cc1c399a0d..6b42c3e8f0940ad96bca38c378680b87ee94ba72 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 
 \score{
        \notes{
index 44aa7cfc6c5c94cd93e1ea835b2353b54b99e530..ea0587909da70b914a34bfc5fc1b92c5c9cb4bf2 100644 (file)
@@ -5,4 +5,4 @@
        >
 }
 
-\version "1.0.19"; 
+\version "1.0.20"; 
index 03b2e26d45d05dd67749211bb6ed5ba5b0842090..829c0929b946bbd00a4dcdfd9d5f60f6a43b2110 100644 (file)
@@ -42,4 +42,4 @@ extra-staff.ly:
 }
 
 
-\version "1.0.19"; 
+\version "1.0.20"; 
index 84aee9850a14e741215ccee6fdd007020f1abd22..a9992e2dff9778bc2a539a07fb5d1b59884824b5 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 
 \score{
        \notes \relative c {
index a1991223ca5483777f8916b7589076b85abfaaa2..7e2b30aa53fa490ff4239e15a88f6d56031a65d2 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 
 FontBody=      \notes\transpose c''{ 
                \bar "|:";
index ad8610de6439e6f41f45cad623ac83d92df7356a..c6b011f481f04b8468bbe7127dd4c63f8e5e6eb7 100644 (file)
@@ -7,7 +7,7 @@ description = "This file tests the Feta music font";
 % "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "font-body.ly"
 \score{
index afad636bdc6699f7aa2547915120010f5881e0d2..6a5c020a00b20d1b608322fb554b4f0ed2ac9938 100644 (file)
@@ -7,7 +7,7 @@ description = "This file tests the Feta music font";
 % "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 \include "paper16.ly"
 \include "font-body.ly"
 
index abefe5b00d93ccb591e6225bbe6c671022ab895a..c83061d51963eb3722a5d06c56851e1a8454729e 100644 (file)
@@ -17,5 +17,5 @@ TestedFeatures =
            gourlay_maxmeasures =5.;
        }
 }
-\version "1.0.19"; 
+\version "1.0.20"; 
 
index cbb749af48d03b316a8ecb7ad93fae376d5b475d..ab4414da7012f2313d8d518994c5b1b689afcd5d 100644 (file)
@@ -4,7 +4,7 @@ copyright =      "PD";
 TestedFeatures =        "This file tests some nasty Gourlay spacings";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 %{
 
index 966da1b65f622dd954f900b757ae323153a1fc2b..0261511d6eb317cdba0432ff97c3322d1dcc37b1 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "1.0.19";
+\version "1.0.20";
 
 \score{
        <
index ddbec394f6132f0712f2032b682536c21f8e7e42..5f2ebd04e284c9c68aa9885e4da075d3c40a55cd 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 
 toeter_i = \notes\relative c <{
                \property Staff.instrument = "Toeters"
index 2c2cbb43f4b7d476261119455e481b06eb973b06..202b65df42c4c03d21d54197e9546a44b0f62ae3 100644 (file)
@@ -6,7 +6,7 @@
    /Mats B
 %}
 
-\version "1.0.19";
+\version "1.0.20";
 
 incipit = \notes\relative c'{
   <b1 fis' b d>
index 4eff652fb66c36da7446308fe58943058f9e0c7c..e35be1b04036bd719f7dfdc1a3ce23fce70d5061 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 
 %{
 test key itemv breaking
index d0aa3c607ae49b808d96186d401e28d5837b3b71..d595ebe82ae6705b3140de4f2f3551856085c5a3 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 \score{
        \notes\relative c'{
                [c16 \stemdown c'' \stemboth c,, d]
index ad9848e6f097d9a5be41a22d23a2fde5ca70fb78..6d0f2aac3fa6e98820a5a52e7274c1783c4a13e4 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 
 global = \notes {
   s1 | \mark "A";
index eafe9308b6bc84439b88bf505847282c15046c98..b49a9e028ebce4990952b9e268c8d1a8f8fa8936 100644 (file)
@@ -11,5 +11,5 @@ bla = \notes {
        >
        \paper { Gourlay_maxmeaures = 2.; }
 }
-\version "1.0.19"; 
+\version "1.0.20"; 
 
index 6672b777bb3327e29f5adbdea4fed0fb7155beec..2b30a3e8112bef19075885478af35b82cee4a3e8 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 
 voice_one = \notes\transpose c''{  \stemup
        R1 * 2 | f'4-. r r2 | R1 * 3 |
index 946b97b13eab453491d93c1aee068b051aae5e12..7cdf9d88f133ce267de12cc5d9d2d682f4b59363 100644 (file)
@@ -12,7 +12,7 @@ c4 c2 c8  c16 c16  c1
    \context ThreadedVoice <
     \context Thread = TA
       { \property Thread.noteHeadStyle = "cross"
-        \property ThreadedVoice.ydirection = \up c16} 
+        \property ThreadedVoice.verticalDirection = \up c16} 
     \context Thread = TB
       { \property Thread.noteHeadStyle = "" a16  }
     
@@ -40,4 +40,4 @@ c4 c2 c8  c16 c16  c1
        }
     }
 }
-\version "1.0.19"; 
+\version "1.0.20"; 
index 18ce9944b473ba1f4ad96aa251ca206a3b925bd4..37d6c8ac296631231234f76931b98b0f94d647c2 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 
 \score{
        \notes \transpose c''{
index be7b99479ce10d58e18abc81fec4e255adf91b9c..eb7d152550a9abf4563a7021c7a5458c972d09a9 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 
 m = \notes \relative c''{
 c1 | c2 c | c c | c c | c c | c c | c c | c c | 
index 9ffb5c8e7598a0710b56591f499255776daa2162..a43c1ed64b1b98f93d165fd5370a53cc2d17d66c 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 
 \score {
 
diff --git a/input/test/rep.ly b/input/test/rep.ly
deleted file mode 100644 (file)
index c799c7b..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-\score{
-       <
-                 \context Staff \notes\relative c'{ 
-                         c4 d e f
-                         \repeat 3 { g a b c }
-%                        \alternative { { c b a g } { f e d c } } c c c c
-                         \alternative { { c b a g } { f e d c } { c d e f } }
-                         g g g g
-                         \repeat 2 { c c c c }
-                         \repeat 2 { c c c c }
-                         g g g g
-                 }
-       >
-}
-
-\version "1.0.16"; 
index 92b951c2ce37fc5714e8f3bd8baa11588a3fb922..e509994d67f40ea2bd2e78011a6ade0a18aaef2d 100644 (file)
@@ -34,4 +34,4 @@ restsII = \context Staff \notes {
        }
 }      
 
-\version "1.0.19"; 
+\version "1.0.20"; 
index cb5297585ace39a8058f302de04a294e5f9c7368..a43bb3d02b5f835c53397e929b048cc1dbfca88e 100644 (file)
@@ -1,7 +1,7 @@
 
 
 
-\version "1.0.19";
+\version "1.0.20";
 
 onestaff =     \context Staff = foo\notes  {
                \property Staff.instr = instr
index c290a07d746a425920cff5aa8641306e16573fb0..e3317a331233ed7a6f230ec4afa61048acdc0544 100644 (file)
@@ -5,7 +5,7 @@ TestedFeatures =         "This file tests Feta embedded slurs" +
         "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 shortlong = \notes{
        c4()c( c c  |
index 921dfbffe22f08d86945b571fbcdbc1815748d7e..94b53b3560bb85af33ecec4cc31d1d3cfcaef84c 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 
 % bug
 % excentric slur can't handle this ...
index df6ac36c6953c48a3e5795f9f0fd2c37bbd6b707..7fda627819ad72070834ce2c185d1b51a9ea2259 100644 (file)
@@ -1,5 +1,5 @@
 % test damping
-\version "1.0.19";
+\version "1.0.20";
 
 \score{
        \notes\relative c'{
index 774855cacbba0b805e059687915a869b01dbc836..7fe0156d971ff07fd5325c6cd105bb6261c972fa 100644 (file)
@@ -38,4 +38,4 @@
        }
 }
 
-\version "1.0.19"; 
+\version "1.0.20"; 
index 17174563fdc0f2e4a7f20260e38dd614cff9085c..77a2194b79378fcd08a0ecd97de12b72f8d18418 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 
 % urg, the direction of the slur gets swapped!
 \score{
index cf98f6088c1be8ff1ef7912a66c270fea07bd0c2..78792b52f9905ca00ab0ec9ccec9b1824189c9ad 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "1.0.19";
+\version "1.0.20";
 
 \score{
        \notes\transpose c'{
index 6d1474439bf1161ff8d58580375bf0bdb158123a..8ad2b838759651d61c5aa5da08de4ec6afa4ddbd 100644 (file)
@@ -14,9 +14,9 @@ source = "Petits Preludes et Fugues.  Urtext. Editions Henry Lemoine, Paris.";
     \notes \relative c''
        \context GrandStaff <
        \context Staff = SA <
-               \context Voice = VA { \property Voice.ydirection= 1
+               \context Voice = VA { \property Voice.verticalDirection= 1
                        e4 dis4 e2 }
-               \context Voice = VB { \property Voice.ydirection= -1
+               \context Voice = VB { \property Voice.verticalDirection= -1
                        [cis8 a] [fis b] gis2 }
                {\key e; }
                >
@@ -25,14 +25,12 @@ source = "Petits Preludes et Fugues.  Urtext. Editions Henry Lemoine, Paris.";
        } 
 > 
 
-\paper 
-{
-}
 \paper 
 {
 %      linewidth = 5.0 \cm; % ly2dvi barfs on -1
        linewidth = 8.0 \cm;
+%      linewidth = 12.0 \cm;   
 }
 }
 
-\version "1.0.19"; 
+\version "1.0.20"; 
index a1f7a086138ca6f3d897cf00437e1606ea940ba6..4d90e751920413b86b5049a2032ee1bcd0e86f32 100644 (file)
@@ -6,65 +6,66 @@ copyright =    "public domain";
 TestedFeatures =        "This file tests various spacings";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 multipart = \notes \relative c'{ 
     \context StaffGroup < 
-                \context Staff = one { 
+                \context Staff = one \context Voice 
                    c4
                    c 
                    c c 
                 }
-                \context Staff = two { 
+                \context Staff = two \context Voice 
                    [c8 c] 
                    [c c] 
                    [c c] [c c] 
                 }
-                \context Staff = three { 
+                \context Staff = three \context Voice 
                    \times 2/3 { [c8 c c] } 
                    \times 2/3 { [c  c c] } 
-                   \times 2/3 { [c  c c] } \times 2/3 { [c c c] } 
+                   \times 2/3 { [c  c c] }
+                  \times 2/3 { [c c c] } 
                 }
-                \context Staff = four { 
+                \context Staff = four \context Voice 
                    \times 2/4 { [c8 c c c] }
                    \times 2/4 { [c  c c c] } 
                    \times 2/4 { [c  c c c] } \times 2/4 { [c c c c] } 
                 }
-                \context Staff = five { 
+                \context Staff = five \context Voice 
                    \times 2/5 { [c8 c c c c] } 
                    \times 2/5 { [c  c c c c] } 
                    \times 2/5 { [c  c c c c] } \times 2/5 { [c c c c c] } 
                }
-                \context Staff = six { 
+                \context Staff = six \context Voice 
                    \times 2/6 { [c8 c c c c c] } 
                    \times 2/6 { [c  c c c c c] } 
                    \times 2/6 { [c  c c c c c] } \times 2/6 { [c c c c c c] } 
                 }
-                \context Staff = seven { 
+                \context Staff = seven \context Voice 
                    \times 2/7 { [c8 c c c c c c] } 
                    \times 2/7 { [c  c c c c c c] } 
                    \times 2/7 { [c  c c c c c c] } 
                   \times 2/7 { [c  c c c c c c] } 
                 }
-                \context Staff = eight { 
+                \context Staff = eight \context Voice 
                    \times 2/8 { [c8 c c c c c c c] } 
                    \times 2/8 { [c  c c c c c c c] } 
                    \times 2/8 { [c  c c c c c c c] } 
                   \times 2/8 { [c  c c c c c c c] } 
                }
-                \context Staff = nine { 
+                \context Staff = nine  \context Voice 
                    \times 2/9 { [c8 c c c c c c c c] } 
                    \times 2/9 { [c  c c c c c c c c] } 
                    \times 2/9 { [c  c c c c c c c c] } 
                   \times 2/9 { [c  c c c c c c c c] } 
                }
-                \context Staff = ten { 
+                \context Staff = ten  \context Voice 
                    \times 2/10 { [c8 c c c c c c c c c] } 
                    \times 2/10 { [c  c c c c c c c c c] } 
                    \times 2/10 { [c  c c c c c c c c c] } 
                   \times 2/10 { [c  c c c c c c c c c] } 
                }
-                \context Staff = eleven { 
+                \context Staff = eleven  \context Voice 
                    \times 2/11 { [c8 c c c c c c c c c c] } 
                    \times 2/11 { [c  c c c c c c c c c c] } 
                    \times 2/11 { [c  c c c c c c c c c c] } 
index 4e917d1434f4409c834aceaaed433a006df54275..dd60a13a8b7ed2173861fdfafd10cec84272f7be 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "1.0.19";
+\version "1.0.20";
 nt = \notes { c1 \break c1 c1 } 
 stuff = \notes \relative c'' <
   \context Staff = stone  { \nt }
index 16d9f787f91231333d0689a8d777a42ffea06177..df215a6cd52336a427dd25418b7ff000bcdf5175 100644 (file)
@@ -1,6 +1,6 @@
 
        
-\version "1.0.19";
+\version "1.0.20";
 
 \score {
 
index 3ff8c6bbf035c9b2aef4a6e10b56fce1ea98de78..65e3d68065db1e6e74a986b6b35672d1eb7e31ed 100644 (file)
@@ -18,4 +18,4 @@
 }
 
 
-\version "1.0.19"; 
+\version "1.0.20"; 
index b631184e6ea669dfa899e04e8157f55c7507fa09..144f638fc917d17489ed76e12754e3f4496d9489 100644 (file)
@@ -14,4 +14,4 @@
 >
 \paper { linewidth = -1.; }
 }
-\version "1.0.19"; 
+\version "1.0.20"; 
index fe722bde6af950dbdeb0bc53b4b963f0e97ba45a..978caa555586e869bab5e98d98a66bb5345f5399 100644 (file)
@@ -8,7 +8,7 @@ of beams";
        
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 beamintervals = \notes{
                \time 7/4;
index 2c5e64e254c6cc8fe6ed7b36627c72605929e286..9cd65c31c113326951839d826b27b14fae71bb0b 100644 (file)
@@ -7,7 +7,7 @@ enteredby =     "Maarten Storm";
 instrument=    "Violoncello";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 % this is an example of extreme dynamics
 
index 4ff7dbad308ed8d95785d4b3c545e930142674f4..8f0294019b6eca3d103ea3be2a484119827e49f9 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 
 $somewhat_long = \lyrics{
        \property Lyrics . textstyle = "roman" 
index e44462f764e4601dff0ad1e060069acea35404eb..748e754b83e4b83b121d041852f9cc28b395a0c4 100644 (file)
@@ -7,7 +7,7 @@
 % the thumb-script is used in cello music to indicate a note that should
 % be played with your thumb. 
 
-\version "1.0.19";
+\version "1.0.20";
 
 \score { \notes \relative c'' {
                [<a8_\thumb a'8-3(> <)b_\thumb b'-3>
index 49876a236ca0215f6d280d338ccfb3d689ae4aba..1307452524870abaa7add3a3bc188102a0f9797a 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 
 
 %  middle tie is wrong
index 322bd528377c4a95349682d36c5be9a969385907..61944f402602823913b39e5bfd75932c4082ead1 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 
 tie = \notes\transpose c''{
 
index d64234015d4c5e3ca2125a399399e0bed15e27d0..91fa42cbd3bc52ae7affdafc931070271807a6bd 100644 (file)
@@ -10,7 +10,7 @@ source =      "urtext";
 instrument=    "Instrument";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 \score{
        \notes
index 548dec1260f99e2d154119f3eb7cb142c21b9724..2271026b718c08562d2a5a0d4b8c018330782260 100644 (file)
@@ -22,7 +22,7 @@ copyright =    "public domain";
 }
 
 
-\version "1.0.19";
+\version "1.0.20";
 
 vOne = \notes \relative c''{
         \clef"violin";
index f0f778ac7e68a92d9193494c4ac34ff12c52f738..aaa005aeec5c2cecb12fc96294710b0ac0936297 100644 (file)
@@ -8,4 +8,4 @@
                 }
 }
 
-\version "1.0.19"; 
+\version "1.0.20"; 
index 259013260f9a1b09763472246bddd853041abd5d..69ba825f68c372df8bcad5c7230c6d533f2008c6 100644 (file)
@@ -8,4 +8,4 @@
 {\voicetwo c}>
 
 
-\version "1.0.19"; 
+\version "1.0.20"; 
index 305dac6480c3f0cfcb1d92fa403644c8af67ac03..52e286e1c2c515906fcdb3e82300df72302cadcc 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "1.0.19";
+\version "1.0.20";
 
 \score {
 \notes <
index 6b42433d09f121f0b6b2196bb08dda4cd6c50d63..ec9caaf3717e2e9032a064eb77cd8f7f4be97a80 100644 (file)
@@ -15,4 +15,4 @@
        }
 }
 
-\version "1.0.19"; 
+\version "1.0.20"; 
index c36e11ffaecbb449a987401c9bb9f0ed84aa3432..c9371664a4947948344bf149afebb0ce418687be 100644 (file)
@@ -21,4 +21,4 @@ What's supposed to be demonstrated here?
        }
 }
 
-\version "1.0.19"; 
+\version "1.0.20"; 
index 08112efc1263a0369a00b19db01e0def9b22ab8c..b0779db1939c99b21d34bd33bd23e0d97e84f2b3 100644 (file)
@@ -5,7 +5,7 @@ TestedFeatures =         "This file tests trills" +
         "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 \score{
        \notes{ 
index 802246a3e6515e126c8241e1ad42ae3232e81920..b9c21ed9500c42e8cfc0fa520b9e958c87676504 100644 (file)
@@ -11,7 +11,7 @@ copyright =    "public domain";
 Tested Features                lyrics and chords
 %}
 
-\version "1.0.19";
+\version "1.0.20";
 
 melodie = \notes\relative c'' {
         \clef "violin";
index 3ab846f61c9b904c0a944e449110ea8936eef717..58d5b5541cd3d0997fc66ea9abe71a31b48e5f35 100644 (file)
@@ -19,7 +19,7 @@ traditional song in various languages.
 Tested Features: lyrics, interleaving lyrics and staffs, repeats
 %}
 
-\version "1.0.18";
+\version "1.0.20";
 
 melody = \notes \relative c'' {
        \clef violin;
index 7df44b352321c8674ecca1c82896738658f538d5..b4136ae520efe85490c286bde43bad70aebd5b11 100644 (file)
@@ -52,8 +52,8 @@ Collision::do_pre_processing()
 
   /*
     [stem up, stem up shifted, stem down shifted, stem down]
-  */
-  Array<Note_column*> clash_group_arr_a[4];
+  */ 
+  Array<Note_column*> clash_group_arr_a[4]; // TODO: use drul.
 
   for (int i=0; i < clash_l_arr_.size(); i++)
     {
index 16dcd2c33257ec00c3e7d0f46d34601c182ba44f..d63c92b9ab65f3344146c75d03a6ada7408a6f42 100644 (file)
@@ -21,6 +21,12 @@ struct Spacer_rod {
   void print () const;
 };
 
+struct Spacer_spring
+{
+  Real distance_f_;
+  Real hooke_f_;
+  Real other_idx_;
+};
 
 /// helper struct for #Spacing_problem#
 struct Column_info {
@@ -33,6 +39,7 @@ struct Column_info {
   bool ugh_b_;         
 
   Drul_array< Array<Spacer_rod> > rods_;
+  Drul_array< Array<Spacer_spring> > springs_;  
   
   Column_info();
   Column_info (Paper_column *,Real const *);
index af50e44ca25296b7b6ca9d28db4ba4190c1378ba..d573c8fdcfb987f98c51824cc21e0ddb6dedf779 100644 (file)
@@ -61,6 +61,7 @@ struct Clef_engraver;
 struct Clef_performer;
 struct Column_x_positions;
 struct Column_info;
+struct Column_spring;
 struct Collision;
 struct Collision_engraver;
 struct Command_req;
@@ -218,12 +219,13 @@ struct Skip_req;
 struct Slur;
 struct Slur_engraver;
 struct Slur_req;
-struct Spacing_req;
+struct Spacing_spanner;
 struct Span_bar;
 struct Span_score_bar;
 struct Span_dynamic_req;
 struct Span_req;
 struct Spanner;
+struct Spring;
 struct Spring_spacer;
 struct Staff_bracket;
 struct Staff_performer;
index 2410acc2855a4f945d53930f40b06b4149d8a570..578c58638b22778b7ff776758f3c21d80834cf2b 100644 (file)
 /// the columns of a score that form one line.
 class Line_of_score : public Axis_group_spanner, public Super_element
 {
-  Link_array<Paper_column> cols_;
 public:
+  Link_array<Paper_column> cols_;
 
   Line_of_score();
     
   /// is #c# contained in #*this#?
   bool contains_b (Paper_column const *c) const;
     
-  Link_array<Line_of_score> get_lines() const;
   Line_of_score * set_breaking (Array<Column_x_positions> const&, int j) const;
 
 
-  void output_all ();
+  void output_all (bool last_line);
   void add_column (Paper_column*);
   
 protected:
index 1211309e1cc9c754cacf302830ab887dc01e8023..bf2d032cf25183ca2a80bdfe2709f86e3d7cb1d9 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "axis-group-item.hh"
 #include "rod.hh"
-
+#include "spring.hh"
 
 /**
    stuff grouped vertically.
@@ -35,6 +35,7 @@ public:
   void preprocess ();
   /// set a minimum distance
   void add_rod (Paper_column * to, Real distance);
+  void add_spring (Paper_column * to, Real dist, Real strength);
 
   virtual Paper_column * column_l () const;
   /// if lines are broken then this column is in #line#
index 1b62555d0379d9838e84a308b3667976f0416940..847ae9ec1220263ad6ef979dfe822a3035774ec2 100644 (file)
@@ -37,6 +37,7 @@ public:
   void output_scheme (SCM scm);
   void start_line (Real height);
   void stop_line ();
+  void stop_last_line ();
   void switch_to_font (String fontname);
 
   Paper_stream* outstream_l_;
index fbde969355aa575a11070a4def704ba9d7bf0fe3..4d1f13982edfba40270c5e2c52ff60757010c832 100644 (file)
@@ -13,7 +13,8 @@
 #include "direction.hh"
 #include "drul-array.hh"
 
-struct Column_rod {
+struct Column_rod
+{
   Paper_column *other_l_;
   Real distance_f_;
 
@@ -31,19 +32,5 @@ struct Rod
 
   Rod ();
 };
-
-struct Column_spring {
-  Paper_column *other_l_;
-  Real distance_f_;
-  Real strength_f_;
-  
-  Column_spring ();
-  static int compare (const Column_spring &r1, const Column_spring &r2);
-  void print () const;
-};
-
-struct Spring{
-  
-};
 #endif /* ROD_HH */
 
diff --git a/lily/include/spacing-engraver.hh b/lily/include/spacing-engraver.hh
new file mode 100644 (file)
index 0000000..3c1f5f7
--- /dev/null
@@ -0,0 +1,57 @@
+/*   
+  spacing-engraver.hh -- declare Spacing_engraver
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  
+ */
+
+#ifndef SPACING_ENGRAVER_HH
+#define SPACING_ENGRAVER_HH
+
+#include "engraver.hh"
+#include "pqueue.hh"
+
+struct Rhythmic_tuple
+{
+  Score_element_info info_;
+  Moment end_;
+  
+  Rhythmic_tuple ()
+    {
+    }
+  Rhythmic_tuple (Score_element_info i, Moment m )
+    {
+      info_ = i;
+      end_ = m;
+    }
+  static int time_compare (Rhythmic_tuple const &, Rhythmic_tuple const &);  
+};
+
+/**
+   Acknowledge rhythmic elements, for initializing spacing fields in
+   the columns.
+
+   should be the  last one of the toplevel context
+*/
+class Spacing_engraver : public Engraver
+{
+  PQueue<Rhythmic_tuple> playing_durations_;
+  Array<Rhythmic_tuple> now_durations_;
+  Array<Rhythmic_tuple> stopped_durations_;
+
+  Spacing_spanner * spacing_p_;
+protected:
+  VIRTUAL_COPY_CONS(Translator);
+  virtual void acknowledge_element (Score_element_info);
+  virtual void do_post_move_processing ();
+  virtual void do_pre_move_processing ();
+  virtual void do_creation_processing ();
+  virtual void do_removal_processing ();
+public:
+  Spacing_engraver ();
+};
+
+#endif /* SPACING_ENGRAVER_HH */
+
index fbf332b2c7661d97f26847e7ddce2fd0248ca87b..b69209d9061cb133902d0798301eeaf1ecb8f44d 100644 (file)
 #ifndef SPACING_SPANNER_HH
 #define SPACING_SPANNER_HH
 
+#include "spanner.hh"
+
 class Spacing_spanner : public Spanner
 {
-  Link_array<Paper_column> cols_;
-
+public:
   Spacing_spanner ();
+  VIRTUAL_COPY_CONS(Score_element);
+  Score_column *scol (int) const;
+  Array<Spring> do_measure (int,int) const;
+  int col_count () const;
 protected:
-  virtual void do_space_processing ();
+  virtual  Array<Spring> get_springs () const;
+  
 };
 
 #endif /* SPACING_SPANNER_HH */
index 91c75a7aca2b6e3081f508299e129029482f21ff..8ad3caa31fa0dab0385c236ca039367ff6d33439 100644 (file)
@@ -55,7 +55,9 @@ public:
   Spanner ();
   Spanner (Spanner const &);
   bool broken_b () const;
+
   virtual Array<Rod> get_rods () const;
+  virtual Array<Spring> get_springs () const;  
   virtual Spanner* find_broken_piece (Line_of_score*) const;
 protected:
   void set_my_columns ();
@@ -69,7 +71,6 @@ protected:
   Array<Breaking_information> broken_info_;
   friend Axis_group_spanner; // UGH
 
-  virtual void output_processing ();
   virtual void do_space_processing ();
   virtual void do_break_processing ();
   virtual Interval do_width () const;
index 49e9501841dd5124fa1f64e29cfe58840c70ec2b..3b89b247e19c142879a18d59fb02a10690145682 100644 (file)
@@ -39,8 +39,9 @@
     The quality is given by the total potential energy in the
     springs. The lower the energy, the better the configuration.
 
-    TODO: make item widths work per Staff.
 
+    TODO: too complicated.  Revise.
+    Use force iso. energy.  Also optimise for uniform density
 */
 
 class Spring_spacer : public Line_spacer {
diff --git a/lily/include/spring.hh b/lily/include/spring.hh
new file mode 100644 (file)
index 0000000..d4e2e94
--- /dev/null
@@ -0,0 +1,36 @@
+/*   
+  spring.hh -- declare Spring, Column_spring
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  
+ */
+
+#ifndef SPRING_HH
+#define SPRING_HH
+
+#include "lily-proto.hh"
+#include "drul-array.hh"
+
+struct Column_spring {
+  Paper_column *other_l_;
+  Real distance_f_;
+  Real strength_f_;
+  
+  Column_spring ();
+  static int compare (const Column_spring &r1, const Column_spring &r2);
+  void print () const;
+};
+
+struct Spring{
+  Drul_array<Item*> item_l_drul_;
+  Real distance_f_;
+  Real strength_f_;
+  void add_to_cols ();
+  Spring ();
+};
+
+
+#endif /* SPRING_HH */
+
index f8ac1a31f94bb1511c04274b8cf8a37fd302fde6..cb6eb72ebf046234b4e72cb03ee0b6587db00f55 100644 (file)
@@ -22,10 +22,8 @@ public:
   Tie ();
   void set_head (Direction, Note_head*head_l);
   VIRTUAL_COPY_CONS(Score_element);
-  
-  bool same_pitch_b_;
-  Drul_array<Note_head *> head_l_drul_;
 
+  Drul_array<Note_head *> head_l_drul_;
 protected:
   virtual void do_add_processing ();
   virtual void do_post_processing ();
index 084ee6013e10f7726b26969a56dddefc250821da..ec786d7815cb2f4797bc5b14ceaab285b6cf84fd 100644 (file)
@@ -24,6 +24,7 @@ Line_of_score::contains_b (Paper_column const* c) const
   return cols_.find_l ((Paper_column*)(c));
 }
 
+// const?
 Line_of_score*
 Line_of_score::set_breaking (Array<Column_x_positions> const &breaking, int j) const
 {
@@ -83,7 +84,7 @@ Line_of_score::do_substitute_element_pointer (Score_element*o, Score_element*n)
 }
 
 void
-Line_of_score::output_all ()
+Line_of_score::output_all (bool last_line)
 {
   Interval i(extent(Y_AXIS));
   if (i.empty_b())
@@ -93,5 +94,8 @@ Line_of_score::output_all ()
   
   pscore_l_->outputter_l_->start_line (i.length ());
   Super_element::output_all ();
-  pscore_l_->outputter_l_->stop_line ();
+  if (last_line)
+    pscore_l_->outputter_l_->stop_last_line();
+  else
+    pscore_l_->outputter_l_->stop_line ();
 }
index c40679e1f8b2fdd04e92e8e098047054ac86264a..8506350e39b6f27c17959fcc8484a124f80b2a68 100644 (file)
@@ -50,6 +50,7 @@ Local_key_engraver::process_acknowledged ()
 {
   if (!key_item_p_ && mel_l_arr_.size()) 
     {
+      bool forget = get_property ("forgetAccidentals",0).to_bool();
       for (int i=0; i  < mel_l_arr_.size(); i++) 
        {
          Item * support_l = support_l_arr_[i];
@@ -72,9 +73,10 @@ Local_key_engraver::process_acknowledged ()
          key_item_p_->add_pitch (note_l->pitch_,
                                  note_l->cautionary_b_);
          key_item_p_->add_support (support_l);
-         local_key_.set (note_l->pitch_);
+         
+         if (!forget)
+           local_key_.set (note_l->pitch_);
        }
-       
     }
 }
 
@@ -113,8 +115,7 @@ Local_key_engraver::acknowledge_element (Score_element_info info)
     }
   else if (Tie * tie_l = dynamic_cast<Tie *> (info.elem_l_))
     {
-      if (tie_l->same_pitch_b_)
-       tied_l_arr_.push (tie_l-> head_l_drul_[RIGHT]);
+      tied_l_arr_.push (tie_l-> head_l_drul_[RIGHT]);
     }
 }
 
@@ -124,7 +125,8 @@ Local_key_engraver::do_process_requests()
   Time_description const * time_C_ = get_staff_info().time_C_;
   if (time_C_ && !time_C_->whole_in_measure_)
     {
-      if (key_C_)
+      bool no_res = get_property ("noResetKey",0).to_bool ();
+      if (!no_res && key_C_)
        local_key_= *key_C_;
     }
 }
index 8378a68f7a069c69a02f8f278c22697877d46007..fee4a083b78764d5fbd6549d31c25b5db645b6dd 100644 (file)
@@ -38,6 +38,35 @@ Paper_column::add_rod (Paper_column * p, Real d)
   minimal_dists_arr_drul_[dir].push (cr);
 }
 
+void
+Paper_column::add_spring (Paper_column * p, Real d, Real s)
+{
+  Direction dir =  Direction (sign (p->rank_i ()  - rank_i ()));
+  
+  if (!dir)
+    {
+      warning ("Must set spring between differing columns.");
+      return;
+    }
+  
+  for (int i=0; i < spring_arr_drul_[dir].size (); i++)
+    {
+      Column_spring &spring = spring_arr_drul_[dir][i];
+      if (spring.other_l_ == p)
+       {
+         spring.distance_f_ = spring.distance_f_ >? d;
+         return ;
+       }
+    }
+
+  Column_spring cr;
+  cr.distance_f_ = d;
+  cr.strength_f_ = s;  
+  cr.other_l_ = p;
+
+  spring_arr_drul_[dir].push (cr);
+}
+
 int
 Paper_column::rank_i() const
 {
@@ -55,15 +84,20 @@ Paper_column::do_print() const
 {
 #ifndef NPRINT
   DOUT << "rank: " << rank_i_ << '\n';
-  for (int i=0; i < minimal_dists_arr_drul_[LEFT].size (); i++)
-    {
-      minimal_dists_arr_drul_[LEFT][i].print ();
-    }
-  DOUT << "Right: ";
-  for (int i=0; i < minimal_dists_arr_drul_[RIGHT].size (); i++)
+  Direction d = LEFT;
+  do
     {
-      minimal_dists_arr_drul_[RIGHT][i].print ();
+      for (int i=0; i < minimal_dists_arr_drul_[d].size (); i++)
+       {
+         minimal_dists_arr_drul_[d][i].print ();
+       }
+      for (int i=0; i < spring_arr_drul_[d].size (); i++)
+       {
+         spring_arr_drul_[d][i].print ();
+       }
+      
     }
+  while ((flip (&d))!=LEFT);
   Item::do_print ();
 #endif 
 }
@@ -97,10 +131,14 @@ Paper_column::column_l () const
   return (Paper_column*)(this);
 }
 
-
+/*
+  ugh.
+ */
 void
 Paper_column::preprocess ()
 {
   minimal_dists_arr_drul_[LEFT].sort (Column_rod::compare);
   minimal_dists_arr_drul_[RIGHT].sort (Column_rod::compare);  
+  spring_arr_drul_[LEFT].sort (Column_spring::compare);
+  spring_arr_drul_[RIGHT].sort (Column_spring::compare);  
 }
index a3194757f2e7ce707fb762cd7f01439e64931cd4..4edfd1b3e9e8de9bd7495f27540d32178c4eb275 100644 (file)
@@ -221,8 +221,7 @@ Paper_score::process ()
 
       line_l->post_processing ();
        *mlog << i << flush;
-      line_l->output_all ();
-
+      line_l->output_all (i + 1 == lines.size());
       if (experimental_features_global_b)
        *mlog << '(' << elem_p_arr_.size () + span_p_arr_.size () << ')';
       
index 4337ad92d64ca226b68347a567a4629fc882c38b..96ba69012f78fb24a8d4891b999c0a0614ae2808 100644 (file)
@@ -292,3 +292,10 @@ Paper_outputter::stop_line ()
   SCM scm = gh_list (ly_symbol ("stop-line"), SCM_UNDEFINED);
   output_scheme (scm);
 }
+
+void
+Paper_outputter::stop_last_line ()
+{
+  SCM scm = gh_list (ly_symbol ("stop-last-line"), SCM_UNDEFINED);
+  output_scheme (scm);
+}
index 34e329be2e236bf75729c44e51321d2264007359..66e5b059b29b6404c623bd6dcd8f612517aa7346 100644 (file)
@@ -9,6 +9,16 @@
            Jan Nieuwenhuizen <janneke@gnu.org>
 */
 
+/*
+       Ambiguities:
+
+       * \alternative
+
+       * use of '-' in various places
+
+*/
+
+
 #include <iostream.h>
 #include "lily-guile.hh"
 #include "notename-table.hh"
@@ -44,8 +54,8 @@
 #include "new-repeated-music.hh"
 
 // mmm
-Mudela_version oldest_version ("1.0.16");
-Mudela_version version ("1.0.19");
+Mudela_version oldest_version ("1.0.20");
+Mudela_version version ("1.0.20");
 
 void
 print_mudela_versions (ostream &os)
@@ -1037,7 +1047,7 @@ request_that_take_dir:
 request_with_dir:
        script_dir request_that_take_dir        {
                if (G_script_req * gs = dynamic_cast<G_script_req*> ($2))
-                       gs->dir_ = $1;
+                       gs->dir_ = Direction ($1);
                else if ($1)
                        $2->warning ("Can't specify direction for this request");
                $$ = $2;
index 008707bbc1da16aac1a7950aa0c36923734b6e22..0bb861423271231cb8eddaf2a069b52b5080b51f 100644 (file)
@@ -42,29 +42,10 @@ Column_rod::compare (const Column_rod &r1, const Column_rod &r2)
 void
 Rod::add_to_cols ()
 {
-  item_l_drul_[RIGHT]->column_l ()->add_rod
-    (item_l_drul_[LEFT]->column_l (), distance_f_);
-  item_l_drul_[LEFT]->column_l ()->add_rod
-    (item_l_drul_[RIGHT]->column_l (), distance_f_);
+  Direction d = LEFT;
+  do {
+    item_l_drul_[-d]->column_l ()->add_rod
+      (item_l_drul_[d]->column_l (), distance_f_);
+  }while ((flip (&d))!=LEFT);
 }
 
-void
-Column_spring::print () const
-{
-#ifndef NDEBUG
-  DOUT << "Column_spring { rank = "
-       << other_l_->rank_i () << ", dist = " << distance_f_ << "}\n";   
-#endif
-}
-
-Column_spring::Column_spring ()
-{
-  distance_f_ = 0;
-  other_l_ = 0;
-}
-  
-int
-Column_spring::compare (const Column_spring &r1, const Column_spring &r2)
-{
-  return r1.other_l_->rank_i() - r2.other_l_->rank_i();
-}
index ed1462a58493693b8c88e262c9eb29977c89b3e6..23fc2ebbe397bb7e94c6e16063e893933a652503 100644 (file)
@@ -91,8 +91,8 @@ Slur_engraver::do_process_requests()
 void
 Slur_engraver::do_pre_move_processing()
 {
-  Scalar dir (get_property ("slurydirection", 0));
-  Scalar dir2 (get_property ("ydirection", 0));
+  Scalar dir (get_property ("slurVerticalDirection", 0));
+  Scalar dir2 (get_property ("verticalDirection", 0));
 
   Direction slurdir = CENTER;
   if (dir.length_i () && dir.isnum_b ())
index 525e7f9adcb8a125fa9831fa136d586dd1141797..c61dd3df3f9222e405240b1cbe68458690af3ecc 100644 (file)
@@ -7,26 +7,10 @@
   
  */
 
-#include "engraver.hh"
-#include "pqueue.hh"
 #include "musical-request.hh"
 #include "score-column.hh"
-
-struct Rhythmic_tuple
-{
-  Score_element_info info_;
-  Moment end_;
-  
-  Rhythmic_tuple ()
-    {
-    }
-  Rhythmic_tuple (Score_element_info i, Moment m )
-    {
-      info_ = i;
-      end_ = m;
-    }
-  static int time_compare (Rhythmic_tuple const &, Rhythmic_tuple const &);  
-};
+#include "spacing-engraver.hh"
+#include "spacing-spanner.hh"
 
 inline int
 compare (Rhythmic_tuple const &a, Rhythmic_tuple const &b)
@@ -35,31 +19,35 @@ compare (Rhythmic_tuple const &a, Rhythmic_tuple const &b)
 }
 
 int
-Rhythmic_tuple::time_compare (Rhythmic_tuple const&h1,
+Rhythmic_tuple::time_compare (Rhythmic_tuple const &h1,
                              Rhythmic_tuple const &h2)
 {
+  
   return (h1.end_ - h2.end_ ).sign ();
 }
 
-/**
-   Acknowledge rhythmic elements, for initializing spacing fields in
-   the columns.  */
-class Spacing_engraver : public Engraver
+Spacing_engraver::Spacing_engraver()
 {
-  PQueue<Rhythmic_tuple> playing_durations_;
-  Array<Rhythmic_tuple> now_durations_;
-  Array<Rhythmic_tuple> stopped_durations_;
-
-protected:
-  VIRTUAL_COPY_CONS(Translator);
-  virtual void acknowledge_element (Score_element_info);
-  virtual void do_post_move_processing ();
-  virtual void do_pre_move_processing ();
+  spacing_p_ = 0;
+}
 
-public:
+void
+Spacing_engraver::do_creation_processing ()
+{
+  spacing_p_  =new Spacing_spanner;
+  spacing_p_->set_bounds (LEFT, get_staff_info ().command_pcol_l ());  
+  announce_element (Score_element_info (spacing_p_, 0));
+}
 
-};
+void
+Spacing_engraver::do_removal_processing ()
+{
+  Paper_column * p = get_staff_info ().command_pcol_l ();
 
+  spacing_p_->set_bounds (RIGHT, p);
+  typeset_element (spacing_p_);
+  spacing_p_ =0;
+}
 
 void
 Spacing_engraver::acknowledge_element (Score_element_info i)
@@ -83,8 +71,9 @@ Spacing_engraver::do_pre_move_processing ()
        shortest_playing = shortest_playing <? m;
     }
 
-  Moment starter;
-  starter.set_infinite (1);
+  Moment starter, inf;
+  inf.set_infinite (1);
+  starter=inf;
   for (int i=0; i < now_durations_.size (); i++)
     {
       Moment m = now_durations_[i].info_.req_l_->length_mom ();
@@ -104,7 +93,6 @@ Spacing_engraver::do_pre_move_processing ()
   sc->shortest_starter_mom_ = starter;
 }
 
-
 void
 Spacing_engraver::do_post_move_processing ()
 {
diff --git a/lily/spacing-spanner.cc b/lily/spacing-spanner.cc
new file mode 100644 (file)
index 0000000..0f639a3
--- /dev/null
@@ -0,0 +1,170 @@
+/*   
+  spacing-spanner.cc --  implement Spacing_spanner
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  
+ */
+
+#include "spacing-spanner.hh"
+#include "score-column.hh"
+#include "dimensions.hh"
+#include "paper-def.hh"
+#include "warn.hh"
+#include "p-score.hh"
+#include "line-of-score.hh"
+
+Spacing_spanner::Spacing_spanner ()
+{
+  set_elt_property (break_helper_only_scm_sym, SCM_BOOL_T);
+  set_elt_property (transparent_scm_sym, SCM_BOOL_T);
+}
+
+int
+Spacing_spanner::col_count () const
+{
+  return pscore_l_->line_l_->cols_.size ();
+}
+
+Score_column *
+Spacing_spanner::scol (int i)const
+{
+  return dynamic_cast<Score_column*> (pscore_l_->line_l_->cols_[i]);
+}
+
+/*
+  cut 'n paste from spring-spacer.cc
+ */
+Array<Spring>
+Spacing_spanner::do_measure (int col1, int col2) const
+{
+  for (int i =col1; i < col2; i++)
+    {
+      scol (i)->preprocess ();
+      scol (i)->print ();
+    }
+
+  Moment shortest;
+  shortest.set_infinite (1);
+  for (int i =col1; i < col2; i++)
+    {
+      if (scol(i)->musical_b ())
+       {
+         shortest = shortest <? scol(i)->shortest_starter_mom_;
+       }
+    }
+
+  Array<Spring> meas_springs;
+
+  for (int i= col1; i < col2; i++)
+    {
+      if (!scol (i)->musical_b() && i+1 < col_count())
+       {
+         Real symbol_distance = scol (i)->extent (X_AXIS)[RIGHT] ;
+         Real durational_distance = 0;
+         Moment delta_t =  scol (i+1)->when_mom () - scol (i)->when_mom () ;
+         /*
+           ugh should use shortest_playing distance
+         */
+         if (delta_t)
+           {
+             Real k=  paper_l()->arithmetic_constant (shortest);
+             durational_distance =  paper_l()->length_mom_to_dist (delta_t,k);
+           }
+         symbol_distance += -scol (i+1)->extent(X_AXIS)[LEFT];
+
+         Spring s ;
+         s.item_l_drul_[LEFT] = scol (i);
+         s.item_l_drul_[RIGHT] = scol (i+1);
+         s.distance_f_ =  symbol_distance >? durational_distance;
+         meas_springs.push (s);
+
+         Item *l = s.item_l_drul_[LEFT]->find_prebroken_piece (RIGHT);
+         Item *r = s.item_l_drul_[RIGHT]->find_prebroken_piece (LEFT);
+         Spring sp_orig (s);
+         
+         if (l)
+           {
+             s = sp_orig;
+             s.item_l_drul_[LEFT] =l ;
+             meas_springs.push (s);
+           }
+
+         if (l && r)
+           {
+             s = sp_orig;
+             s.item_l_drul_[RIGHT] = r;
+             s.item_l_drul_[LEFT] = l;
+             meas_springs.push (s);
+           }
+         
+       }
+    }
+
+  for (int i=col1; i < col2; i++)
+    {
+      if (scol (i)->musical_b())
+       {
+         Moment shortest_playing_len = scol(i)->shortest_playing_mom_;
+         if (! shortest_playing_len)
+           {
+             warning (_f ("can't find a ruling note at %s", 
+               scol (i)->when_mom ().str ()));
+             shortest_playing_len = 1;
+           }
+         if (! shortest)
+           {
+             warning (_f ("no minimum in measure at %s", 
+                     scol (i)->when_mom ().str ()));
+             shortest = 1;
+           }
+         Moment delta_t = scol (i+1)->when_mom () - scol (i)->when_mom ();
+         Real k=  paper_l()->arithmetic_constant(shortest);
+         Real dist = paper_l()->length_mom_to_dist (shortest_playing_len, k);
+         dist *= (double)(delta_t / shortest_playing_len);
+
+
+         Spring sp;
+         sp.distance_f_ =  dist;
+         sp.item_l_drul_[LEFT] = scol (i);
+         sp.item_l_drul_[RIGHT] = scol (i+1);
+
+         meas_springs.push (sp);
+
+         /*
+           UGH. TODO: more
+           advanced spacing here.
+          */
+         Spring sp_orig (sp);
+
+         Item *r =  sp.item_l_drul_[RIGHT]->find_prebroken_piece (LEFT);
+         
+         if (r)
+           {
+             sp = sp_orig;
+             sp.item_l_drul_[RIGHT] =r ;
+             meas_springs.push (sp);
+           }
+       }
+    }
+  return meas_springs;
+}
+
+Array<Spring>
+Spacing_spanner::get_springs () const
+{
+  Array<Spring> springs;
+  int last_break =0;
+  for (int i=1; i < col_count (); i++)
+    {
+      if (scol (i)->breakable_b ())
+       {
+         springs.concat (do_measure (last_break, i));
+         last_break  = i;
+       }
+    }
+  return springs;
+}
+
+
index 32a047cf8f110ddbd1a498d1eda29d3179c601f3..17ca378449b6f89c74ba553e454ac32c612bcca2 100644 (file)
@@ -13,8 +13,6 @@
 #include "molecule.hh"
 #include "paper-outputter.hh"
 
-
-
 void
 Spanner::do_print() const
 {
@@ -48,7 +46,6 @@ Spanner::break_into_pieces ()
   break_points.insert (left,0);
   break_points.push (right);
 
-
   for (int i=1; i < break_points.size(); i++) 
     {
       Breaking_information info;
@@ -86,7 +83,6 @@ Spanner::set_my_columns()
   while (flip(&i) != 1);
 }       
 
-
 void
 Spanner::set_bounds(Direction d, Item*i)
 {
@@ -95,6 +91,11 @@ Spanner::set_bounds(Direction d, Item*i)
     {
       i->used_b_ = true;
     }
+
+  if (d== LEFT)
+    {
+      dim_cache_[X_AXIS]->parent_l_ = i->dim_cache_[X_AXIS];
+    }
   
   if  (spanned_drul_[Direction(-d)] == spanned_drul_[d]
        && i)
@@ -117,23 +118,11 @@ Spanner::Spanner ()
 }
 
 Spanner::Spanner (Spanner const &s)
-  :Score_element (s)
+  : Score_element (s)
 {
   spanned_drul_[LEFT] = spanned_drul_[RIGHT] =0;
 }
 
-void
-Spanner::output_processing () 
-{
-  if (get_elt_property (transparent_scm_sym) != SCM_BOOL_F)
-    return;
-
-  output_p_ = do_brew_molecule_p ();
-  Offset left_off (spanned_drul_[LEFT]->absolute_coordinate(X_AXIS), 0);
-  Offset o (absolute_coordinate (X_AXIS), absolute_coordinate (Y_AXIS));
-  o += left_off;
-  pscore_l_->outputter_l_->output_molecule (output_p_, o, classname (this));
-}
 
 Interval
 Spanner::do_width() const
@@ -173,7 +162,6 @@ Spanner::find_broken_piece (Line_of_score*l) const
              span_p->set_bounds(LEFT,info.bounds_[LEFT]);
              span_p->set_bounds(RIGHT,info.bounds_[RIGHT]);
              pscore_l_->typeset_element (span_p);
-
              
              info.broken_spanner_l_ = span_p;
              span_p->handle_broken_dependencies();
@@ -192,9 +180,6 @@ Spanner::broken_b() const
   return broken_info_.size();
 }
 
-
-
-
 Array<Rod>
 Spanner::get_rods () const
 {
@@ -202,6 +187,13 @@ Spanner::get_rods () const
   return r;
 }
 
+Array<Spring>
+Spanner::get_springs () const
+{
+  Array<Spring> s;
+  return s;    
+}
+
 void
 Spanner::do_space_processing ()
 {
@@ -210,4 +202,10 @@ Spanner::do_space_processing ()
     {
       rs[i].add_to_cols ();
     }
+
+  Array<Spring> ss (get_springs ());
+  for (int i=0; i < ss.size (); i++)
+    {
+      ss[i].add_to_cols ();
+    }
 }
index 055ab3c6dd670dfdb04bc839d7bf28aa54338230..8ef04b7f0792cd38128bbbd0c1f9a7e4c0ae009e 100644 (file)
@@ -393,6 +393,25 @@ Spring_spacer::add_column (Paper_column  *col, bool fixed, Real fixpos)
       r_rod.other_idx_ = this_rank;
       cols_[left_idx].rods_[RIGHT].push (r_rod);
     }
+#if 1 
+  if (experimental_features_global_b)
+    {
+      for (int i=0; i < col->spring_arr_drul_[LEFT].size (); i++)
+       {
+         Column_spring &cr = col->spring_arr_drul_[LEFT][i];
+         int idx = cr.other_l_->rank_i () - cols_[0].pcol_l_->rank_i ();
+         if (idx < 0)
+           continue;
+
+         if (cols_[idx].pcol_l_ != cr.other_l_)
+           continue;
+
+
+         connect (idx, this_rank, cr.distance_f_,
+                  cr.strength_f_ / cr.distance_f_);
+       }
+    }
+#endif  
   
   cols_.push (c);
 }
@@ -481,11 +500,10 @@ Spring_spacer::connect (int i, int j, Real d, Real h)
 void
 Spring_spacer::prepare()
 {
-  DOUT << "Preparing..";
-  calc_idealspacing();
+  if (!experimental_features_global_b)
+    calc_idealspacing();
   handle_loose_cols();
   print();
-  DOUT << "finished preparing.\n";
 }
 
 Line_spacer*
diff --git a/lily/spring.cc b/lily/spring.cc
new file mode 100644 (file)
index 0000000..8ba0ff7
--- /dev/null
@@ -0,0 +1,58 @@
+/*   
+  spring.cc --  implement Spring
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  
+ */
+
+#include "spring.hh"
+#include "debug.hh"
+#include "item.hh"
+#include "p-col.hh"
+
+Spring::Spring ()
+{
+  item_l_drul_[LEFT]  =item_l_drul_[RIGHT] =0;
+  distance_f_ =0.;
+  strength_f_ =1.0;
+}
+
+void
+Spring::add_to_cols ()
+{
+  Direction d = LEFT;
+  do
+    {
+      item_l_drul_[-d]->column_l ()->add_spring
+       (item_l_drul_[d]->column_l (),
+        distance_f_, strength_f_);
+    }
+  while ((flip (&d))!=LEFT);
+}
+
+
+Column_spring::Column_spring ()
+{
+  other_l_ = 0;
+  distance_f_ =0;
+  strength_f_ =1.0;
+}
+
+
+int
+Column_spring::compare (Column_spring const & r1, Column_spring const &r2)
+{
+  return r1.other_l_->rank_i() - r2.other_l_->rank_i();
+}
+
+void
+Column_spring::print () const
+{
+#ifndef NPRINT
+  DOUT << "Column_spring { rank = "
+       << other_l_->rank_i () << ", dist = " << distance_f_ << "}\n";   
+
+#endif
+}
index f39bf56d2e0e0daae647a126ba51ee1397d4ae0f..aa3aab96286de9ffb8a14e5ba2a8d368466f05fa 100644 (file)
@@ -92,7 +92,7 @@ Stem_engraver::do_pre_move_processing()
 
   if (stem_p_)
     {
-      Scalar prop = get_property ("ydirection", 0);
+      Scalar prop = get_property ("verticalDirection", 0);
       Direction dir = prop.isnum_b () ? (Direction)int(prop) : CENTER;
       if (dir)
        {
index f726aaebf175f1617a2fea08b9fa12785d410ddb..04746dc634cedc8f760ad1fec743f0b5ae5b883f 100644 (file)
@@ -64,6 +64,10 @@ Tie_engraver::process_acknowledged ()
   
   if (req_l_)
     {
+
+      /*
+       JUNKME!
+       */
       if (old_behavior)
        {
          if (now_heads_.size () != stopped_heads_.size ())
@@ -148,8 +152,8 @@ Tie_engraver::do_pre_move_processing ()
     }
   now_heads_.clear ();
 
-  Scalar dir (get_property ("tieydirection", 0));
-  Scalar dir2 (get_property ("ydirection", 0));
+  Scalar dir (get_property ("tieVerticalDirection", 0));
+  Scalar dir2 (get_property ("verticalDirection", 0));
 
   Direction tie_dir = CENTER;
   if (dir.length_i () && dir.isnum_b ())
index 26ea948b441ba565e5a893583fa888a19a0592fd..dc7ac39b9ce60072f60674c0693000b76f4b0260 100644 (file)
@@ -28,7 +28,6 @@ Tie::Tie()
 {
   head_l_drul_[RIGHT] =0;
   head_l_drul_[LEFT] =0;
-  same_pitch_b_ =false;
 }
 
 
index cd93221d6c4277632c633413a61beb35c39980f2..05eb9b5ab495e0bc93626173b2319af25437dbb2 100644 (file)
@@ -1,6 +1,6 @@
 % Toplevel initialisation file. 
        
-\version "1.0.19";
+\version "1.0.20";
 
 
 \include "declarations.ly"
index 1e1140e6919ef16749fe37f7988008f7543798b4..eaf3e7bf2a2b0c5fc2e5748ad379dcf21f8033e5 100644 (file)
@@ -1,6 +1,6 @@
 % Toplevel initialisation file. 
        
-\version "1.0.19";
+\version "1.0.20";
 
 
 \include "declarations.ly";
index 4f962b8f8ffc3156a56cb8669012a5610634bd46..65c2f669d3c571a58eab10a32e4f47d083f4152f 100644 (file)
@@ -1,7 +1,7 @@
 % Toplevel initialisation file. 
        
 
-\version "1.0.19";
+\version "1.0.20";
 
 
 \include "declarations.ly"
index ee1fbdb1d494cbe03d57c7e8859875cdda85c844..4d5a0bf5dc28e0366fcaa943266c4709dd793779 100644 (file)
@@ -1,6 +1,6 @@
 % Toplevel initialisation file. 
        
-\version "1.0.19";
+\version "1.0.20";
 
 
 \include "declarations.ly"
index bb9afa28e9498a12270acd385de75489360691f2..a12244d0c7345a5c25a3456bf781421ef5ec8701 100644 (file)
@@ -158,8 +158,6 @@ StaffGroupContext= \translator {
        
        \accepts "Lyrics";
        \accepts "ChordNames";
-       \consistsend "Axis_group_engraver";
-
 };
 \translator { \StaffGroupContext }
 
index c6d18c374c5f83c042c651d04730cb009c60aa07..13500905ec911bf6195effb79591cdc874662858 100644 (file)
@@ -1,6 +1,6 @@
 % Toplevel initialisation file. 
        
-\version "1.0.19";
+\version "1.0.20";
 
 
 \include "declarations.ly"
index 0b32b36d0b6404424a4594cdc41509261e505f98..31215a15ca8d1f834ec03101d50b7ff7ce2d7d69 100644 (file)
@@ -1,6 +1,6 @@
 % Toplevel initialisation file. 
        
-\version "1.0.19";
+\version "1.0.20";
 
 
 \include "declarations.ly"
index 5951158137e6272026f036ea24f66bc272b321ad..5f652ecdcfcdce48d706124973b3ad6d36da8569 100644 (file)
@@ -1,6 +1,6 @@
 % Toplevel initialisation file. 
        
-\version "1.0.19";
+\version "1.0.20";
 
 
 \include "declarations.ly";
index 9e43e3d773a39e994155c15086c06a68f1296e62..8f03850e7ef4e78777123cb67c653ce7f1ce4982 100644 (file)
@@ -1,6 +1,6 @@
 % Toplevel initialisation file. 
        
-\version "1.0.19";
+\version "1.0.20";
 
 
 \include "declarations.ly"
index e7b0b5c41422aa9a99397bf0df837fb46b24c347..e499491a65402aeb3ae5c124f327211bb698b2dc 100644 (file)
@@ -2,7 +2,7 @@
 
 
 
-\version "1.0.19";
+\version "1.0.20";
 
 paper_sixteen = \paper {
        staffheight = 16.0\pt;
index 39cba96769bb3b804c2aeb0b8b66208c468e361e..2de985a5f01e9e496d2d9024a1d1de022d17e2ef 100644 (file)
@@ -1,7 +1,7 @@
 % paper20.ly
 
 
-\version "1.0.19";
+\version "1.0.20";
 
 paper_twenty = \paper {
        staffheight = 20.0\pt;
index 354d0f5664d48856c5cde856b983cdf5a2f51b12..f0f0ddf6c48f51454e466adcb22a359dc227806f 100644 (file)
 
 %{
 
-PROPERTIES
-
-name                   value   effect                  shorthand
-
-[Voice]
-ydirection             -1      force stem down         \stemdown
-ydirection             0       stem direction free     \stemboth
-ydirection             1       force stem up           \stemup
-
-pletvisibility         0       show nothing
-pletvisibility         1       show number
-pletvisibility         2       show (number and bracket)-if-no-beam
-pletvisibility         3       show number, and bracket-if-no-beam
-pletvisibility         4       show number, and bracket
-
-slurdash               0       normal slurs
-slurdash               1       dotted slurs
-slurdash               >1      dashed slurs
-
-slurydirection         -1      force stem down         \slurdown
-slurydirection         0       stem direction free     \slurboth
-slurydirection         1       force stem up           \slurup
-
-slurydirection         -1      force stem down         \slurdown
-slurydirection         0       stem direction free     \slurboth
-slurydirection         1       force stem up           \slurup
-
-textalignment          -1      left alignment of text
-textalignment          0       center alignment of text
-textalignment          1       right alignment of text
-
-beamAuto                0/1     auto-beam on/off
-beamAutoEnd            "num/den"    end auto-beam
-beamAutoEnd_8          "num/den"    end auto-beam of 8ths
-beamAutoEnd_16         "num/den"    end auto-beam of 16ths
-
-[Score?]
-beamslopedamping       0       no damping              \beamslopeproportional  
-beamslopedamping       1       damping1)               \beamslopedamped
-beamslopedamping       100000  zero slope              \beamslopezero
-
-[Score?]
-beamquantisation       0       no quantisations        \beamposfree
-beamquantisation       1       quantise pos and slope  \beamposnormal
-beamquantisation       2       quantise avoide wedge2) \beampostraditional
-
-[Staff]
-keyoctaviation 0       Key signature only for specified octave \specialkey
-keyoctaviation 1       Key signature for all octaves   \normalkey
-
-[Staff]
-barAlways              0       none
-barAlways              1       generate bar at every moment
-
-[Staff]
-barAuto                        0       none
-barAuto                        1       auto-generate bar every measure
-barAtLineStart         0/1     generate bar at beginning of line
-
-[Staff]
-timeSignatureStyle     C       Use C and stroked C for 4/4,2/2
-timeSignatureStyle     old     Use old style mensuration marks
-timeSignatureStyle     1       Use single number
-timeSignatureStyle     ""      Use normal two-digit time signature
-timeSignatureStyle     Cn/m    Set symbol explicitly, n/m=2/2 or 4/4   
-timeSignatureStyle     oldn/m  Set symbol explicitly,
-                               n/m=2/2,3/2,3/4,4/4,6/4 or 9/4.
-[Staff]
-voltaVisibility         0/1     on/off
-voltaSpannerDuration    Rat.    Coda kludge: set length of volta-spanner,
-                                typically set to one measure: "1"
-
-[Staff]
-clefStyle       "fullSizeChanges" Clef changes typeset in full size
-clefStyle       "transparent"     No clef typeset
-
-[Staff?]
-instrument             ascii   midi instrument table lookup
-
-[Score]
-chordInversion         0/1     Find and display chord with inversion?
-
-
-1) after beam slope damping table suggested in [Wanske]
-2) [Wanske] as well as [Ross] suggests that beams sloped upward must not 
-   start sitting on a staffline, and beams sloped downward must not hang 
-   from a staffline (similar for beam-ends).  This would create a wedge
-   that is traditionally being avoided because it could easily be filled-up 
-   with ink.
-   However, avoiding these wedges restricts the freedom of beams quite a lot 
-   while they don't seem to be a problem in modern printing.
-   In no piece of sheetmusic engraved after 1953 (Baerenreiter) i've seen 
-   these wedges being avoided.
+SEE THE REFERENCE MANUAL FOR EXPLANATIONS.
 
 %}
 
+\version "1.0.20";
+
 %hmm, (these) abbrevs suck, imo
 % i guess they're meant as some form of doco
 % that's what i use them for...
-stemup =        \property Voice.ydirection = \up 
-stemboth=      \property Voice.ydirection = \center
-stemdown =     \property Voice.ydirection = \down
+stemup =        \property Voice.verticalDirection = \up 
+stemboth=      \property Voice.verticalDirection = \center
+stemdown =     \property Voice.verticalDirection = \down
 
 slurup = \notes {
        s1*0
-       \property Voice.slurydirection = \up 
+       \property Voice.slurVerticalDirection = \up 
        }
 slurboth= \notes {
        s1*0
-       \property Voice.slurydirection = \center
+       \property Voice.slurVerticalDirection = \center
 }
 slurdown = \notes {    
        s1*0
-       \property Voice.slurydirection = \down
+       \property Voice.slurVerticalDirection = \down
 }
 
 shifton =      \property Voice.hshift = 1
@@ -155,25 +65,25 @@ onestaff =
 
 staffone = {   
        \translator Staff=one
-       \property Staff.ydirection = \center
+       \property Staff.verticalDirection = \center
        \property Staff.hshift = 0
 }
 
 stafftwo = {   
        \translator Staff=two
-       \property Staff.ydirection = \center
+       \property Staff.verticalDirection = \center
        \property Staff.hshift = 0
 }
 
 staffthree = {         
        \translator Staff=three
-       \property Staff.ydirection = \center
+       \property Staff.verticalDirection = \center
        \property Staff.hshift = 0
 }
 
 stafffour = {  
        \translator Staff=four
-       \property Staff.ydirection = \center
+       \property Staff.verticalDirection = \center
        \property Staff.hshift = 0
 }
 
@@ -285,3 +195,4 @@ endincipit = \notes{
     \property Staff.clefStyle = "fullSizeChanges" 
     \nobreak \bar "";
 }
+
index 8e5be96a5a7f83c647e3fddf2bd67648d9d191f4..a785c8213cb05e1f5aaabcebd8dad76dc361163d 100644 (file)
@@ -1,15 +1,15 @@
 Begin3
 Titel: LilyPond
-Versie: 1.1.43
-Inschrijf datum: 17MAY99
+Versie: 1.1.44
+Inschrijf datum: 25MAY99
 Beschrijving: @FLAPTEKST@
 Trefwoorden: muziek typezetten midi notatie
 Auteur: hanwen@stack.nl (Han-Wen Nienhuys)
        janneke@gnu.org (Jan Nieuwenhuizen)
 Onderhouden door: hanwen@cs.ruu.nl (Han-Wen Nienhuys)
 Voornaamste plek: sunsite.unc.edu /pub/Linux/apps
-       770k lilypond-1.1.43.tar.gz 
+       770k lilypond-1.1.44.tar.gz 
 Oorspronkelijke plek: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
-       770k lilypond-1.1.43.tar.gz 
+       770k lilypond-1.1.44.tar.gz 
 Copi-eer voorwaarden: GPL
 End
index 118e4d489816be75c6166dac628052d3f6adbf59..66b18d3008dbbda8305edbe5dccc1271eebd80c7 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Title: LilyPond
-Version: 1.1.43
-Entered-date: 17MAY99
+Version: 1.1.44
+Entered-date: 25MAY99
 Description: 
 LilyPond is the GNU Project music typesetter.  This program can print
 beautiful sheet music from a music definition file.  It can also play
@@ -14,8 +14,8 @@ Author: hanwen@cs.ruu.nl (Han-Wen Nienhuys)
        janneke@gnu.org (Jan Nieuwenhuizen)
 Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
 Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
-       770k lilypond-1.1.43.tar.gz 
+       770k lilypond-1.1.44.tar.gz 
 Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
-       770k lilypond-1.1.43.tar.gz 
+       770k lilypond-1.1.44.tar.gz 
 Copying-policy: GPL
 End
index 139e2594fbf78a8f3a1c389a6d5bb4cea7cf6adb..2f7efa761194cd04defde08f58b9058d6ec55385 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
-Version: 1.1.43
+Version: 1.1.44
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.43.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.44.tar.gz
 Summary: A program for printing sheet music.
 URL: http://www.cs.uu.nl/~hanwen/lilypond
 Packager: Han-Wen Nienhuys <hanwen@cs.uu.nl>
index aea7644563353bcbf2844a99093ceb8f96520768..07cd9a06c2df52c2566b1de5be24d78247d21b3f 100644 (file)
@@ -18,7 +18,7 @@ README_FILES = BUGS DEDICATION ANNOUNCE-0.1 ANNOUNCEMENT-1.0 \
  COPYING NEWS-0.1 NEWS-1.0 NEWS-0.0 NEWS  TODO AIMS
 README_TXT_FILES = README.txt AUTHORS.txt INSTALL.txt PATCHES.txt
 IN_FILES := $(wildcard *.in)
-EXTRA_DIST_FILES = dstreamrc mudela-mode.el vimrc VERSION $(README_FILES)  $(SCRIPTS) $(IN_FILES)
+EXTRA_DIST_FILES = dstreamrc mudela-mode.el vimrc VERSION $(README_FILES)  $(SCRIPTS) $(IN_FILES) TASKS
 NON_ESSENTIAL_DIST_FILES = $(README_TXT_FILES)
 
 # bootstrap stepmake:
@@ -37,3 +37,7 @@ examples:
 localinstall:
        mkdir -p $(datadir)
        $(LN_S) $(TEX_TFMDIR) $(datadir)/cmtfm
+
+
+local-WWW-clean:
+       $(depth)/buildscripts/out/clean-fonts
index 58ef2d7a1d0a5714cef0d339fe26fe72581a03b5..e90c55e26d5c9bda79dbd444f22e7127ba68c2a4 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "global.ly"
 \include "violoncello.ly"
index 4dac9d5a0a46e5214872205272c3447be326e521..a43c6dfe97ed320556570acea790aadf2495c6ea 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "global.ly"
 \include "clarinetti.ly"
index f749b3337b4002e328b314e70bc53835f0e9f1e6..581cf740e573d554226911368f001125495f0f60 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "clarinetto-1.ly"
 \include "clarinetto-2.ly"
index 011fc4b94614c788b42866268c58b2a773e76615..7645f4172b62846390d8d9a5e5316f61d6a4d5f0 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 clarinetto1 = \notes \relative c {
        R1 *2 | d''4-.\ff r r2 | R1 *3 | e4-. r r2 | R1 *3 |
index 2d9b6c1d277a9d1341bc7a1ad9fcfbb25117dfad..7503d18ada2ab86dc7aed7c0e691e77916c2df33 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 clarinetto2 = \notes \relative c { 
        R1*2 bes''4-.\ff r r2 | R1*3 | cis4-. r r2 | R1 *3 | 
index ecf33ea66f4d9281ed2ff02213ade2c05023cbd4..0f0a58c52d009c717950b18e7425a6434887f32b 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "global.ly"
 \include "contrabasso.ly"
index 5bc30649fff327c24ad9d9a3967381a6f595a474..c958df6f43b2c6213b1f4f94e3783fb66747cdfc 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 contrabasso = \notes \relative c {
 %      \translator Staff=violoncello
index 1d962bb2b4e2f949e80015353e88b4567275b22e..aaa82c488b615bfe335f4cd6dfba810235e519f3 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "global.ly"
 
index d887b9043254f582ee9dceeed9d07e2924644af0..b904ec9b8c63f8a9373cfe34ce1446419c7daad7 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "global.ly"
 \include "corni.ly"
index 4a1fe5d350472395e69e51e0708f4daa2aa5cc9d..dc490a270473c86c28140fa43aed784294e21d04 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "corno-1.ly"
 \include "corno-2.ly"
index 9490995a65df5b8a7d75633e50e522c6c1e6c8c0..5db1f242069beedba0575aca9709bea8129df1b0 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 corno1 = \notes \relative c {
        R1 *2 | f''4-.\ff r r2 | R1 *3 | f4-. r r2 | R1 *3 |
index 4de35788390e6429ba5d1d931116ce707c5f50a3..d05eb04bfd4f003022c3331de37f82a3c63bb559 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 corno2 = \notes \relative c {
        R1 *2 | d''4-.\ff r r2 | R1 *3 | d4-. r r2 | R1 *3 |
index d2cdd5b509ed5bf46ad147f98878d7d8c3dc414c..77cf1e3abfbeb1142dd258497af98d1edf2ee097 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "global.ly"
 \include "fagotti.ly"
index 963dc803ccf7c0682b95a85b6de4e3cbbafc4371..f8d277a5841ab389fee61fb736929f6699428544 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "fagotto-1.ly"
 \include "fagotto-2.ly"
index fa1c8fdd890011cce52ff69e04692cfacc9e603f..096176e76594d87b12f0edf81f5d114ba69b3741 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 fagotto1 = \notes \relative c {
        R1 *2 | as'4-.\ff r r2 | R1 *3 | as4-. r r2 | R1 *3 |
index 6968a3d9db529da49b020af81c76243f660c966b..d5aaf3e699ed920a01ac0da90a25344c3b9f22ce 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 fagotto2 = \notes \relative c {
        R1 *2 | f4-.\ff r r2 | R1 *3 | f4-. r r2 | R1 *3 |
index 41897d5b5df3a90b948593de587c889c35de4911..ff50562870406650053ce02b46659ccb29f241e8 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "global.ly"
 \include "flauti.ly"
index 146d4393d8fe04aa3f4117a3338084c7f1d54ce3..1557ba98d15ab994303806b32e64297cd74d2953 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "flauto-1.ly"
 \include "flauto-2.ly"
index dc8e42b044d3fd5f1e91dec7dbd6c7caf2090d9b..faf51d925c2c8e0cc89bdf4b529df069b6814df5 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 flauto1 = \notes \relative c {
        R1 *2 | c'''4-.\ff r r2 | R1 *3 | d4-. r r2 | R1 *3 |
index fc7ea80f260f2aa7b2617692c3c937802d79c076..310d69339831e962411b7f3e1973e30467880f99 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 flauto2 = \notes \relative c {
        R1 *2 | as'''4-.\ff r r2 | R1 *3 | b4-. r r2 | R1 *3 | 
index 29f30c4ac623b96e95a50949101da1305c9a840d..cf487141d8f6d3d629d56a150342c66b1a019cd0 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 global = \notes {
        \time 4/4;
index 14762ae2ae9206bc61897cdc768260c8aeba92d3..67d9d6d3b3650d017e269874dffcc2b267a1375f 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 oboe1 = \notes \relative c'' {
        R1 *2 | as'4-.\ff r r2 | R1 *3 | as4-. r r2 | R1 *3 |
index 6192a67009a9fc6f015cfa172b2879552f8b8366..c92d6d88d1712d126282037900d1d17c9a2d894f 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 oboe2 = \notes \relative c{
        R1 *2| f''4-.\ff r r2 | R1 *3 | f4-. r r2 | R1 *3 |
index def281f8ab98e7a8d4450d6d7d85317680bf7cbb..599c688daa7b8c09c10e0ff406eae80e6f91feed 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "global.ly"
 \include "oboi.ly"
index d11b71327fb6fc6bd1ade3e6667f9ad902f9e36c..b3f61ac178909d10b8e5de436eb6eff73f14e026 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "oboe-1.ly"
 \include "oboe-2.ly"
index 47eac136a94e96206d4598ac469df23c57541a43..b2fefcf9455ad9b7453950dd2419ecb337323998 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 timpani = \notes \relative c {
        R1 *2 | c4-.\ff r r2 | R1 *3 | c4-. r r2 | R1 *3 |
index 4db3dddbec6b872fe635e02a6649a998c81126f2..4065c85e5c392c45d60e9f002271f44058778e4e 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "global.ly"
 \include "trombe.ly"
index 54fe26bdc66d3362119eef76b87692cf89b945ce..f552fd2c6e91c162a3b29dba7b90452003f739d4 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "trombo-1.ly"
 \include "trombo-2.ly"
index f302239fe5420d705b1adb5025dcc7f93982e940..8d8952e75cae29e4c1c77a6de9c7a0bb8e0faabf 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 trombo1 = \notes \relative c {
        R1 *2 | c''4-.\ff r r2 | R1 *3 | c4-. r r2 | R1 *3 |
index 49235bf749808b13d7e21729d1c0fac76b14210a..3812ea54efa5ee77a8ad8aa9da435a1b5272afe5 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 trombo2 = \notes \relative c {
        R1 *2 | c'4-.\ff r r2 | R1 *3 | c4-. r r2 | R1 *3 |
index 78ca458dfece6786c34e77584d8d27b95bb8c6c9..92a2f3211fdba1d4e9bee8be3f64a61ff454a96a 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 viola1 = \notes \relative c {
        \context Voice=one
index 57488543b5c24c9be74e024b312de7dc26fc569f..b0e5f7fe04b7ed9244287a97c535e32ee81f1c29 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 viola2 = \notes \relative c {
        % starts on (actualy, most part is on) same staff as viola1
index 1d32273d91df660afa5aae010b37430f7b775170..e3ce9da93c2948083310587ca2085cd7e44b0cd1 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "global.ly"
 \include "viola-1.ly"
index 525541b9d7ec1dc0dc8aa07366d9ceedac5b6556..3ed4fb306fbb52ee6b25c4f3b1704da9ee284aea 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "global.ly"
 \include "violino-1.ly"
index 0ed1155615e726184569252a813683d1e75753ad..2e4b87f08a8a333b68affcb6da365b28b7a3546e 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 violino1 = \notes \relative c {
        c'1\ff ~ | c | <f4-. c'-. as'-.> r r2 | R1 |
index c9a83493bd0da63f9fe26845fd8f18dab4db4158..e738e9d9453057f0c2213b73b95ed67dbdaa6133 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "global.ly"
 \include "violino-2.ly"
index dc3afe6c098c4c0bab00aa3fe76b024289fa42c2..535a41690dd2b96d9ae7b35dfb858725c27b2bec 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 violino2 = \notes \relative c {
        c'1\ff ~ | c | <f4-. c'-. as'-.> r r2 | R1 |
index e7ab26480184d8fb930a1e57c9e778e5c7defe8f..4f40fbf0c86183e9d72e8cbf1d13b27183b0598e 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "global.ly"
 \include "violoncello.ly"
index d6c13a21a9632f96c531784e7a7f43c140ffbb68..070c820f6317e373438bdea54038df5270aa26ab 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 violoncello = \notes \relative c {
        c1\ff ~ | c | f,4-. r r2 | r1 | c'1\ff ~ | c | f,4-. r r2 |
index 767eb6d53faaab5e699981afb4f39c59315d0a0e..caf94189236757ba9be6b2a62f33ddb1fd9bc03a 100644 (file)
@@ -807,4 +807,4 @@ Bar_number_engraver;}}
 
 ----------------------------------------------------
 
-\version "1.0.19";
+\version "1.0.20";
index 710fee7651bc485714dcab3e83d713048ee95eff..e135d8343a79393ed46a80493d11df3c37353b34 100644 (file)
@@ -266,4 +266,4 @@ s1
 \paper{barsize=50.0; \translator {\StaffContext \consists
 Bar_number_engraver;}}
 }
-\version "1.0.19";
+\version "1.0.20";
index 0c2555a10b8c841fd56365f9833e1ad70a6be08c..af3e3b6c3d73792d92237b787ed329086f14eaf6 100644 (file)
@@ -336,4 +336,4 @@ g,4. |
 Bar_number_engraver;}}
 }
 
-\version "1.0.19";
+\version "1.0.20";
index a83ded214bdba94adbae2f9798f3c8776f82f9c9..7f861941550e33b08669a476735826ac7aa23018 100644 (file)
@@ -251,4 +251,4 @@ LHtoL = { \tolower \stemdown }
  
 
 }
-\version "1.0.19";
+\version "1.0.20";
index bbff16daa954d33e7973a2f4fbd49dc0ff2359ec..bffe458f1778640073580dd1db996750808c4dea 100644 (file)
@@ -311,4 +311,4 @@ s8 [c''16 g'8 fis'16] [bes'' g' f' ees'] |
  \paper{barsize=50.0; \translator {\StaffContext \consists
 Bar_number_engraver;}}
 }
-\version "1.0.19";
+\version "1.0.20";
index d54e3abbb3d75e0e4cd1caecc3194d9d2f5b4516..524878c6038101be31460a0d9a3eb6f23467a84a 100644 (file)
@@ -17,7 +17,7 @@ title = "Verso II";
        under the Gnu Public Licence.
 %}
        
-\version "1.0.19";
+\version "1.0.20";
 
 $voice_one = \notes \relative c' {
        a'2 bes4. [c16 bes] | a4 d ~ d c ~ | c b ~ [b8 a] a4 ~|
index 7a313540c52f2bd1b3901cc6fc5064a024d63bc6..c2ecc576f91c9efa6d12bbcdacd7ab1d63712596 100644 (file)
@@ -12,7 +12,7 @@
  Tested Features: cross staff beams and slurs, grace notes, no bars
 %}
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "nederlands.ly"
 
@@ -78,7 +78,7 @@ bassbeam = \notes{
 
 lower = \context Voice=two \notes \relative c{
   \stemdown
-  \property Staff.slurydirection = 1
+  \property Staff.slurVerticalDirection = 1
 
   % snapnie, hoevaak relative c heeft ze nodig?
   < \notes\relative c \basloopje \bassbeam >
index 3222aed515f8105a209b41799c12afa5f328e4c3..4216696d5a924d50bdf4260a9a2ef8fb74fdfab3 100644 (file)
@@ -12,7 +12,7 @@
  Tested Features:
 %}
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "nederlands.ly"
 
index b79169a71431dadc90034e0e1e43b175d240177f..2ebcf919e3736b86898dc28c51803b84f0ca29eb 100644 (file)
@@ -9,6 +9,6 @@ description = "A schubert song in 16 pt";
 copyright =     "public domain";
 } 
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "standchen.ly"
index 35480ad44aa905f8c2c8a636c7982743b0b02156..9d32796aa84cb1d2bc0adda3cbb6a6e95c941849 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 description = "A schubert song in 20 pt";
 } 
 
-\version "1.0.19";
+\version "1.0.20";
 
 % fool make-website
 % \include "standchen.ly";
index 3e9096f8ec31d51c1e9d0e5792a3ac51d5de3b00..8012f243ecd8cdcc19343037d0ee60b43882395a 100644 (file)
@@ -16,7 +16,7 @@ multiple \paper{}s in one \score
 Note: Original key F.
 %}
 
-\version "1.0.19";
+\version "1.0.20";
 
 $vocal_verse1 = \notes\relative c''{
        % ugh: treble/bass
index 5920851461de8e91ea65461e50a36305fcd24a49..aecac4abce43f20ef778ad1dbbe390b41d0c1070 100644 (file)
@@ -4,7 +4,7 @@ depth = ..
 
 SUBDIRS = J.S.Bach Coriolan W.A.Mozart F.Schubert D.Zipoli Hymns D.Scarlatti L.Mozart E.Satie N.W.Gade
 
-examples= gallina
+examples= 
 LOCALSTEPMAKE_TEMPLATES=mutopia
 
 include $(depth)/make/stepmake.make
index 4f28bd2703964efe6cdd96f8d940df97e73c5041..61a8eac1c2f9e22c2a05db1217535d693df16ddd 100644 (file)
@@ -6,7 +6,7 @@ date = "1868";
 title = "Diademata";
 metre = "6 6. 8 6. D";
 }
-\version "1.0.19";
+\version "1.0.20";
 
 sop=\notes \transpose c''{
        ees2  | ees4 ees4 g2 g2 |  c'1.  \bar "||";
index 5a5f21c891a20a7b197a786ddf1eb54114cb92c1..f208db7e2783f947b5ca65fa7033fe996ed6da0d 100644 (file)
@@ -4,7 +4,7 @@ composer = "Parry";
 metre = "10 10 . 11 11";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 sop = \notes \transpose c''{
        f4 | d' bes c' | f2 \bar "||";
index 61af28cb6bebcc4c093384bf1bb5501a95e4497f..378f138a096998e4fe25aa51439f9e6d74b95d30 100644 (file)
@@ -7,7 +7,7 @@ title = "Maccabaeus";
 metre = "10 11. 11 11. and refrain";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 sop=\notes \relative c'' {
        b2 gis4. a8  |b2 e,2 |
index 5f59a39a5d7722e75e644cdc5503dfa4243d867a..3cf2fd36bf80efac4e99ababade33b85fdf0f163 100644 (file)
@@ -7,7 +7,7 @@ title = "Ode to Joy";
 metre = "8 7 8 7 D";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 sop=\notes \relative c'' {
        b4 b c d | d c b a | g g a b | b4. a8 a2 \bar "||";
index 20b145ca573a31feab6d08c53a9fd9da3167ed83..4dd7397fa1eb9e7af2c323f62635ea346308431e 100644 (file)
@@ -8,7 +8,7 @@ poet = "Joseph Mohr";
 }
 
 
-\version "1.0.19";
+\version "1.0.20";
 
 global=\notes {
              \time 6/4;
index 1de961a843439b4dae552b07da01a3cc511052fb..5f7be0b367510b9f7e87a75d88e49d028ef34abe 100644 (file)
@@ -4,7 +4,7 @@
        piece = "Allemande";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 global = \notes{
        \time 4/4;
index d28fca30b1ab515f3d4dbceae6b29e42ce83795e..b5d1f9fd4bf2a02150d49241efec891d008404cc 100644 (file)
@@ -10,7 +10,7 @@
 %% 
 %% Noe liknende skjer ogsÃ¥ i mellom andre og tredje stemme i takt 28
 
-\version "1.0.19";
+\version "1.0.20";
 
 global = \notes{
        \time 2/4;
index 30d3c93c3c37cbc9ef2c5f96bcb7a5d91e87b65a..209c1f86c4e32175d41ea5f004dcb2e0569a5f00 100644 (file)
@@ -10,7 +10,7 @@
   copyright =   "Public Domain";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 global = \notes {
        \time 4/4;
index 1aea92781d8dc61c95f484bb6311d690d961f29d..728f9e4ca8dbfea5d943bf3a1c2b7cd251312593 100644 (file)
@@ -12,7 +12,7 @@ enteredby =    "jcn";
 copyright =     "public domain";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 % upper = \context Staff \notes\relative c {
 upper = \context Staff=upper \notes\relative c {
index 62fc254829dd18bb9b5ea128da04fcb3ad23ae0c..dac1d147e2d7cc81fd6464c5d318ce64e3fd8b20 100644 (file)
@@ -10,7 +10,7 @@ enteredby =    "jcn";
 copyright =     "public domain";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 upper = \context Staff \notes\relative c{
        \context Voice=i
        \property Voice . textstyle = "italic"
index c5ad7649c23e8b2959ce3c688b7f886485c604fa..cfb68c069553852c88521df19bc8e7a43f4a294b 100644 (file)
@@ -8,7 +8,7 @@ composer =      "Johann Sebastian Bach (1685-1750)";
 enteredby =    "jcn";
 copyright =    "public domain";
 }
-\version "1.0.19";
+\version "1.0.20";
 
 one = \context Staff \notes\relative c {
        \context Voice=i
index 0727edd6bd67d96f9a25031aa92d28efd06e7841..73060456769663832ed3c3dc5766b53aa50a0ffe 100644 (file)
@@ -8,7 +8,7 @@ composer =      "Johann Sebastian Bach (1685-1750)";
 enteredby =    "jcn";
 copyright =    "public domain";
 }
-\version "1.0.19";
+\version "1.0.20";
 
 
 upper = \context Staff \notes\relative c{
index 1cf5f26662ff28a7b5458be326ebba265e1bdaed..2aec8613d02fd89086fa4a09a8a5fc94d3316016 100644 (file)
@@ -8,7 +8,7 @@ composer =      "Johann Sebastian Bach (1685-1750)";
 enteredby =    "jcn";
 copyright =    "public domain";
 }
-\version "1.0.19";
+\version "1.0.20";
 
 
 one = \context Staff \notes\relative c{
index 18e9385e3ff9607bdba4c3fdc6dbcfb2d30252c9..283e7cd43906aebf380405bab38a597f0d7736bd 100644 (file)
@@ -4,7 +4,7 @@ depth = ../../..
 
 EXTRA_DIST_FILES=
 
-examples=scsii-cello
+examples= #scsii-cello
 LOCALSTEPMAKE_TEMPLATES=mutopia
 
 include $(depth)/make/stepmake.make
index 102689731681528a18113f1b282a33b78c6a357c..a1215a3363cc2c70db6abe488db2b14f32e841b5 100644 (file)
@@ -104,4 +104,4 @@ allemande = \context Staff \notes<
 >
 
 
-\version "1.0.19";
+\version "1.0.20";
index f643af802110026db659a8cff26c81b62fc83738..2c80b4b2336e798eba2b818d2d600d20e3450061 100644 (file)
@@ -91,4 +91,4 @@ courante = \context Staff \notes<
  \$courante_b
 >
 
-\version "1.0.19";
+\version "1.0.20";
index 638f519953fa8617e3b8ed9449d0e6ecf74bbc5b..a7e752eec8ad5b74bd7e773f5d97b185e2d30789 100644 (file)
@@ -106,4 +106,4 @@ gigue = \notes<
        \$gigue_b
 >
 
-\version "1.0.19";
+\version "1.0.20";
index 4a750a49bbe913d23dbd41540490652aaf6ebf0a..da320dce164a639844667c8728aaece5038f0a45 100644 (file)
@@ -156,4 +156,4 @@ menuetto_ii = \context Staff\notes \relative c {
        d2.
 }
 
-\version "1.0.19";
+\version "1.0.20";
index c3dc87ebaf16378db5be22a3e545db68f65c2e01..1f6b58cb5fdc4b66c7f883649488844bca3d24db 100644 (file)
@@ -15,7 +15,7 @@ copyright =    "public domain";
  dotted slurs
 %}
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "prelude-urtext.ly";
 
index f328ff2e3a684dfdd8c02810643d9b7b3671bf87..d3237c389f7beee3c0de6197de79ac21570fe5c8 100644 (file)
@@ -280,4 +280,4 @@ prelude = \context Staff \notes<
        \$prelude_b
 >
 
-\version "1.0.19";
+\version "1.0.20";
index 1bab6e0727c24068d2ae7dfca87c5a1fe08f9de0..b68aafee14e38f74f629ba1510a9e6cd42be502a 100644 (file)
@@ -15,7 +15,7 @@ copyright =    "public domain";
  dotted slurs
 %}
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "prelude-urtext.ly";
 
index 6e5124bbc5dae65108afa4653164a68d5a923c2b..1ecb556ba48deb347e406bdb3ca37c355582ce06 100644 (file)
@@ -92,4 +92,4 @@ sarabande = \context Staff \notes<
        \$sarabande_b
 >
 
-\version "1.0.19";
+\version "1.0.20";
index 4dadc022320d3934e7f9f8c5509fa48e8d6962d5..41f00eb5eb8eed1b82b2ce7f0a72822e60c68126 100644 (file)
@@ -16,4 +16,4 @@ $viola_i_staff = \context Staff = viola <
        \clef alto;
        \$global_i
 >
-\version "1.0.19";
+\version "1.0.20";
index 0d3fff5b460f06406f35e496df17c55d5c1081a3..8634e194fad8217f83ca5b8f9d1988622886ca6e 100644 (file)
@@ -37,4 +37,4 @@ $violino_i_staff = \context Staff = violino <
        >
        \$global_i
 >
-\version "1.0.19";
+\version "1.0.20";
index d347fda26540241c5c7d2a1e92eade237f391a30..97081d2e98253a250281208dd8ce807da1df7856 100644 (file)
@@ -30,4 +30,4 @@ copyright =    "Public Domain";
        }
 }
 
-\version "1.0.19";
+\version "1.0.20";
index 58392fc2eac178f245ec37e8c8ff6a988dd926dc..3443a8d4aa974dc67b72aa3255f525e458e959c4 100644 (file)
@@ -30,4 +30,4 @@ copyright =    "Public Domain";
        }
 }
 
-\version "1.0.19";
+\version "1.0.20";
index db96ad0e509a7ee5526983257e6b0a53f9d154ab..cd0938f9612789e035c1f0793cd4f83384ff94c5 100644 (file)
@@ -28,4 +28,4 @@ $violoncello_i_staff = \context Staff = violoncello <
        \clef bass;
        \$global_i
 >
-\version "1.0.19";
+\version "1.0.20";
index 4a811eb1db3913999b47c7f89b3b14a49a4f05fa..8da979849b45da098689e2de3abf1ec330dc7d0d 100644 (file)
@@ -11,7 +11,7 @@ copyright =    "Public Domain";
 %{
        
 %}
-\version "1.0.19";
+\version "1.0.20";
 
 
 global = 
index 22948fd8e424ddb75349fe8b0011db078f90bc20..606dfabb852d7554ba431aae58e17a315077be0f 100644 (file)
@@ -19,7 +19,7 @@
    * auto beaming
 %}
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "nederlands.ly"                 % for correct parsing of note names
 
@@ -35,7 +35,7 @@ dux = \context Voice=two \notes \relative c''{
   \voicetwo
   \clef violin;
 
-  \property Voice.ydirection = "-1"
+  \property Voice.verticalDirection = "-1"
   
   r8 c16 b c8 g as c16 b c8 d |
   g, c16 b c8 d f,16 g as4 g16 f |
index f7c4d9886e8e03b5af873f4319a7cab8a85aa5eb..6f748109918dc2144e116d8399a7dbec32a6c3a9 100644 (file)
@@ -8,7 +8,7 @@ enteredby =      "Shay Rojansky";
 copyright =     "Public Domain";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 global = 
     \notes {
index 18e11c3871a0105d79a829f390817cd587f67475..8637d416f426ff5e8e45ee0325689c0f446b6490 100644 (file)
@@ -383,4 +383,4 @@ bassocontinuo = \notes \relative c'{
         \midi{ \tempo 4 = 100; }
 }
 
-\version "1.0.19";
+\version "1.0.20";
index 70378ad16e598ace49d88972310a407841329b80..5624bd37e154cdb4f44ea0ca04ba5b57ce006809 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 
 corI=\notes\relative c'' {
 \key c;
index 6a06446bc88b442f25ca8caca485c3888d946081..e70c89dbe294ccca907bcb102bef14dfeba553bd 100644 (file)
@@ -8,7 +8,7 @@ copyright =     "Mats Bengtsson, 1999. Free circulation permitted and " +
                "Statens Musikbibliotek, Stockholm, Sweden";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "global.ly"
 \include "wood.ly"
index af45976b133bb3f3c1c0288804bbb04f8b377e6f..ec55e58ff8e605af466f94294aff25718f565d7c 100644 (file)
@@ -8,7 +8,7 @@ copyright =     "Mats Bengtsson, 1999. Free circulation permitted and " +
                "Statens Musikbibliotek, Stockholm, Sweden";
 }
 
-\version "1.0.19";
+\version "1.0.20";
 
 \include "global.ly"
 \include "wood.ly"
index 64594ba0c7272eb4ed08f2c4b5763160bc3d2d96..af2739b0ada99fcc377ce375cf150a0c2ec2daa6 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 
 viI=\notes\relative c'' {
 
index 0167cbc8e11279edf9e97fb9b52a4f934f9ba2dd..25f85920b790e071d06cdde288df6e2f18ea5f80 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.19";
+\version "1.0.20";
 
 oboe=\notes\relative c'' {
 \clef "treble";
index bb1324dea68c274f7b59781bf517df02253197fe..8eab69c625e578350e144e7ff423b81e12a3bbf6 100644 (file)
@@ -13,7 +13,7 @@ Tested Features: cadenza mode
 Ugh.. Wish we had grace notes....  It adds another dimension to this
 piece of music.  %}
 
-\version "1.0.19";
+\version "1.0.20";
 
 
 cad = \notes  \relative c' {
index 9d97c5244aeda69928a87aac2935cc2cdf6617cf..a5d5b6cd8fd0cc8a12d63d87928f53c37fed3b60 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 }
 
 
-\version "1.0.19";
+\version "1.0.20";
 
 allegro =
        \notes
index f889f73d66a44b0abd63ebc293f04c99d62ea17b..6d52d4ccae555ec2cbbb7a17635ca29f42c1f504 100644 (file)
@@ -8,7 +8,7 @@ enteredby =      "jcn";
 copyright =     "public domain";
 latexheaders=    "headers";
 } 
-\version "1.0.19";
+\version "1.0.20";
 
 
 
index 0e30e6190ca83b59a4f2581c34e2b0b59adcd4fa..74d1d2f10d0facc8ba008423b0913e91915bbbda 100644 (file)
     )
   (define (stop-line) 
     "}\\vss}\\interscoreline")
-
+  (define (stop-last-line)
+    "}\\vss}")
   (define (filledbox breapth width depth height) 
     (string-append 
      "\\kern" (number->dim (- breapth))
            (define select-font ,select-font)
            (define start-line ,start-line)
            (define stop-line ,stop-line)
+           (define stop-last-line ,stop-last-line)
            (define text ,text)
            (define tuplet ,tuplet)
            (define volta ,volta)
        ((eq? action-name 'start-line) start-line)
        ((eq? action-name 'stem) stem)
        ((eq? action-name 'stop-line) stop-line)
+       ((eq? action-name 'stop-last-line) stop-last-line)
        ((eq? action-name 'volta) volta)
        (else (error "unknown tag -- PS-TEX " action-name))
        )
            (define start-line ,start-line)
            (define stem ,stem)
            (define stop-line ,stop-line)
+           (define stop-last-line ,stop-line)
            (define text ,text)
            ))
        ((eq? action-name 'tuplet) tuplet)
diff --git a/scripts/abc-2-ly.py b/scripts/abc-2-ly.py
new file mode 100644 (file)
index 0000000..f1e5dd9
--- /dev/null
@@ -0,0 +1,224 @@
+#!@PYTHON@
+
+# once upon a rainy monday afternoon.
+#
+#   ...
+#
+# (not finished.)
+# 
+
+name = 'abc-to-ly'
+version = '0.1'
+
+import getopt
+import sys
+import re
+import string
+header = {}
+global_voice_stuff = []
+default_len = 4
+
+
+def dump_header (hdr):
+       print '\\header {'
+       for k in hdr.keys ():
+               print '%s = "%s";\n'% (k,hdr[k])
+       print '};'
+
+def set_default_length (s):
+       m =  re.match ('1/(.*)$', s)
+       if m:
+               default_len = string.atoi ( m.group (1))
+
+def parse_timesig (s):
+       m =  re.match ('^M: *(.*)$', s)
+       if m:
+               print '\meter %s; ' % m.group (1)
+
+def parse_key (s):
+       m =  re.match ('^K: *(.*)$', s)
+       if m:
+               print '\key %s; ' % m.group (1)
+       
+def gulp_file(f):
+       try:
+               i = open(f)
+               i.seek (0, 2)
+               n = i.tell ()
+               i.seek (0,0)
+       except:
+               print 'can\'t open file: ' + f + '\n'
+               return ''
+       s = i.read (n)
+       if len (s) <= 0:
+               print 'gulped empty file: ' + f + '\n'
+       i.close ()
+       return s
+
+
+def try_parse_header_line (ln):
+       m = re.match ('^(.): *(.*)$', ln)
+
+       if m:
+               g =m.group (1)
+               a = m.group (2)
+               if g == 'T':
+                       header['title'] =  a
+               if g == 'M':
+                       global_voice_stuff.append ('\\time %s;' % a)
+               if g == 'K':
+                       global_voice_stuff.append ('\\key %s;' % a)
+               if g == 'O': 
+                       header ['origin'] = a
+               if g == 'X': 
+                       header ['crossRefNumber'] = a
+
+               if g == 'A':
+                       header ['area'] = a
+               if g == 'H':
+                       header ['history'] = a
+               if g == 'B':
+                       header ['book'] = a
+               if g == 'S':
+                       header ['subtitle'] = a
+               if g == 'L':
+                       set_default_length (ln)
+       
+
+       return m
+
+
+# WAT IS ABC EEN ONTZETTENDE PROGRAMMEERPOEP  !
+
+def try_parse_note (str):
+       mud = ''
+
+       slur_begin =0
+       if str[0] == '(':
+               slur_begin = 1
+               str = str[1:]
+
+       acc = None
+       if str[0] in '^=_':
+               c = str[0]
+               str = str[1:]
+               if c == '^':
+                       acc = 1
+               if c == '=':
+                       acc = 0
+               if c == '_':
+                       acc = -1
+
+        octave = 0;
+       if str[0] in "ABCDEFG":
+               str = string.lower (str[0]) + str[1:]
+               octave = -1
+
+
+       notename = 0
+       if str[0] in "abcdefg":
+               notename = ord(str[0]) - ord('a')
+               str = str[1:]
+       else:
+               return str              # failed; not a note!
+
+       while str[0] == ',':
+                octave = octave - 1
+                str = str[1:]
+       while str[0] == '\'':
+                octave = octave + 1
+                str = str[1:]
+       divide =0
+       if str[0] == '/':
+               divide =1
+               str = str[1:]
+       durstr = ''
+       while str[0] in "1234567890":
+               durstr = durstr + str[0]
+               str = str[1:]
+
+       duration_mult = 1
+       if durstr:
+               duration_mult = string.atoi (durstr)
+
+       
+       slur_end =0
+       if str[0] == ')':
+               slur_begin = 1
+               str = str[1:]
+
+
+       return str
+
+def junk_space (str):
+       while str and str[0] in '\t\n ':
+               str = str[1:]
+
+       return str
+
+def try_parse_bar (str):
+       if str[0] == '|':
+               str = str[1:]
+       return str
+       
+def try_parse_body_line (ln):
+       prev_ln = ''
+       while ln and  ln != prev_ln:
+               prev_ln = ln
+               ln = try_parse_note  (ln)
+               ln = try_parse_bar (ln)
+               ln = junk_space (ln)
+       if ln:
+               print 'Huh %s' % ln
+               
+
+def parse_file (fn):
+       f = open (fn)
+       ls = f.readlines ()
+
+       head = 1
+       for l in ls:
+               if re.match ('^[\t ]*(%.*)?$', l):
+                       continue
+               
+               if head:
+                       m = try_parse_header_line (l)
+                       if not m:
+                               head = 0
+
+               if not head:
+                       m = try_parse_body_line (l)
+
+
+def identify():
+       print '%s %s' % (name, version)
+
+def help ():
+       print r"""
+This is a disfunctional ABC to mudela convertor.  It only gulps input, and
+says huh when confused.  Does not do chords.  Go ahead and fix me.
+
+-h, --help   this help.
+"""
+
+identify()
+(options, files) = getopt.getopt (sys.argv[1:], 'h', ['help'])
+
+for opt in options:
+       o = opt[0]
+       a = opt[1]
+       if o== '--help' or o == '-h':
+               help ()
+       else:
+               print o
+               raise getopt.error
+
+
+for f in files:
+       if f == '-':
+               f = ''
+       
+       parse_file (f)
+       dump_header (header)
+       print global_voice_stuff, 1
+       
index ec6eaa10694a69950fbd66eb0fe04f22bb89aff4..ea0ed1e9211d11e137fce95b9ea8eb4022af68b4 100644 (file)
@@ -324,6 +324,20 @@ if 1:
                            'fontsize -> fontSize, midi_instrument -> midiInstrument, SkipBars -> skipBars')
 
 
+if 1:
+       def conv(lines):
+               newlines =[]
+               for x in lines:
+                       x =  re.sub ('tieydirection','tieVerticalDirection', x)
+                       x =  re.sub ('slurydirection','slurVerticalDirection', x)
+                       x =  re.sub ('ydirection','verticalDirection', x)                       
+                       newlines.append (x)
+               return newlines
+
+       conversions.append ((1,0,20), conv,
+                           '{,tie,slur}ydirection -> {v,tieV,slurV}erticalDirection')
+
+
 
 ############################
        
index fd535434c8420386560231d05651a0215cd6efa1..46b6a61778669a897cbfc24bbc732990d2c84321 100644 (file)
@@ -7,10 +7,6 @@
 #  help-gnu-music@gnu.org
 #
 #  TODO:
-# * Spacing before and after mudela blocks should be fixed. No empy lines
-#   before and after the mudela block should make just little space between
-#   music and text, one or more empy lines should make bigger space, like
-#   between paragraphs.
 # * center option (??)
 # * make mudela-book understand usepackage{geometry}
 # * check that linewidth set in \paper is not wider than actual linewidth?
@@ -396,21 +392,24 @@ class Tex_output:
     def write_outfile(self):
         file = open(self.output_fn+'.latex', 'w')
         file.write('% Created by mudela-book\n')
+        last_line = None
         for line in self.__lines:
             if type(line)==type([]):
-                if line[0] == 'tex':
-                    #\\def\\interscoreline{}
+                if last_line == '\n':
+                    file.write(r'\vspace{0.5cm}')
+                if line[0] == 'tex':                    
                     file.write('\\preMudelaExample \\input %s \\postMudelaExample\n'\
-                              # TeX applies the prefix of the main source automatically.
                                % (line[1]+'.tex'))
-#                               % (outdir+line[1]+'.tex'))
                 if line[0] == 'eps':
                     ps_dim = ps_dimention(outdir+line[1]+'.eps')
                     file.write('\\noindent\\parbox{%ipt}{\includegraphics{%s}}\n' \
                                % (ps_dim[0], line[1]+'.eps'))
-#                               % (ps_dim[0], outdir+line[1]+'.eps'))
             else:
                 file.write(line)
+            if type(last_line)==type([]):
+                if line=='\n':
+                    file.write(r'\vspace{0.5cm}')
+            last_line = line
         file.close()
 
 # given parameter s="\mudela[some options]{CODE} some text and commands"
index 0b5875526ead28e88c103ce6eae161163aa6810e..c9eb62d4b5b6e20bb6d17b1c29d1573e95666243 100644 (file)
@@ -1,4 +1,3 @@
-#!/usr/bin/python
 #!@PYTHON@
 
 # mup-to-ly.py -- 
index 816a48d3bd1cf1ca7812d20294d265ec02c5c37d..3f3f98ee14b3c2a96c551b1c293f4b83a6f8835d 100644 (file)
@@ -1,3 +1,9 @@
+pl 77
+       - mfmode
+
+pl 76
+       - bfs: shells, scripts
+
 pl 75
        - bfs: release
 
index 551522be3dc3cd4dfee3f6fc5b135e82697e59f6..058329505029e5a18fa606d674266bd885d7253a 100644 (file)
@@ -1,7 +1,7 @@
 PACKAGE_NAME=StepMake
 MAJOR_VERSION=0
 MINOR_VERSION=1
-PATCH_LEVEL=75
+PATCH_LEVEL=77
 MY_PATCH_LEVEL=
 
 # use the above to send patches, always empty for released version:
index b55536ab7fe1d97f3fd786bbeebd84d423666e95..c92667b586c63f6d2765ca12bb64cda995bdf5ab 100644 (file)
@@ -277,14 +277,15 @@ dnl    fi
     AC_CHECK_PROGS(TAR, tar, error)
 
     if test "x`uname`" = "xHP-UX"; then
+       AC_PATH_PROG(BASH, bash, /bin/sh)
        AC_STEPMAKE_WARN(avoiding buggy /bin/sh)
-       AC_CHECK_PROGS(SHELL, bash, /bin/ksh)
+       AC_PATH_PROG(SHELL, bash, /bin/ksh)
     else
+       AC_PATH_PROG(BASH, bash, /bin/sh)
        SHELL=/bin/sh
        AC_SUBST(SHELL)
     fi
 
-    AC_CHECK_PROGS(BASH, bash, /bin/sh)
 
     AC_PATH_PROG(PYTHON, ${PYTHON:-python}, -echo no python)
     AC_SUBST(PYTHON)
@@ -517,11 +518,11 @@ AC_DEFUN(AC_STEPMAKE_TEXMF_DIRS, [
     [TFMDIR=$enableval],
     [TFMDIR=auto] )
 
-    AC_MSG_CHECKING(TeX TFM directory)
+    AC_CHECK_PROGS(KPSEWHICH, kpsewhich, no)
+    AC_MSG_CHECKING(for TeX TFM directory)
     if test "x$TFMDIR" = xauto ; then
        if test "x$TEX_TFMDIR" = "x" ; then
-           if kpsewhich --version > /dev/null 2>&1 ; then
-               TEX_TFMDIR=`kpsewhich tfm cmr10.tfm`
+           if test "x$KPSEWHICH" != "xno" ; then
                CMR10=`kpsewhich tfm cmr10.tfm`
                TEX_TFMDIR=`dirname $CMR10`
            else
index 736e0ee2d4e776284832cb65fc5253023e8ebdfd..efa10adb72d60efb63366650a9e0cdb2d501d829 100755 (executable)
@@ -608,8 +608,10 @@ fi
     fi
     stepmake=`echo ${stepmake} | sed "s!\\\${prefix}!$presome!"`
 
+    echo $ac_n "checking Package""... $ac_c" 1>&6
+echo "configure:613: checking Package" >&5
     if test "x$PACKAGE" = "xSTEPMAKE"; then
-        echo Stepmake package!
+       echo "$ac_t""Stepmake package!" 1>&6
        (cd stepmake; rm -f stepmake; ln -s ../stepmake .)
        (cd stepmake; rm -f bin; ln -s ../bin .)
        ac_aux_dir=
@@ -633,13 +635,15 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
 
        stepmake=stepmake
     else
-        echo Package: $PACKAGE
+        echo "$ac_t""$PACKAGE" 1>&6
+       echo $ac_n "checking for stepmake""... $ac_c" 1>&6
+echo "configure:641: checking for stepmake" >&5
        # Check for installed stepmake
        if test -d $stepmake; then
-           echo Using installed stepmake: $stepmake
+           echo "$ac_t""$stepmake" 1>&6
        else
            stepmake='$(depth)'/stepmake
-           echo Using local stepmake: $datadir/stepmake not found
+           echo "$ac_t""./stepmake  ($datadir/stepmake not found)" 1>&6
        fi
        ac_aux_dir=
 for ac_dir in \
@@ -756,7 +760,7 @@ 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:760: checking host system type" >&5
+echo "configure:764: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
@@ -781,7 +785,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:785: checking for $ac_word" >&5
+echo "configure:789: 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
@@ -816,7 +820,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:820: checking for $ac_word" >&5
+echo "configure:824: 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
@@ -853,7 +857,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:857: checking for $ac_word" >&5
+echo "configure:861: 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
@@ -885,90 +889,128 @@ test -n "$TAR" || TAR="error"
 
 
     if test "x`uname`" = "xHP-UX"; then
+       # Extract the first word of "bash", so it can be a program name with args.
+set dummy bash; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:896: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_BASH'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  case "$BASH" in
+  /*)
+  ac_cv_path_BASH="$BASH" # Let the user override the test with a path.
+  ;;
+  ?:/*)                         
+  ac_cv_path_BASH="$BASH" # Let the user override the test with a dos path.
+  ;;
+  *)
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do 
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_path_BASH="$ac_dir/$ac_word"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_path_BASH" && ac_cv_path_BASH="/bin/sh"
+  ;;
+esac
+fi
+BASH="$ac_cv_path_BASH"
+if test -n "$BASH"; then
+  echo "$ac_t""$BASH" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
        
     echo "configure: warning: avoiding buggy /bin/sh" 1>&2
     warn_b=yes
 
-       for ac_prog in bash
-do
-# Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
+       # Extract the first word of "bash", so it can be a program name with args.
+set dummy bash; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:898: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_SHELL'+set}'`\" = set"; then
+echo "configure:936: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_SHELL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
-  if test -n "$SHELL"; then
-  ac_cv_prog_SHELL="$SHELL" # Let the user override the test.
-else
+  case "$SHELL" in
+  /*)
+  ac_cv_path_SHELL="$SHELL" # Let the user override the test with a path.
+  ;;
+  ?:/*)                         
+  ac_cv_path_SHELL="$SHELL" # Let the user override the test with a dos path.
+  ;;
+  *)
   IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
   ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
+  for ac_dir in $ac_dummy; do 
     test -z "$ac_dir" && ac_dir=.
     if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_SHELL="$ac_prog"
+      ac_cv_path_SHELL="$ac_dir/$ac_word"
       break
     fi
   done
   IFS="$ac_save_ifs"
+  test -z "$ac_cv_path_SHELL" && ac_cv_path_SHELL="/bin/ksh"
+  ;;
+esac
 fi
-fi
-SHELL="$ac_cv_prog_SHELL"
+SHELL="$ac_cv_path_SHELL"
 if test -n "$SHELL"; then
   echo "$ac_t""$SHELL" 1>&6
 else
   echo "$ac_t""no" 1>&6
 fi
 
-test -n "$SHELL" && break
-done
-test -n "$SHELL" || SHELL="/bin/ksh"
-
     else
-       SHELL=/bin/sh
-       
-    fi
-
-    for ac_prog in bash
-do
-# Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
+       # Extract the first word of "bash", so it can be a program name with args.
+set dummy bash; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:938: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_BASH'+set}'`\" = set"; then
+echo "configure:973: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_BASH'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
-  if test -n "$BASH"; then
-  ac_cv_prog_BASH="$BASH" # Let the user override the test.
-else
+  case "$BASH" in
+  /*)
+  ac_cv_path_BASH="$BASH" # Let the user override the test with a path.
+  ;;
+  ?:/*)                         
+  ac_cv_path_BASH="$BASH" # Let the user override the test with a dos path.
+  ;;
+  *)
   IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
   ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
+  for ac_dir in $ac_dummy; do 
     test -z "$ac_dir" && ac_dir=.
     if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_BASH="$ac_prog"
+      ac_cv_path_BASH="$ac_dir/$ac_word"
       break
     fi
   done
   IFS="$ac_save_ifs"
+  test -z "$ac_cv_path_BASH" && ac_cv_path_BASH="/bin/sh"
+  ;;
+esac
 fi
-fi
-BASH="$ac_cv_prog_BASH"
+BASH="$ac_cv_path_BASH"
 if test -n "$BASH"; then
   echo "$ac_t""$BASH" 1>&6
 else
   echo "$ac_t""no" 1>&6
 fi
 
-test -n "$BASH" && break
-done
-test -n "$BASH" || BASH="/bin/sh"
+       SHELL=/bin/sh
+       
+    fi
 
 
     # Extract the first word of "${PYTHON:-python}", so it can be a program name with args.
 set dummy ${PYTHON:-python}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:972: checking for $ac_word" >&5
+echo "configure:1014: 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
@@ -1135,7 +1177,7 @@ fi
 
 
     echo $ac_n "checking language""... $ac_c" 1>&6
-echo "configure:1139: checking language" >&5    
+echo "configure:1181: checking language" >&5    
     case "$language" in
       En* | en* | Am* | am* | US* | us*)
            lang=English;;
@@ -1168,7 +1210,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1172: checking for $ac_word" >&5
+echo "configure:1214: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_STRIPROFF'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1203,7 +1245,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1207: checking for $ac_word" >&5
+echo "configure:1249: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1238,7 +1280,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1242: checking for $ac_word" >&5
+echo "configure:1284: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL2HTML'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1273,7 +1315,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1277: checking for $ac_word" >&5
+echo "configure:1319: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL2LATEX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1307,7 +1349,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1311: checking for $ac_word" >&5
+echo "configure:1353: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL2MAN'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1342,7 +1384,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1346: checking for $ac_word" >&5
+echo "configure:1388: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL2MSLESS'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1377,7 +1419,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1381: checking for $ac_word" >&5
+echo "configure:1423: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL2TEXINFO'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1412,7 +1454,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1416: checking for $ac_word" >&5
+echo "configure:1458: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL2TXT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1471,7 +1513,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1475: checking for $ac_word" >&5
+echo "configure:1517: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
index 72bfd29001a02ec97d1291fbcb0e269bb9cd117f..972cf5fbbd29408114deec437dde3e2a681de53c 100644 (file)
@@ -1,15 +1,15 @@
 Begin3
 Title: StepMake
-Version: 0.1.74
-Entered-date: 17MAY99
+Version: 0.1.77
+Entered-date: 25MAY99
 Description: 
 Keywords: music notation typesetting midi fonts engraving
 Author: janneke@gnu.org (Jan Nieuwenhuizen)
        hanwen@cs.ruu.nl (Han-Wen Nienhuys)
 Maintained-by: janneke@gnu.org (Jan Nieuwenhuizen)
 Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
-       40k stepmake-0.1.74.tar.gz 
+       40k stepmake-0.1.77.tar.gz 
 Original-site: pcnov095.win.tue.nl /pub/lilypond/development/
-       40k stepmake-0.1.74.tar.gz 
+       40k stepmake-0.1.77.tar.gz 
 Copying-policy: GPL
 End
index 532b1c462e0dddf109ce668b18d4aa9c3b428c3e..6ae5300fb1727e020f237a359852fb7ff9734145 100644 (file)
@@ -1,9 +1,9 @@
 Name: stepmake
-Version: 0.1.74
+Version: 0.1.77
 Release: 1
 Copyright: GPL
 Group: Development
-Source0: pcnov095.win.tue.nl:/pub/lilypond/development/stepmake-0.1.74.tar.gz
+Source0: pcnov095.win.tue.nl:/pub/lilypond/development/stepmake-0.1.77.tar.gz
 Summary: generic make package
 Packager: janneke@gnu.org (Jan Nieuwenhuizen)
 Buildroot: /tmp/stepmake-install
index 813ffde61b16f4dc1407bae695cf5be6dee9fc57..c431f2cd29b14c3d248d7798831e7dbc7db8febb 100644 (file)
@@ -3,7 +3,18 @@ $(outdir)/%: %.pl
        cat $< | sed $(sed-atvariables) > $@
        chmod 755 $@
 
-#FIXME.  Check for bash?
+$(outdir)/%: %.bash
+       cat $< | sed $(sed-atvariables) > $@
+       chmod 755 $@
+
+$(outdir)/%: %.scm
+       cat $< | sed $(sed-atvariables) > $@
+       chmod 755 $@
+
+$(outdir)/%: %.expect
+       cat $< | sed $(sed-atvariables) > $@
+       chmod 755 $@
+
 $(outdir)/%: %.sh
        cat $< | sed $(sed-atvariables) > $@
        chmod 755 $@
index 1ba75cdf042056400413646f13eb939581a89250..01596368124f9d7c21c759ef2008e29e7a3163e7 100644 (file)
@@ -1,2 +1,2 @@
 
-all: $(PERL_SCRIPTS) $(PYTHON_SCRIPTS) $(SH_SCRIPTS)
+all: $(BASH_SCRIPTS) $(EXPECT_SCRIPTS) $(PERL_SCRIPTS) $(PYTHON_SCRIPTS) $(SCM_SCRIPTS) $(SH_SCRIPTS)
index ef705ba066ad4b2cfb6d6f00b89893d6b96b1d31..4f0c29d8d427c40e824e6afd5895134d9addd51f 100644 (file)
@@ -2,9 +2,15 @@
 
 PERL_SCRIPTS_IN := $(wildcard *.pl)
 PERL_SCRIPTS = $(addprefix $(outdir)/, $(PERL_SCRIPTS_IN:.pl=))
+BASH_SCRIPTS_IN := $(wildcard *.bash)
+BASH_SCRIPTS = $(addprefix $(outdir)/, $(BASH_SCRIPTS_IN:.bash=))
+EXPECT_SCRIPTS_IN := $(wildcard *.expect)
+EXPECT_SCRIPTS = $(addprefix $(outdir)/, $(EXPECT_SCRIPTS_IN:.expect=))
+SCM_SCRIPTS_IN := $(wildcard *.scm)
+SCM_SCRIPTS = $(addprefix $(outdir)/, $(SCM_SCRIPTS_IN:.scm=))
 SH_SCRIPTS_IN := $(wildcard *.sh)
 SH_SCRIPTS = $(addprefix $(outdir)/, $(SH_SCRIPTS_IN:.sh=))
 PYTHON_SCRIPTS_IN := $(wildcard *.py)
 PYTHON_SCRIPTS = $(addprefix $(outdir)/, $(PYTHON_SCRIPTS_IN:.py=))
-ALL_SCRIPTS_IN = $(SH_SCRIPTS_IN) $(PERL_SCRIPTS_IN) $(PYTHON_SCRIPTS_IN)
+ALL_SCRIPTS_IN = $(BASH_SCRIPTS_IN) $(EXPECT_SCRIPTS_IN) $(PERL_SCRIPTS_IN) $(PYTHON_SCRIPTS_IN) $(SCM_SCRIPTS_IN) $(SH_SCRIPTS_IN)
 EXTRA_DIST_FILES += $(ALL_SCRIPTS_IN)
index ac21d26e7614ad83ea91871022daf2e5a587448f..6a627fe2d5772a7048d98c2cf448e34f5936948c 100644 (file)
@@ -24,9 +24,11 @@ index.html: check-top-web NEWS
        $(sed-version) < Documentation/topdocs/$(outdir)/topweb.html > $@
        $(PYTHON) $(step-bindir)/add-html-footer.py --package=$(topdir) --index=Documentation/top-docs/out-www/index.html $@
 
-WWW-clean:
+WWW-clean: local-WWW-clean
        $(MAKE) CONFIGSUFFIX='www' clean
 
+local-WWW-clean:
+
 dist:
        rm -rf $(distdir)
        $(MAKE) local-dist $(distdir)
index 6ef9ca21b8a03735cc39446ab0b1ab570d115501..794397fcf41b68deed5ece5cd2e95ff0962afd19 100644 (file)
@@ -44,7 +44,8 @@
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %% set up dimensions
-\parindent=0pt
+% mudela-book don't like this:
+%\parindent=0pt
 \newdimen\smallspace
 \newdimen\interlinedist