]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 1.1.6 release/1.1.6
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Mon, 16 Nov 1998 16:35:16 +0000 (17:35 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Mon, 16 Nov 1998 16:35:16 +0000 (17:35 +0100)
329 files changed:
Documentation/tex/feta.tex
NEWS
TODO
VERSION
buildscripts/lilypond-profile.sh
configure
configure.in
flower/include/array.hh
flower/include/pointer.hh
flower/include/pointer.tcc
flower/include/virtual-methods.hh
flower/rtti.cc [new file with mode: 0644]
init/engraver.ly
init/lily.scm
input/test/stars-and-stripes.ly [deleted file]
input/test/tup.ly
lily/abbreviation-beam-engraver.cc
lily/abbreviation-beam.cc
lily/align-element.cc
lily/audio-column.cc
lily/audio-element.cc
lily/audio-item.cc
lily/audio-staff.cc
lily/auto-plet-engraver.cc [deleted file]
lily/axis-group-element.cc
lily/axis-group-item.cc
lily/axis-group-spanner.cc
lily/bar-column-engraver.cc
lily/bar-column.cc
lily/bar-engraver.cc
lily/bar-number-engraver.cc
lily/bar.cc
lily/beam-engraver.cc
lily/beam-swallow-trans.cc
lily/beam.cc
lily/bow.cc
lily/break-align-item.cc
lily/change-iterator.cc
lily/change-translator.cc
lily/chord-iterator.cc
lily/clef-engraver.cc
lily/clef-item.cc
lily/collision-engraver.cc
lily/collision.cc
lily/command-request.cc
lily/compressed-music-iterator.cc
lily/compressed-music.cc
lily/crescendo.cc
lily/directional-spanner.cc
lily/dot-column-engraver.cc
lily/dot-column.cc
lily/dots.cc
lily/dynamic-engraver.cc
lily/engraver-group.cc
lily/engraver.cc
lily/extender-engraver.cc
lily/extender-spanner.cc
lily/font-size-engraver.cc
lily/general-script-def.cc
lily/global-translator.cc
lily/graphical-axis-group.cc
lily/graphical-element.cc
lily/hara-kiri-line-group-engraver.cc
lily/hara-kiri-vertical-group-spanner.cc
lily/heads-engraver.cc
lily/horizontal-align-item.cc
lily/horizontal-group-element.cc
lily/horizontal-group-item.cc
lily/horizontal-vertical-group-element.cc
lily/horizontal-vertical-group-item.cc
lily/identifier.cc
lily/include/abbreviation-beam-engraver.hh
lily/include/abbreviation-beam.hh
lily/include/align-element.hh
lily/include/audio-element.hh
lily/include/audio-item.hh
lily/include/audio-staff.hh
lily/include/auto-plet-engraver.hh [deleted file]
lily/include/axis-group-element.hh
lily/include/axis-group-item.hh
lily/include/axis-group-spanner.hh
lily/include/bar-column-engraver.hh
lily/include/bar-column.hh
lily/include/bar-engraver.hh
lily/include/bar-number-engraver.hh
lily/include/bar.hh
lily/include/beam-engraver.hh
lily/include/beam.hh
lily/include/bow.hh
lily/include/break-align-item.hh
lily/include/change-iterator.hh
lily/include/change-translator.hh
lily/include/chord-iterator.hh
lily/include/clef-engraver.hh
lily/include/clef-item.hh
lily/include/collision-engraver.hh
lily/include/collision.hh
lily/include/compressed-music-iterator.hh
lily/include/compressed-music.hh
lily/include/crescendo.hh
lily/include/directional-spanner.hh
lily/include/dot-column-engraver.hh
lily/include/dot-column.hh
lily/include/dots.hh
lily/include/dynamic-engraver.hh
lily/include/engraver-group.hh
lily/include/engraver.hh
lily/include/extender-engraver.hh
lily/include/extender-spanner.hh
lily/include/font-size-engraver.hh
lily/include/general-script-def.hh
lily/include/global-translator.hh
lily/include/graphical-axis-group.hh
lily/include/graphical-element.hh
lily/include/graphical-lisp-element.hh
lily/include/hara-kiri-line-group-engraver.hh
lily/include/hara-kiri-vertical-group-spanner.hh
lily/include/heads-engraver.hh
lily/include/horizontal-align-item.hh
lily/include/horizontal-group-element.hh
lily/include/horizontal-group-item.hh
lily/include/horizontal-vertical-group-element.hh
lily/include/horizontal-vertical-group-item.hh
lily/include/identifier.hh
lily/include/item.hh
lily/include/key-engraver.hh
lily/include/key-item.hh
lily/include/key-performer.hh
lily/include/line-group-group-engraver.hh
lily/include/line-of-score.hh
lily/include/local-key-engraver.hh
lily/include/local-key-item.hh
lily/include/lyric-engraver.hh
lily/include/lyric-performer.hh
lily/include/mark-engraver.hh
lily/include/midi-def.hh
lily/include/midi-item.hh
lily/include/multi-measure-rest-engraver.hh
lily/include/multi-measure-rest.hh
lily/include/music-iterator.hh
lily/include/music-list.hh
lily/include/music-output-def.hh
lily/include/music-wrapper-iterator.hh
lily/include/music-wrapper.hh
lily/include/music.hh
lily/include/note-column.hh
lily/include/note-head.hh
lily/include/note-performer.hh
lily/include/p-col.hh
lily/include/paper-def.hh
lily/include/performer-group-performer.hh
lily/include/performer.hh
lily/include/piano-brace.hh
lily/include/pitch-squash-engraver.hh
lily/include/plet-engraver.hh
lily/include/plet-swallow-engraver.hh
lily/include/priority-halign-engraver.hh
lily/include/property-iterator.hh
lily/include/relative-music.hh
lily/include/request-iterator.hh
lily/include/request.hh
lily/include/rest-collision-engraver.hh
lily/include/rest-collision.hh
lily/include/rest-engraver.hh
lily/include/rest.hh
lily/include/rhythmic-column-engraver.hh
lily/include/rhythmic-head.hh
lily/include/score-bar.hh
lily/include/score-column.hh
lily/include/score-element-info.hh
lily/include/score-element.hh
lily/include/score-engraver.hh
lily/include/score-performer.hh
lily/include/score-priority-engraver.hh
lily/include/script-column.hh
lily/include/script-def.hh
lily/include/script-engraver.hh
lily/include/script.hh
lily/include/separating-group-spanner.hh
lily/include/separating-line-group-engraver.hh
lily/include/single-malt-grouping-item.hh
lily/include/slur-engraver.hh
lily/include/slur.hh
lily/include/span-bar-engraver.hh
lily/include/span-bar.hh
lily/include/span-score-bar-engraver.hh
lily/include/span-score-bar.hh
lily/include/spanner.hh
lily/include/staff-bracket.hh
lily/include/staff-margin-engraver.hh
lily/include/staff-performer.hh
lily/include/staff-side.hh
lily/include/staff-sym-engraver.hh
lily/include/staff-sym.hh
lily/include/stem-engraver.hh
lily/include/stem.hh
lily/include/super-element.hh
lily/include/swallow-engraver.hh
lily/include/swallow-perf.hh
lily/include/text-def.hh
lily/include/text-item.hh
lily/include/text-spanner.hh
lily/include/tie.hh
lily/include/ties-engraver.hh
lily/include/time-signature-engraver.hh
lily/include/time-signature-performer.hh
lily/include/time-signature.hh
lily/include/timing-engraver.hh
lily/include/timing-translator.hh
lily/include/translation-property.hh
lily/include/translator-group.hh
lily/include/translator.hh
lily/include/transposed-music.hh
lily/include/tuplet-engraver.hh [new file with mode: 0644]
lily/include/type-swallow-trans.hh
lily/include/vertical-align-engraver.hh
lily/include/vertical-align-spanner.hh
lily/include/vertical-group-element.hh
lily/include/vertical-group-spanner.hh
lily/include/voice-iterator.hh
lily/item.cc
lily/key-engraver.cc
lily/key-item.cc
lily/key-performer.cc
lily/line-group-group-engraver.cc
lily/line-of-score.cc
lily/local-key-engraver.cc
lily/local-key-item.cc
lily/lyric-engraver.cc
lily/lyric-performer.cc
lily/main.cc
lily/mark-engraver.cc
lily/midi-def.cc
lily/midi-item.cc
lily/multi-measure-rest-engraver.cc
lily/multi-measure-rest.cc
lily/music-iterator.cc
lily/music-list.cc
lily/music-output-def.cc
lily/music-sequence.cc
lily/music-wrapper-iterator.cc
lily/music-wrapper.cc
lily/music.cc
lily/musical-request.cc
lily/note-column.cc
lily/note-head.cc
lily/note-performer.cc
lily/p-col.cc
lily/paper-def.cc
lily/performer-group-performer.cc
lily/performer.cc
lily/piano-brace.cc
lily/pitch-squash-engraver.cc
lily/plet-engraver.cc
lily/plet-spanner.cc [deleted file]
lily/plet-swallow-engraver.cc
lily/priority-halign-engraver.cc
lily/property-iterator.cc
lily/relative-octave-music.cc
lily/request-iterator.cc
lily/request.cc
lily/rest-collision-engraver.cc
lily/rest-collision.cc
lily/rest-engraver.cc
lily/rest.cc
lily/rhythmic-column-engraver.cc
lily/rhythmic-head.cc
lily/score-bar.cc
lily/score-column.cc
lily/score-element-info.cc
lily/score-element.cc
lily/score-engraver.cc
lily/score-performer.cc
lily/score-priority-engraver.cc
lily/script-column.cc
lily/script-def.cc
lily/script-engraver.cc
lily/script.cc
lily/separating-group-spanner.cc
lily/separating-line-group-engraver.cc
lily/single-malt-grouping-item.cc
lily/slur-engraver.cc
lily/slur.cc
lily/span-bar-engraver.cc
lily/span-bar.cc
lily/span-score-bar-engraver.cc
lily/span-score-bar.cc
lily/spanner.cc
lily/staff-bracket.cc
lily/staff-margin-engraver.cc
lily/staff-performer.cc
lily/staff-side.cc
lily/staff-sym-engraver.cc
lily/staff-sym.cc
lily/stem-engraver.cc
lily/stem.cc
lily/super-element.cc
lily/swallow-engraver.cc
lily/swallow-perf.cc
lily/text-def.cc
lily/text-item.cc
lily/text-spanner.cc
lily/tie.cc
lily/ties-engraver.cc
lily/time-signature-engraver.cc
lily/time-signature-performer.cc
lily/time-signature.cc
lily/timing-engraver.cc
lily/timing-translator.cc
lily/translation-property.cc
lily/translator-ctors.cc
lily/translator-group.cc
lily/translator.cc
lily/transposed-music.cc
lily/tuplet-engraver.cc [new file with mode: 0644]
lily/type-swallow-trans.cc
lily/vertical-align-engraver.cc
lily/vertical-align-spanner.cc
lily/vertical-group-elem.cc
lily/vertical-group-spanner.cc
lily/voice-iterator.cc
make/out/lelievijver.lsm
make/out/lilypond.lsm
make/out/lilypond.spec
ps/lily.ps
ps/lilyponddefs.ps
stepmake/stepmake/tex-rules.make
tex/lily-ps-defs.tex
tex/lilyponddefs.tex

index 032c1dcf69c47585d2f817faf9d7ee383a44f517..36633bea1ba8becbb53d2c23100df5fdde8ab155 100644 (file)
 
 \vskip5mm
 
-\listfont{\fetatwenty}{0}{78}
+\listfont{\fetatwenty}{0}{123}
 % urg
 \vskip-\charheight
-\vskip-\charheight
 \listfont{\fetanumber}{48}{58}
 \vskip-\charheight
 \listfont{\fetafinger}{48}{58}
diff --git a/NEWS b/NEWS
index fce3556d2e26151bbfbf646597c4fbeee4e54d4f..b340ce878b4513f7f783a76301ee2843973eb2ef 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,13 @@
+
+
+pl5.szmulewicz1
+       - rtti stuff
+       - bf's: lily.scm
+
+pl5.mb1
+       - bf: array.hh, don't make copy if resized to the same size
+       - bf: feta.tex
+
 pl5.jcn4
        - scm additions: plet, hairpin
        - website fixes
@@ -14,6 +24,11 @@ pl5.jcn1
        - tex/lily-ps-defs.tex fixes
        - lily.ps 
 
+pl 5.hwn1
+       - Tuplet_engraver
+       - lily.ps fix.
+       - junked MY_RTTI stuff, simpler VIRTUAL_COPY_CONS
+
 ********
 1.1.5
 
diff --git a/TODO b/TODO
index daf8fa83e653e538f9675e11225c72b0e8ac33b4..52d614df1ad9e2b4ebf5a1ef24d207f50f247d32 100644 (file)
--- a/TODO
+++ b/TODO
@@ -8,12 +8,11 @@ grep for TODO and ugh/ugr/urg
 
 
 BUGS:
+
        * gallina barlines.
 
        * latex bla.tex broken (titles / \lilyfooter stuff?)
 
-       * --safe:  disallow backslashes, disallow \include.
-
        * msgfmt -o check?
 
        * \breathmark TeX macro 
@@ -67,6 +66,12 @@ BUGS:
        
        portato= \script { "portato" 0 -1 0 1 0 }
 
+STUFF
+
+       * move option processing out of gh_enter
+
+       * check out GCC signatures?
+
        * Align_element::padding  ?
 
        * uniformise property names.
@@ -77,6 +82,8 @@ BUGS:
 
        * make engraver hacking robust.
 
+       * --safe:  disallow backslashes, disallow \include.
+
        * use streambufs and iostream
        to provide IO handling for TeX stream, mudela stream, data-file.
 
@@ -104,8 +111,6 @@ BUGS:
        - junk _ for lyrics.
        - abstract grammar.
 
-       * install TeX stuff into tex/generic directory.
-
        * percussion note heads
 
        * mi2mu empty staffs.
@@ -565,8 +570,6 @@ SMALLISH PROJECTS
 
        * Flower types:
        - A decent scalar type
-       - String hash
-       - Pointer hash
 
        * binsearch/hash for identifiers
 
@@ -598,7 +601,6 @@ SMALLISH PROJECTS
 
 IDEAS
 
-
        * Output data structures of Mudela in XML/SGML.
 
        * create libmudela, or liblily_frontend
@@ -606,7 +608,7 @@ IDEAS
        * move MIDI stuff (including Quantization) to a ANSI C libmidi library.
 
        * use an embedded language: Python, Scheme
-       for: 
+       for:
                - Score_elems
                - Translators
 
@@ -616,8 +618,6 @@ IDEAS
 
        * caching breakpoints
 
-       * breath marks 
-
        * used fixedpoint arithmetic for min. energy.
 
        * move towards incremental algorithms.
diff --git a/VERSION b/VERSION
index f22cd6d233dff60057f1b8cd0be5fed670bc8af2..9fa405bb94a8e0dcb234c7b1b16d94a8e894ca60 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,8 +1,8 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=1
-PATCH_LEVEL=5
-MY_PATCH_LEVEL=jcn4
+PATCH_LEVEL=6
+MY_PATCH_LEVEL=
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
index 44bbfd0ec204bf24e5d9a2ec3d4aeb13988cebc4..40e778f75ab8a21ea8d5fff1d13353d0edc1dede 100644 (file)
@@ -8,7 +8,8 @@ LILYINCLUDE="@datadir@/ly:@datadir@/afm"
 
 # include an empty path component for the system wide includes.
 MFINPUTS="@datadir@/mf:"${MFINPUTS:=":"}
-TEXINPUTS="@datadir@/tex:"${TEXINPUTS:=":"}
+TEXINPUTS="@datadir@/tex:@datadir@/ps:"${TEXINPUTS:=":"}
+
 GUILE_LOAD_PATH="@datadir@/scm:$GUILE_LOAD_PATH"
 
 export GUILE_LOAD_PATH LILYINCLUDE MFINPUTS TEXINPUTS GS_LIB GS_FONTPATH
index 1fab397eb0c75b12f1f0d3f93738b407a1b36c5a..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100755 (executable)
--- a/configure
+++ b/configure
-#! /bin/sh
-
-ac_help="$ac_help
-  --with-gtkmm-prefix=PREFIX
-                          Prefix where GTK-- is installed (optional)"
-# Check whether --with-gtkmm-prefix or --without-gtkmm-prefix was given.
-if test "${with_gtkmm_prefix+set}" = set; then
-  withval="$with_gtkmm_prefix"
-  gtkmm_config_prefix="$withval"
-else
-  gtkmm_config_prefix=""
-fi
-
-ac_help="$ac_help
-  --with-gtkmm-exec-prefix=PREFIX
-                          Exec prefix where GTK-- is installed (optional)"
-# Check whether --with-gtkmm-exec-prefix or --without-gtkmm-exec-prefix was given.
-if test "${with_gtkmm_exec_prefix+set}" = set; then
-  withval="$with_gtkmm_exec_prefix"
-  gtkmm_config_exec_prefix="$withval"
-else
-  gtkmm_config_exec_prefix=""
-fi
-
-ac_help="$ac_help
-  --disable-gtkmmtest     Do not try to compile and run a test GTK-- program"
-# Check whether --enable-gtkmmtest or --disable-gtkmmtest was given.
-if test "${enable_gtkmmtest+set}" = set; then
-  enableval="$enable_gtkmmtest"
-  :
-else
-  enable_gtkmmtest=yes
-fi
-
-
-  if test x$gtkmm_config_exec_prefix != x ; then
-     gtkmm_config_args="$gtkmm_config_args --exec-prefix=$gtkmm_config_exec_prefix"
-     if test x${GTKMM_CONFIG+set} != xset ; then
-        GTKMM_CONFIG=$gtkmm_config_exec_prefix/bin/gtkmm-config
-     fi
-  fi
-  if test x$gtkmm_config_prefix != x ; then
-     gtkmm_config_args="$gtkmm_config_args --prefix=$gtkmm_config_prefix"
-     if test x${GTKMM_CONFIG+set} != xset ; then
-        GTKMM_CONFIG=$gtkmm_config_prefix/bin/gtkmm-config
-     fi
-  fi
-
-
-
-
-# Configure paths for GTK--DRAW
-# Derek Quinn Wyatt   98-08-21  (adapted from Jan Nieuwenhuizen's code)
-
-
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.12 
-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-ac_help="$ac_help
-  enable-config=FILE      put configure settings in config-FILE.make"
-ac_help="$ac_help
-  enable-checking         set runtime checks (assert calls). Default: on"
-ac_help="$ac_help
-  enable-optimise         use maximal speed optimisations. Default: off"
-ac_help="$ac_help
-  enable-profiling        compile with gprof support. Default: off"
-ac_help="$ac_help
-  enable-debugging        set debug info. Default: on"
-ac_help="$ac_help
-  enable-mingw-prefix=DIR set the mingw32 directory (standalone windows32 exes)"
-ac_help="$ac_help
-  enable-printing         turn on debug printing. Default: off"
-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"
-
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-# Initialize some other variables.
-subdirs=
-MFLAGS= MAKEFLAGS=
-# Maximum number of lines to put in a shell here document.
-ac_max_here_lines=12
-
-ac_prev=
-for ac_option
-do
-
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval "$ac_prev=\$ac_option"
-    ac_prev=
-    continue
-  fi
-
-  case "$ac_option" in
-  -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
-  *) ac_optarg= ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case "$ac_option" in
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir="$ac_optarg" ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build="$ac_optarg" ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file="$ac_optarg" ;;
-
-  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
-  | --da=*)
-    datadir="$ac_optarg" ;;
-
-  -disable-* | --disable-*)
-    ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
-    # Reject names that are not valid shell variable names.
-    if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
-      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
-    fi
-    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
-    eval "enable_${ac_feature}=no" ;;
-
-  -enable-* | --enable-*)
-    ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
-    # Reject names that are not valid shell variable names.
-    if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
-      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
-    fi
-    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
-    case "$ac_option" in
-      *=*) ;;
-      *) ac_optarg=yes ;;
-    esac
-    eval "enable_${ac_feature}='$ac_optarg'" ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix="$ac_optarg" ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he)
-    # Omit some internal or obsolete options to make the list less imposing.
-    # This message is too long to be a string in the A/UX 3.1 sh.
-    cat << EOF
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
-  --cache-file=FILE       cache test results in FILE
-  --help                  print this message
-  --no-create             do not create output files
-  --quiet, --silent       do not print \`checking...' messages
-  --version               print the version of autoconf that created configure
-Directory and file names:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [same as prefix]
-  --bindir=DIR            user executables in DIR [EPREFIX/bin]
-  --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin]
-  --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]
-  --datadir=DIR           read-only architecture-independent data in DIR
-                          [PREFIX/share]
-  --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data in DIR
-                          [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var]
-  --libdir=DIR            object code libraries in DIR [EPREFIX/lib]
-  --includedir=DIR        C header files in DIR [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]
-  --infodir=DIR           info documentation in DIR [PREFIX/info]
-  --mandir=DIR            man documentation in DIR [PREFIX/man]
-  --srcdir=DIR            find the sources in DIR [configure dir or ..]
-  --program-prefix=PREFIX prepend PREFIX to installed program names
-  --program-suffix=SUFFIX append SUFFIX to installed program names
-  --program-transform-name=PROGRAM
-                          run sed PROGRAM on installed program names
-EOF
-    cat << EOF
-Host type:
-  --build=BUILD           configure for building on BUILD [BUILD=HOST]
-  --host=HOST             configure for HOST [guessed]
-  --target=TARGET         configure for TARGET [TARGET=HOST]
-Features and packages:
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --x-includes=DIR        X include files are in DIR
-  --x-libraries=DIR       X library files are in DIR
-EOF
-    if test -n "$ac_help"; then
-      echo "--enable and --with options recognized:$ac_help"
-    fi
-    exit 0 ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host="$ac_optarg" ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir="$ac_optarg" ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir="$ac_optarg" ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir="$ac_optarg" ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir="$ac_optarg" ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst \
-  | --locals | --local | --loca | --loc | --lo)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
-  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
-    localstatedir="$ac_optarg" ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir="$ac_optarg" ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir="$ac_optarg" ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix="$ac_optarg" ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix="$ac_optarg" ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix="$ac_optarg" ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name="$ac_optarg" ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir="$ac_optarg" ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir="$ac_optarg" ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site="$ac_optarg" ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir="$ac_optarg" ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir="$ac_optarg" ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target="$ac_optarg" ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers)
-    echo "configure generated by autoconf version 2.12"
-    exit 0 ;;
-
-  -with-* | --with-*)
-    ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
-    # Reject names that are not valid shell variable names.
-    if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
-      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
-    fi
-    ac_package=`echo $ac_package| sed 's/-/_/g'`
-    case "$ac_option" in
-      *=*) ;;
-      *) ac_optarg=yes ;;
-    esac
-    eval "with_${ac_package}='$ac_optarg'" ;;
-
-  -without-* | --without-*)
-    ac_package=`echo $ac_option|sed -e 's/-*without-//'`
-    # Reject names that are not valid shell variable names.
-    if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
-      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
-    fi
-    ac_package=`echo $ac_package| sed 's/-/_/g'`
-    eval "with_${ac_package}=no" ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes="$ac_optarg" ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries="$ac_optarg" ;;
-
-  -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
-    ;;
-
-  *)
-    if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
-      echo "configure: warning: $ac_option: invalid host type" 1>&2
-    fi
-    if test "x$nonopt" != xNONE; then
-      { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
-    fi
-    nonopt="$ac_option"
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 6 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
-  exec 6>/dev/null
-else
-  exec 6>&1
-fi
-exec 5>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
-  case "$ac_arg" in
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c) ;;
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
-  *" "*|*"     "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
-  ac_configure_args="$ac_configure_args '$ac_arg'" ;;
-  *) ac_configure_args="$ac_configure_args $ac_arg" ;;
-  esac
-done
-
-# NLS nuisances.
-# Only set these to C if already set.  These must not be set unconditionally
-# because not all systems understand e.g. LANG=C (notably SCO).
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-# Non-C LC_CTYPE values break the ctype check.
-if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=make/lilypond.lsm.in
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then its parent.
-  ac_prog=$0
-  ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
-  test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
-  srcdir=$ac_confdir
-  if test ! -r $srcdir/$ac_unique_file; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
-  if test "$ac_srcdir_defaulted" = yes; then
-    { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
-  else
-    { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
-  fi
-fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
-  if test "x$prefix" != xNONE; then
-    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
-  else
-    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
-  fi
-fi
-for ac_site_file in $CONFIG_SITE; do
-  if test -r "$ac_site_file"; then
-    echo "loading site script $ac_site_file"
-    . "$ac_site_file"
-  fi
-done
-
-if test -r "$cache_file"; then
-  echo "loading cache $cache_file"
-  . $cache_file
-else
-  echo "creating cache $cache_file"
-  > $cache_file
-fi
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
-  # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
-  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
-    ac_n= ac_c='
-' ac_t='       '
-  else
-    ac_n=-n ac_c= ac_t=
-  fi
-else
-  ac_n= ac_c='\c' ac_t=
-fi
-
-
-
-
-# Bootstrap StepMake configure
-
-
-    . $srcdir/VERSION
-    FULL_VERSION=$MAJOR_VERSION.$MINOR_VERSION.$PATCH_LEVEL
-    if test x$MY_PATCH_LEVEL != x; then
-       FULL_VERSION=$FULL_VERSION.$MY_PATCH_LEVEL
-    fi
-
-    # urg: don't "fix" this: irix doesn't know about [:lower:] and [:upper:]
-        PACKAGE=`echo $PACKAGE_NAME | tr '[a-z]' '[A-Z]'`
-    package=`echo $PACKAGE_NAME | tr '[A-Z]' '[a-z]'`
-    
-    # No versioning on directory names of sub-packages 
-    # urg, urg
-    stepmake=${datadir}/stepmake
-    presome=${prefix}
-    if test "$prefix" = "NONE"; then
-           presome=${ac_default_prefix}
-    fi
-    stepmake=`echo ${stepmake} | sed "s!\\\${prefix}!$presome!"`
-
-    if test "x$PACKAGE" = "xSTEPMAKE"; then
-        echo Stepmake package!
-       (cd stepmake; rm -f stepmake; ln -s ../stepmake .)
-       (cd stepmake; rm -f bin; ln -s ../bin .)
-       ac_aux_dir=
-for ac_dir in bin $srcdir/bin; do
-  if test -f $ac_dir/install-sh; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f $ac_dir/install.sh; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  { echo "configure: error: can not find install-sh or install.sh in bin $srcdir/bin" 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-       stepmake=stepmake
-    else
-        echo Package: $PACKAGE
-       # Check for installed stepmake
-       if test -d $stepmake; then
-           echo Using installed stepmake: $stepmake
-       else
-           stepmake='$(depth)'/stepmake
-           echo Using local stepmake: $datadir/stepmake not found
-       fi
-       ac_aux_dir=
-for ac_dir in \
-         $HOME/usr/local/share/stepmake/bin\
-         $HOME/usr/local/lib/stepmake/bin\
-         $HOME/usr/share/stepmake/bin\
-         $HOME/usr/lib/stepmake/bin\
-         /usr/local/share/stepmake/bin\
-         /usr/local/lib/stepmake/bin\
-         /usr/share/stepmake/bin\
-         /usr/lib/stepmake/bin\
-         stepmake/bin\
-        $srcdir/\
-         $HOME/usr/local/share/stepmake/bin\
-         $HOME/usr/local/lib/stepmake/bin\
-         $HOME/usr/share/stepmake/bin\
-         $HOME/usr/lib/stepmake/bin\
-         /usr/local/share/stepmake/bin\
-         /usr/local/lib/stepmake/bin\
-         /usr/share/stepmake/bin\
-         /usr/lib/stepmake/bin\
-         stepmake/bin\
-       ; do
-  if test -f $ac_dir/install-sh; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f $ac_dir/install.sh; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  { echo "configure: error: can not find install-sh or install.sh in \
-         $HOME/usr/local/share/stepmake/bin\
-         $HOME/usr/local/lib/stepmake/bin\
-         $HOME/usr/share/stepmake/bin\
-         $HOME/usr/lib/stepmake/bin\
-         /usr/local/share/stepmake/bin\
-         /usr/local/lib/stepmake/bin\
-         /usr/share/stepmake/bin\
-         /usr/lib/stepmake/bin\
-         stepmake/bin\
-        $srcdir/\
-         $HOME/usr/local/share/stepmake/bin\
-         $HOME/usr/local/lib/stepmake/bin\
-         $HOME/usr/share/stepmake/bin\
-         $HOME/usr/lib/stepmake/bin\
-         /usr/local/share/stepmake/bin\
-         /usr/local/lib/stepmake/bin\
-         /usr/share/stepmake/bin\
-         /usr/lib/stepmake/bin\
-         stepmake/bin\
-       " 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-    fi
-
-    
-    
-    
-    
-    cat >> confdefs.h <<EOF
-#define PACKAGE "${PACKAGE_NAME}"
-EOF
-
-    cat >> confdefs.h <<EOF
-#define TOPLEVEL_VERSION "${FULL_VERSION}"
-EOF
-
-
-    package_depth=`dirname $cache_file`
-    
-
-    AUTOGENERATE="This file was automatically generated by configure"
-    
-    absolute_builddir="`pwd`"
-    
-
-    STATE_VECTOR=`ls make/STATE-VECTOR 2>/dev/null`
-    if test "x$STATE_VECTOR" != "x"; then
-       STATE_VECTOR="\$(depth)/$STATE_VECTOR"
-    fi
-    
-
-    CONFIGSUFFIX=
-    # Check whether --enable-config or --disable-config was given.
-if test "${enable_config+set}" = set; then
-  enableval="$enable_config"
-  CONFIGSUFFIX=$enableval
-fi
-
-
-    if test "$CONFIGSUFFIX" != "" ; then
-       CONFIGFILE=config-$CONFIGSUFFIX
-    else
-       CONFIGFILE=config
-    fi
-    
-     
-    
-# Make sure we can run config.sub.
-if $ac_config_sub sun4 >/dev/null 2>&1; then :
-else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:761: checking host system type" >&5
-
-host_alias=$host
-case "$host_alias" in
-NONE)
-  case $nonopt in
-  NONE)
-    if host_alias=`$ac_config_guess`; then :
-    else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
-    fi ;;
-  *) host_alias=$nonopt ;;
-  esac ;;
-esac
-
-host=`$ac_config_sub $host_alias`
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$host" 1>&6
-
-    for ac_prog in make
-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:786: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_MAKE'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test -n "$MAKE"; then
-  ac_cv_prog_MAKE="$MAKE" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_MAKE="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-MAKE="$ac_cv_prog_MAKE"
-if test -n "$MAKE"; then
-  echo "$ac_t""$MAKE" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-test -n "$MAKE" && break
-done
-test -n "$MAKE" || MAKE="error"
-
-    for ac_prog in find
-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
-if eval "test \"`echo '$''{'ac_cv_prog_FIND'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test -n "$FIND"; then
-  ac_cv_prog_FIND="$FIND" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_FIND="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-FIND="$ac_cv_prog_FIND"
-if test -n "$FIND"; then
-  echo "$ac_t""$FIND" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-test -n "$FIND" && break
-done
-test -n "$FIND" || FIND="error"
-
-
-
-
-    for ac_prog in tar
-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
-if eval "test \"`echo '$''{'ac_cv_prog_TAR'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test -n "$TAR"; then
-  ac_cv_prog_TAR="$TAR" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_TAR="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-TAR="$ac_cv_prog_TAR"
-if test -n "$TAR"; then
-  echo "$ac_t""$TAR" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-test -n "$TAR" && break
-done
-test -n "$TAR" || TAR="error"
-
-    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
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:891: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_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
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_BASH="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-BASH="$ac_cv_prog_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"
-
-
-    # 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:924: 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
-  case "$PYTHON" in
-  /*)
-  ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
-  ;;
-  *)
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_path_PYTHON="$ac_dir/$ac_word"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_path_PYTHON" && ac_cv_path_PYTHON="-echo no python"
-  ;;
-esac
-fi
-PYTHON="$ac_cv_path_PYTHON"
-if test -n "$PYTHON"; then
-  echo "$ac_t""$PYTHON" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-    
-
-
-    
-       result="`echo \"$MAKE\" | grep echo`"
-       if test "x$MAKE" = "xerror" -o "x$result" != "x"; then
-               
-    echo "configure: warning: can\'t find GNU make. You should install GNU make" 1>&2
-    warn_b=yes
-
-       fi
-
-    if test $MAKE != "error" ; then
-       $MAKE -v| grep GNU > /dev/null
-       if test "$?" = 1
-       then
-               
-    echo "configure: warning: Please install *GNU* make" 1>&2
-    warn_b=yes
-       fi 
-    fi 
-
-    
-       result="`echo \"$PYTHON\" | grep echo`"
-       if test "x$PYTHON" = "xerror" -o "x$result" != "x"; then
-               
-    echo "configure: warning: can\'t find python. You should install Python" 1>&2
-    warn_b=yes
-
-       fi
-
-
-    if test "x$OSTYPE" = "xcygwin32" || test "x$OSTYPE" = "xWindows_NT"; then
-       LN=cp # hard link does not work under cygnus-nt
-       LN_S=cp # symbolic link does not work for native nt
-       ZIP="zip -r -9" #
-       DOTEXE=.exe
-       DIRSEP='\\'
-       PATHSEP=';'
-       INSTALL="\$(SHELL) \$(stepdir)/../bin/install-dot-exe.sh -c"
-    else
-       DIRSEP='/'
-       PATHSEP=':'
-       LN=ln
-       LN_S='ln -s'
-       ZIP="zip -r -9"
-        INSTALL="\$(SHELL) \$(stepdir)/../bin/install-sh -c"
-    fi
-    
-    
-    
-    
-    
-    cat >> confdefs.h <<EOF
-#define DIRSEP '${DIRSEP}'
-EOF
-
-    cat >> confdefs.h <<EOF
-#define PATHSEP '${PATHSEP}'
-EOF
-
-    
-    
-  
-   
-    
-    if test "$datadir" = "\${prefix}/share"; then
-           datadir='${prefix}/share/'$package
-    fi
-    DIR_DATADIR=${datadir}
-    presome=${prefix}
-    if test "$prefix" = "NONE"; then
-           presome=${ac_default_prefix}
-    fi
-    DIR_DATADIR=`echo ${DIR_DATADIR} | sed "s!\\\${prefix}!$presome!"`
-    
-    
-    cat >> confdefs.h <<EOF
-#define DIR_DATADIR "${DIR_DATADIR}"
-EOF
-
-
-
-
-# For all packages except the StepMake package itself
-subdirs="stepmake"
-
-
-# Uncomment the configuration options your package needs.
-
-    # -O is necessary to get inlining
-    OPTIMIZE=""
-    CXXFLAGS=${CXXFLAGS:-""}
-    CFLAGS=${CFLAGS:-""}
-    checking_b=yes
-    optimise_b=no
-    profile_b=no
-    debug_b=yes
-
-    # Check whether --enable-checking or --disable-checking was given.
-if test "${enable_checking+set}" = set; then
-  enableval="$enable_checking"
-  checking_b=$enableval 
-fi
-
-
-    # actually, the default is: tja='-O' to get inlining...
-    # off=''  --jcn
-
-    #actually, that sucks.
-    #  tja looks like a typo.  Default is optimisation off. --hwn
-    
-    # Check whether --enable-optimise or --disable-optimise was given.
-if test "${enable_optimise+set}" = set; then
-  enableval="$enable_optimise"
-  optimise_b=$enableval
-fi
-
-    
-    # Check whether --enable-profiling or --disable-profiling was given.
-if test "${enable_profiling+set}" = set; then
-  enableval="$enable_profiling"
-  profile_b=$enableval
-fi
-
-    
-    # Check whether --enable-debugging or --disable-debugging was given.
-if test "${enable_debugging+set}" = set; then
-  enableval="$enable_debugging"
-  debug_b=$enableval
-fi
-
-
-    # Check whether --enable-mingw-prefix or --disable-mingw-prefix was given.
-if test "${enable_mingw_prefix+set}" = set; then
-  enableval="$enable_mingw_prefix"
-  MINGWPREFIX=$enableval
-else
-  MINGWPREFIX=no
-fi
-
-
-    if test "$printing_b" = no; then
-       # ugh
-       cat >> confdefs.h <<\EOF
-#define NPRINT 1
-EOF
-
-       DEFINES="$DEFINES -DNPRINT"
-    fi
-       
-    if test "$checking_b" = no; then
-       # ugh
-       cat >> confdefs.h <<\EOF
-#define NDEBUG 1
-EOF
-
-       DEFINES="$DEFINES -DNDEBUG"
-    fi
-
-    if test "$optimise_b" = yes; then
-       OPTIMIZE="-O2 -finline-functions"
-    fi
-
-    if test "$optimise_b" = no; then
-       OPTIMIZE=""
-    fi
-
-    if test $profile_b = yes; then
-       EXTRA_LIBES="-pg"
-       OPTIMIZE="$OPTIMIZE -pg"
-    fi
-
-    if test $debug_b = yes; then       
-       OPTIMIZE="$OPTIMIZE -g"
-    fi
-
-    # however, C++ support in mingw32 v 0.1.4 is still flaky
-    if test x$MINGWPREFIX != xno; then 
-       ICFLAGS="-I$MINGWPREFIX/include"
-       ILDFLAGS="-$MINGWPREFIX/lib"
-    fi
-
-    # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1140: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_CC="gcc"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
-  echo "$ac_t""$CC" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-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:1169: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  ac_prog_rejected=no
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
-        ac_prog_rejected=yes
-       continue
-      fi
-      ac_cv_prog_CC="cc"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# -gt 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    set dummy "$ac_dir/$ac_word" "$@"
-    shift
-    ac_cv_prog_CC="$@"
-  fi
-fi
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
-  echo "$ac_t""$CC" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-  test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1217: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-cat > conftest.$ac_ext <<EOF
-#line 1227 "configure"
-#include "confdefs.h"
-main(){return(0);}
-EOF
-if { (eval echo configure:1231: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
-  ac_cv_prog_cc_works=yes
-  # If we can't run a trivial program, we are probably using a cross compiler.
-  if (./conftest; exit) 2>/dev/null; then
-    ac_cv_prog_cc_cross=no
-  else
-    ac_cv_prog_cc_cross=yes
-  fi
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  ac_cv_prog_cc_works=no
-fi
-rm -fr conftest*
-
-echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
-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:1251: 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:1256: 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
-  cat > conftest.c <<EOF
-#ifdef __GNUC__
-  yes;
-#endif
-EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1265: \"$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
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gcc" 1>&6
-
-if test $ac_cv_prog_gcc = yes; then
-  GCC=yes
-  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:1280: 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
-  echo 'void f(){}' > conftest.c
-if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
-  ac_cv_prog_cc_g=yes
-else
-  ac_cv_prog_cc_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
-  if test "$ac_test_CFLAGS" = set; then
-    CFLAGS="$ac_save_CFLAGS"
-  elif test $ac_cv_prog_cc_g = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-O2"
-  fi
-else
-  GCC=
-  test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-
-    LD='$(CC)'
-    
-
-    CPPFLAGS=${CPPFLAGS:-""}
-    
-    
-    
-    
-    
-    
-
-# AC_HAVE_HEADERS(limits.h malloc.h string.h unistd.h values.h)
-
-printing_b=no
-# Check whether --enable-printing or --disable-printing was given.
-if test "${enable_printing+set}" = set; then
-  enableval="$enable_printing"
-  printing_b=$enableval
-fi
-
-    
-if test "$optimise_b" = yes; then
-    DEFINES="$DEFINES -DSTRING_UTILS_INLINED"
-    cat >> confdefs.h <<\EOF
-#define STRINGS_UTILS_INLINED 1
-EOF
-
-fi
-
-echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
-echo "configure:1337: 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
-else
-  ac_ext=C
-# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cxx_cross
-  CXXCPP="${CXX-g++} -E"
-  cat > conftest.$ac_ext <<EOF
-#line 1350 "configure"
-#include "confdefs.h"
-#include <stdlib.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1355: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
-  :
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  CXXCPP=/lib/cpp
-fi
-rm -f conftest*
-  ac_cv_prog_CXXCPP="$CXXCPP"
-fi
-fi
-CXXCPP="$ac_cv_prog_CXXCPP"
-echo "$ac_t""$CXXCPP" 1>&6
-
-
-    ac_ext=C
-# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cxx_cross
-
-    for ac_prog in $CCC c++ g++ gcc CC cxx cc++
-do
-# Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1386: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test -n "$CXX"; then
-  ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_CXX="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-CXX="$ac_cv_prog_CXX"
-if test -n "$CXX"; then
-  echo "$ac_t""$CXX" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-test -n "$CXX" && break
-done
-test -n "$CXX" || CXX="gcc"
-
-
-echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1417: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
-
-ac_ext=C
-# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cxx_cross
-
-cat > conftest.$ac_ext <<EOF
-#line 1427 "configure"
-#include "confdefs.h"
-main(){return(0);}
-EOF
-if { (eval echo configure:1431: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
-  ac_cv_prog_cxx_works=yes
-  # If we can't run a trivial program, we are probably using a cross compiler.
-  if (./conftest; exit) 2>/dev/null; then
-    ac_cv_prog_cxx_cross=no
-  else
-    ac_cv_prog_cxx_cross=yes
-  fi
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  ac_cv_prog_cxx_works=no
-fi
-rm -fr conftest*
-
-echo "$ac_t""$ac_cv_prog_cxx_works" 1>&6
-if test $ac_cv_prog_cxx_works = no; then
-  { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; }
-fi
-echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1451: 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:1456: checking whether we are using GNU C++" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.C <<EOF
-#ifdef __GNUC__
-  yes;
-#endif
-EOF
-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1465: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
-  ac_cv_prog_gxx=yes
-else
-  ac_cv_prog_gxx=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gxx" 1>&6
-
-if test $ac_cv_prog_gxx = yes; then
-  GXX=yes
-  ac_test_CXXFLAGS="${CXXFLAGS+set}"
-  ac_save_CXXFLAGS="$CXXFLAGS"
-  CXXFLAGS=
-  echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
-echo "configure:1480: checking whether ${CXX-g++} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  echo 'void f(){}' > conftest.cc
-if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then
-  ac_cv_prog_cxx_g=yes
-else
-  ac_cv_prog_cxx_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cxx_g" 1>&6
-  if test "$ac_test_CXXFLAGS" = set; then
-    CXXFLAGS="$ac_save_CXXFLAGS"
-  elif test $ac_cv_prog_cxx_g = yes; then
-    CXXFLAGS="-g -O2"
-  else
-    CXXFLAGS="-O2"
-  fi
-else
-  GXX=
-  test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
-fi
-
-
-    ac_safe=`echo "FlexLexer.h" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for FlexLexer.h""... $ac_c" 1>&6
-echo "configure:1510: 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 1515 "configure"
-#include "confdefs.h"
-#include <FlexLexer.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1520: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=yes"
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  true
-else
-  echo "$ac_t""no" 1>&6
-
-    echo "configure: warning: can"\'"t find flex header. Please install Flex headers correctly" 1>&2
-    warn_b=yes
-
-fi
-
-
-    CPPFLAGS="$CPPFLAGS $DEFINES"
-    CXXFLAGS="$CXXFLAGS $OPTIMIZE"
-    LDFLAGS=$EXTRA_LIBES
-
-    
-    
-    LD='$(CXX)'
-    
-
-
-    # ugh autoconf
-        if $CXX --version | grep '2\.[78]' > /dev/null ||
-       $CXX --version | grep 'egcs' > /dev/null
-        then
-           true
-    else
-           
-    echo "configure: warning: can\'t find g++ 2.7" 1>&2
-    warn_b=yes
-
-    fi
-
-
-    echo $ac_n "checking whether explicit instantiation is needed""... $ac_c" 1>&6
-echo "configure:1570: 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 1575 "configure"
-#include "confdefs.h"
-
-    template <class T> struct foo { static int baz; };
-    template <class T> int foo<T>::baz = 1;
-    
-int main() {
- return foo<int>::baz; 
-; return 0; }
-EOF
-if { (eval echo configure:1585: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
-  rm -rf conftest*
-  lily_cv_need_explicit_instantiation=no
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  lily_cv_need_explicit_instantiation=yes
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$lily_cv_need_explicit_instantiation" 1>&6
-    if test x"$lily_cv_need_explicit_instantiation"x = x"yes"x; then
-       cat >> confdefs.h <<\EOF
-#define NEED_EXPLICIT_INSTANTIATION 1
-EOF
-
-    fi
-
-
-    # ugh, automake: we want (and check for) bison
-    for ac_prog in 'bison -y' byacc
-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:1612: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test -n "$YACC"; then
-  ac_cv_prog_YACC="$YACC" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_YACC="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-YACC="$ac_cv_prog_YACC"
-if test -n "$YACC"; then
-  echo "$ac_t""$YACC" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-test -n "$YACC" && break
-done
-test -n "$YACC" || YACC="yacc"
-
-    # ugh, automake: we want (and check for) flex
-    # AC_PROG_LEX
-    # urg: automake 1.3: hope this doesn't break 1.2 ac_cv_pro_lex_root hack...
-
-    # AC_DECL_YYTEXT
-    # ugh, ugh
-    ac_cv_prog_lex_root=lex.yy
-
-    for ac_prog in bison
-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:1654: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_BISON'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test -n "$BISON"; then
-  ac_cv_prog_BISON="$BISON" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_BISON="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-BISON="$ac_cv_prog_BISON"
-if test -n "$BISON"; then
-  echo "$ac_t""$BISON" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-test -n "$BISON" && break
-done
-test -n "$BISON" || BISON="error"
-
-    for ac_prog in flex
-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:1688: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_FLEX'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test -n "$FLEX"; then
-  ac_cv_prog_FLEX="$FLEX" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_FLEX="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-FLEX="$ac_cv_prog_FLEX"
-if test -n "$FLEX"; then
-  echo "$ac_t""$FLEX" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-test -n "$FLEX" && break
-done
-test -n "$FLEX" || FLEX="error"
-
-    
-       result="`echo \"$BISON\" | grep echo`"
-       if test "x$BISON" = "xerror" -o "x$result" != "x"; then
-               
-    echo "configure: warning: can\'t find bison. Please install Bison" 1>&2
-    warn_b=yes
-
-       fi
-
-    
-       result="`echo \"$FLEX\" | grep echo`"
-       if test "x$FLEX" = "xerror" -o "x$result" != "x"; then
-               
-    echo "configure: warning: can\'t find flex. Please install Flex" 1>&2
-    warn_b=yes
-
-       fi
-
-
-    if test $BISON != "error"; then
-       bison_version=`$BISON --version| sed 's/^.*version 1.//g' `
-       if test $bison_version -lt 25; then
-           
-    echo "configure: warning: Your bison is a bit old (1.$bison_version). You might have to install 1.25" 1>&2
-    warn_b=yes
-
-       fi      
-    fi
-
-    
-    
-
-
-    for ac_prog in ar
-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:1755: 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
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_AR="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-AR="$ac_cv_prog_AR"
-if test -n "$AR"; then
-  echo "$ac_t""$AR" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-test -n "$AR" && break
-done
-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:1787: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_RANLIB="ranlib"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
-fi
-fi
-RANLIB="$ac_cv_prog_RANLIB"
-if test -n "$RANLIB"; then
-  echo "$ac_t""$RANLIB" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-
-    
-    
-
-# AC_STEPMAKE_LIBTOOL
-
-    lang=English
-    ALL_LINGUAS="en nl"
-
-    # with/enable ??
-    # Check whether --with-localedir or --without-localedir was given.
-if test "${with_localedir+set}" = set; then
-  withval="$with_localedir"
-  localedir=$with_localedir
-else
-  localedir='${prefix}/share/locale'
-fi
-
-
-    # Check whether --with-lang or --without-lang was given.
-if test "${with_lang+set}" = set; then
-  withval="$with_lang"
-  language=$with_lang
-else
-  language=English
-fi
-
-
-    echo $ac_n "checking language""... $ac_c" 1>&6
-echo "configure:1842: checking language" >&5    
-    case "$language" in
-      En* | en* | Am* | am* | US* | us*)
-           lang=English;;
-      NL | nl | Du* | du* | Ned* | ned*)
-           lang=Dutch;;
-      "")
-           lang=English;;
-      *)
-           lang=unknown;;
-    esac
-    echo "$ac_t""$lang" 1>&6
-
-    if test "$lang" = "unknown" ; then
-       
-    echo "configure: warning: $language not supported; available are: $ALL_LINGUAS" 1>&2
-    warn_b=yes
-
-    fi
-
-
-
-    DIR_LOCALEDIR=${localedir}
-    presome=${prefix}
-    if test "$prefix" = "NONE"; then
-           presome=${ac_default_prefix}
-    fi
-    DIR_LOCALEDIR=`echo ${DIR_LOCALEDIR} | sed "s!\\\${prefix}!$presome!"`
-    
-    
-    cat >> confdefs.h <<EOF
-#define DIR_LOCALEDIR "${DIR_LOCALEDIR}"
-EOF
-
-
-    echo $ac_n "checking for gettext in -lintl""... $ac_c" 1>&6
-echo "configure:1878: 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
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-lintl  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 1886 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char gettext();
-
-int main() {
-gettext()
-; return 0; }
-EOF
-if { (eval echo configure:1900: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_lib=HAVE_LIB`echo intl | sed -e 's/[^a-zA-Z0-9_]/_/g' \
-    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_lib 1
-EOF
-
-  LIBS="-lintl $LIBS"
-
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-    for ac_func in gettext
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1930: 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 1935 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func(); below.  */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:1961: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
-  rm -rf conftest*
-  eval "ac_cv_func_$ac_func=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-else
-  echo "$ac_t""no" 1>&6
-fi
-done
-
-
-
-    # AC_CHECK_PROGS(MSGFMT, msgfmt, -echo no msgfmt)
-    for ac_prog in msgfmt
-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:1993: 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
-  if test -n "$MSGFMT"; then
-  ac_cv_prog_MSGFMT="$MSGFMT" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_MSGFMT="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-MSGFMT="$ac_cv_prog_MSGFMT"
-if test -n "$MSGFMT"; then
-  echo "$ac_t""$MSGFMT" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-test -n "$MSGFMT" && break
-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:2023: 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
-    else
-       # urg
-       MSGFMT="\$(SHELL) \$(step-bindir)/fake-msgfmt.sh"
-       echo "$ac_t""no" 1>&6
-       
-    echo "configure: warning: please install msgfmt from GNU gettext" 1>&2
-    warn_b=yes
-
-    fi
-    if test ! -n "$MSGFMT"; then
-       
-    echo "configure: warning: please install msgfmt from GNU gettext" 1>&2
-    warn_b=yes
-
-    fi
-
-
-    # urg, never know what names these teTeX guys will think up
-    for ac_prog in mf
-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:2050: 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
-  if test -n "$METAFONT"; then
-  ac_cv_prog_METAFONT="$METAFONT" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_METAFONT="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-METAFONT="$ac_cv_prog_METAFONT"
-if test -n "$METAFONT"; then
-  echo "$ac_t""$METAFONT" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-test -n "$METAFONT" && break
-done
-test -n "$METAFONT" || METAFONT="no"
-
-    if test "x$METAFONT" = "xno"; then
-       for ac_prog in mfont
-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:2085: 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
-  if test -n "$MFONT"; then
-  ac_cv_prog_MFONT="$MFONT" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_MFONT="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-MFONT="$ac_cv_prog_MFONT"
-if test -n "$MFONT"; then
-  echo "$ac_t""$MFONT" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-test -n "$MFONT" && break
-done
-test -n "$MFONT" || MFONT="-echo no mf or mfont"
-
-       METAFONT=$MFONT
-    fi
-
-    for ac_prog in mp
-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:2122: 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
-  if test -n "$METAPOST"; then
-  ac_cv_prog_METAPOST="$METAPOST" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_METAPOST="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-METAPOST="$ac_cv_prog_METAPOST"
-if test -n "$METAPOST"; then
-  echo "$ac_t""$METAPOST" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-test -n "$METAPOST" && break
-done
-test -n "$METAPOST" || METAPOST="no"
-
-    if test "x$METAPOST" = "xno"; then
-       for ac_prog in mpost
-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:2157: 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
-  if test -n "$MPOST"; then
-  ac_cv_prog_MPOST="$MPOST" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_MPOST="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-MPOST="$ac_cv_prog_MPOST"
-if test -n "$MPOST"; then
-  echo "$ac_t""$MPOST" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-test -n "$MPOST" && break
-done
-test -n "$MPOST" || MPOST="-echo no mp or mpost"
-
-       METAPOST=$MPOST
-    fi
-
-    
-    
-
-# AC_STEPMAKE_TEXMF_DIRS
-
-    if test "x$YODL" = "x"; then 
-       for ac_prog in striproff
-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:2200: 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
-  if test -n "$STRIPROFF"; then
-  ac_cv_prog_STRIPROFF="$STRIPROFF" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_STRIPROFF="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-STRIPROFF="$ac_cv_prog_STRIPROFF"
-if test -n "$STRIPROFF"; then
-  echo "$ac_t""$STRIPROFF" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-test -n "$STRIPROFF" && break
-done
-test -n "$STRIPROFF" || STRIPROFF="-echo no striproff"
-
-       for ac_prog in yodl
-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:2234: 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
-  if test -n "$YODL"; then
-  ac_cv_prog_YODL="$YODL" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_YODL="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-YODL="$ac_cv_prog_YODL"
-if test -n "$YODL"; then
-  echo "$ac_t""$YODL" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-test -n "$YODL" && break
-done
-test -n "$YODL" || YODL="-echo no yodl"
-
-       for ac_prog in yodl2html
-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:2268: 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
-  if test -n "$YODL2HTML"; then
-  ac_cv_prog_YODL2HTML="$YODL2HTML" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_YODL2HTML="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-YODL2HTML="$ac_cv_prog_YODL2HTML"
-if test -n "$YODL2HTML"; then
-  echo "$ac_t""$YODL2HTML" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-test -n "$YODL2HTML" && break
-done
-test -n "$YODL2HTML" || YODL2HTML="-echo no yodl"
-
-       for ac_prog in yodl2latex
-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:2302: 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
-  if test -n "$YODL2LATEX"; then
-  ac_cv_prog_YODL2LATEX="$YODL2LATEX" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_YODL2LATEX="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-YODL2LATEX="$ac_cv_prog_YODL2LATEX"
-if test -n "$YODL2LATEX"; then
-  echo "$ac_t""$YODL2LATEX" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-test -n "$YODL2LATEX" && break
-done
-
-       for ac_prog in yodl2man
-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:2335: 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
-  if test -n "$YODL2MAN"; then
-  ac_cv_prog_YODL2MAN="$YODL2MAN" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_YODL2MAN="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-YODL2MAN="$ac_cv_prog_YODL2MAN"
-if test -n "$YODL2MAN"; then
-  echo "$ac_t""$YODL2MAN" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-test -n "$YODL2MAN" && break
-done
-test -n "$YODL2MAN" || YODL2MAN="-echo no yodl"
-
-       for ac_prog in yodl2msless
-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:2369: 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
-  if test -n "$YODL2MSLESS"; then
-  ac_cv_prog_YODL2MSLESS="$YODL2MSLESS" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_YODL2MSLESS="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-YODL2MSLESS="$ac_cv_prog_YODL2MSLESS"
-if test -n "$YODL2MSLESS"; then
-  echo "$ac_t""$YODL2MSLESS" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-test -n "$YODL2MSLESS" && break
-done
-test -n "$YODL2MSLESS" || YODL2MSLESS="-echo no yodl"
-
-       for ac_prog in yodl2texinfo
-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:2403: 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
-  if test -n "$YODL2TEXINFO"; then
-  ac_cv_prog_YODL2TEXINFO="$YODL2TEXINFO" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_YODL2TEXINFO="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-YODL2TEXINFO="$ac_cv_prog_YODL2TEXINFO"
-if test -n "$YODL2TEXINFO"; then
-  echo "$ac_t""$YODL2TEXINFO" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-test -n "$YODL2TEXINFO" && break
-done
-test -n "$YODL2TEXINFO" || YODL2TEXINFO="-echo no yodl"
-
-       for ac_prog in yodl2txt
-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:2437: 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
-  if test -n "$YODL2TXT"; then
-  ac_cv_prog_YODL2TXT="$YODL2TXT" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_YODL2TXT="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-YODL2TXT="$ac_cv_prog_YODL2TXT"
-if test -n "$YODL2TXT"; then
-  echo "$ac_t""$YODL2TXT" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-test -n "$YODL2TXT" && break
-done
-test -n "$YODL2TXT" || YODL2TXT="-echo no yodl"
-
-       YODL2LESS_DIR='$(bindir)/'
-    else
-       
-       
-       
-       
-       
-       
-       
-       
-       
-       export STRIPROFF YODL YODL2HTML YODL2LATEX YODL2MAN YODL2MSLESS YODL2TEXINFO YODL2TXT
-    fi
-    if test "x$YODL" = "-echo no yodl"; then
-       
-    echo "configure: warning: Did not find YODL (Yodl is Yet Oneother Document Language, see http://www.cs.uu.nl/~hanwen/yodl)" 1>&2
-    warn_b=yes
-
-    fi    
-
-
-    # urg, must check for different functions in libguile
-    # to force new check iso reading from cache
-    echo $ac_n "checking for scm_shell in -lguile""... $ac_c" 1>&6
-echo "configure:2490: checking for scm_shell in -lguile" >&5
-ac_lib_var=`echo guile'_'scm_shell | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-lguile  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2498 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char scm_shell();
-
-int main() {
-scm_shell()
-; return 0; }
-EOF
-if { (eval echo configure:2512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  \
-      LIBS="-lguile $LIBS" cat >> confdefs.h <<\EOF
-#define HAVE_LIBGUILE 1
-EOF
-
-else
-  echo "$ac_t""no" 1>&6
-\
-      echo $ac_n "checking for readline in -lreadline""... $ac_c" 1>&6
-echo "configure:2536: checking for readline in -lreadline" >&5
-ac_lib_var=`echo readline'_'readline | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-lreadline  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2544 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char readline();
-
-int main() {
-readline()
-; return 0; }
-EOF
-if { (eval echo configure:2558: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_lib=HAVE_LIB`echo readline | sed -e 's/^a-zA-Z0-9_/_/g' \
-    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_lib 1
-EOF
-
-  LIBS="-lreadline $LIBS"
-
-else
-  echo "$ac_t""no" 1>&6
-fi
- \
-      echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "configure:2586: checking for dlopen in -ldl" >&5
-ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-ldl  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2594 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char dlopen();
-
-int main() {
-dlopen()
-; return 0; }
-EOF
-if { (eval echo configure:2608: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_lib=HAVE_LIB`echo dl | sed -e 's/^a-zA-Z0-9_/_/g' \
-    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_lib 1
-EOF
-
-  LIBS="-ldl $LIBS"
-
-else
-  echo "$ac_t""no" 1>&6
-fi
- \
-      echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
-echo "configure:2636: checking for socket in -lsocket" >&5
-ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-lsocket  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2644 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char socket();
-
-int main() {
-socket()
-; return 0; }
-EOF
-if { (eval echo configure:2658: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_lib=HAVE_LIB`echo socket | sed -e 's/^a-zA-Z0-9_/_/g' \
-    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_lib 1
-EOF
-
-  LIBS="-lsocket $LIBS"
-
-else
-  echo "$ac_t""no" 1>&6
-fi
-\
-      echo $ac_n "checking for tgetent in -ltermcap""... $ac_c" 1>&6
-echo "configure:2686: checking for tgetent in -ltermcap" >&5
-ac_lib_var=`echo termcap'_'tgetent | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-ltermcap  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2694 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char tgetent();
-
-int main() {
-tgetent()
-; return 0; }
-EOF
-if { (eval echo configure:2708: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_lib=HAVE_LIB`echo termcap | sed -e 's/^a-zA-Z0-9_/_/g' \
-    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_lib 1
-EOF
-
-  LIBS="-ltermcap $LIBS"
-
-else
-  echo "$ac_t""no" 1>&6
-fi
-\
-      echo $ac_n "checking for fabs in -lm""... $ac_c" 1>&6
-echo "configure:2736: checking for fabs in -lm" >&5
-ac_lib_var=`echo m'_'fabs | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-lm  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2744 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char fabs();
-
-int main() {
-fabs()
-; return 0; }
-EOF
-if { (eval echo configure:2758: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_lib=HAVE_LIB`echo m | sed -e 's/^a-zA-Z0-9_/_/g' \
-    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_lib 1
-EOF
-
-  LIBS="-lm $LIBS"
-
-else
-  echo "$ac_t""no" 1>&6
-fi
-\
-      echo $ac_n "checking for scm_boot_guile in -lguile""... $ac_c" 1>&6
-echo "configure:2786: checking for scm_boot_guile in -lguile" >&5
-ac_lib_var=`echo guile'_'scm_boot_guile | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-lguile  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2794 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char scm_boot_guile();
-
-int main() {
-scm_boot_guile()
-; return 0; }
-EOF
-if { (eval echo configure:2808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_lib=HAVE_LIB`echo guile | sed -e 's/^a-zA-Z0-9_/_/g' \
-    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_lib 1
-EOF
-
-  LIBS="-lguile $LIBS"
-
-else
-  echo "$ac_t""no" 1>&6
-fi
-\
-    
-fi
-
-
-
-
-echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
-echo "configure:2842: checking for 8-bit clean memcmp" >&5
-if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test "$cross_compiling" = yes; then
-  ac_cv_func_memcmp_clean=no
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2850 "configure"
-#include "confdefs.h"
-#ifdef __cplusplus
-extern "C" void exit(int);
-#endif
-
-main()
-{
-  char c0 = 0x40, c1 = 0x80, c2 = 0x81;
-  exit(memcmp(&c0, &c2, 1) < 0 && memcmp(&c1, &c2, 1) < 0 ? 0 : 1);
-}
-
-EOF
-if { (eval echo configure:2863: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
-then
-  ac_cv_func_memcmp_clean=yes
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -fr conftest*
-  ac_cv_func_memcmp_clean=no
-fi
-rm -fr conftest*
-fi
-
-fi
-
-echo "$ac_t""$ac_cv_func_memcmp_clean" 1>&6
-test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.o"
-
-echo $ac_n "checking for vprintf""... $ac_c" 1>&6
-echo "configure:2881: 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 2886 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char vprintf(); below.  */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char vprintf();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_vprintf) || defined (__stub___vprintf)
-choke me
-#else
-vprintf();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:2912: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
-  rm -rf conftest*
-  eval "ac_cv_func_vprintf=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_func_vprintf=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'vprintf`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  cat >> confdefs.h <<\EOF
-#define HAVE_VPRINTF 1
-EOF
-
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-if test "$ac_cv_func_vprintf" != yes; then
-echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
-echo "configure:2936: 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 2941 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char _doprnt(); below.  */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char _doprnt();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub__doprnt) || defined (__stub____doprnt)
-choke me
-#else
-_doprnt();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:2967: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
-  rm -rf conftest*
-  eval "ac_cv_func__doprnt=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_func__doprnt=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'_doprnt`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  cat >> confdefs.h <<\EOF
-#define HAVE_DOPRNT 1
-EOF
-
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-fi
-
-for ac_func in memmem snprintf vsnprintf gettext
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2994: 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 2999 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func(); below.  */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:3025: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
-  rm -rf conftest*
-  eval "ac_cv_func_$ac_func=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-else
-  echo "$ac_t""no" 1>&6
-fi
-done
-
-
-cat >> confdefs.h <<EOF
-#define TOPLEVEL_VERSION "${FULL_VERSION}"
-EOF
-
-cat >> confdefs.h <<EOF
-#define FLOWER_VERSION "${FULL_FLOWER_VERSION}"
-EOF
-
-
-for ac_prog in makeinfo
-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:3064: 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
-  if test -n "$MAKEINFO"; then
-  ac_cv_prog_MAKEINFO="$MAKEINFO" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_MAKEINFO="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-MAKEINFO="$ac_cv_prog_MAKEINFO"
-if test -n "$MAKEINFO"; then
-  echo "$ac_t""$MAKEINFO" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-test -n "$MAKEINFO" && break
-done
-test -n "$MAKEINFO" || MAKEINFO="error"
-
-
-       result="`echo \"$YODL2TEXINFO\" | grep echo`"
-       if test "x$YODL2TEXINFO" = "xerror" -o "x$result" != "x"; then
-               
-    echo "configure: warning: can\'t find yodl. You should install Yodl 1.30.2 or better" 1>&2
-    warn_b=yes
-
-       fi
-
-
-
-    trap '' 1 2 15
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs.  It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already.  You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
-  case `(ac_space=' '; set) 2>&1` in
-  *ac_space=\ *)
-    # `set' does not quote correctly, so add quotes (double-quote substitution
-    # turns \\\\ into \\, and sed turns \\ into \).
-    sed -n \
-      -e "s/'/'\\\\''/g" \
-      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
-    ;;
-  *)
-    # `set' quotes correctly as required by POSIX, so do not add quotes.
-    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
-    ;;
-  esac >> confcache
-if cmp -s $cache_file confcache; then
-  :
-else
-  if test -w $cache_file; then
-    echo "updating cache $cache_file"
-    cat confcache > $cache_file
-  else
-    echo "not updating unwritable cache $cache_file"
-  fi
-fi
-rm -f confcache
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[        ]*VPATH[        ]*=[^:]*$/d'
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-DEFS=-DHAVE_CONFIG_H
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#! /bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
-do
-  case "\$ac_option" in
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
-    exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
-  -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
-    echo "$CONFIG_STATUS generated by autoconf version 2.12"
-    exit 0 ;;
-  -help | --help | --hel | --he | --h)
-    echo "\$ac_cs_usage"; exit 0 ;;
-  *) echo "\$ac_cs_usage"; exit 1 ;;
-  esac
-done
-
-ac_given_srcdir=$srcdir
-
-trap 'rm -fr `echo "$CONFIGFILE.make:config.make.in $CONFIGFILE.h:config.hh.in" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
-$ac_vpsub
-$extrasub
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@bindir@%$bindir%g
-s%@sbindir@%$sbindir%g
-s%@libexecdir@%$libexecdir%g
-s%@datadir@%$datadir%g
-s%@sysconfdir@%$sysconfdir%g
-s%@sharedstatedir@%$sharedstatedir%g
-s%@localstatedir@%$localstatedir%g
-s%@libdir@%$libdir%g
-s%@includedir@%$includedir%g
-s%@oldincludedir@%$oldincludedir%g
-s%@infodir@%$infodir%g
-s%@mandir@%$mandir%g
-s%@stepmake@%$stepmake%g
-s%@package@%$package%g
-s%@PACKAGE@%$PACKAGE%g
-s%@PACKAGE_NAME@%$PACKAGE_NAME%g
-s%@package_depth@%$package_depth%g
-s%@AUTOGENERATE@%$AUTOGENERATE%g
-s%@absolute_builddir@%$absolute_builddir%g
-s%@STATE_VECTOR@%$STATE_VECTOR%g
-s%@CONFIGSUFFIX@%$CONFIGSUFFIX%g
-s%@host@%$host%g
-s%@host_alias@%$host_alias%g
-s%@host_cpu@%$host_cpu%g
-s%@host_vendor@%$host_vendor%g
-s%@host_os@%$host_os%g
-s%@MAKE@%$MAKE%g
-s%@FIND@%$FIND%g
-s%@TAR@%$TAR%g
-s%@BASH@%$BASH%g
-s%@PYTHON@%$PYTHON%g
-s%@DOTEXE@%$DOTEXE%g
-s%@ZIP@%$ZIP%g
-s%@LN@%$LN%g
-s%@LN_S@%$LN_S%g
-s%@INSTALL@%$INSTALL%g
-s%@PATHSEP@%$PATHSEP%g
-s%@DIRSEP@%$DIRSEP%g
-s%@DIR_DATADIR@%$DIR_DATADIR%g
-s%@subdirs@%$subdirs%g
-s%@CC@%$CC%g
-s%@LD@%$LD%g
-s%@ICFLAGS@%$ICFLAGS%g
-s%@ILDFLAGS@%$ILDFLAGS%g
-s%@DEFINES@%$DEFINES%g
-s%@EXTRA_LIBES@%$EXTRA_LIBES%g
-s%@CXX@%$CXX%g
-s%@CXXCPP@%$CXXCPP%g
-s%@YACC@%$YACC%g
-s%@BISON@%$BISON%g
-s%@FLEX@%$FLEX%g
-s%@AR@%$AR%g
-s%@RANLIB@%$RANLIB%g
-s%@localedir@%$localedir%g
-s%@DIR_LOCALEDIR@%$DIR_LOCALEDIR%g
-s%@MSGFMT@%$MSGFMT%g
-s%@METAFONT@%$METAFONT%g
-s%@MFONT@%$MFONT%g
-s%@METAPOST@%$METAPOST%g
-s%@MPOST@%$MPOST%g
-s%@STRIPROFF@%$STRIPROFF%g
-s%@YODL@%$YODL%g
-s%@YODL2HTML@%$YODL2HTML%g
-s%@YODL2LATEX@%$YODL2LATEX%g
-s%@YODL2MAN@%$YODL2MAN%g
-s%@YODL2MSLESS@%$YODL2MSLESS%g
-s%@YODL2TEXINFO@%$YODL2TEXINFO%g
-s%@YODL2TXT@%$YODL2TXT%g
-s%@YODL2LESS_DIR@%$YODL2LESS_DIR%g
-s%@LIBOBJS@%$LIBOBJS%g
-s%@MAKEINFO@%$MAKEINFO%g
-
-CEOF
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-
-# Split the substitutions into bite-sized pieces for seds with
-# small command number limits, like on Digital OSF/1 and HP-UX.
-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
-ac_file=1 # Number of current file.
-ac_beg=1 # First line for current file.
-ac_end=$ac_max_sed_cmds # Line after last line for current file.
-ac_more_lines=:
-ac_sed_cmds=""
-while $ac_more_lines; do
-  if test $ac_beg -gt 1; then
-    sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
-  else
-    sed "${ac_end}q" conftest.subs > conftest.s$ac_file
-  fi
-  if test ! -s conftest.s$ac_file; then
-    ac_more_lines=false
-    rm -f conftest.s$ac_file
-  else
-    if test -z "$ac_sed_cmds"; then
-      ac_sed_cmds="sed -f conftest.s$ac_file"
-    else
-      ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
-    fi
-    ac_file=`expr $ac_file + 1`
-    ac_beg=$ac_end
-    ac_end=`expr $ac_end + $ac_max_sed_cmds`
-  fi
-done
-if test -z "$ac_sed_cmds"; then
-  ac_sed_cmds=cat
-fi
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"$CONFIGFILE.make:config.make.in"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
-  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
-  case "$ac_file" in
-  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
-       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-  *) ac_file_in="${ac_file}.in" ;;
-  esac
-
-  # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
-
-  # Remove last slash and all that follows it.  Not all systems have dirname.
-  ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
-  if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
-    # The file is in a subdirectory.
-    test ! -d "$ac_dir" && mkdir "$ac_dir"
-    ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
-    # A "../" for each directory in $ac_dir_suffix.
-    ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
-  else
-    ac_dir_suffix= ac_dots=
-  fi
-
-  case "$ac_given_srcdir" in
-  .)  srcdir=.
-      if test -z "$ac_dots"; then top_srcdir=.
-      else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
-  /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
-  *) # Relative path.
-    srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
-    top_srcdir="$ac_dots$ac_given_srcdir" ;;
-  esac
-
-
-  echo creating "$ac_file"
-  rm -f "$ac_file"
-  configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
-  case "$ac_file" in
-  *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
-  *) ac_comsub= ;;
-  esac
-
-  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
-  sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
-fi; done
-rm -f conftest.s*
-
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s%^\([  ]*\)#\([        ]*define[       ][      ]*\)'
-ac_dB='\([     ][      ]*\)[^  ]*%\1#\2'
-ac_dC='\3'
-ac_dD='%g'
-# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
-ac_uA='s%^\([  ]*\)#\([        ]*\)undef\([    ][      ]*\)'
-ac_uB='\([     ]\)%\1#\2define\3'
-ac_uC=' '
-ac_uD='\4%g'
-# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_eA='s%^\([  ]*\)#\([        ]*\)undef\([    ][      ]*\)'
-ac_eB='$%\1#\2define\3'
-ac_eC=' '
-ac_eD='%g'
-
-if test "${CONFIG_HEADERS+set}" != set; then
-EOF
-cat >> $CONFIG_STATUS <<EOF
-  CONFIG_HEADERS="$CONFIGFILE.h:config.hh.in"
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-fi
-for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
-  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
-  case "$ac_file" in
-  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
-       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-  *) ac_file_in="${ac_file}.in" ;;
-  esac
-
-  echo creating $ac_file
-
-  rm -f conftest.frag conftest.in conftest.out
-  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
-  cat $ac_file_inputs > conftest.in
-
-EOF
-
-# Transform confdefs.h into a sed script conftest.vals that substitutes
-# the proper values into config.h.in to produce config.h.  And first:
-# Protect against being on the right side of a sed subst in config.status.
-# Protect against being in an unquoted here document in config.status.
-rm -f conftest.vals
-cat > conftest.hdr <<\EOF
-s/[\\&%]/\\&/g
-s%[\\$`]%\\&%g
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
-s%ac_d%ac_u%gp
-s%ac_u%ac_e%gp
-EOF
-sed -n -f conftest.hdr confdefs.h > conftest.vals
-rm -f conftest.hdr
-
-# This sed command replaces #undef with comments.  This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-cat >> conftest.vals <<\EOF
-s%^[   ]*#[    ]*undef[        ][      ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
-EOF
-
-# Break up conftest.vals because some shells have a limit on
-# the size of here documents, and old seds have small limits too.
-
-rm -f conftest.tail
-while :
-do
-  ac_lines=`grep -c . conftest.vals`
-  # grep -c gives empty output for an empty file on some AIX systems.
-  if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
-  # Write a limited-size here document to conftest.frag.
-  echo '  cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
-  sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
-  echo 'CEOF
-  sed -f conftest.frag conftest.in > conftest.out
-  rm -f conftest.in
-  mv conftest.out conftest.in
-' >> $CONFIG_STATUS
-  sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
-  rm -f conftest.vals
-  mv conftest.tail conftest.vals
-done
-rm -f conftest.vals
-
-cat >> $CONFIG_STATUS <<\EOF
-  rm -f conftest.frag conftest.h
-  echo "/* $ac_file.  Generated automatically by configure.  */" > conftest.h
-  cat conftest.in >> conftest.h
-  rm -f conftest.in
-  if cmp -s $ac_file conftest.h 2>/dev/null; then
-    echo "$ac_file is unchanged"
-    rm -f conftest.h
-  else
-    # Remove last slash and all that follows it.  Not all systems have dirname.
-      ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
-      if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
-      # The file is in a subdirectory.
-      test ! -d "$ac_dir" && mkdir "$ac_dir"
-    fi
-    rm -f $ac_file
-    mv conftest.h $ac_file
-  fi
-fi; done
-
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-
-exit 0
-EOF
-chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-
-if test "$no_recursion" != yes; then
-
-  # Remove --cache-file and --srcdir arguments so they do not pile up.
-  ac_sub_configure_args=
-  ac_prev=
-  for ac_arg in $ac_configure_args; do
-    if test -n "$ac_prev"; then
-      ac_prev=
-      continue
-    fi
-    case "$ac_arg" in
-    -cache-file | --cache-file | --cache-fil | --cache-fi \
-    | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-      ac_prev=cache_file ;;
-    -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-    | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-      ;;
-    -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-      ac_prev=srcdir ;;
-    -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-      ;;
-    *) ac_sub_configure_args="$ac_sub_configure_args $ac_arg" ;;
-    esac
-  done
-
-  for ac_config_dir in stepmake; do
-
-    # Do not complain, so a configure script can configure whichever
-    # parts of a large source tree are present.
-    if test ! -d $srcdir/$ac_config_dir; then
-      continue
-    fi
-
-    echo configuring in $ac_config_dir
-
-    case "$srcdir" in
-    .) ;;
-    *)
-      if test -d ./$ac_config_dir || mkdir ./$ac_config_dir; then :;
-      else
-        { echo "configure: error: can not create `pwd`/$ac_config_dir" 1>&2; exit 1; }
-      fi
-      ;;
-    esac
-
-    ac_popdir=`pwd`
-    cd $ac_config_dir
-
-      # A "../" for each directory in /$ac_config_dir.
-      ac_dots=`echo $ac_config_dir|sed -e 's%^\./%%' -e 's%[^/]$%&/%' -e 's%[^/]*/%../%g'`
-
-    case "$srcdir" in
-    .) # No --srcdir option.  We are building in place.
-      ac_sub_srcdir=$srcdir ;;
-    /*) # Absolute path.
-      ac_sub_srcdir=$srcdir/$ac_config_dir ;;
-    *) # Relative path.
-      ac_sub_srcdir=$ac_dots$srcdir/$ac_config_dir ;;
-    esac
-
-    # Check for guested configure; otherwise get Cygnus style configure.
-    if test -f $ac_sub_srcdir/configure; then
-      ac_sub_configure=$ac_sub_srcdir/configure
-    elif test -f $ac_sub_srcdir/configure.in; then
-      ac_sub_configure=$ac_configure
-    else
-      echo "configure: warning: no configuration information is in $ac_config_dir" 1>&2
-      ac_sub_configure=
-    fi
-
-    # The recursion is here.
-    if test -n "$ac_sub_configure"; then
-
-      # Make the cache file name correct relative to the subdirectory.
-      case "$cache_file" in
-      /*) ac_sub_cache_file=$cache_file ;;
-      *) # Relative path.
-        ac_sub_cache_file="$ac_dots$cache_file" ;;
-      esac
-
-      echo "running ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir"
-      # The eval makes quoting arguments work.
-      if eval ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir
-      then :
-      else
-        { echo "configure: error: $ac_sub_configure failed for $ac_config_dir" 1>&2; exit 1; }
-      fi
-    fi
-
-    cd $ac_popdir
-  done
-fi
-
-
-    rm -f GNUmakefile
-    cp make/toplevel.make.in ./GNUmakefile
-    chmod 444 GNUmakefile
-
-
index b0277039b6494e01626693846af7b2d2425635f7..044e0d5e6a02069decde0cdb76b9048b44c7f987 100644 (file)
@@ -39,6 +39,8 @@ AC_STEPMAKE_TEXMF
 AC_STEPMAKE_YODL
 AC_STEPMAKE_GUILE
 
+CXXFLAGS="$CXXFLAGS -fhandle-signatures" 
+
 dnl should check out -print
 dnl huh?
 dnl AC_CHECK_SEARCH_RESULT($FIND, find, Please use --enable-tex-dir)
index c9c146e9f14b8820d543233faaafe6556e659c27..cc489fdf10f0b05a1985c518038a903e63f508a1 100644 (file)
@@ -99,7 +99,7 @@ public:
       Warning: contents are unspecified */
   void set_size (int s) 
     {
-      if (s >= max_) remax (s);
+      if (s > max_) remax (s);
       size_ = s;    
     }
     
index 48a86e118ada25405866ec4638917f2ca6d551b8..f066cdf8d245b3e4045f13a73ebf102c64e56db2 100644 (file)
   Sorry for the silly naming */
 template <class T>
 class P {
-    /**
-      Set contents to a copy of #t_l#
-     */
-    void copy (T const*t_l);
-    T* t_p;
+  /**
+     Set contents to a copy of #t_l#
+  */
+  void copy (T const*t_l);
+  T* t_p;
 
     /**
       junk contents and set to 0
      */
-    void junk();
+  void junk();
 public:
     
-    P(P const &src);
-    /**
+  P(P const &src);
+  /**
       Remove  the pointer, and return it.
      */
     
-    T *get_p() { T*p = t_p; t_p=0; return p; }
-    /**
+  T *get_p() { T*p = t_p; t_p=0; return p; }
+  /**
       return the pointer
      */
-    T *get_l()  { return t_p; }
+  T *get_l()  { return t_p; }
 
-    T const *get_C() const { return t_p; }
-    /**
+  T const *get_C() const { return t_p; }
+  /**
       copy the contents of pointer, and return it
      */
-    T *copy_p() const;
-    /**
+  T *copy_p() const;
+  /**
       swallow new_p, and set contents t new_p
      */
-    void set_p (T *new_p); 
-    /**
+  void set_p (T *new_p); 
+  /**
       junk contents, and  copy contents of t_l
      */
-    void set_l (T const *t_C); 
+  void set_l (T const *t_C); 
     
-    P &operator =(P const &);
-    ~P();
-    P() { t_p = 0; }
-    //P(T *p) { t_p = p; }
+  P &operator =(P const &);
+  ~P();
+  P() { t_p = 0; }
+  //P(T *p) { t_p = p; }
     
-    T *operator ->() { return t_p; }
-    operator T *() {  return t_p; }
-    const T *operator ->() const { return t_p ; }
-    T &operator *() { return *t_p; }
-    T const  &operator *() const { return *t_p; }
-    operator const T *() const { return t_p; }
+  T *operator ->() { return t_p; }
+  operator T *() {  return t_p; }
+  const T *operator ->() const { return t_p ; }
+  T &operator *() { return *t_p; }
+  T const  &operator *() const { return *t_p; }
+  operator const T *() const { return t_p; }
 };
 #endif // POINTER_HH
 
index 9829d5399cfa12fd2f12dd8147a9e3448c504406..645e26635cd3233893fb7ac5e07c6bf7b793fce8 100644 (file)
@@ -64,7 +64,7 @@ void
 P<T>::set_p (T * np) 
 {
   if (np == t_p)
-       return;
+    return;
   delete t_p;
   
   t_p = np;
@@ -77,7 +77,7 @@ void
 P<T>::set_l (T const * l_C) 
 {
   if (t_p == l_C)
-       return;
+    return;
   
   junk();
   copy (l_C);
index 909267165b01ae9d6c801393af0c6f998cef1d83..a5c80e1281ac9be7882767871d36f519f433dc25 100644 (file)
 #include <typeinfo>
 #include "stdlib.h"            // size_t
 
-/**  Declare the classes name as a static and virtual function.
-  The static_name() can *not* be inlined (this might have the effect that 
-  s->name() != S::static_name (). Overlapping strings need not be merged in C++
- */
-#define DECLARE_MY_RUNTIME_TYPEINFO    \
-virtual char const *name() const{ return static_name (); }\
-static char const *static_name()
-
-
-#if 0
-  /*
-    oops.  before() has nothing to do with inheritance
-   */
-inline bool operator > (type_info const &a1, type_info const &a2)
-{
-  return a2.before (a1);
-}
-
-inline bool operator < (type_info const &a1, type_info const &a2)
-{
-  return a1.before (a2);
-}
-
-inline bool operator <= (type_info const &a1, type_info const &a2)
-{
-  return a1 == a2 ||  a1 < a2;
-}
-
-inline bool operator >= (type_info const &a1, type_info const &a2)
-{
-  return a1 == a2 ||  a1 > a2;
-}
-#endif
-
-#define IMPLEMENT_STATIC_NAME(c)\
-    char const *c::static_name() { return #c; }
-
-     /*
-    size_t c::static_class_size () { return sizeof (c); }
-    */
-
-#define VIRTUAL_COPY_CONS(T, R)\
-  virtual R *clone() const { return  new T(*this); } 
+#define classname(class_ptr)   demangle_classname(typeid(*(class_ptr)).name())
 
-#define DECLARE_VIRTUAL_COPY_CONS(T, R)\
-      virtual R *clone() const
+const char *
+demangle_classname (const char*);
 
-#define IMPLEMENT_VIRTUAL_COPY_CONS(T, R)\
-       R *T::clone() const { return  new T(*this); }\
+/**
 
-    
-#define IMPLEMENT_IS_TYPE_B(D)\
-  IMPLEMENT_STATIC_NAME(D)
+   Virtual copy constructor. Make up for C++'s lack of a standard
+   clone() function.  Uses a typeof hack.  Usage:
 
-/*
-  bool D::static_is_type_b (const char *s)\
-{\
-  return s == static_name();\
-}*/
-
-#define IMPLEMENT_IS_TYPE_B1(D, B)\
-  IMPLEMENT_STATIC_NAME(D)
-/*
-  bool D::static_is_type_b (const char *s)\
-{\
-  return s == static_name() || B::static_is_type_b (s);\
-}
-*/
-
-#define IMPLEMENT_IS_TYPE_B2(D, BA, BB)\
-  IMPLEMENT_STATIC_NAME(D)
-
-/*
-     
-  bool D::static_is_type_b (const char *s)\
-{\
-  return s == static_name() || BA::static_is_type_b (s) || BB::static_is_type_b (s);\
-}
-*/
+   class Foo : Baseclass {
+       VIRTUAL_COPY_CONS(Baseclass);
+   };
+   
+ */
+#define VIRTUAL_COPY_CONS(base)   virtual base *clone () const { return new typeof(*this) (*this); }
 
 #endif 
diff --git a/flower/rtti.cc b/flower/rtti.cc
new file mode 100644 (file)
index 0000000..911e191
--- /dev/null
@@ -0,0 +1,23 @@
+
+
+
+/*#include <typeinfo>
+
+signature S
+{
+  int foo ();
+  int bar (int);
+};
+*/
+
+#include <ctype.h>
+#include "virtual-methods.hh"
+
+
+const char *
+demangle_classname (char const *s)
+{
+  while (isdigit (*s))
+    s++;
+  return s;
+}
index 79ad9d23850b346655f3459b77fc23a2c048e24f..48c0145b5bb03fbd997972d06735cf91d3d73413 100644 (file)
@@ -89,7 +89,7 @@ VoiceContext = \translator {
        \consists "Rest_engraver";
        \consists "Dot_column_engraver";
        \consists "Stem_engraver";
-       \consists "Plet_engraver";
+%      \consists "Plet_engraver";
        \consists "Beam_engraver";
        \consists "Abbreviation_beam_engraver";
        \consists "Multi_measure_rest_engraver";
index 4d29ce239fe852a9203e6fcf297ff6304e103832..e045426a26641b52d6c02ca385740e0ae3a04cc3 100644 (file)
 ;     all preparations from ps,tex to scm
 
 ;;; library funtions
+(define
+  (xnumbers->string l)
+  (string-append 
+   (map (lambda (n) (string-append (number->string n ) " ")) l)))
+
 (define
   (numbers->string l)
   (apply string-append 
   (let ((n (inexact->exact x)))
        (number->string n radix)))
 
-(define 
-  (number->dim-tex x)
-  (string-append 
-   (number->string (chop-decimal x)) "pt "))
 
 (define
   (control->string c)
     (string-append (number->string (car c)) " ")
     (string-append (number->string (cadr c)) " ")))
 
+;;;;;;;; TeX
+; (define (tex action)
+
+(define 
+  (beam-tex width slope thick)
+  (embedded-ps-tex (beam-ps width slope thick)))
+
+(define 
+  (bracket-tex h)
+  (embedded-ps-tex (bracket-ps h)))
+
+(define 
+  (dashed-slur-tex thick dash l)
+  (embedded-ps-tex (dashed-slur-ps thick dash l)))
+
+(define 
+  (crescendo-tex w h cont)
+  (embedded-ps-tex (crescendo-ps w h cont)))
+
+(define 
+  (decrescendo-tex w h cont)
+  (embedded-ps-tex (decrescendo-ps w h cont)))
+
 (define 
   (embedded-ps-tex s)
   (string-append "\\embeddedps{" s "}"))
 
+
 (define 
-  (invoke-char-ps s i)
-  (string-append 
-   "(\\" (inexact->string i 8) ") " s " " ))
+  (end-output-tex) 
+  "\n\\EndLilyPondOutput")
 
 (define 
-  (invoke-char-tex s i)
-  (string-append 
-   "\n\\" s "{" (inexact->string i 10) "}" ))
+  (empty-tex) 
+  "%\n\\empty%\n")
+
+(define
+  (experimental-on-tex) "\\turnOnExperimentalFeatures")
 
 (define 
-  (invoke-dim1-ps s d) 
+  (extender o h)
+  ((invoke-output o "invoke-dim1") "extender" h))
+
+(define 
+  (font-switch-tex i)
   (string-append
-   (number->string d) " " s ))
+   "\\" (font i) "\n"))
 
 (define 
-  (invoke-dim1-tex s d)
+  (font-def-tex i s)
   (string-append
-   "\n\\" s "{" (number->dim-tex d) "}"))
+   "\\font" (font-switch-tex i) "=" s "\n"))
+
+(define 
+  (generalmeter-tex num den)
+  (string-append 
+   "\\generalmeter{" (number->string (inexact->exact num)) "}{" (number->string (inexact->exact den)) "}"))
 
 (define
-  (invoke-output o s)
-   (eval-string (string-append s "-" o)))
+  (header-end-tex) "\\turnOnPostScript")
 
-;;; output definitions
+(define 
+  (header-tex creator generate) 
+  (string-append
+   "%created by: " creator generate "\n"))
 
 (define 
-  (beam o width slope thick) 
-  ((invoke-output o "beam") width slope thick))
+  (invoke-char-tex s i)
+  (string-append 
+   "\n\\" s "{" (inexact->string i 10) "}" ))
 
 (define 
-  (beam-ps width slope thick)
+  (invoke-dim1-tex s d)
   (string-append
-   (numbers->string (list width slope thick)) " draw_beam " ))
+   "\n\\" s "{" (number->dim-tex d) "}"))
 
-(define 
-  (beam-tex width slope thick)
-  (embedded-ps-tex (beam-ps width slope thick)))
+(define
+  (lily-def-tex key val)
+  (string-append
+   "\\def\\" key "{" val "}\n"))
 
 (define 
-  (bracket o h)
-  ((invoke-output o "bracket") h))
+  (number->dim-tex x)
+  (string-append 
+   (number->string (chop-decimal x)) "pt "))
 
 (define 
-  (bracket-ps h)
-  (invoke-dim1-ps "draw_bracket" h))
+  (placebox-tex x y s) 
+  (string-append 
+   "\\placebox{"
+   (number->dim-tex y) "}{" (number->dim-tex x) "}{" s "}"))
 
 (define 
-  (bracket-tex h)
-  (embedded-ps-tex (bracket-ps h)))
+  (rulesym-tex h w) 
+  (string-append 
+   "\\vrule height " (number->dim-tex (/ h 2))
+   " depth " (number->dim-tex (/ h 2))
+   " width " (number->dim-tex w)
+   )
+  )
 
 (define 
-  (char o n) 
-  ((invoke-output o "invoke-char") "show" n))
+  (slur-tex l)
+  (embedded-ps-tex (slur-ps l)))
 
 (define 
-  (crescendo o w h cont)
-  ((invoke-output o "crescendo") w h cont))
+  (start-line-tex) 
+  (string-append 
+   "\\hbox{%\n")
+  )
 
 (define 
-  (crescendo-ps w h cont)
+  (stem-tex kern width height depth) 
   (string-append 
-   (numbers->string (list w h (inexact->exact cont)))
-   "draw_crescendo"))
+   "\\kern" (number->dim-tex kern)
+   "\\vrule width " (number->dim-tex width)
+   "depth " (number->dim-tex depth)
+   "height " (number->dim-tex height) " "))
 
 (define 
-  (crescendo-tex w h cont)
-  (embedded-ps-tex (crescendo-ps w h cont)))
+  (stop-line-tex) 
+  "}\\interscoreline")
+
+(define
+  (text-tex f s)
+  (string-append "\\set" f "{" s "}"))
+
+
+
+;;;;;;;;;;;; PS
 
 (define 
-  (dashed-slur o thick dash l) 
-  ((invoke-output o "dashed-slur") thick dash l))
+  (beam-ps width slope thick)
+  (string-append
+   (numbers->string (list width slope thick)) " draw_beam " ))
 
 (define 
-  (decrescendo o w h cont)
-  ((invoke-output o "decrescendo") w h cont))
+  (bracket-ps h)
+  (invoke-dim1-ps "draw_bracket" h))
 
 (define 
-  (decrescendo-ps w h cont)
+  (crescendo-ps w h cont)
   (string-append 
    (numbers->string (list w h (inexact->exact cont)))
-   "draw_decrescendo"))
-
-(define 
-  (decrescendo-tex w h cont)
-  (embedded-ps-tex (decrescendo-ps w h cont)))
+   "draw_crescendo"))
 
 (define 
   (dashed-slur-ps thick dash l)
    " ] 0 draw_dashed_slur"))
 
 (define 
-  (dashed-slur-tex thick dash l)
-  (embedded-ps-tex (dashed-slur-ps thick dash l)))
+  (decrescendo-ps w h cont)
+  (string-append 
+   (numbers->string (list w h (inexact->exact cont)))
+   "draw_decrescendo"))
 
 (define 
-  (doublebar o h)
-  ((invoke-output o "invoke-dim1") "doublebar" h))
+  (empty-ps) 
+  "\n empty\n")
 
 (define 
-  (empty o) 
-  ((invoke-output o "empty")))
+  (end-output-ps)
+  "\nshowpage\n")
+
+(define
+  (experimental-on-ps) "")
 
 (define 
-  (empty-ps) 
-  "\n empty\n")
+  (font-def-ps i s)
+  (string-append
+   "\n/" (font i) " {/" 
+   (substring s 0 (- (string-length s) 4))
+   " findfont 12 scalefont setfont} bind def\n"))
 
 (define 
-  (empty-tex) 
-  "%\n\\empty%\n")
+  (font-switch-ps i)
+  (string-append (font i) " "))
 
 (define 
-  (emptybar o h) (empty o))
+  (generalmeter-ps num den)
+  (string-append (number->string (inexact->exact num)) " " (number->string (inexact->exact den)) " generalmeter "))
+
+(define
+  (header-end-ps) "")
+(define
+  (lily-def-ps key val)
+  (string-append
+   "/" key " {" val "} bind def\n"))
 
 (define 
-  (end-output o) 
-  ((invoke-output o "end-output")))
+  (header-ps creator generate) 
+  (string-append
+   "%!PS-Adobe-3.0\n"
+   "%%Creator: " creator generate "\n"))
 
 (define 
-  (end-output-ps)
-  "\nshowpage\n")
+  (invoke-char-ps s i)
+  (string-append 
+   "(\\" (inexact->string i 8) ") " s " " ))
 
 (define 
-  (end-output-tex) 
-  "\n\\EndLilyPondOutput")
+  (invoke-dim1-ps s d) 
+  (string-append
+   (number->string d) " " s ))
 
 (define 
-  (experimental-on o) 
-  ((invoke-output o "experimental-on")))
+  (placebox-ps x y s) 
+  (string-append 
+   (number->string x) " " (number->string y) " {" s "} placebox "))
 
-(define
-  (experimental-on-ps) "")
+(define 
+  (rulesym-ps x y) 
+  (string-append 
+   (number->string x) " "
+   (number->string y) " "
+   "rulesym"))
+
+(define 
+  (slur-ps l)
+  (string-append 
+   (apply string-append (map control->string l)) 
+   " draw_slur"))
+
+(define 
+  (start-line-ps) 
+   "\nstart_line {\n")
+
+(define 
+  (stem-ps kern width height depth) 
+  (string-append (numbers->string (list kern width height depth))
+                "draw_stem" ))
+
+(define 
+  (stop-line-ps) 
+  "}\nstop_line\n")
 
 (define
-  (experimental-on-tex) "\\turnOnExperimentalFeatures")
+  (text-ps f s)
+  (string-append "(" s ") set" f " "))
+
+
+;;; output definitions
 
 (define 
-  (extender o h)
-  ((invoke-output o "invoke-dim1") "extender" h))
+  (beam o width slope thick) 
+  ((invoke-output o "beam") width slope thick))
+
+(define 
+  (bracket o h)
+  ((invoke-output o "bracket") h))
+
+(define 
+  (char o n) 
+  ((invoke-output o "invoke-char") "show" n))
+
+(define 
+  (crescendo o w h cont)
+  ((invoke-output o "crescendo") w h cont))
+
+(define 
+  (dashed-slur o thick dash l) 
+  ((invoke-output o "dashed-slur") thick dash l))
+
+(define 
+  (decrescendo o w h cont)
+  ((invoke-output o "decrescendo") w h cont))
+
+(define 
+  (doublebar o h)
+  ((invoke-output o "invoke-dim1") "doublebar" h))
+
+(define 
+  (empty o) 
+  ((invoke-output o "empty")))
+
+(define 
+  (emptybar o h) (empty o))
+
+(define 
+  (end-output o) 
+  ((invoke-output o "end-output")))
+
+(define 
+  (experimental-on o) 
+  ((invoke-output o "experimental-on")))
 
 (define
   (fatdoublebar o h)
   (font-def o i s) 
   ((invoke-output o "font-def") i s))
 
-(define 
-  (font-def-ps i s)
-  (string-append
-   "\n/" (font i) " {/" 
-   (substring s 0 (- (string-length s) 4))
-   " findfont 12 scalefont setfont} bind def\n"))
-
-(define 
-  (font-def-tex i s)
-  (string-append
-   "\\font" (font-switch-tex i) "=" s "\n"))
-
 (define 
   (font-switch o i) 
   ((invoke-output o "font-switch") i))
 
-(define 
-  (font-switch-ps i)
-  (string-append (font i) " "))
-
-(define 
-  (font-switch-tex i)
-  (string-append
-   "\\" (font i) "\n"))
-
 (define 
   (generalmeter o num den)
    ((invoke-output o "generalmeter") num den))
 
-(define 
-  (generalmeter-ps num den)
-  (string-append (number->string (inexact->exact num)) " " (number->string (inexact->exact den)) " generalmeter "))
-
-(define 
-  (generalmeter-tex num den)
-  (string-append 
-   "\\generalmeter{" (number->string (inexact->exact num)) "}{" (number->string (inexact->exact den)) "}"))
-
 (define 
   (header o creator generate) 
   ((invoke-output o "header") creator generate))
 
-(define 
-  (header-ps creator generate) 
-  (string-append
-   "%!PS-Adobe-3.0\n"
-   "%%Creator: " creator generate "\n"))
-
-(define 
-  (header-tex creator generate) 
-  (string-append
-   "%created by: " creator generate "\n"))
-
 (define 
   (header-end o) 
   ((invoke-output o "header-end")))
 
 (define
-  (header-end-ps) "")
-
-(define
-  (header-end-tex) "\\turnOnPostScript")
+  (invoke-output o s)
+   (eval-string (string-append s "-" o)))
 
 (define
   (lily-def o key val)
   ((invoke-output o "lily-def") key val))
 
-(define
-  (lily-def-ps key val)
-  (string-append
-   "/" key " {" val "} bind def\n"))
-
-(define
-  (lily-def-tex key val)
-  (string-append
-   "\\def\\" key "{" val "}\n"))
-
 (define 
   (maatstreep o h) 
   ((invoke-output o "invoke-dim1") "maatstreep" h))
   (placebox o x y b) 
   ((invoke-output o "placebox") x y (b o)))
 
-(define 
-  (placebox-ps x y s) 
-  (string-append 
-   (number->string x) " " (number->string y) " {" s "} placebox "))
-
-(define 
-  (placebox-tex x y s) 
-  (string-append 
-   "\\placebox{"
-   (number->dim-tex y) "}{" (number->dim-tex x) "}{" s "}"))
-
 (define
   (repeatbar o h)
   ((invoke-output o "invoke-dim1") "repeatbar" h))
   (rulesym o x y) 
   ((invoke-output o "rulesym") x y))
 
-(define 
-  (rulesym-ps x y) 
-  (string-append 
-   (number->string x) " "
-   (number->string y) " "
-   "rulesym"))
-
-(define 
-  (rulesym-tex x y) 
-  (string-append 
-   "\\rulesym{" (number->dim-tex x) "}{" (number->dim-tex y) "}"))
-
 (define 
   (setbold o s) 
   ((invoke-output o "text") "bold" s))
   ((invoke-output o "slur") l))
 
 (define 
-  (slur-ps l)
+  (tuplet o dx dy dir)
+  ((invoke-output o "tuplet") dx dy dir))
+
+(define 
+  (tuplet-ps dx dy dir)
   (string-append 
-   (apply string-append (map control->string l)) 
-   " draw_slur"))
+   (numbers->string (list dx dy (inexact->exact dir)))
+   "draw_tuplet"))
 
 (define 
-  (slur-tex l)
-  (embedded-ps-tex (slur-ps l)))
+  (tuplet-tex dx dy dir)
+  (embedded-ps-tex (tuplet-ps dx dy dir)))
 
 (define 
   (stem o kern width height depth) 
   ((invoke-output o "stem") kern width height depth))
 
-(define 
-  (stem-ps kern width height depth) 
-  (string-append (numbers->string (list kern width height depth))
-                "draw_stem" ))
 
-(define 
-  (stem-tex kern width height depth) 
-  (string-append 
-   "\\kern" (number->dim-tex kern)
-   "\\vrule width " (number->dim-tex width)
-   "depth " (number->dim-tex depth)
-   "height " (number->dim-tex height) " "))
 
 (define 
   (start-line o) 
   ((invoke-output o "start-line")))
 
-(define 
-  (start-line-ps) 
-   "\nstart_line {\n")
-
-(define 
-  (start-line-tex) 
-  (string-append 
-   "\\hbox{%\n")
-  )
-
-
 (define
   (startbar o h)
   ((invoke-output o "invoke-dim1") "startbar" h))
   (startrepeat o h)
   ((invoke-output o "invoke-dim1") "startrepeat" h))
 
+
 (define 
   (stop-line o) 
   ((invoke-output o "stop-line")))
 
-(define 
-  (stop-line-ps) 
-  "}\nstop_line\n")
-
-(define 
-  (stop-line-tex) 
-  "}\\interscoreline")
 
 (define
   (stoprepeat o h)
   ((invoke-output o "invoke-dim1") "stoprepeat" h))
 
-(define
-  (text-ps f s)
-  (string-append "(" s ") set" f " "))
-
-(define
-  (text-tex f s)
-  (string-append "\\set" f "{" s "}"))
-
-
-(define 
-  (tuplet o dx dy dir)
-  ((invoke-output o "tuplet") dx dy dir))
-
-(define 
-  (tuplet-ps dx dy dir)
-  (string-append 
-   (numbers->string (list dx dy (inexact->exact dir)))
-   "draw_tuplet"))
-
-(define 
-  (tuplet-tex dx dy dir)
-  (embedded-ps-tex (tuplet-ps dx dy dir)))
 
diff --git a/input/test/stars-and-stripes.ly b/input/test/stars-and-stripes.ly
deleted file mode 100644 (file)
index e69de29..0000000
index 010e77ffe8aef7c83eddd9725959c997bfb7ddba..8f5b674979f51c81a6725b9ba158398d4f1f4d53 100644 (file)
@@ -1,3 +1,3 @@
 \score{
-       \notes \type Staff \times 2/3 { a b c }
+       \notes \type Staff \times 2/3 { \times 2/3 { a8 b c}  c }
 }
index 145ab50bcb786e29cf65f910219878caf4ad9286..5f2b7f4b805c291aaf4501fd9e6e9a53d0eeb28b 100644 (file)
@@ -15,7 +15,7 @@
 #include "musical-request.hh"
 #include "misc.hh"
 
-IMPLEMENT_IS_TYPE_B1(Abbreviation_beam_engraver, Engraver);
+
 ADD_THIS_TRANSLATOR(Abbreviation_beam_engraver);
 
 Abbreviation_beam_engraver::Abbreviation_beam_engraver ()
@@ -25,7 +25,7 @@ Abbreviation_beam_engraver::Abbreviation_beam_engraver ()
 }
 
 bool
-Abbreviation_beam_engraver::do_try_request (Request*r)
+Abbreviation_beam_engraver::do_try_music (Music*r)
 {
   Abbreviation_beam_req * b = dynamic_cast <Abbreviation_beam_req *> (r);
 
index 05464b9670816cc0b639610ba93e2796a50c6c18..341a0e8d82ca4be41c00748ec80a4f56e298d6f9 100644 (file)
@@ -22,7 +22,7 @@
 #include "stem-info.hh"
 
 
-IMPLEMENT_IS_TYPE_B1 (Abbreviation_beam, Spanner);
+
 
 Abbreviation_beam::Abbreviation_beam ()
   : Beam ()
index 4f80841a6601d314b0e6dd065360412c3a880c9c..0e9dac2a4fab76178ffbb0bb555d2cfa312f9bcb 100644 (file)
@@ -156,7 +156,7 @@ Align_element::contains_b (Score_element const *e) const
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Align_element, Score_element);
+
 
 void
 Align_element::sort_elements ()
@@ -182,6 +182,6 @@ Align_element::do_print () const
 #if 0
   DOUT << "contains: ";
   for (int i=0 ;  i < item_l_arr_.size(); i++) 
-    DOUT << item_l_arr_[i]->name () << ", ";
+    DOUT << classname (item_l_arr_[i]) << ", ";
 #endif
 }
index 5b6717c01519a952cc9cc4a296d3393e8a79a46d..61513c1e20fbb527f347569d1dd875e11d6e7fe6 100644 (file)
@@ -38,7 +38,7 @@ Audio_column::print() const
   DOUT << "Audio_column {";
   DOUT << "at: " << at_mom_ << ". Contains:";
   for (PCursor<Audio_item*> i (audio_item_l_list_.top ()); i.ok (); i++)
-    DOUT << i->name () << ", ";
+    DOUT << classname (i.ptr ()) << ", ";
   DOUT << "\n}\n";
 #endif 
 }
index bffe351af4fe60fa0b79d69ae8638fbec18a612d..109a639eb1de45386adf3d0ee6df98c235356745 100644 (file)
@@ -9,7 +9,7 @@
 #include "audio-element.hh"
 #include "debug.hh"
 
-IMPLEMENT_IS_TYPE_B(Audio_element);
+
 
 Audio_element::~Audio_element()
 {
@@ -19,7 +19,7 @@ void
 Audio_element::print () const
 {
 #ifndef NPRINT
-  DOUT << name () << "{ ";
+  DOUT << classname (this) << "{ ";
   do_print ();
   DOUT << "}";
 #endif
index 2ec7736a40af93be12411c6e86a9671b6d25e5e5..409c4196b39ebe567735ac21368d4e6283fea8b5 100644 (file)
@@ -22,7 +22,7 @@ Audio_instrument::midi_item_p()
 {
   return str_.length_i() ? new Midi_instrument(0, str_) : 0;
 }
-IMPLEMENT_IS_TYPE_B1(Audio_instrument, Audio_item);
+
 
 Audio_item::Audio_item (Request* req_l)
 {
@@ -40,7 +40,7 @@ Audio_key::midi_item_p()
 {
   return new Midi_key (this);
 }
-IMPLEMENT_IS_TYPE_B1 (Audio_key, Audio_item);
+
 
 Audio_note::Audio_note (Request* req_l, int transposing_i)
   : Audio_item (req_l)
@@ -54,7 +54,7 @@ Audio_note::midi_item_p()
   return new Midi_note (this);
 }
 
-IMPLEMENT_IS_TYPE_B1(Audio_note, Audio_item);
+
 
 Audio_tempo::Audio_tempo (int per_minute_4_i)
   : Audio_item (0)
@@ -68,7 +68,7 @@ Audio_tempo::midi_item_p()
   return new Midi_tempo (this);
 }
 
-IMPLEMENT_IS_TYPE_B1(Audio_tempo, Audio_item);
+
 
 Audio_time_signature::Audio_time_signature (Request* req_l)
   : Audio_item (req_l)
@@ -81,7 +81,7 @@ Audio_time_signature::midi_item_p()
   return new Midi_time_signature (this);
 }
 
-IMPLEMENT_IS_TYPE_B1(Audio_time_signature, Audio_item);
+
 
 Audio_text::Audio_text (Audio_text::Type type, String text_str)
   : Audio_item (0)
@@ -96,8 +96,8 @@ Audio_text::midi_item_p()
   return text_str_.length_i() ? new Midi_text(this) : 0;
 }
 
-IMPLEMENT_IS_TYPE_B1(Audio_text, Audio_item);
-IMPLEMENT_IS_TYPE_B1(Audio_item, Audio_element);
+
+
 
 void
 Audio_item::do_print () const
index 235de874dedaa398b94fc4f52db23f10801dac73..16fac90a30020369053bb64f6a8ade02a67f8659 100644 (file)
@@ -28,4 +28,4 @@ Audio_staff::output (Midi_stream& midi_stream_r, int track_i)
   midi_stream_r << midi_track;
 }
 
-IMPLEMENT_IS_TYPE_B1(Audio_staff, Audio_element);
+
diff --git a/lily/auto-plet-engraver.cc b/lily/auto-plet-engraver.cc
deleted file mode 100644 (file)
index c97be06..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-/*   
-  auto-plet-engraver.cc --  implement Auto_plet_engraver
-  
-  source file of the GNU LilyPond music typesetter
-  
-  (c) 1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-  
- */
-
-#include "auto-plet-engraver.hh"
-#include "command-request.hh"
-#include "plet-spanner.hh"
-#include "note-column.hh"
-
-bool
-Tuplet_engraver::do_try_request (Request *r)
-{
-  if (Bracket_req * b = dynamic_cast <Bracket_req *> (r))
-    {
-      bracket_req_arr_.push (b);
-      return true;
-    }
-  return false;
-}
-
-void
-Tuplet_engraver::do_process_requests ()
-{
-  int stopcount =0;
-  Link_array<Plet_spanner> start_arr;
-  
-  for (int i=0; i < bracket_req_arr_.size (); i++)
-    {
-      if (bracket_req_arr_[i]->spantype == Span_req::STOP)
-       stopcount++;
-      if (bracket_req_arr_[i]->spantype == Span_req::START)
-       {
-         Plet_spanner* glep = new Plet_spanner ();
-         start_arr.push  (glep);
-// lots of stuff does info->elem_l_->is_type ()
-//       announce_element (Score_element_info (glep, bracket_req_arr_[i]));
-       }
-    }
-
-  for (; stopcount--; )
-    {
-      Plet_spanner* glep = started_span_p_arr_.pop ();
-      stop_now_span_p_arr_.push (glep);
-    }
-
-  for (int i=0; i < start_arr.size (); i++)
-    started_span_p_arr_.push (start_arr.pop ());
-}
-
-void
-Tuplet_engraver::acknowledge_element (Score_element_info i)
-{
-  if (Note_column *nc = dynamic_cast<Note_column *> (i.elem_l_))
-    {
-
-      for (int j =0; j  <started_span_p_arr_.size (); j++)
-       // started_span_p_arr_[j]->add_column (nc);
-       ;
-    }
-}
-
-void
-Tuplet_engraver::do_pre_move_processing ()
-{
-  typeset_all ();
-}
-
-void
-Tuplet_engraver::typeset_all ()
-{
-  for (int i=0; i < stop_now_span_p_arr_.size (); i++)
-    {
-      typeset_element (stop_now_span_p_arr_[i]);
-    }
-
-  stop_now_span_p_arr_.clear ();
-}
-
-void
-Tuplet_engraver::do_removal_processing ()
-{
-  typeset_all ();
-  for (int i=0; i < started_span_p_arr_.size (); i++)
-    {
-      typeset_element (started_span_p_arr_[i]);
-    }  
-}
-
-ADD_THIS_TRANSLATOR(Tuplet_engraver);
-IMPLEMENT_IS_TYPE_B1(Tuplet_engraver, Engraver);
-
-Tuplet_engraver::Tuplet_engraver()
-{
-}
-
-
-void
-Tuplet_engraver::do_post_move_processing ()
-{
-  bracket_req_arr_.clear (); 
-}
index a19d26c6c310669b43fcc6f2cba668111458159c..8732470bafaebec697eec03453727b17d0e86c92 100644 (file)
@@ -77,4 +77,4 @@ Axis_group_element::Axis_group_element ()
 }
 
 
-IMPLEMENT_IS_TYPE_B2(Axis_group_element, Score_element, Graphical_axis_group);
+
index 6eabab3a58ffa44e65f0e3bf14fad0d0ee62831b..c6f38c9632fcfdd8703b15aba9cbfd15c6721be1 100644 (file)
@@ -8,7 +8,7 @@
 #include "axis-group-item.hh"
 #include "p-col.hh"
 
-IMPLEMENT_IS_TYPE_B2(Axis_group_item, Axis_group_element, Item);
+
 
 void
 Axis_group_item::OK() const
index fdd2969b5e359964ec913c6dc76c6fda3b05d250..3d78df93418a0f3149c80d80ac2f9ace60f03fe3 100644 (file)
@@ -133,4 +133,4 @@ Axis_group_spanner::do_print() const
 
 
 
-IMPLEMENT_IS_TYPE_B2(Axis_group_spanner, Spanner, Axis_group_element);
+
index 230a0f3ea2a39f374bb81ce7ce29ff7732812a31..96dee1b25c6583645dffebe7c9c2d9e7460fc477 100644 (file)
@@ -102,5 +102,5 @@ Bar_column_engraver::do_post_move_processing()
   bar_l_ =0;
 }
 
-IMPLEMENT_IS_TYPE_B1(Bar_column_engraver, Engraver);
+
 ADD_THIS_TRANSLATOR(Bar_column_engraver);
index 5f1a40d93f2a61074e3c557df0fc9a6c09eb69a7..625b2da8958842061f1269e7aef0aca79308def7 100644 (file)
@@ -32,5 +32,5 @@ Bar_column::do_substitute_dependency (Score_element*o,Score_element*n)
     }
 }
 
-IMPLEMENT_IS_TYPE_B1(Bar_column, Script_column);
+
 
index 456a13cf400387bb7dcc3d82481482b75b3128f7..b9896b4ad32c0b8149778337787e540d9eed779c 100644 (file)
@@ -21,7 +21,7 @@ Bar_engraver::Bar_engraver()
 }
 
 bool
-Bar_engraver::do_try_request (Request*r_l)
+Bar_engraver::do_try_music (Music*r_l)
 {
   if (Bar_req  * b= dynamic_cast <Bar_req *> (r_l))
     {
@@ -95,7 +95,7 @@ Bar_engraver::do_process_requests()
     {
       Break_req r;
       r.penalty_i_ = Break_req::DISALLOW;
-      daddy_grav_l ()->try_request (&r);
+      daddy_grav_l ()->try_music (&r);
     }
 }
 
@@ -117,7 +117,7 @@ Bar_engraver::do_post_move_processing()
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Bar_engraver,Engraver);
+
 ADD_THIS_TRANSLATOR(Bar_engraver);
 
 
index 455690e5165a34d02091e871b7fc330bfcf55eb7..67e4dc2fc49659378b65c562a3c9930161a02029 100644 (file)
@@ -77,5 +77,5 @@ Bar_number_engraver::do_pre_move_processing()
     }
 }
 
-IMPLEMENT_IS_TYPE_B1(Bar_number_engraver,Engraver);
+
 ADD_THIS_TRANSLATOR(Bar_number_engraver);
index 32120fa1bf72ee0db17fba6092807936f9342008..7e49b7088fe0a2e72b80ce1bfe96571d818bdbb4 100644 (file)
@@ -13,7 +13,7 @@
 #include "lookup.hh"
 #include "debug.hh"
 
-IMPLEMENT_IS_TYPE_B1 (Bar,Item);
+
 
 Bar::Bar ()
 {
index b8eb55903bed161e60dfa3a317a0bae5ecf5ae20..b1ec28d01d134207ce929601cda2bac7d82d2d29 100644 (file)
@@ -23,7 +23,7 @@ Beam_engraver::Beam_engraver()
 }
 
 bool
-Beam_engraver::do_try_request(Request*r)
+Beam_engraver::do_try_music (Music*r)
 {
   Beam_req* b = dynamic_cast <Beam_req *> (r);
   if (!b)
@@ -131,5 +131,5 @@ Beam_engraver::acknowledge_element (Score_element_info i)
       beam_p_->add_stem (s);
     }
 }
-IMPLEMENT_IS_TYPE_B1(Beam_engraver, Engraver);
+
 ADD_THIS_TRANSLATOR(Beam_engraver);
index f6a4194ca7ff27ac1c627b05e72e2b75c978d8f3..cf7b4d1ef659006ca23cb6a55fac0cd7226ec37e 100644 (file)
@@ -10,6 +10,5 @@
 #include "type-swallow-trans.hh"
 #include "musical-request.hh"
 
-
-
 DECLARE_REQUEST_SWALLOWER(Beam_req);
+
index 95151fdf5b6f7d9c8a80a073b599812263100df0..31c0b34af2e185973f3380cc694c439206fb6bcf 100644 (file)
@@ -36,7 +36,7 @@
 #include "stem-info.hh"
 
 
-IMPLEMENT_IS_TYPE_B1 (Beam, Spanner);
+
 
 Beam::Beam ()
 {
index 04a09d7bc95968a6d9c90ecc8048291e3d1c3191..51463e2c5020ed75eeac7c070f5fdb9b0fd10cf2 100644 (file)
@@ -15,7 +15,7 @@
 #include "bezier.hh"
 #include "main.hh"
 
-IMPLEMENT_IS_TYPE_B1(Bow,Directional_spanner);
+
 
 Bow::Bow ()
 {
index 05644f026173eb3b165c0f336349386a60ed57f6..53f81fe3e3799f089fa222733519b661b112d65a 100644 (file)
@@ -18,4 +18,4 @@ Break_align_item::do_pre_processing()
   Horizontal_align_item::do_pre_processing();
 }
 
-IMPLEMENT_IS_TYPE_B1(Break_align_item, Horizontal_align_item);
+
index b319c720895f7ce841c7ba5a83be9b49f07b9f95..81352999e6ebb84cc354e1138a07c02f9c437045 100644 (file)
@@ -79,4 +79,4 @@ Change_iterator::do_process_and_next (Moment m)
   Music_iterator::do_process_and_next (m);
 }
 
-IMPLEMENT_IS_TYPE_B1 (Change_iterator, Music_iterator);
+
index 771e8d43b1fe0ee098e4a8869f64bba383085e77..10a5c61d44948568f87e81166e53232102c7525f 100644 (file)
@@ -9,7 +9,7 @@
 #include "change-translator.hh"
 #include "debug.hh"
 
-IMPLEMENT_IS_TYPE_B1(Change_translator,Music);
+
 
 void
 Change_translator::do_print () const
index 8b691619ee15659a880ce8823a050693f45e7351..1f61364c2b98d6f0933613086f28a0403874ba47 100644 (file)
@@ -62,7 +62,7 @@ Simultaneous_music_iterator::do_process_and_next (Moment until)
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Simultaneous_music_iterator,Music_iterator);
+
 
 Moment
 Simultaneous_music_iterator::next_moment() const
index b7dac5052bfc2386a4c2dca6cfa3140ed1951ce3..775a1885f3000610ffcd528b5511e87ac7b508e1 100644 (file)
@@ -180,7 +180,7 @@ Clef_engraver::do_creation_processing()
 }
 
 bool
-Clef_engraver::do_try_request (Request * r_l)
+Clef_engraver::do_try_music (Music * r_l)
 {
   if (Clef_change_req *cl = dynamic_cast <Clef_change_req *> (r_l))
     {
@@ -267,5 +267,5 @@ Clef_engraver::do_removal_processing()
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Clef_engraver,Engraver);
+
 ADD_THIS_TRANSLATOR(Clef_engraver);
index fd6e971b42e9f12f0a395a01be131a2c3f5091e0..d860b494f2c9f2836b691adb079eb2abb8350ef6 100644 (file)
@@ -72,7 +72,7 @@ Clef_item::brew_molecule_p() const
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Clef_item,Item);
+
 
 #include "pointer.tcc"
 template class P<Text_def>;    // ugh
index a0d5dc1006371a131a33630c1a91a75ed1d3ebf9..9094147cf4c8b26afb1df3f1fd5734bfbf6e6f2a 100644 (file)
@@ -54,5 +54,5 @@ Collision_engraver::Collision_engraver()
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Collision_engraver,Engraver);
+
 ADD_THIS_TRANSLATOR(Collision_engraver);
index a9971951b92c19304a06f1bed1e5c8bfd4ba7cc3..149e39fc2326117b901fac288e05eb5c2c1e35ea 100644 (file)
@@ -161,7 +161,7 @@ Collision::do_pre_processing()
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Collision, Item);
+
 
 void
 Collision::do_substitute_dependency (Score_element*o_l,Score_element*n_l)
index cddf6c89fd0c1a8d9d457071a09b5a984e3431d1..1ab0353bc558ab32d3c74da961a4e5e34e09e678 100644 (file)
@@ -16,10 +16,10 @@ Command_script_req::do_print() const
 Command_script_req::Command_script_req(){}
 Command_script_req::~Command_script_req(){}
 
-IMPLEMENT_IS_TYPE_B1(Command_script_req,Command_req);
 
 
-IMPLEMENT_IS_TYPE_B1(Cadenza_req, Timing_req);
+
+
 
 void
 Cadenza_req::do_print() const
@@ -51,9 +51,9 @@ Bar_req::do_equal_b (Request*r) const
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Bar_req,Command_req);
 
-IMPLEMENT_IS_TYPE_B2(Bracket_req, Command_req, Span_req);
+
+
 
 void
 Bar_req::do_print() const
@@ -86,18 +86,18 @@ Partial_measure_req::do_equal_b (Request* r) const
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Timing_req,Command_req);
+
 
 void
 Timing_req::do_print() const{}
 
 
-IMPLEMENT_IS_TYPE_B1(Command_req,Request);
+
 
 void
 Command_req::do_print() const{}
 
-IMPLEMENT_IS_TYPE_B1(Barcheck_req,Timing_req);
+
 
 void
 Barcheck_req::do_print() const{}
@@ -110,7 +110,7 @@ Barcheck_req::do_equal_b (Request*r) const
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Clef_change_req,Command_req);
+
 
 void
 Clef_change_req::do_print() const
@@ -128,7 +128,7 @@ Clef_change_req::Clef_change_req (String s)
 
 
 
-IMPLEMENT_IS_TYPE_B1(Partial_measure_req,Timing_req);
+
 
 void
 Partial_measure_req::do_print() const
@@ -137,7 +137,7 @@ Partial_measure_req::do_print() const
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Time_signature_change_req,Timing_req);
+
 
 void
 Time_signature_change_req::do_print() const
@@ -174,7 +174,7 @@ Tempo_req::do_print() const
 {
   DOUT << dur_.str() << " = " << metronome_i_;
 }
-IMPLEMENT_IS_TYPE_B1(Tempo_req, Timing_req);
+
 
 bool
 Tempo_req::do_equal_b (Request *r) const
@@ -187,7 +187,7 @@ Tempo_req::do_equal_b (Request *r) const
 
 
 
-IMPLEMENT_IS_TYPE_B1(Measure_grouping_req,Timing_req);
+
 
 void
 Measure_grouping_req::do_print() const
@@ -299,7 +299,7 @@ Key_change_req::transpose (Musical_pitch d)
     }
 }
 
-IMPLEMENT_IS_TYPE_B1(Key_change_req,Command_req);
+
 void
 Key_change_req::squash_octaves()
 {
@@ -326,7 +326,7 @@ Key_change_req::Key_change_req()
   ordinary_key_b_= false;
 }
 
-IMPLEMENT_IS_TYPE_B1(Break_req, Command_req);
+
 
 Break_req::Break_req ()
 {
@@ -338,7 +338,7 @@ Break_req::do_print () const
 {
 }
 
-IMPLEMENT_IS_TYPE_B1 (Mark_req, Command_req);
+
 
 Mark_req::Mark_req (String s)
 {
index c5c60acc78913ebd2e47977f158a1281e43f2f3b..c6393d5ecfd8e372e6204148a9417c3d36ef08c5 100644 (file)
@@ -13,7 +13,7 @@
 #include "translator-group.hh"
 #include "command-request.hh"
 
-IMPLEMENT_IS_TYPE_B1(Compressed_music_iterator, Music_wrapper_iterator);
+
 
 Compressed_music_iterator::Compressed_music_iterator ()
 {
@@ -52,17 +52,10 @@ Compressed_music_iterator::do_process_and_next (Moment m)
 {
   if (first_b_)
     {
-      bool success = report_to_l ()->try_request (start_req_p_);
+      bool success =   report_to_l ()->try_music (compressed_l ());
       if (!success)
        music_l_->warning ( _("No one to print a tuplet start bracket"));
     }
 
   Music_wrapper_iterator::do_process_and_next (m);
-  
-  if (!ok ())
-    {
-      bool success = report_to_l ()->try_request (stop_req_p_);
-      if (!success)
-          music_l_->warning ( _("No one to print a tuplet stop bracket"));
-    }
 }
index 5c03ef1649b6b52dce68c017a365f233efa1880a..5133cb57521ce3ac51077178a4f93bcfa86395b5 100644 (file)
@@ -18,6 +18,6 @@ Compressed_music::Compressed_music (int n, int d,Music *mp)
   element_p_->compress (Moment (num_i_,den_i_));
 }
 
-IMPLEMENT_IS_TYPE_B1(Compressed_music, Music_wrapper);
+
 
 
index 4af8ceadcdf1cc49d3e9e443482d8831aa62b50c..1e9b804a1f28b3226e99358f5e09dc0b6a8d940c 100644 (file)
@@ -76,4 +76,4 @@ Crescendo::brew_molecule_p() const
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Crescendo,Spanner);
+
index c21d4a274bff8bf420df036c374cb9b4ba4f6f84..bd4954920b80f7ad097b482015283a4c290020e3 100644 (file)
@@ -17,3 +17,11 @@ Directional_spanner::Directional_spanner()
 {
   dir_ = CENTER;
 }
+
+Offset
+Directional_spanner::center () const
+{
+  Real w= width ().length ();
+  Offset o (w/2, 0);  
+  return o;
+}
index 771963e3486929b45d9bb50b9fdf260169ad1d06..59c73f2f6f8a01fe538cfd069db8fb459ba675b6 100644 (file)
@@ -48,4 +48,4 @@ Dot_column_engraver::acknowledge_element (Score_element_info info)
 
 
 ADD_THIS_TRANSLATOR(Dot_column_engraver);
-IMPLEMENT_IS_TYPE_B1(Dot_column_engraver,Engraver);
+
index 284b746cc946841ec581cc52cbd3ccdc92f47ddb..97afd43bf25f747d247ff003a26598cc76e40616 100644 (file)
@@ -53,4 +53,4 @@ Dot_column::do_pre_processing ()
     translate_axis (w[RIGHT] - width() [LEFT],X_AXIS);
 }
 
-IMPLEMENT_IS_TYPE_B1(Dot_column, Horizontal_group_item);
+
index 370ea3dbe7ae46272e2fe5efe0564bf8b09a0238..8b39c3e56628490396b154be30991e0011d06588 100644 (file)
@@ -51,4 +51,4 @@ Dots::brew_molecule_p () const
   return out;
 }
 
-IMPLEMENT_IS_TYPE_B1(Dots, Item);
+
index e0f26807487d36ddc06652a90fcc0090db49bf82..becdf9b76ba29b34e3742d808141ef4688917e02 100644 (file)
@@ -32,7 +32,7 @@ Dynamic_engraver::do_post_move_processing()
 }
 
 bool
-Dynamic_engraver::do_try_request (Request * r)
+Dynamic_engraver::do_try_music (Music * r)
 {
   if(Dynamic_req * d = dynamic_cast <Dynamic_req *> (r))
     {
@@ -151,7 +151,7 @@ Dynamic_engraver::do_pre_move_processing()
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Dynamic_engraver,Engraver);
+
 ADD_THIS_TRANSLATOR(Dynamic_engraver);
 
 void
index 2c1b3d2d863502a5f705a997a5ad94f44659f5f1..a255c4c5cd9aeb3b1552a1c86d2d14f550184d13 100644 (file)
@@ -14,7 +14,7 @@
 #include "p-score.hh"
 #include "score-element.hh"
 
-IMPLEMENT_IS_TYPE_B2(Engraver_group_engraver,Engraver, Translator_group);
+
 ADD_THIS_TRANSLATOR(Engraver_group_engraver);
 
 void
index 8fccb6a84dd7080e875e533e39db5135650458c1..762d800ed4d5f84d87270967b850178acdc4507e 100644 (file)
@@ -50,7 +50,7 @@ Engraver::get_staff_info() const
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Engraver, Translator);
+
 
 
 Engraver_group_engraver*
index 92018629d931a82722b7f842b4e3450b000a0c00..32c3e5787fcfa1950e58cf21aedf1edb076370ad 100644 (file)
@@ -12,7 +12,6 @@
 #include "score-column.hh"
 #include "text-item.hh"
 
-IMPLEMENT_IS_TYPE_B1 (Extender_engraver,Engraver);
 ADD_THIS_TRANSLATOR (Extender_engraver);
 
 Extender_engraver::Extender_engraver ()
@@ -40,22 +39,22 @@ Extender_engraver::acknowledge_element (Score_element_info i)
 }
 
 bool
-Extender_engraver::do_try_request (Request* req_l)
+Extender_engraver::do_try_music (Music* req_l)
 {
-  Extender_req* p = dynamic_cast <Extender_req *> (req_l);
-  if (!p)
-    return false;
-
-  if (bool (extender_spanner_p_) == bool (p->spantype == Span_req::START))
-    return false;
+  if (Extender_req* p = dynamic_cast <Extender_req *> (req_l))
+    {
+      if (bool (extender_spanner_p_) == bool (p->spantype == Span_req::START))
+       return false;
 
-  Direction d = (!extender_spanner_p_) ? LEFT : RIGHT;
-  if (span_reqs_drul_[d] && !span_reqs_drul_[d]->equal_b (req_l))
-    return false;
+      Direction d = (!extender_spanner_p_) ? LEFT : RIGHT;
+      if (span_reqs_drul_[d] && !span_reqs_drul_[d]->equal_b (p))
+       return false;
 
-  span_reqs_drul_[d] = p;
-  span_mom_drul_[d] = get_staff_info ().musical_l ()->when ();
-  return true;
+      span_reqs_drul_[d] = p;
+      span_mom_drul_[d] = get_staff_info ().musical_l ()->when ();
+      return true;
+    }
+  return false;
 }
 
 void
index d7617894a596f2454e75ac902c2825fbdfb56eda..98190d67483022ac96c5d00e2ac1a01fe4978ea0 100644 (file)
@@ -17,8 +17,6 @@
 #include "text-item.hh"
 #include "text-def.hh"
 
-IMPLEMENT_IS_TYPE_B1 (Extender_spanner, Directional_spanner);
-  
 Extender_spanner::Extender_spanner ()
   : Directional_spanner ()
 {
index 6689e91eacc256416c1f978b2380f717cb045bad..e67c90a287b6031b75d54ff3b7c4dec42d339382 100644 (file)
@@ -33,4 +33,4 @@ Font_size_engraver::acknowledge_element (Score_element_info e)
 }
 
 ADD_THIS_TRANSLATOR (Font_size_engraver);
-IMPLEMENT_IS_TYPE_B1(Font_size_engraver,Engraver);
+
index ba7da733e29d57ecf9db91fd57d86ac2ed3e470c..3ce45fbf5c6271d3cb05983d49db88807c9328e0 100644 (file)
@@ -37,9 +37,6 @@ General_script_def::inside_b() const
 bool
 General_script_def::equal_b (General_script_def const&g) const
 {
-  if (name() != g.name ())
-    return false;
-
   return do_equal_b (&g);
 }
 
@@ -53,7 +50,7 @@ General_script_def::do_equal_b (General_script_def const*) const
 void
 General_script_def::print() const
 {
-  DOUT << name() << "{";
+  DOUT << classname(this) << "{";
   do_print();
   DOUT << "}";
 }
@@ -70,7 +67,7 @@ General_script_def::get_atom (Paper_def*, Direction) const
   return Atom (s);
 }
 
-IMPLEMENT_IS_TYPE_B(General_script_def);
+
 
 
 Interval
index 1c8179441f5dcc95ffa9d10674983b51a5a6f2b0..d6785e6d052fc27a28dd3ea7b388145a9b968e75 100644 (file)
@@ -52,7 +52,7 @@ Global_translator::now_moment () const
   return now_mom_;
 }
 
-IMPLEMENT_IS_TYPE_B1(Global_translator, Translator_group);
+
 
 Music_output*
 Global_translator::get_output_p()
index b0aab89df0942fdbc6f5574bac4f60815b15582f..0912244897e55713a259c2135907a9ced1dbf571 100644 (file)
@@ -77,7 +77,7 @@ Graphical_axis_group::do_print() const
 {
 #ifndef NPRINT
   for (int i=0; i < elem_l_arr_.size(); i++) 
-    DOUT << elem_l_arr_[i]->name () << " ";
+    DOUT << classname(elem_l_arr_[i]) << " ";
 #endif
 }
 
@@ -87,4 +87,4 @@ Graphical_axis_group::Graphical_axis_group (Axis a1, Axis a2)
   axis2_ = a2;
 }
 
-IMPLEMENT_IS_TYPE_B1(Graphical_axis_group, Graphical_element);
+
index d604fba9c3731a75796aceba11f307cfd9a801a9..de60a0b584ed8c2cba0432475e0303fb5040f63c 100644 (file)
@@ -185,5 +185,5 @@ Graphical_element::do_print () const
 #endif
 }
 
-IMPLEMENT_IS_TYPE_B(Graphical_element);
+
 
index 16619f83c83f377b38fa446447ec6a1c099bee16..fac0a81ecf299e90b731507feedb6cbc46947c79 100644 (file)
@@ -12,7 +12,7 @@
 #include "hara-kiri-vertical-group-spanner.hh"
 #include "hara-kiri-line-group-engraver.hh"
 
-IMPLEMENT_IS_TYPE_B1 (Hara_kiri_line_group_engraver,Line_group_engraver_group);
+
 ADD_THIS_TRANSLATOR (Hara_kiri_line_group_engraver);
 
 void
index 9a31e52bcabf7c5efa98478b53beedeaea3e26e5..c0628ad21ac4e8bb412f7601787400cb5fe0df2d 100644 (file)
@@ -12,7 +12,7 @@
 #include "note-head.hh"
 #include "bar.hh"
 
-IMPLEMENT_IS_TYPE_B1 (Hara_kiri_vertical_group_spanner, Vertical_group_spanner);
+
 
 Hara_kiri_vertical_group_spanner::Hara_kiri_vertical_group_spanner()
 {
index 1fc262710232e13341a034d28f12ee7d3bc1f368..b60f7f2b45acc07fd614aed89a49b9090fd94edc 100644 (file)
@@ -16,7 +16,7 @@ Note_heads_engraver::Note_heads_engraver()
 }
 
 bool
-Note_heads_engraver::do_try_request (Request *req_l) 
+Note_heads_engraver::do_try_music (Music *req_l) 
 {
   if (Note_req * n =dynamic_cast <Note_req *> (req_l))
     {
@@ -79,5 +79,5 @@ Note_heads_engraver::do_post_move_processing()
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Note_heads_engraver,Engraver);
+
 ADD_THIS_TRANSLATOR(Note_heads_engraver);
index a22f30eb5ece14cc240af320ba35e5874a05b832..25b9ab8e94a9a128767197f87e36105cb624b569 100644 (file)
@@ -9,7 +9,7 @@
 #include "horizontal-align-item.hh"
 #include "debug.hh"
 
-IMPLEMENT_IS_TYPE_B2(Horizontal_align_item,Align_element,Item);
+
 
 void
 Horizontal_align_item::add_item (Item *i,int p)
index 804dd6d9b3a8b69f214ad42b95271d869d6ae11c..6801861409c1cfc50d448003da84c75681bacf1a 100644 (file)
@@ -4,7 +4,7 @@
 #include "debug.hh"
 
 
-IMPLEMENT_IS_TYPE_B1(Horizontal_group_element, Axis_group_element);
+
 
 Horizontal_group_element::Horizontal_group_element ()
   : Axis_group_element (X_AXIS,X_AXIS)
index 4e4d5594956ff59d289da10b0f55a13c83325a37..46b06131e353cabd6e861e23b148aa0d3609babd 100644 (file)
@@ -9,7 +9,7 @@
 #include "p-col.hh"
 #include "horizontal-group-item.hh"
 
-IMPLEMENT_IS_TYPE_B2(Horizontal_group_item, Horizontal_group_element, Axis_group_item);
+
 
 void
 Horizontal_group_item::do_print() const
index 9021d88da6bfc5cb99183cbe64478e7c28c3343c..6a47d82966eda940a0aca662c3117d9264132546 100644 (file)
@@ -12,4 +12,4 @@ Horizontal_vertical_group_element::Horizontal_vertical_group_element()
 
 
 
-IMPLEMENT_IS_TYPE_B2(Horizontal_vertical_group_element, Horizontal_group_element, Vertical_group_element);
+
index cf1917228c4837dfca35ff63d32e8c6eb28a4c07..c3f4c03d9e4b5d3d8ec62b424e959400d11d9d2c 100644 (file)
@@ -16,7 +16,7 @@ Horizontal_vertical_group_item::do_print() const
   Horizontal_vertical_group_element::do_print();
 }
 
-IMPLEMENT_IS_TYPE_B2(Horizontal_vertical_group_item,Horizontal_vertical_group_element,Item);
+
 
 Horizontal_vertical_group_item::Horizontal_vertical_group_item ()
 {
index d09749daedef762321247ae676809ebb572311a6..b9e422a366504db689e0eca74c7f9a19ec69c563 100644 (file)
@@ -19,7 +19,7 @@
 #include "translator.hh"
 #include "notename-table.hh"
 
-IMPLEMENT_IS_TYPE_B(Identifier);
+
 
 Identifier::Identifier (int code)
 {
@@ -156,7 +156,6 @@ Class ## _identifier::access_content_ ## Class (bool copy_b) const{\
 }
 
 #define IMPLEMENT_ID_CLASS(Class)      \
-       IMPLEMENT_IS_TYPE_B1(Class ## _identifier,Identifier)\
        Class ## _identifier::~Class ## _identifier() { delete data_p_; }\
        Class ## _identifier::Class ## _identifier (Class*st, int code) \
          :Identifier (code)\
index 2a25c89d44913f99a4c1518fa4766b470f34e8c1..6c82a841cffd674bad88f3d716450e35026b81c6 100644 (file)
 class Abbreviation_beam_engraver : public Engraver
 {
 public:
-  TRANSLATOR_CLONE(Abbreviation_beam_engraver);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Translator);
+  
 
   Abbreviation_beam_engraver();
 
 protected:
   virtual void do_removal_processing();
   virtual void do_process_requests();
-  virtual bool do_try_request (Request*);
+  virtual bool do_try_music (Music*);
   virtual void acknowledge_element (Score_element_info);
   virtual void do_pre_move_processing();
 
index 629fb0286ecf0368c2cf026b4847ffc635efab3f..cdb7b1d96c7a3a4ce4ad46236921aa451f0f6333 100644 (file)
   direction */
 class Abbreviation_beam : public Beam {
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 
   Abbreviation_beam();
 
-  SCORE_ELEMENT_CLONE(Abbreviation_beam);
+  VIRTUAL_COPY_CONS(Score_element);
 
 protected:
   virtual void do_print() const;
index 0b18f18f545c514c9dcf7dd9a1360e7ccd38a368..cf639c2d8fc02406b42513234c522919111fc699 100644 (file)
@@ -47,7 +47,7 @@ public:
   void add_element (Score_element*);
   void add_element_priority (Score_element*, int);
   bool contains_b (Score_element const*) const;
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 protected:
   virtual void do_print() const;
   virtual void do_substitute_dependency (Score_element*,Score_element*);
index db7e4097d3b12780fcd0688f14f0d39a55d55345..43d716748d5b747c58dd9222e4d914928c54b826 100644 (file)
@@ -16,7 +16,7 @@ struct Audio_element {
   void print ()const;
   
   virtual ~Audio_element();
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 protected:
   virtual void do_print () const;
 };
index b745c5b931bfab198c0afe982e5fb68f1b7113e4..f5159c0daf4459397e684d26e798f4f2dbfeae1f 100644 (file)
@@ -34,7 +34,7 @@ struct Audio_item : public Audio_element {
    */
   Request* req_l_;
 
-  DECLARE_MY_RUNTIME_TYPEINFO;    
+      
 protected:
   virtual void do_print () const;
   
@@ -45,7 +45,7 @@ private:
 
 struct Audio_key : public Audio_item {
   Audio_key (Request* req_l);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   virtual Midi_item* midi_item_p();
 };
 
@@ -53,11 +53,11 @@ struct Audio_instrument : public Audio_item {
   Audio_instrument (String instrument_str);
   virtual Midi_item* midi_item_p();
   String str_;
-    DECLARE_MY_RUNTIME_TYPEINFO;
+    
 };
                                       
 struct Audio_note : public Audio_item {
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   Audio_note (Request* req_l, int transposing_i = 0);
   virtual Midi_item* midi_item_p();
   int transposing_i_;
@@ -68,7 +68,7 @@ struct Audio_text : Audio_item {
     TEXT = 1, COPYRIGHT, TRACK_NAME, INSTRUMENT_NAME, LYRIC, 
     MARKER, CUE_POINT
   };
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   Audio_text (Audio_text::Type type, String text_str);
   virtual Midi_item* midi_item_p();
 
@@ -79,14 +79,14 @@ struct Audio_text : Audio_item {
 struct Audio_tempo : Audio_item {
   Audio_tempo (int per_minute_4_i);
   virtual Midi_item* midi_item_p();
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   int per_minute_4_i_;
 };
 
 struct Audio_time_signature : Audio_item {
   Audio_time_signature (Request* req_l);
   virtual Midi_item* midi_item_p();
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 };
 
 #endif // AUDIO_ITEM_HH
index 3d13b28d6196ecfc38dbd36a7c580cce9b5b2059..b49c4596e33839882477148e7a778050f7012780 100644 (file)
@@ -17,7 +17,7 @@ struct Audio_staff : public Audio_element {
     void output (Midi_stream& midi_stream_r, int track_i);
 
     Link_list<Audio_item*> audio_item_l_list_;
-    DECLARE_MY_RUNTIME_TYPEINFO;
+    
 };
 
 #endif // AUDIO_STAFF_HH
diff --git a/lily/include/auto-plet-engraver.hh b/lily/include/auto-plet-engraver.hh
deleted file mode 100644 (file)
index b17e166..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*   
-  auto-plet-engraver.hh -- declare Auto_plet_engraver
-  
-  source file of the GNU LilyPond music typesetter
-  
-  (c) 1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-  
- */
-
-#ifndef AUTO_PLET_ENGRAVER_HH
-#define AUTO_PLET_ENGRAVER_HH
-
-#include "engraver.hh"
-
-class Tuplet_engraver : public Engraver
-{
-  void typeset_all ();
-public:
-  Tuplet_engraver ();
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  TRANSLATOR_CLONE(Tuplet_engraver);
-
-protected:
-  Link_array<Bracket_req> bracket_req_arr_;
-
-  Link_array<Plet_spanner> started_span_p_arr_;
-  Link_array<Plet_spanner> stop_now_span_p_arr_;
-
-  virtual void do_removal_processing ();
-  virtual void acknowledge_element (Score_element_info);
-  virtual void do_pre_move_processing ();
-  virtual bool do_try_request (Request*r);
-  virtual void do_process_requests ();
-  virtual void do_post_move_processing ();
-};
-
-
-
-#endif /* AUTO_PLET_ENGRAVER_HH */
index f753b9015f09cdb30e8bb919ae3b671135a7ff2f..a871d8e3df0fe8227d32e2910cf8a78ba9558456 100644 (file)
@@ -31,7 +31,7 @@ public:
   Axis_group_element();  
   virtual Link_array<Score_element> get_children ();
 
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 };
 
 #endif // AXIS_GROUP_ELEMENT_HH
index be1a78b6ca0fcf9955b2d8effc5a5ab67a9233c6..fcd5c6de4c00b8df61455109969dbd4a8f4fe764 100644 (file)
@@ -31,7 +31,7 @@ protected:
     Axis_group_element::do_unlink();
   }
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 };
 
 #endif // AXIS_ITEM_HH
index 15022e2d800c20110a4bb86b8d068724c7b1cd82..42cdf2d4c9f8236f9fd799007a9baea2f6fa7b48 100644 (file)
@@ -31,7 +31,7 @@ protected:
   virtual void do_print() const;
 
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 };
 
 #endif // SPAN_AXIS_GROUP_HH
index 1c186b6385e1e695a49b35eef4656dbbee606900..2cb233b295ac699f3cd173bf0ae2a3faa58a7028 100644 (file)
@@ -29,9 +29,9 @@ protected:
   virtual void do_process_requests ();
   virtual void do_post_move_processing();
 public:
-  TRANSLATOR_CLONE(Bar_column_engraver);
+  VIRTUAL_COPY_CONS(Translator);
   Bar_column_engraver();
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 };
 
 #endif // BAR_COLUMN_GRAV_HH
index 2db6cbe2640080fd5c32d8aa22363a3a813a8140..8e9219c2a03668924502658b6e1213bfe2c67d35 100644 (file)
@@ -22,9 +22,9 @@ public:
     Bar_column();
     void set_bar (Bar*);
 protected:
-    SCORE_ELEMENT_CLONE(Bar_column);
+    VIRTUAL_COPY_CONS(Score_element);
     void do_substitute_dependency (Score_element*,Score_element*);
-    DECLARE_MY_RUNTIME_TYPEINFO;
+    
 };
 
 #endif // BAR_COLUMN_HH
index 151adf2926a4437a08dedb6b9e0bffa07238cab5..755692397e92fed2f0e7164cbfa746e538ab2164 100644 (file)
@@ -20,15 +20,15 @@ class Bar_engraver : public Engraver {
 
   void create_bar ();
 public:
-  TRANSLATOR_CLONE(Bar_engraver);
+  VIRTUAL_COPY_CONS(Translator);
   Bar_engraver();
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 
      
 protected:
   virtual void do_creation_processing ();
   virtual void do_removal_processing ();
-  virtual bool do_try_request (Request *req_l);
+  virtual bool do_try_music (Music *req_l);
   virtual void do_process_requests();
   virtual void do_pre_move_processing();
   virtual void do_post_move_processing();
index 69caa55095c68aeb9b2118adfd9524a61b8a285a..0497ff76d0e8d83acad31527b01faae9d85ac030 100644 (file)
@@ -22,8 +22,8 @@ protected:
   void acknowledge_element (Score_element_info);
   void do_pre_move_processing();
 public:
-  TRANSLATOR_CLONE(Bar_number_engraver);
+  VIRTUAL_COPY_CONS(Translator);
   Bar_number_engraver();
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 };
 #endif // BAR_NUMBER_GRAV_HH
index c00677cc0fdb5d25d27c54633759d3012d20668e..a221be0fd5f68da677c55344762c550b1e7b8eeb 100644 (file)
@@ -16,8 +16,8 @@ class Bar:public Item {
 public:
   String type_str_;
 
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  SCORE_ELEMENT_CLONE (Bar);
+  
+  VIRTUAL_COPY_CONS(Score_element);
   Bar ();
 
 protected:
index ccb96d15bf52933adbce9e99448c99b41dda9980..bab1e82f8a5739e1f632515dc8faf522c8eb21a7 100644 (file)
@@ -23,13 +23,13 @@ class Beam_engraver : public Engraver
   Rhythmic_grouping *current_grouping_p_;
 
 public:
-  TRANSLATOR_CLONE(Beam_engraver);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Translator);
+  
   Beam_engraver();
 protected:
   virtual void do_removal_processing();
   virtual void do_process_requests();
-  virtual bool do_try_request (Request*);
+  virtual bool do_try_music (Music*);
   virtual void acknowledge_element (Score_element_info);
   virtual void do_pre_move_processing();
 };
index f6f59c8c9eb24f178eefdd837ee5966479073eb3..1e69dd7398376c7d146b46b594cf0192f70f1665 100644 (file)
@@ -39,13 +39,13 @@ public:
   int multiple_i_;
 
 
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   Beam();
   void add_stem (Stem*);
 
   void set_grouping (Rhythmic_grouping def, Rhythmic_grouping current);
   void set_stemlens ();
-  SCORE_ELEMENT_CLONE (Beam);
+  VIRTUAL_COPY_CONS(Score_element);
 
 protected:
   virtual Interval do_width () const;    
index 107cff07892b91a1229bf4537a735b05278ac8d5..6398942b988a1fbb9c8a0454804015694d8f8642 100644 (file)
@@ -23,7 +23,7 @@ public:
   Bow ();
   Offset center () const;  
 
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 
   int dash_i_;
 
index 6b5a1e4014b46adc2e539923cfed4f28e816e148..04ab073f86e2f50369e0a81c77574750da90ea18 100644 (file)
@@ -18,8 +18,8 @@ class Break_align_item : public Horizontal_align_item {
 protected:
     virtual void do_pre_processing();
 public:
-    DECLARE_MY_RUNTIME_TYPEINFO;
-    SCORE_ELEMENT_CLONE(Break_align_item);
+    
+    VIRTUAL_COPY_CONS(Score_element);
        
 };
 #endif // BREAK_ALIGN_ITEM_HH
index 409b3a648d0ed2e68fa83d3fdc0371dca05562ed..18c0a5cc9aaf01a13127766b12099c96adeeb143 100644 (file)
@@ -19,7 +19,7 @@ class Change_iterator : public Music_iterator
   void  error (String);
   
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 protected:
   virtual void do_process_and_next (Moment);
 };
index b369462ca2b5c1c9c383337e5076e1ea5f7db392..a531f55e5ecbbd23eaabf87e4bc84aecd0fb79de 100644 (file)
@@ -17,9 +17,9 @@ class Change_translator : public Music
 public:
   String change_to_type_str_;
   String change_to_id_str_;
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 protected:
-  VIRTUAL_COPY_CONS(Change_translator, Music);
+  VIRTUAL_COPY_CONS(Music);
   void do_print () const;
 };
 
index 0ce4d63a3276a7e34997d7440321c9cb9e8f0cb1..b66e4e8c06c5ffe0e065f7bc9bd25b2c1ef46b9d 100644 (file)
@@ -19,7 +19,7 @@ class Simultaneous_music_iterator : public Music_iterator
   Simultaneous_music *simultaneous_music_l() const;
   Pointer_list<Music_iterator*> children_p_list_;
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 protected:
   virtual void do_print() const;
   virtual void construct_children();
index ca827b1583032d70ca3289546031b3c058fa2cb0..1e877683a22969bed8c2dd0e6136aa55543d60d6 100644 (file)
@@ -28,10 +28,10 @@ protected:
   virtual void do_removal_processing();
   virtual void do_creation_processing();
   virtual void do_post_move_processing();
-  virtual bool do_try_request (Request*);
+  virtual bool do_try_music (Music*);
   virtual void acknowledge_element (Score_element_info);
 public:
-  TRANSLATOR_CLONE(Clef_engraver);
+  VIRTUAL_COPY_CONS(Translator);
   int c0_position_i_;
   int clef_position_i_;
   Direction octave_dir_;
@@ -39,7 +39,7 @@ public:
 
    
   Clef_engraver();
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
    
 };
 #endif 
index 10a3f21409924cd83c4173c77d594d154a55ba51..d9fa6fbdf849c3958961b93a5e9fd175ece18fa6 100644 (file)
@@ -35,8 +35,8 @@ public:
   /// text def to put above/below clef?
   P<Text_def> octave_marker_td_p_;
 
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  SCORE_ELEMENT_CLONE(Clef_item);
+  
+  VIRTUAL_COPY_CONS(Score_element);
   Clef_item();
 };
 
index d4a674f04e43730c58dd0bbc1a8ec6ce5bdb9030..0f26cf9e15558ae5aa7fe8a4d888f3657291162e 100644 (file)
@@ -21,8 +21,8 @@ protected:
   virtual void process_acknowledged ();
   virtual void do_pre_move_processing();
 public:
-  TRANSLATOR_CLONE(Collision_engraver);
+  VIRTUAL_COPY_CONS(Translator);
   Collision_engraver();
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 };
 #endif // COLLISION_GRAV_HH
index 9a7505163bc38867a7cdf46d852e71fb3bbb3c8b..2ae0c93e8240a281825bb8641d779508bfc3777d 100644 (file)
@@ -26,7 +26,7 @@ protected:
     virtual void do_pre_processing();
 public:
     Link_array<Note_column> clash_l_arr_;
-    DECLARE_MY_RUNTIME_TYPEINFO;
+    
     void add_column (Note_column*ncol_l);
     Collision();
 };
index 84b92abe3dea5feac299ea08f4cee3d9af904a23..0616345e872a5b6cce8e880988288b477ae469b3 100644 (file)
@@ -17,7 +17,7 @@ class Compressed_music_iterator : public Music_wrapper_iterator
 public:
   Bracket_req* start_req_p_;
   Bracket_req* stop_req_p_;
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   Compressed_music_iterator();
   ~Compressed_music_iterator ();
   virtual void do_process_and_next (Moment);
index f234b7497b48d91fbda0f4d19f64c0f1b8ff4e75..56b51010fcc0f9c3ff650c8e4c3a15a7ee7719fd 100644 (file)
@@ -21,8 +21,8 @@ public:
   int den_i_;
 
   Compressed_music (int, int, Music *);
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  VIRTUAL_COPY_CONS (Compressed_music, Music);
+  
+  VIRTUAL_COPY_CONS(Music);
 };
 
 #endif /* COMPRESSED_MUSIC_HH */
index 02a311c60efdd1b2366609d3c9691ee9da90b107..28f42dbb61633db6e7f923ba17a41ead45de6afb 100644 (file)
@@ -24,10 +24,10 @@ public:
 
   Crescendo();
 protected:
-  SCORE_ELEMENT_CLONE(Crescendo);
+  VIRTUAL_COPY_CONS(Score_element);
   virtual Molecule*brew_molecule_p() const;
   virtual Interval symbol_height() const;
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
     
 private:
   Atom get_symbol() const;
index 99594b12ce037a257f80e80502db4f34d9636594..c53d198e0f5259873820f2e8ec74348622a1a383 100644 (file)
@@ -18,7 +18,7 @@ public:
     Directional_spanner();
     
     /// offset of "center" relative to left-column/0-pos of staff
-    virtual Offset center() const=0;
+    virtual Offset center() const;
     virtual void set_default_dir();
 protected:
     virtual void do_pre_processing();
index 0454e41fec3719893f0ed25c6ffbb0fc37004141..67b1251985070a7e582b7269690ef28ec36b1ecb 100644 (file)
@@ -17,9 +17,9 @@ class Dot_column_engraver : public Engraver
   Dot_column *dotcol_p_ ;
   Link_array<Rhythmic_head> head_l_arr_;
 public:
-  TRANSLATOR_CLONE(Dot_column_engraver);
+  VIRTUAL_COPY_CONS(Translator);
   Dot_column_engraver();
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 protected:
   virtual void acknowledge_element (Score_element_info);
   virtual void do_pre_move_processing ();  
index aa197cd7a327bdb69252f0ef786ef21420e720a9..a2f49afba8970b2fa4dad4b13cacc0ac48c781e7 100644 (file)
@@ -21,7 +21,7 @@ class Dot_column : public Horizontal_group_item
   Link_array<Dots> dot_l_arr_;
 
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   void add_head (Rhythmic_head*);
   void add_dots (Dots*);
 
index 4c17ab42c100693e239b1bfb90d36c91907c7424..bb7ab8489f7cd18c9ddd6ab4bdddc68c5e41219e 100644 (file)
@@ -25,7 +25,7 @@ public:
   int no_dots_i_;
   int position_i_;
 
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   Dots ();
 };
 
index d4add0675542630a9e4c746437a566a5359bb53a..c23020436b57829dce1256d497affec2a8efbfc9 100644 (file)
@@ -20,13 +20,13 @@ class Dynamic_engraver : public Engraver {
   Span_dynamic_req * cresc_req_l_;
   Array<Dynamic_req*> dynamic_req_l_arr_;
 public:
-  TRANSLATOR_CLONE(Dynamic_engraver);
+  VIRTUAL_COPY_CONS(Translator);
   Dynamic_engraver();
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 protected:
   virtual void do_removal_processing ();
   virtual void acknowledge_element (Score_element_info);
-  virtual bool do_try_request (Request *req_l);
+  virtual bool do_try_music (Music *req_l);
   virtual void do_process_requests();
   virtual void do_pre_move_processing();
   virtual void do_post_move_processing();
index 636842ce77c8e358ba57027d939085ceb7e4c629..1846b15a25e0921c8feca6044f01fca07874e6d5 100644 (file)
@@ -28,11 +28,11 @@ class Engraver_group_engraver : public Engraver,
 protected:
   Array<Score_element_info> announce_info_arr_;
 public:
-  TRANSLATOR_CLONE(Engraver_group_engraver);
+  VIRTUAL_COPY_CONS(Translator);
   Engraver_group_engraver();
   ~Engraver_group_engraver();
     
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
     
   virtual Staff_info get_staff_info() const;
   virtual void do_announces();
index 1b73406b84653c7e4b0bf5ad51c59a07ede6f18b..220b079832017e9282990c4d42edb80afd5803c0 100644 (file)
@@ -63,14 +63,14 @@ protected:
   virtual void fill_staff_info (Staff_info&);
 
 public:
-  TRANSLATOR_CLONE(Engraver);
+  VIRTUAL_COPY_CONS(Translator);
   Engraver_group_engraver * daddy_grav_l() const;
   /**
     override other ctor
    */
   Engraver () {}
 
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 };
 
 
index e5bb774dbc288638448f2bd0715b8ef3ffd2018e..26484f65c2401f84786dd86ded5afda18297664d 100644 (file)
 class Extender_engraver : public Engraver
 {
 public:
-  TRANSLATOR_CLONE(Extender_engraver);
-  DECLARE_MY_RUNTIME_TYPEINFO;
   Extender_engraver ();
+  VIRTUAL_COPY_CONS (Translator);
 
 protected:
   virtual void acknowledge_element (Score_element_info);
   virtual void do_removal_processing();
   virtual void do_process_requests();
-  virtual bool do_try_request (Request*);
+  virtual bool do_try_music (Music*);
   virtual void do_pre_move_processing();
   
 private:
index e158237c87b26274b80f3e59bbf75a72bf671183..19947342becb432d1b31f893d19efaabfdd5971e 100644 (file)
@@ -46,8 +46,7 @@ protected:
   void do_substitute_dependency (Score_element* o, Score_element* n);
   void do_post_processing ();
  
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  SCORE_ELEMENT_CLONE(Extender_spanner);
+  VIRTUAL_COPY_CONS (Score_element);
 
   Extender_spanner (Extender_spanner const&);
 
index a108408bb58e20141e2bfbf263d5a1dc7c0f1989..77414aa936f950dede29e03b52fd72d51305964b 100644 (file)
@@ -19,8 +19,8 @@ protected:
   virtual void  do_process_requests ();
 public:
   Font_size_engraver ();
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  TRANSLATOR_CLONE (Font_size_engraver);
+  
+  VIRTUAL_COPY_CONS (Translator);
 };
 
 #endif /* FONT_SIZE_GRAV_HH */
index cc6b1e6adcb55c0cea200fd7a39831095a74e75c..2cd36becb66deee947b56b8024e728c6f635f5a1 100644 (file)
@@ -20,8 +20,8 @@
  */
 class General_script_def : public Input {
 public:
-  VIRTUAL_COPY_CONS(General_script_def,General_script_def);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(General_script_def);
+  
   virtual Direction staff_dir() const;
   void print() const;
   virtual Direction rel_stem_dir() const;
index b4381eb70341e3b72a3d54a10ee2601623e94c6b..0e12f150fd97997ed58518b2f92760733c03b280 100644 (file)
@@ -17,7 +17,7 @@
 class Global_translator : public virtual Translator_group{
   PQueue<Moment> extra_mom_pq_;
 public:
-  TRANSLATOR_CLONE(Global_translator);
+  VIRTUAL_COPY_CONS(Translator);
   Moment last_mom_;
   Moment now_mom_;
   Global_translator();
@@ -32,7 +32,7 @@ public:
   virtual void finish() {}
   virtual void start() {}
 
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 protected:
   virtual Moment now_moment () const;
   virtual Global_translator *global_l() { return this; }
index 17ac4b9481b5311b9753de3fb3360fd1b4af005e..f9df7df3e8fb2fc2a57fdd9d05c7f6c0e09db9b5 100644 (file)
@@ -34,7 +34,7 @@ public:
   bool contains_b (Graphical_element const *) const;
   void add_element (Graphical_element*);
   void remove_element (Graphical_element*);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 };
 
 #endif // Graphical_axis_group_HH
index d6bd8babe62b225178a9d865b3e6706c1a433c1f..b74fe14535108f73c0da083bb93f6cb37c6e4542 100644 (file)
@@ -36,7 +36,7 @@ public:
 
   bool empty_b () const;
   
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   
   Graphical_axis_group * axis_group_l_a_[NO_AXES];
   
index 531322bf720cc72c16fa05485eecf9c57697d5a5..33dc70d80ff4d592bc0221ddf6bc6f7a561c107c 100644 (file)
@@ -21,7 +21,7 @@
 class Graphical_lisp_element 
 {
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 
   Graphical_lisp_element (String);
 
index e1d21bcdc15e0fce55cd5df84aeca4c399d65556..f894439e9d72da05d35b63ab7c19d0ebb1db0cee 100644 (file)
@@ -19,8 +19,7 @@
 class Hara_kiri_line_group_engraver : public Line_group_engraver_group
 {
 public:
-  TRANSLATOR_CLONE (Hara_kiri_line_group_engraver);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS (Translator);
 
 protected:
   virtual void create_line_spanner ();
index 8492d976f687a35d96388f26f9e6cfa2c332ce68..15ad5d04052310f31c338babfe89e3e557a15f0c 100644 (file)
 class Hara_kiri_vertical_group_spanner : public Vertical_group_spanner
 {
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 
   Hara_kiri_vertical_group_spanner ();
   virtual void do_post_processing ();
   void add_note (Note_head* n);
 
 protected:
-  SCORE_ELEMENT_CLONE (Hara_kiri_vertical_group_spanner);
+  VIRTUAL_COPY_CONS(Score_element);
 
   virtual void do_substitute_dependency (Score_element*, Score_element*);
   virtual void do_print ()const;
index c00d46f330fc9c4a7732ccf472fac85e03d5b45c..dd8f7081c67f44a40da15308df5237a90fb3c268 100644 (file)
@@ -18,11 +18,11 @@ class Note_heads_engraver : public Engraver {
   Link_array<Note_req> note_req_l_arr_;
 
 public:
-  TRANSLATOR_CLONE(Note_heads_engraver);
+  VIRTUAL_COPY_CONS(Translator);
   Note_heads_engraver();
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 protected:
-  virtual bool do_try_request (Request *req_l) ;
+  virtual bool do_try_music (Music *req_l) ;
   virtual void do_process_requests();
   virtual void do_pre_move_processing();
   virtual void do_post_move_processing();
index 20ef3a43364d3797e462d1273a28393b0c0d57a1..c671bf50e67c17995959a2ce6f3994df4d8e1971 100644 (file)
@@ -20,8 +20,8 @@
   */
 class Horizontal_align_item : public Item , public Align_element {
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  SCORE_ELEMENT_CLONE(Horizontal_align_item);
+  
+  VIRTUAL_COPY_CONS(Score_element);
   void add_item (Item*, int p);
   Horizontal_align_item();
   virtual void do_print() const;
index f3c5d586ae2fcd2144fafc603b147dc3cd1cf298..7dd99e8577deebe60875b2faffbe8f9f9fa5a18a 100644 (file)
@@ -22,7 +22,7 @@ protected:
 
 public:
   Horizontal_group_element ();
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 };
 
 
index 8c6f9ea7b98c8afc5606e79456e1f5391dd6eb78..89ab8b5fcb3dc60c58a49c3afb04965a1a571046 100644 (file)
@@ -27,8 +27,8 @@ protected:
   virtual void do_print() const;
 public:
   Horizontal_group_item ();
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  SCORE_ELEMENT_CLONE(Horizontal_group_item);
+  
+  VIRTUAL_COPY_CONS(Score_element);
 };
 
 #endif // HORIZONTAL_GROUP_ITEM_HH
index 520170beae681c1d43793887fdbc0f5ca0fe0457..8de40e721afb11a0b0cca211288e42ca0e06ae97 100644 (file)
@@ -24,7 +24,7 @@ protected:
 public:
   Horizontal_vertical_group_element ();
   
-  DECLARE_MY_RUNTIME_TYPEINFO;    
+      
 };
 
 
index 181d88ee4f6bab03ee8ab650711ff9ae621ddeb2..4b6ad7edcadbd5816fe9c630b525c3c7fa0d5400 100644 (file)
@@ -23,11 +23,11 @@ protected:
   virtual void do_unlink () {
     Axis_group_item::do_unlink ();
   }
-  SCORE_ELEMENT_CLONE(Horizontal_vertical_group_item);
+  VIRTUAL_COPY_CONS(Score_element);
 public:
   Horizontal_vertical_group_item ();
 
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 };
 
 #endif // HORIZONTAL_VERTICAL_GROUP_ITEM_HH
index 66644eeef3898a2c93bd3abf5b913f241a7fad67..4ba4d10aefdca51f4dbf3706e9326a2425947620 100644 (file)
@@ -48,7 +48,7 @@ struct Identifier : public Input {
 
 
   void print() const;
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   void error (String) const;
   String str () const;
   IDACCESSOR(Translator)
@@ -64,7 +64,7 @@ struct Identifier : public Input {
   IDACCESSOR(Score)
   IDACCESSOR(int)
   IDACCESSOR(Duration)
-  VIRTUAL_COPY_CONS (Identifier, Identifier);
+  VIRTUAL_COPY_CONS(Identifier);
 
 protected:
   virtual void do_print () const;
@@ -74,10 +74,10 @@ protected:
 #define DECLARE_ID_CLASS(Class)        \
 struct Class ## _identifier : Identifier {\
                             Class *data_p_;                 \
-                            DECLARE_MY_RUNTIME_TYPEINFO; \
+                             \
                             Class ## _identifier (Class ## _identifier const&);\
                             Class ## _identifier (Class*st, int code);\
-                            VIRTUAL_COPY_CONS (Class ## _identifier, Identifier);\
+                            VIRTUAL_COPY_CONS(Identifier);\
                             virtual Class* access_content_ ## Class (bool copy_b) const;\
                             ~Class ## _identifier();\
                             virtual void do_print () const; \
index ec0e1ae0988203db3a3ae324d98dc6b14f26cac3..80b39df71cdc79d1ddb3d6764a2b20e84bf792ad 100644 (file)
@@ -42,7 +42,7 @@ public:
 
   Item();
   Real hpos_f() const;
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   virtual Line_of_score * line_l() const;
   virtual Paper_column * column_l () const;
     
index ce154b12da2496c893b64e29041c218de0be490c..ed7e241100fb04ac553169c87393f461b60aa973 100644 (file)
@@ -23,8 +23,8 @@ class Key_engraver : public Engraver {
 
 public:
   Key_engraver();
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  TRANSLATOR_CLONE(Key_engraver);
+  
+  VIRTUAL_COPY_CONS(Translator);
   Key key_;
   Key_change_req * keyreq_l_;
   Key_item * kit_p_;
@@ -34,7 +34,7 @@ public:
   bool change_key_b_;
     
 protected:
-  virtual bool do_try_request (Request *req_l);
+  virtual bool do_try_music (Music *req_l);
   virtual void do_process_requests();
   virtual void do_pre_move_processing();
   virtual void do_post_move_processing();
index e259c145e7400f2c797fcbdc767fbe17d1612550..b6d72f83b124c13a8344275a6e502ce652b4c4e5 100644 (file)
@@ -25,8 +25,8 @@ struct Key_item : Item {
   bool default_b_;
   bool multi_octave_b_;
     
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  SCORE_ELEMENT_CLONE(Key_item);
+  
+  VIRTUAL_COPY_CONS(Score_element);
 
   Key_item ();
   void add (int pitch, int acc);
index 406ae94aebacf46ea634828868ca641c66c4a531..5779b35c049e049e168323d37e0674ff811f7e3f 100644 (file)
 
 class Key_performer : public Performer {
 public:
-  TRANSLATOR_CLONE(Key_performer);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Translator);
+  
   Key_performer();
   ~Key_performer();
 
 protected:
   void do_print() const;
-  virtual bool do_try_request (Request* req_l);
+  virtual bool do_try_music (Music* req_l);
   virtual void do_process_requests();
 
 private:
index c31fc755d539e67356243020b73d42e536b2c7a9..bf6f67f432b25429eb8aae262ae4c74209f9d915 100644 (file)
@@ -27,8 +27,8 @@ protected:
 virtual void do_announces ();
 
 public:
-  TRANSLATOR_CLONE(Line_group_engraver_group);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Translator);
+  
   Line_group_engraver_group();
 };
 
index 2d0904f3125fbec18206933bf24b587f28959cfa..ab91f4d1f8e882fadce0dab0cf96bffb72822a21 100644 (file)
@@ -18,7 +18,7 @@ public:
   Link_array<Paper_column> cols;
   bool error_mark_b_;
 
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   Line_of_score();
     
   void add_element (Score_element *);
@@ -37,7 +37,7 @@ protected:
 
   virtual Interval do_width() const;
   virtual void do_print() const;
-  SCORE_ELEMENT_CLONE(Line_of_score);
+  VIRTUAL_COPY_CONS(Score_element);
 };
 
 #endif
index 7599d08d9ae32bb90dd73bcf0b64bfd097f85809..621daa786020934716ad0aef01f39becd80dac3d 100644 (file)
@@ -15,7 +15,7 @@
 struct Local_key_engraver : Engraver {
     Local_key_item *key_item_p_;
 protected:
-  TRANSLATOR_CLONE(Local_key_engraver);
+  VIRTUAL_COPY_CONS(Translator);
   virtual void do_process_requests();
   virtual void acknowledge_element (Score_element_info);
   virtual void do_pre_move_processing();
@@ -30,7 +30,7 @@ public:
   Link_array<Item  > forced_l_arr_;
   Link_array<Item > tied_l_arr_;
   Local_key_engraver();
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 };
 
 #endif // LOCALKEYGRAV_HH
index 7da65e532f7e2467bd2d8ffbde629b87b475e9c4..5d79466feb4c32983209211b4ab382e7f026e4bf 100644 (file)
@@ -23,7 +23,7 @@
  */
 class Local_key_item : public Item {
 public:
-    DECLARE_MY_RUNTIME_TYPEINFO;
+    
     Array<Musical_pitch> accidental_pitch_arr_;
     Link_array<Item> support_items_;
     int c0_position_i_;
index ec85670f73ce1b7e65d29454e7dccad2507f1d3c..47a2b58bb199fb6fbedd5a32815f17c541d03e21 100644 (file)
 #include "lily-proto.hh"
 
 class Lyric_engraver : public Engraver {
-    Lyric_req* lreq_l_;
-    Text_item *lyric_item_p_;
+  Lyric_req* lreq_l_;
+  Text_item *lyric_item_p_;
 protected:
-    virtual void do_pre_move_processing();
-    virtual bool do_try_request (Request*);
-    virtual void do_process_requests();
-    virtual void do_post_move_processing();
+  virtual void do_pre_move_processing();
+  virtual bool do_try_music (Music*);
+  virtual void do_process_requests();
+  virtual void do_post_move_processing();
 public:
-  TRANSLATOR_CLONE(Lyric_engraver);
-    DECLARE_MY_RUNTIME_TYPEINFO;
-    Lyric_engraver();
+  VIRTUAL_COPY_CONS(Translator);
+    
+  Lyric_engraver();
 };
 #endif // LYRIC_ENGRAVER_HH
index df77b0f02878924915e46b214d9e526a9b3ec5ac..4f83376ad469f3c4c073599ce3a4774cac9ab75e 100644 (file)
 
 class Lyric_performer : public Performer {
 public:
-  TRANSLATOR_CLONE(Lyric_performer);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Translator);
+  
 
 protected:
   void do_print() const;
-  virtual bool do_try_request (Request* req_l);
+  virtual bool do_try_music (Music* req_l);
   virtual void do_process_requests();
 
 private:
index b0956693414fc040c8772f53054ffae20f4844fc..4f37566fac8ee25397dab2d13c7f3ea67e9d7ead 100644 (file)
@@ -19,11 +19,11 @@ class Mark_engraver : public Engraver
 public:
   Mark_engraver ();
 
-  TRANSLATOR_CLONE(Mark_engraver);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Translator);
+  
 
 protected:
-  virtual bool do_try_request (Request *req_l);
+  virtual bool do_try_music (Music *req_l);
   virtual void do_process_requests ();
   virtual void do_pre_move_processing ();
 
index fcb608efe340759393607aceb3be86d674457609..ef0029b418fbc84aa3db5f0eef454db3d296bfbf 100644 (file)
@@ -21,9 +21,9 @@
  */
 class Midi_def : public Music_output_def {
   static int default_count_i_;
+  int count_per_minute_i;  
 public:
-  VIRTUAL_COPY_CONS(Midi_def, Music_output_def);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Music_output_def);
 
   /// duration of whole note measured in seconds.
   Moment whole_in_seconds_mom_;
index 526504f14efadfb6a439207b57607df887646028..5b3eaf6a1a5484e4e8e858124ca7236ed5a91079 100644 (file)
@@ -20,7 +20,7 @@
   Maybe use base classes for RIFF files?
  */
 struct Midi_item {
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   Midi_item (Audio_item* audio_item_l); 
   virtual ~Midi_item ();
   static String i2varint_str (int i);
@@ -50,7 +50,7 @@ struct Midi_event
   variable sized MIDI data
  */
 struct Midi_chunk : Midi_item {
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   Midi_chunk ();
 
   void set (String header_str, String data_str, String footer_str);
@@ -64,7 +64,7 @@ private:
 };
 
 struct Midi_duration : public Midi_item {
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   Midi_duration (Real seconds_f);
 
   virtual String str () const;
@@ -72,7 +72,7 @@ struct Midi_duration : public Midi_item {
 };
 
 struct Midi_header : Midi_chunk {
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 
   Midi_header (int format_i, int tracks_i, int clocks_per_4_i);
 };
@@ -81,7 +81,7 @@ struct Midi_header : Midi_chunk {
   Change instrument event
  */
 struct Midi_instrument : public Midi_item {
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   Midi_instrument (int channel_i, String instrument_str);
 
   virtual String str () const;
@@ -90,7 +90,7 @@ struct Midi_instrument : public Midi_item {
                                       
 
 struct Midi_key : public Midi_item {
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   Midi_key (Audio_item* audio_item_l);
        
   virtual String str () const;
@@ -98,7 +98,7 @@ struct Midi_key : public Midi_item {
 
 struct Midi_time_signature : Midi_item {
 
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   Midi_time_signature (Audio_item* audio_item_l); 
   
   virtual String str () const;
@@ -109,7 +109,7 @@ struct Midi_time_signature : Midi_item {
   Turn a note on (blond).
  */
 struct Midi_note : public Midi_item {
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   Midi_note (Audio_item* audio_item_l); 
 
   Moment duration () const;
@@ -124,7 +124,7 @@ struct Midi_note : public Midi_item {
   Turn a note off (dark).
  */
 struct Midi_note_off : public Midi_item {
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   Midi_note_off (Midi_note*); 
 
   int pitch_i () const;
@@ -134,7 +134,7 @@ struct Midi_note_off : public Midi_item {
 };
 
 struct Midi_text : Midi_item {
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
     
   enum Type { 
     TEXT = 1, COPYRIGHT, TRACK_NAME, INSTRUMENT_NAME, LYRIC, 
@@ -150,7 +150,7 @@ struct Midi_text : Midi_item {
 };
 
 struct Midi_tempo : Midi_item {
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   Midi_tempo (int per_minute_4_i);
   Midi_tempo (Audio_item* audio_item_l); 
   
@@ -160,7 +160,7 @@ struct Midi_tempo : Midi_item {
 };
 
 struct Midi_track : Midi_chunk {
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   int number_i_;
   Pointer_list<Midi_event*> event_p_list_;
     
index abb17be6e4178562d1f63bc0337d09edfeda40cc..4b54fa417cb40a52ac19892338e6ea4438fcbb53 100644 (file)
 class Multi_measure_rest_engraver : public Engraver
 {
 public:
-  TRANSLATOR_CLONE(Multi_measure_rest_engraver);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Translator);
+  
   Multi_measure_rest_engraver ();
 
 protected:
   virtual void do_process_requests ();
-  virtual bool do_try_request (Request*);
+  virtual bool do_try_music (Music*);
   virtual void do_pre_move_processing ();
   virtual void do_post_move_processing ();
 private:
index 66cf89d004c6a86674a12a0b8b001dd103c310dc..01b1c09e235201ab4600a04a90e3f031c8cdbc30 100644 (file)
@@ -18,7 +18,7 @@ public:
   Multi_measure_rest ();
   int measures_i_;
 
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 
 protected:
   virtual void do_print () const;
index e7bda4c554fc5d8f3b82027a91ac21fcdd30b9a3..38dff72bd3b597dd025309cd82626fcaca907f0c 100644 (file)
@@ -32,7 +32,7 @@ protected:
   void inherit_info (Music_iterator const *parent);
 public:
   Translator_group*report_to_l() const;
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
  
   static Music_iterator* static_get_iterator_p (Music const*,Translator_group*);
   Music_iterator();
index 477ab2465ffbab164d3c2f89eb246736e342b823..a87cb8d4dd89c8c60d354831b7a53dcd51c80579 100644 (file)
@@ -34,8 +34,8 @@ public:
 
   Music_sequence (Music_sequence const&);
   Music_sequence (Music_list *l_p);
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  VIRTUAL_COPY_CONS(Music_sequence,Music);
+  
+  VIRTUAL_COPY_CONS(Music);
 
   virtual void transpose (Musical_pitch );
   virtual void compress (Moment);
@@ -50,8 +50,8 @@ protected:
 class Simultaneous_music : public Music_sequence
 {
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  VIRTUAL_COPY_CONS(Simultaneous_music,Music);
+  
+  VIRTUAL_COPY_CONS(Music);
   
   Simultaneous_music(Music_list *);
   virtual Musical_pitch to_relative_octave (Musical_pitch);
@@ -65,8 +65,8 @@ public:
 class Request_chord : public Simultaneous_music
 {
 public:
-  VIRTUAL_COPY_CONS(Request_chord, Music);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Music);
+  
   virtual Musical_pitch to_relative_octave (Musical_pitch);
   Request_chord();
 };
@@ -76,8 +76,8 @@ public:
 class Sequential_music : public Music_sequence
 {
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  VIRTUAL_COPY_CONS(Sequential_music, Music);
+  
+  VIRTUAL_COPY_CONS(Music);
 
   virtual Musical_pitch to_relative_octave (Musical_pitch);
   Sequential_music(Music_list*);
index 5940cc417738e83fe285cbec42671c9f636991bb..bc83ff39aaeec7687d9c1fc9142701ec4f3d7294 100644 (file)
@@ -34,8 +34,8 @@ public:
   Music_output_def ();
   virtual ~Music_output_def ();
 
-  VIRTUAL_COPY_CONS(Music_output_def, Music_output_def);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Music_output_def);
+  
   virtual void print () const;
 
   Global_translator *get_global_translator_p ();
index 114704e1523a08c071231d81e43821f6ba6a5c54..02a4e97fa0089fd9a415054bb6308957d3190f31 100644 (file)
@@ -25,7 +25,7 @@ public:
   virtual void do_process_and_next (Moment) ;
   virtual Moment next_moment () const;
   virtual bool ok () const;
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 };
 
 #endif /* MUSIC_WRAPPER_ITERATOR_HH */
index 7c60c91dda101833123311d7226f05b6c2282c4d..afb153e5ca66cd477319e748bbe8b88aed804e44 100644 (file)
@@ -20,8 +20,8 @@ public:
   Music_wrapper (Music*);
   virtual void transpose (Musical_pitch);
   virtual void do_print () const;
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  VIRTUAL_COPY_CONS (Music_wrapper, Music);
+  
+  VIRTUAL_COPY_CONS(Music);
   Music_wrapper (Music_wrapper const&);
   virtual Moment  duration () const;
   virtual ~Music_wrapper ();
index efb2f712ee2681f8a4d38bfaf0d5525aecb93cb8..8f30e4469821cf537ab226714d3dfef3ad6ae47c 100644 (file)
@@ -53,8 +53,8 @@ public:
 
   /// Scale the music in time by #factor#.
   virtual void compress (Moment factor);
-  VIRTUAL_COPY_CONS(Music,Music);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Music);
+  
   Music();
 protected:
   virtual void do_print() const;
index 2dd32433559f56440438fe6a4cd738804c771f6c..23aff88156d2add2d3cc84b22debf9786bce3060 100644 (file)
@@ -38,7 +38,7 @@ public:
 
   void translate_rests(int dy);
         
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   Note_column ();
   void set_stem (Stem*);
   void set_dotcol (Dot_column*);
index 07d3185a065e0d3ae691d7480f71e3258553a583..173cf33ea66db937ce8eb429ca8302828bb703a9 100644 (file)
@@ -17,7 +17,7 @@
 
 class Note_head : public Rhythmic_head {
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 
   int position_i_;
     
index 057f61c4e7d84f83154d3e38c4c183f133d8af48..1e785b3d83dca59ba96e9f02f636ba6e6da8608e 100644 (file)
 
 class Note_performer : public Performer {
 public:
-  TRANSLATOR_CLONE(Note_performer);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Translator);
+  
 
   Note_performer();
 
 protected:
   virtual void do_process_requests();
 
-  virtual bool do_try_request (Request *req_l) ;
+  virtual bool do_try_music (Music *req_l) ;
   virtual void do_print() const;
 
 private:
index a6061778a9a27604d5544614a9277c04128196fa..f33c7b0b8d46dd15b397a35fba5c36444f6bf83a 100644 (file)
@@ -30,8 +30,8 @@
 
 class Paper_column : public Horizontal_group_item { 
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  SCORE_ELEMENT_CLONE(Paper_column);
+  
+  VIRTUAL_COPY_CONS(Score_element);
   Drul_array< Array<Column_rod> > minimal_dists_arr_drul_;
 
   void preprocess ();
index 4195ca77f9d88ed1b65b18cf686e81af3223e9ea..67436644c4969e4936a2e2246bf02e0962209cdb 100644 (file)
@@ -40,11 +40,11 @@ class Paper_def : public Music_output_def
   static int default_count_i_;
 
 protected:
-  VIRTUAL_COPY_CONS(Paper_def,Music_output_def);
+  VIRTUAL_COPY_CONS(Music_output_def);
 
 public:    
   virtual ~Paper_def ();
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 
   Array<Interval> shape_int_a_;
 
index 8c9c8aa8d865d479023cedcf8b4e92f18ccd69dc..6917badd17c30720aac7e382263a115dd3326040 100644 (file)
@@ -20,8 +20,8 @@
 
 class Performer_group_performer : public Performer, public virtual Translator_group {
 public:
-  TRANSLATOR_CLONE(Performer_group_performer);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Translator);
+  
 };
 
 #endif // PERFORMER_GROUP_PERFORMER_HH
index 75fbeccf7eec1ec6107d40a5894d3b82e5b89291..4badbc608ce9e52f5c5852b0eb75be40d65a4075 100644 (file)
@@ -21,8 +21,8 @@
  */
 class Performer : public virtual Translator{
 public:
-  TRANSLATOR_CLONE(Performer);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Translator);
+  
   Performer_group_performer* daddy_perf_l() const;
 protected:
   virtual int get_tempo_i() const;
index 2d094cab117abfbb4f17c662ae82a57f747541bc..afc7b43e6825e3ed30b481d4f780559538f4928b 100644 (file)
@@ -15,8 +15,8 @@
 class Piano_brace : public Span_score_bar
 {
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  SCORE_ELEMENT_CLONE(Piano_brace);
+  
+  VIRTUAL_COPY_CONS(Score_element);
 
   /** make room for Staff_bracket.  Ugh.  Should use some kind of
     relation thingy.  */
index dbf432a53603e4e1e50ab93e63edb40bd6465846..4c2f2454343704f668e1d9907ffc3e015bb7adf9 100644 (file)
@@ -14,8 +14,8 @@
 
 class Pitch_squash_engraver : public Engraver {
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  TRANSLATOR_CLONE (Pitch_squash_engraver);
+  
+  VIRTUAL_COPY_CONS (Translator);
   virtual void acknowledge_element (Score_element_info);
   
 };
index 005a475bf63c44fbc6a2e3e89154f4a233c99b38..ee619a92a7e623e78079c5faaaca5069ac566de6 100644 (file)
 class Plet_engraver : public Engraver
 {
 public:
-  TRANSLATOR_CLONE(Plet_engraver);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Translator);
+  
   Plet_engraver ();
 
 protected:
   virtual void acknowledge_element (Score_element_info);
   virtual void do_removal_processing();
   virtual void do_process_requests();
-  virtual bool do_try_request (Request*);
+  virtual bool do_try_music (Music*);
   virtual void do_pre_move_processing();
   
 private:
index 0dbb142774a716bac806d05ed8cc1d9a7eb27ca4..1458589090538e635dfe9e0cfeb8d5aca1f4365d 100644 (file)
 class Plet_swallow_engraver : public Swallow_engraver 
 {
 public:
-  TRANSLATOR_CLONE(Plet_swallow_engraver);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Translator);
+  
 
 protected:
-  virtual bool do_try_request (Request*);
+  virtual bool do_try_music (Music*);
 };
 
 #endif // PLET_SWALLOW_ENGRAVER_HH
index 5d91ac4e0335a4a4a469f1544b957e8640b783b7..6a64118847efa7858c5e043c716db1a9ff478648 100644 (file)
@@ -15,8 +15,8 @@
 class Priority_horizontal_align_engraver : public Engraver {
   Break_align_item * halign_p_;
 public:
-  TRANSLATOR_CLONE(Priority_horizontal_align_engraver);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Translator);
+  
   Priority_horizontal_align_engraver();
 protected:
   virtual void acknowledge_element (Score_element_info);
index ea429a36a4aba307108019ce746ebab0d9df14a3..3dc7898c2bf1e2dd5ba579b0fc4734367850a686 100644 (file)
@@ -17,7 +17,7 @@ class Property_iterator : public Music_iterator
   Translation_property *property_l() const;
   
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 protected:
   virtual void do_process_and_next (Moment);
 };
index 6137260d687143883553d253bf495e391e0e6cd0..3ed7ad45479bdc7411666e5a4bd5fe4a72826e4b 100644 (file)
@@ -19,8 +19,8 @@ public:
 
   void do_print () const;
   Relative_octave_music (Music*, Musical_pitch);
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  VIRTUAL_COPY_CONS (Relative_octave_music, Music);
+  
+  VIRTUAL_COPY_CONS(Music);
   virtual Musical_pitch to_relative_octave (Musical_pitch);
 };
 
index 6d5cd95baf613353f5cfc3af46e926d723a8eb68..d374d5929f4af2fd31dd6979e484463252b3d3d9 100644 (file)
@@ -25,7 +25,7 @@ class Request_chord_iterator : public Music_iterator {
 
 public:
   Request_chord_iterator ();
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 
 protected:
   virtual void do_process_and_next (Moment);
index 4394fce306e9e37fd7ba461f0c78275b63b9d4ab..bd90bde2aac510602aca46f143f17f5f9b45de59 100644 (file)
@@ -30,8 +30,8 @@ public:
     
   virtual ~Request(){}
 
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  VIRTUAL_COPY_CONS(Request,Music);
+  
+  VIRTUAL_COPY_CONS(Music);
     
   bool equal_b (Request*) const;
 protected:
@@ -41,8 +41,8 @@ protected:
 
 
 #define REQUESTMETHODS(T)      \
-DECLARE_MY_RUNTIME_TYPEINFO;\
-VIRTUAL_COPY_CONS(T, Request);\
+\
+VIRTUAL_COPY_CONS(Request);\
 virtual void do_print() const
 
 
index c62c4e2e3ad037d947ee222d038a03e5f2330493..a1b3b4198e8c71e85e9d0ae7612338fdf2eb7319 100644 (file)
@@ -22,8 +22,8 @@ protected:
   virtual void process_acknowledged ();
   virtual void do_pre_move_processing();
 public:
-  TRANSLATOR_CLONE(Rest_collision_engraver);
+  VIRTUAL_COPY_CONS(Translator);
   Rest_collision_engraver();
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 };
 #endif // REST_COLLISION_GRAV_HH
index cc6bc84db87570d1f3f63947f1ba113aea8efe45..cfb1518093eefd2837e4136d8ed1f700da67d3a3 100644 (file)
@@ -18,7 +18,7 @@ class Rest_collision : public Item {
     Link_array<Note_column> ncol_l_arr_;
 public:
     void add_column (Note_column*);
-    DECLARE_MY_RUNTIME_TYPEINFO;
+    
     Rest_collision();
 protected:
     virtual void do_post_processing();
index 0081454fd7195eebb591cb2cb91e035595785111..757e948aadc6d6ac86865d793423faec5b529bd1 100644 (file)
@@ -18,13 +18,13 @@ class Rest_engraver : public Engraver
   Dots * dot_p_;
   Rest * rest_p_;
 protected:
-  virtual bool do_try_request (Request *);
+  virtual bool do_try_music (Music *);
   virtual void do_pre_move_processing ();
   virtual void do_post_move_processing ();
   virtual void do_process_requests ();
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  TRANSLATOR_CLONE(Rest_engraver);
+  
+  VIRTUAL_COPY_CONS(Translator);
   Rest_engraver ();
 };
 #endif // REST_GRAV_HH
index 493472c0e72caefe697b899dac1ac6e1c08d4d37..2e0b3938c1c13628bfaed3e3f191a48f6dc0e006 100644 (file)
@@ -15,7 +15,7 @@
 class  Rest : public Rhythmic_head
 {
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   
   int position_i_;
   Rest ();
index 207427117dcc0dcc11c692104fb6d6360ac7c8dc..1cf5962afcd4590b078c454794a35596bba83ea9 100644 (file)
@@ -21,14 +21,14 @@ class Rhythmic_column_engraver :public Engraver {
   Dot_column *dotcol_l_;
 
 protected:
-  TRANSLATOR_CLONE(Rhythmic_column_engraver);
+  VIRTUAL_COPY_CONS(Translator);
   virtual void acknowledge_element (Score_element_info);
   virtual void process_acknowledged ();
   virtual void do_pre_move_processing();
   virtual void do_post_move_processing();
 public:
   Rhythmic_column_engraver();
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 };
 #endif // RHYTHMIC_COLUMN_GRAV_HH
 
index 4c11b50fd0767fb49fc423be8410298288c7a1ac..ab45f035737d6388fbf4ffd079f8130ce3859222 100644 (file)
@@ -15,7 +15,7 @@
 class Rhythmic_head : public Item
 {
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
    
   int balltype_i_;
   int dots_i_;
index 83c8e0bbaa81d756627fafdf492e13d3e5c579ab..741f1412b943aef3962b91faac3d37b4ea90c83a 100644 (file)
@@ -18,8 +18,8 @@
  */
 class Score_bar : public virtual Bar {
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  SCORE_ELEMENT_CLONE(Score_bar);
+  
+  VIRTUAL_COPY_CONS(Score_element);
 protected:
   void do_pre_processing ();
 };
index dfe944c5a589ccd7588959ddca8ff9ae24a29e37..50fd2afa89b22e9da99bd77c6a496dff2a3a3876 100644 (file)
@@ -35,8 +35,8 @@ class Score_column : public Paper_column {
 
 public:
   int break_penalty_i () { return break_penalty_i_; }
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  SCORE_ELEMENT_CLONE(Score_column);
+  
+  VIRTUAL_COPY_CONS(Score_element);
   /// length of notes/rests in this column
   Array<Moment> durations;
     
index 9870cecb15324ecffd6f2b5d067c01d4bfdc0239..19586ede51c55ace81d796603af5fa1b4e54f33a 100644 (file)
   */
 struct Score_element_info {
     Score_element * elem_l_;
-
-    Request*req_l_;
+    Music *req_l_;
     Array<Engraver*> origin_grav_l_arr_;
 
-    Score_element_info (Score_element*, Request*);
-
+    Score_element_info (Score_element*, Music*);
     Score_element_info();
 };
 
index 4ad95c73718c13835cbcee0b565e46a59a496e84..2828e00fae0cea0a36c80f389734f39b83224b52 100644 (file)
@@ -12,7 +12,6 @@
 #include "directed-graph.hh"
 #include "graphical-element.hh"
 
-#define SCORE_ELEMENT_CLONE(T) VIRTUAL_COPY_CONS (T, Score_element)
 
 
 typedef void (Score_element::*Score_element_method_pointer) (void);
@@ -37,7 +36,7 @@ public:
   Lookup const *lookup_l () const;
 
   virtual ~Score_element ();
-  DECLARE_MY_RUNTIME_TYPEINFO;    
+      
 
   void add_processing ();
 
@@ -54,7 +53,7 @@ public:
 
   virtual Line_of_score * line_l () const;
   virtual bool linked_b () const;
-  SCORE_ELEMENT_CLONE (Score_element);
+  VIRTUAL_COPY_CONS(Score_element);
  
   /// do not print anything black
   bool transparent_b_;
index fae750a39a08a9ea22b6d47791c5a7821414e328..3dd921aaa73fa2a318c5488f8333383017ff9313 100644 (file)
@@ -32,9 +32,9 @@ class Score_engraver :
   void typeset_all();
     
 public:
-  TRANSLATOR_CLONE(Score_engraver);
+  VIRTUAL_COPY_CONS(Translator);
   Paper_score * pscore_p_;
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 
   Score_engraver();
   virtual Music_output *get_output_p ();  
@@ -47,7 +47,7 @@ protected:
 protected:
   /* Engraver_group_engraver interface */
   virtual Staff_info get_staff_info() const;
-  virtual bool do_try_request (Request*);
+  virtual bool do_try_music (Music*);
   virtual void do_creation_processing();
   virtual void do_removal_processing();
   virtual void announce_element (Score_element_info);
index adb462a2dd325faa64740d411bfdf03590106a21..733fb86fef296f252431aaa2688baa9547c023d0 100644 (file)
@@ -18,8 +18,8 @@ class Score_performer:
   public Performer_group_performer, public Global_translator 
 {
 public:
-  TRANSLATOR_CLONE(Score_performer);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Translator);
+  
   Score_performer();
   ~Score_performer();
   Performance *performance_p_;
index c6827250b9eabf8c829eaae98f8433efa82095b5..d9d87a127eaf8cee67196f5f5a9d43e5121079c9 100644 (file)
@@ -20,9 +20,9 @@ class Score_priority_engraver : public Engraver
 {
   Assoc<int, Horizontal_group_item  *> align_p_assoc_;
 public:
-  TRANSLATOR_CLONE(Score_priority_engraver);
+  VIRTUAL_COPY_CONS(Translator);
   Score_priority_engraver ();
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 protected:
   virtual void acknowledge_element (Score_element_info);
   virtual void do_pre_move_processing();
index 99c053b10a2cb6e26731b8db9efde17cc41e51c2..a5eb00add2271657999b56700f1c662d09865dec 100644 (file)
@@ -23,7 +23,7 @@ protected:
 public:
     Link_array<Script> script_l_arr_;
     Link_array<Item> support_l_arr_;
-    DECLARE_MY_RUNTIME_TYPEINFO;
+    
    
     virtual void add_script (Script *);
     void add_support (Item*);
index a68628c9ef4a85d03b3ab8020444c1bce5f72445..1bf61fd493d6eaa52cc026462266c31b740d1f81 100644 (file)
@@ -35,14 +35,14 @@ public:
   virtual int priority_i() const;
   virtual bool inside_b() const;
   virtual Atom get_atom (Paper_def* p, Direction dir_) const;
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 
   virtual bool do_equal_b (General_script_def const *) const;
   virtual void do_print() const;
   Script_def();
   void set_from_input (String, bool, int, int ,bool,int);
 protected:
-  VIRTUAL_COPY_CONS(Script_def,General_script_def);
+  VIRTUAL_COPY_CONS(General_script_def);
 
 };
 
index 6e4ed0100f0505f346de7e5f120d630d0947e9c1..afef25c8b7eb495fe364b21255ff12f8cd324f26 100644 (file)
@@ -16,11 +16,11 @@ class Script_engraver : public Engraver {
   Array<Script_req *> script_req_l_arr_;
 
 public:
-  TRANSLATOR_CLONE(Script_engraver);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Translator);
+  
   Script_engraver();
 protected:
-  virtual bool do_try_request (Request*);
+  virtual bool do_try_music (Music*);
   virtual void do_process_requests();
   virtual void do_pre_move_processing();
   virtual void do_post_move_processing();
index 105cb4f15c30f1b99bad79952178a9a5043ac9e2..51b74a29f5edbb75b03ac8cc00b830ce346578be 100644 (file)
@@ -24,7 +24,7 @@ protected:
   virtual Interval symbol_width () const;
   virtual void do_pre_processing();
   virtual Interval do_width() const;
-  SCORE_ELEMENT_CLONE(Script);
+  VIRTUAL_COPY_CONS(Score_element);
 private:
 
   void set_default_dir();
@@ -38,7 +38,7 @@ public:
   Script (Script const&);
    
   void set_stem (Stem*);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 };
 
 
index b90752479cee9165dc33882aaeefe6894c4ee657..acacb4255fa5f7d50b78e7bc9b12eac6827c7f69 100644 (file)
@@ -17,10 +17,10 @@ class Separating_group_spanner : public Spanner
 {
   Link_array<Single_malt_grouping_item> spacing_unit_l_arr_;
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   void add_spacing_unit (Single_malt_grouping_item*);
 protected:
-  SCORE_ELEMENT_CLONE (Separating_group_spanner);
+  VIRTUAL_COPY_CONS(Score_element);
   virtual Array<Rod> get_rods () const;
   virtual void do_substitute_dependency (Score_element*,Score_element*);
 };
index d9419a98077cbfcef8d337bcb42faca069e3bfb4..eaad47d61ed0e2048bd22260bff292fa3bc5e980 100644 (file)
@@ -25,8 +25,8 @@ protected:
   virtual void do_pre_move_processing ();
 public:
   Separating_line_group_engraver ();
-  TRANSLATOR_CLONE (Separating_line_group_engraver);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS (Translator);
+  
 };
 
 
index 32bfb45e2a94d5eb5d1ef73dbc914fdf03de1f8e..87605afcb3f33e8d0dd7e088f75f1e1998f619f1 100644 (file)
    It's 1 30 am.  Naming suggestions appreciated.  */
 class Single_malt_grouping_item : public Item
 {
-  SCORE_ELEMENT_CLONE (Single_malt_grouping_item);
+  VIRTUAL_COPY_CONS(Score_element);
   Link_array<Item> item_l_arr_;
 public:
   Single_malt_grouping_item ();
   Interval my_width () const;
   void add_item (Item*);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 protected:
   virtual  void do_substitute_dependency (Score_element*, Score_element*);
   virtual void do_print () const;
index 8665ee6e8dc8359f879b6aa3b883610adb370ba8..b463f1a1832fc742af2616a50f1e56e85539e925 100644 (file)
@@ -17,7 +17,7 @@ class Slur_engraver :public Engraver {
   Array<Slur*> end_slur_l_arr_;
 
 protected:
-  virtual bool do_try_request (Request*);
+  virtual bool do_try_music (Music*);
   virtual void do_process_requests();
   virtual void acknowledge_element (Score_element_info);
   virtual void do_pre_move_processing();
@@ -25,8 +25,8 @@ protected:
   virtual void do_removal_processing ();
 
 public:
-  TRANSLATOR_CLONE(Slur_engraver);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Translator);
+  
 };
 
 #endif // SLURGRAV_HH
index c77f6f9865a585e9a612af6bb07d93a729430f96..491150c877d1b3f531fd8a7e7d4f6dbdb8d71632 100644 (file)
@@ -23,8 +23,8 @@ public:
 
   Slur ();
 
-  SCORE_ELEMENT_CLONE(Slur);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Score_element);
+  
 
 protected:
   virtual Array<Offset> get_encompass_offset_arr () const;
index c7050cf3adbd898fdf38dd0eac02ccdb954d9a53..dc467a193d455455c2ae16f4e440867d052a9b5e 100644 (file)
@@ -24,8 +24,8 @@ class Span_bar_engraver : public Engraver
   Array<Bar*> bar_l_arr_;
   Vertical_align_spanner * valign_l_;
 public:
-  TRANSLATOR_CLONE(Span_bar_engraver);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Translator);
+  
     
   Span_bar_engraver();
 protected:
index 825d1d8cbe7a810937d8becaed87495a9e12bf3d..3a4f01732093c510a1a2f8b5936279064698f736 100644 (file)
@@ -18,8 +18,8 @@ class Span_bar : public virtual Bar
 
 public:
     Span_bar();
-    DECLARE_MY_RUNTIME_TYPEINFO;
-    SCORE_ELEMENT_CLONE(Span_bar);
+    
+    VIRTUAL_COPY_CONS(Score_element);
     void add_bar (Bar*);
     void set_align (Align_element *);
 
index 9a020be68203bdbfe6091983f006367bef71a90c..f3660ae8429c16ec37acd71c68df926306be7dcc 100644 (file)
@@ -22,8 +22,8 @@
 class Span_score_bar_engraver : public Span_bar_engraver 
 {
 public:
-  TRANSLATOR_CLONE (Span_score_bar_engraver);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS (Translator);
+  
   virtual Span_bar* get_span_bar_p () const;
 };
 
@@ -34,8 +34,8 @@ public:
 class Piano_bar_engraver :  public Span_score_bar_engraver
 {
 public:
-  TRANSLATOR_CLONE (Piano_bar_engraver);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS (Translator);
+  
   virtual Span_bar * get_span_bar_p () const;
 };
 
@@ -45,8 +45,8 @@ public:
 class Staff_group_bar_engraver :  public Span_score_bar_engraver
 {
 public:
-  TRANSLATOR_CLONE (Staff_group_bar_engraver);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS (Translator);
+  
   virtual Span_bar * get_span_bar_p () const;
   virtual void acknowledge_element (Score_element_info);
 };
index 411c56da5e4d9aa365109756a654daed889eb227..116203555130b5d1e8ddcb9628b2be20ed3c7796 100644 (file)
@@ -16,8 +16,8 @@
 class Span_score_bar : public Span_bar, public Score_bar
 {
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  SCORE_ELEMENT_CLONE(Span_score_bar);
+  
+  VIRTUAL_COPY_CONS(Score_element);
   Span_score_bar();
 
 protected:
index 255b21eaa82a245e10d81b48bceaa0227a3551ae..a43eff9855a338e6c355a31e6efe78a2ed80c2b9 100644 (file)
@@ -37,7 +37,7 @@ public:
   Drul_array<Item*> spanned_drul_;
   void set_bounds (Direction d, Item*);
 
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   Spanner ();
   Spanner (Spanner const &);
   bool broken_b () const;
@@ -45,7 +45,7 @@ public:
   Spanner* find_broken_piece (Line_of_score*) const;
 protected:
   void set_my_columns ();
-  SCORE_ELEMENT_CLONE (Spanner);
+  VIRTUAL_COPY_CONS(Score_element);
 
   /**
     this is virtual; for instance, Line_of_score overrides it.
index 526df1365b3580f9a0fab058ec17815be61bc119..f63a113141853744badd309b75963dfe33cf0fe1 100644 (file)
@@ -14,8 +14,8 @@
 class Staff_bracket : public Span_score_bar
 {
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  SCORE_ELEMENT_CLONE(Staff_bracket);
+  
+  VIRTUAL_COPY_CONS(Score_element);
 
 protected:
   virtual Interval do_width() const;
index ae9d01b4c3b22db3a282a3c33db81f51b53f6200..2ad18843d86649776d4e61e3ddb83d92261c5792 100644 (file)
@@ -18,8 +18,8 @@
 class Staff_margin_engraver : public Engraver 
 {
 public:
-  TRANSLATOR_CLONE(Staff_margin_engraver);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Translator);
+  
 
   Staff_margin_engraver ();
 
index 484ae5bafab705d47bf8c1fb39c4155849d103d3..3ec3981f62e462743a8d637ea69793a60e2a7136 100644 (file)
@@ -17,8 +17,8 @@
 class Staff_performer : public Performer_group_performer 
 {
 public:
-  TRANSLATOR_CLONE(Staff_performer);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Translator);
+  
 
   Staff_performer ();
   ~Staff_performer ();
index 5c95249868cae6799fbd45007740c7d61e81512c..b2bcd70de4444805126f00b8cb0ac6f2bd6aeaf7 100644 (file)
@@ -40,7 +40,7 @@ public:
 
   Staff_side ();
   void add_support (Score_element*);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
     
 protected:
   virtual Interval symbol_height () const;
index 8235f2aa03344e718dd1f55ca2940b218bac7982..bf15e77d32220a7d6383abc23c2c4438e8c7b78d 100644 (file)
@@ -18,9 +18,9 @@
 class Staff_symbol_engraver : public Engraver { 
     Staff_symbol *span_p_;
 public:
-  TRANSLATOR_CLONE(Staff_symbol_engraver);
+  VIRTUAL_COPY_CONS(Translator);
   Staff_symbol_engraver();
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 protected:
   virtual ~Staff_symbol_engraver();
   virtual void fill_staff_info (Staff_info&);
index 215e41bde97cd541afe89f90c1fe495a259c6e98..a98d1b1d44dea3c87c6682f437ad16e157f7eb3a 100644 (file)
@@ -22,12 +22,12 @@ public:
   int no_lines_i_;
   Real interline_f_;
 
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   Staff_symbol ();
   Real inter_note_f() const;
   int steps_i() const;
 protected:
-  SCORE_ELEMENT_CLONE(Staff_symbol);
+  VIRTUAL_COPY_CONS(Score_element);
   virtual Interval do_height () const;
   virtual Molecule* brew_molecule_p() const;
   virtual void do_print() const;
index 2fa376c58a347564fc19173083f0a04046edc6d5..f039fce3195017b70dafb443bb3a6fe316b77010 100644 (file)
@@ -27,12 +27,12 @@ protected:
   virtual void do_creation_processing ();
   virtual void acknowledge_element (Score_element_info);
   virtual void do_pre_move_processing ();
-  virtual bool do_try_request (Request*);
+  virtual bool do_try_music (Music*);
 
 public:
-  TRANSLATOR_CLONE(Stem_engraver);
+  VIRTUAL_COPY_CONS(Translator);
   Stem_engraver();
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 };
 
 #endif // STEM_GRAV_HH
index a54b211849cf4e9b99fa26da9e90213d4c6acf0a..967bc2e7b2caac73a3e34ee302adf95cd98dbf7a 100644 (file)
@@ -83,7 +83,7 @@ public:
   /// ensure that this Stem also encompasses the Notehead #n#
   void add_head (Rhythmic_head*n);
 
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 
   Real hpos_f () const;
   Real chord_start_f () const;
index 133fbb0072b8ab92e343c9d0edf7c34e5a14d4d5..534c1642572c4b451a4e41a197d30a74e5ef4b72 100644 (file)
@@ -27,7 +27,7 @@ public:
   void unlink_all ();
 
 protected:
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 };
 
 #endif // Super_element_HH
index d2ca31a92708c8b9412ce395664d8a36c52c3dd5..38e3aa2197b578661c5a7941589d3e48f69a8a68 100644 (file)
@@ -18,9 +18,9 @@
  */
 class Swallow_engraver : public Engraver {
 protected:
-  bool do_try_request (Request*) ;
+  bool do_try_music (Music*) ;
 public:
-  TRANSLATOR_CLONE(Swallow_engraver);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Translator);
+  
 };
 #endif // SWALLOW_GRAV_HH
index 62e14d45f04fc22ed5b119401dda0fd27fe93f61..b81ebf5cc905b8537d42e9638920049fe0674664 100644 (file)
 
 class Swallow_performer : public Performer {
 public:
-  TRANSLATOR_CLONE(Swallow_performer);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Translator);
+  
 protected:
-  virtual bool do_try_request (Request*) { return true; }
+  virtual bool do_try_music (Music*) { return true; }
 };
 
 #endif // SWALLOW_PERF_HH
index e4b42d12330a7065aaf733e445d35bbb18b52853..825b18f7ede8681d5474aacf43e084e09ea7abc1 100644 (file)
@@ -15,8 +15,7 @@
 class Text_def : public General_script_def 
 {
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  VIRTUAL_COPY_CONS(Text_def,General_script_def);
+  VIRTUAL_COPY_CONS(General_script_def);
 
   /**
      Alignment of typeset text wrt center.
index b0ffa91f33d701ab10438bd12d7ff931e88d71c1..ca8600fac48deb82eff77ea8fea62121d82368ec 100644 (file)
@@ -24,7 +24,7 @@ public:
 
     Text_item (General_script_def* ,Direction dir=CENTER);
     virtual ~Text_item ();
-    DECLARE_MY_RUNTIME_TYPEINFO;
+    
 
 //protected:
     // ugh: so, are we a text-def, or can this vary?
index e7cd556cd9a479bffe0f5daaac41f0011cf9a833..42dc01483f39cd1bb54e3979ad9fcf7e27e2287b 100644 (file)
@@ -18,13 +18,13 @@ public:
   Directional_spanner * support_span_l_;
   General_script_def * spec_p_;
   Offset text_off_;
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 
   void set_support (Directional_spanner*);
   Text_spanner();
   Text_spanner (Text_spanner const&);
 protected:
-  SCORE_ELEMENT_CLONE(Text_spanner);
+  VIRTUAL_COPY_CONS(Score_element);
   ~Text_spanner();
   virtual void do_add_processing ();
   virtual void do_substitute_dependency (Score_element*,Score_element*);
index a60577109a7d09ee279c5e643442aa1596650f28..522203d9c0c67076b74265d845c348bc1c31572f 100644 (file)
@@ -21,8 +21,8 @@ public:
     Tie ();
     void set_head (Direction, Note_head*head_l);
 
-    DECLARE_MY_RUNTIME_TYPEINFO;
-    SCORE_ELEMENT_CLONE(Tie);
+    
+    VIRTUAL_COPY_CONS(Score_element);
 
     bool same_pitch_b_;
     Drul_array<Note_head *> head_l_drul_;
index 9ad8497b07a9c081bdf8901b888b00824ed96148..900c7db5e0add5d76cd1190d1d68121f444eafac 100644 (file)
@@ -37,15 +37,15 @@ class Ties_engraver : public Engraver {
 protected:
   virtual void do_removal_processing ();
   virtual void acknowledge_element (Score_element_info);
-  virtual bool do_try_request (Request*);
+  virtual bool do_try_music (Music*);
   virtual void do_process_requests();
   virtual void process_acknowledged ();
   virtual void do_post_move_processing();
   virtual void do_pre_move_processing();
 public:
-  TRANSLATOR_CLONE(Ties_engraver);
+  VIRTUAL_COPY_CONS(Translator);
   Ties_engraver();
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 };
 
 #endif // Ties_GRAV_HH
index 4d4f1edd96ff017bd32c22fdccab4b1b0964fbe7..460939d59b8cf128ef0bfebfd9852a5bb38caf44 100644 (file)
@@ -21,10 +21,10 @@ protected:
   virtual void do_process_requests();
   virtual void do_pre_move_processing();
 public:
-  TRANSLATOR_CLONE(Time_signature_engraver);
+  VIRTUAL_COPY_CONS(Translator);
   Time_signature * time_signature_p_;
 
   Time_signature_engraver();
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 };
 #endif // METERGRAV_HH
index a40a22382f7646aa4718baf8e97d8422fc3cad42..b658b3715812235f5bad3d9113263935845acd90 100644 (file)
 
 class Time_signature_performer : public Performer {
 public:
-  TRANSLATOR_CLONE(Time_signature_performer);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Translator);
+  
   Time_signature_performer();
   ~Time_signature_performer();
 
 protected:
   void do_print() const;
-  virtual bool do_try_request (Request* req_l);
+  virtual bool do_try_music (Music* req_l);
   virtual void do_process_requests();
 
 private:
index a2d09022b525ee1fc97ad14a521ece05abbbd407..1fd90719c54711b5e2dd7ebf481c04115e4c32af 100644 (file)
@@ -29,8 +29,8 @@ public:
   Array<int> args_;
   String time_sig_type_str_;
   
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  SCORE_ELEMENT_CLONE(Time_signature);
+  
+  VIRTUAL_COPY_CONS(Score_element);
 };
 #endif // METER_HH
 
index cc52fa13c0a9684e77859b9f120e96f17671a976..4768f84c28d46ef9ec2bf19b34053e8a613d30a8 100644 (file)
@@ -20,8 +20,8 @@ class Timing_engraver : public Timing_translator, public Engraver
 protected:
   virtual void fill_staff_info (Staff_info&);
 public:
-  TRANSLATOR_CLONE(Timing_engraver);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Translator);
+  
 };
 
 #endif // TIMING_GRAV_HH
index e62ee388f038e37566d63507f2a804c2f944a3e9..7074d9c873b6d256658d2b9e4a337c20a12cf57e 100644 (file)
 class Timing_translator : public virtual Translator
 {
 public:
-  TRANSLATOR_CLONE(Timing_translator);
+  VIRTUAL_COPY_CONS(Translator);
   Time_signature_change_req * time_signature_req_l () const;
   Timing_translator ();
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   Time_description time_;
   Rhythmic_grouping  default_grouping_;
   Link_array<Timing_req> timing_req_l_arr_;
 protected: 
   virtual void do_print () const;
   virtual void do_creation_processing ();
-  virtual bool do_try_request (Request *req_l);
+  virtual bool do_try_music (Music *req_l);
   virtual void do_process_requests();
   virtual void do_pre_move_processing();
   virtual void do_post_move_processing();
index 1ddfdffee9c156178d15efe15a24a414da636b5e..45651150e39e206400e608e11dc10e50bd1e4e04 100644 (file)
@@ -21,8 +21,8 @@ class Translation_property : public Music
 public:
   String var_str_;
   Scalar value_;
-  VIRTUAL_COPY_CONS(Translation_property, Music);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Music);
+  
 protected:
   virtual void do_print () const;
 };
index fb1c8e2d23c2fd4aaebcefe0fc90e11396eaf3d9..a948fd82dfff2b2b702fa1b666dcc4fd78db379c 100644 (file)
@@ -35,8 +35,8 @@ public:
 
   int iterator_count_;
 
-  TRANSLATOR_CLONE(Translator_group);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Translator);
+  
 
   void set_acceptor (String accepts, bool add);
   void set_element (String accepts, bool add);  
@@ -62,7 +62,7 @@ public:
 
 
   
-  Translator *get_simple_translator (char const *type) const;
+  Translator *get_simple_translator (String) const;
   Translator_group *find_existing_translator_l (String n, String id);
   Translator_group *find_create_translator_l (String n, String id);
   Link_array<Translator_group> path_to_acceptable_translator (String alias) const;
@@ -73,7 +73,7 @@ protected:
   virtual void do_print () const;
   virtual void do_process_requests ();
   virtual void do_add_processing ();
-  virtual bool do_try_request (Request* req_l);       
+  virtual bool do_try_music (Music* req_l);       
   virtual void do_pre_move_processing();
   virtual void do_post_move_processing();   
   virtual void do_creation_processing();
index b0257a4448d6c041aa6e93a076a612e21075b9b0..f3a96da1abb1c68225ca61c766bb9016aea643b9 100644 (file)
@@ -18,7 +18,6 @@
 #include "parray.hh"
 #include "input.hh"
 
-#define TRANSLATOR_CLONE(c)    VIRTUAL_COPY_CONS(c, Translator)
 
 /** Make some kind of #Element#s from Requests. Elements are made by
   hierarchically grouped #Translator#s
@@ -32,8 +31,8 @@ public:
   bool is_alias_b (String) const;
   
 
-  DECLARE_MY_RUNTIME_TYPEINFO;  
-  TRANSLATOR_CLONE(Translator);
+    
+  VIRTUAL_COPY_CONS(Translator);
   Translator (Translator const &);
   Translator ();
   virtual ~Translator ();
@@ -51,7 +50,7 @@ public:
     true: request swallowed. Don't try to put the request elsewhere.
 
     */
-  bool try_request (Request*);
+  bool try_music (Music*);
   void pre_move_processing();
   void add_processing ();
   void creation_processing ();
@@ -84,7 +83,7 @@ protected:
        Default: always return false
        */
   virtual void do_add_processing ();
-  virtual bool do_try_request (Request *req_l);
+  virtual bool do_try_music (Music *req_l);
   virtual void do_print () const;
   virtual void do_pre_move_processing(){}
   virtual void do_post_move_processing(){}
@@ -100,8 +99,8 @@ class Translator_adder
 public:
   static Translator *ctor ()
     {
-      Translator *t = new T;
-      t->type_str_ = T::static_name ();
+      T *t = new T;
+      t->type_str_ = classname (t);
       return t;
     }
   Translator_adder () {        
index fe8781c4120f7c1e7bece0eecd8620db9ac280ce..f05cf6ee5470984ca02581d551d447447c77ca13 100644 (file)
@@ -20,8 +20,8 @@ public:
 
   void do_print () const;
   Transposed_music (Music*, Musical_pitch);
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  VIRTUAL_COPY_CONS (Transposed_music, Music);
+  
+  VIRTUAL_COPY_CONS(Music);
   virtual Musical_pitch to_relative_octave (Musical_pitch);
 };
 
diff --git a/lily/include/tuplet-engraver.hh b/lily/include/tuplet-engraver.hh
new file mode 100644 (file)
index 0000000..b76f12e
--- /dev/null
@@ -0,0 +1,37 @@
+/*   
+  auto-plet-engraver.hh -- declare Auto_plet_engraver
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  
+ */
+
+#ifndef AUTO_PLET_ENGRAVER_HH
+#define AUTO_PLET_ENGRAVER_HH
+
+#include "engraver.hh"
+
+class Tuplet_engraver : public Engraver
+{
+  void typeset_all ();
+public:
+  VIRTUAL_COPY_CONS(Translator);
+
+
+protected:
+  Link_array<Compressed_music> compressed_music_arr_;
+  Array<Moment> stop_moments_;
+  Link_array<Plet_spanner> started_span_p_arr_;
+
+
+  virtual void do_removal_processing ();
+  virtual void acknowledge_element (Score_element_info);
+  virtual bool do_try_music (Music*r);
+  virtual void do_process_requests ();
+  virtual void do_post_move_processing ();
+};
+
+
+
+#endif /* AUTO_PLET_ENGRAVER_HH */
index 27bac3d661e49e96302cb27088d6367bc2373bf4..3b7191bae1d31f66e059d9352435b5dd5152b2dc 100644 (file)
@@ -17,10 +17,10 @@ class Type_swallow_translator : public virtual Translator
 {
 protected:
   const type_info * type_;
-  bool do_try_request (Request*);
+  bool do_try_music (Music*);
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  TRANSLATOR_CLONE(Type_swallow_translator);
+  
+  VIRTUAL_COPY_CONS(Translator);
   Type_swallow_translator ();
 };
 
@@ -29,10 +29,9 @@ struct TYPE ## _swallow_translator : public Type_swallow_translator {\
   TYPE ## _swallow_translator() { \
     type_ = &typeid (TYPE);\
   }\
-  DECLARE_MY_RUNTIME_TYPEINFO;\
-  TRANSLATOR_CLONE(TYPE ## _swallow_translator);\
+  \
+  VIRTUAL_COPY_CONS(Translator);\
 };\
-IMPLEMENT_IS_TYPE_B1(TYPE ## _swallow_translator, Type_swallow_translator);\
 ADD_THIS_TRANSLATOR(TYPE ## _swallow_translator);\
 
 #endif // TYPESWALLOW_GRAV_HH
index 0f6bd5f1414b98286a1f778b21572ec743dbfcbd..8b72633a0f54de2af4148c3e9119be7376dcfbc0 100644 (file)
@@ -16,8 +16,8 @@ class Vertical_align_engraver : public Engraver {
   Vertical_align_spanner * valign_p_;
     
 public:
-  TRANSLATOR_CLONE(Vertical_align_engraver);
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS(Translator);
+  
   Vertical_align_engraver();
 protected:
   virtual void acknowledge_element (Score_element_info);
index 667ab5e991cc42257f731b3d49436526542e6d89..9dc0ae05e4cdb61f1dc59812af8db84683bdebbd 100644 (file)
@@ -16,8 +16,8 @@
 class Vertical_align_spanner : public Align_element, public Spanner
 {
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  SCORE_ELEMENT_CLONE(Vertical_align_spanner);
+  
+  VIRTUAL_COPY_CONS(Score_element);
   Vertical_align_spanner ();
   virtual void do_print() const ;
     
index b3eee34dfe8015331e991e442baf551cb92efc3b..f3e48c80d0e3da18ec932a2a7c0b0d2a5ba24e06 100644 (file)
@@ -20,7 +20,7 @@ protected:
 
 public:
   Vertical_group_element () ;
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 };
 
 #endif /* VERTICAL_GROUP_ELEM_HH */
index 9df0d88053761106653d58cbf6f1b3277962e11e..1368a5adf3947a2cbbd5c15fc212df8370af90d2 100644 (file)
 class Vertical_group_spanner : public Axis_group_spanner, public Vertical_group_element
 {
 protected:
-  SCORE_ELEMENT_CLONE(Vertical_group_spanner);
+  VIRTUAL_COPY_CONS(Score_element);
   virtual void do_junk_links () { Axis_group_spanner::do_junk_links (); }
   virtual void do_unlink () { Axis_group_spanner::do_unlink (); }
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
   Vertical_group_spanner ();
 };
 
index 97e905254f668724f732fed649bfb2bc643bf0ec..ce9613b3aad34a8fc906efcbfa450bc8fbbe09c6 100644 (file)
@@ -26,7 +26,7 @@ protected:
   Sequential_music * sequential_music_l() const;
 public:
   Sequential_music_iterator ();
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  
 protected:
   virtual void do_print() const;
   virtual void construct_children();
index ad00cb3685660985070b01cc523388db75d4a97e..2428f6655ab60c635d2033d57dd144044188168a 100644 (file)
@@ -22,7 +22,7 @@ Item::Item ()
   broken_to_drul_[LEFT] = broken_to_drul_[RIGHT]=0;
 }
 
-IMPLEMENT_IS_TYPE_B1(Item, Score_element);
+
 
 void
 Item::do_print() const
index b21c0d92e96ff7141dd176798e83c3a82495606d..4ac49a3032deff4b80ddaa54a76f924937fba4ee 100644 (file)
@@ -56,7 +56,7 @@ Key_engraver::create_key ()
 
 
 bool
-Key_engraver::do_try_request (Request * req_l)
+Key_engraver::do_try_music (Music * req_l)
 {
   if (Key_change_req *kc = dynamic_cast <Key_change_req *> (req_l))
     {
@@ -205,6 +205,6 @@ Key_engraver::do_post_move_processing ()
 }
 
 
-IMPLEMENT_IS_TYPE_B1 (Key_engraver,Engraver);
+
 ADD_THIS_TRANSLATOR (Key_engraver);
 
index 85a92f56e9ef13fa2444bce0abeccd25436bcc4a..d6e9aecb8652c2d5dd5ac88bc45866efe6011d9a 100644 (file)
@@ -129,7 +129,7 @@ Key_item::brew_molecule_p() const
   return output;
 }
 
-IMPLEMENT_IS_TYPE_B1(Key_item,Item);
+
 
 void 
 Key_item::do_pre_processing()
index b163e4022fc17d229d967d1e9e6b20ede1d37a4f..3260ef2ca75b6fd2b072e4ad4a27e3ca4e4c8957 100644 (file)
@@ -12,7 +12,7 @@
 
 
 
-IMPLEMENT_IS_TYPE_B1(Key_performer,Performer);
+
 ADD_THIS_TRANSLATOR(Key_performer);
 
 Key_performer::Key_performer()
@@ -42,7 +42,7 @@ Key_performer::do_process_requests()
 }
 
 bool
-Key_performer::do_try_request (Request* req_l)
+Key_performer::do_try_music (Music* req_l)
 {
   if (Key_change_req *kc = dynamic_cast <Key_change_req *> (req_l))
     {
index 108e76c5c7ac51cebff1ca378b1628a2446daf3a..0fd424aa928a31563884da7587ad89fe3596eb7f 100644 (file)
@@ -61,6 +61,6 @@ Line_group_engraver_group::do_announces ()
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Line_group_engraver_group,Engraver_group_engraver);
+
 ADD_THIS_TRANSLATOR(Line_group_engraver_group);
 
index 9e2e7edb0324927b4b50b3673610a581757cae7f..c91627ffb04fd13398979bee7f064f33b051c409 100644 (file)
@@ -20,7 +20,7 @@ Line_of_score::Line_of_score()
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Line_of_score,Spanner);
+
 
 void
 Line_of_score::add_element (Score_element*e)
index 4edb8b874682720a6c5dd29e1daf3ccc38c3be7d..88042137b53be01ea5f90c1bf95258ea7040a80f 100644 (file)
@@ -32,7 +32,7 @@ Local_key_engraver::do_creation_processing ()
     Breaks if Key_engraver is removed from under us.
    */
   Translator * result =
-    daddy_grav_l()->get_simple_translator (Key_engraver::static_name());
+    daddy_grav_l()->get_simple_translator ("Key_engraver");
 
   if (!result)
     {
@@ -132,5 +132,5 @@ Local_key_engraver::do_process_requests()
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Local_key_engraver,Engraver);
+
 ADD_THIS_TRANSLATOR(Local_key_engraver);
index a78ec7a371f9cc4012ab5ea668281f64bbed7adb..3e0a90e89075a8bdc4301c9a71cdffeb2fc23f5b 100644 (file)
@@ -111,7 +111,7 @@ Local_key_item::brew_molecule_p() const
   return output;
 }
 
-IMPLEMENT_IS_TYPE_B1(Local_key_item,Item);
+
 
 void
 Local_key_item::do_substitute_dependency (Score_element*o,Score_element*n)
index 9555cad7ebbd1182bb65817d23a025ad13085d0f..d3c6fdf6577202a3c9a249cd3dacd7d469e5c7e3 100644 (file)
@@ -21,7 +21,7 @@ Lyric_engraver::Lyric_engraver()
 }
 
 bool
-Lyric_engraver::do_try_request (Request*r)
+Lyric_engraver::do_try_music (Music*r)
 {
   if (Lyric_req * lr = dynamic_cast <Lyric_req *> (r))
     {
@@ -75,5 +75,5 @@ Lyric_engraver::do_pre_move_processing()
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Lyric_engraver,Engraver);
+
 ADD_THIS_TRANSLATOR(Lyric_engraver);
index e8c8892339c85784b87f93bec8c8cc77ca56676d..37d17bad3cb0765d1399ec5be483d59ea7410334 100644 (file)
@@ -13,7 +13,7 @@
 
 
 
-IMPLEMENT_IS_TYPE_B1(Lyric_performer,Performer);
+
 ADD_THIS_TRANSLATOR(Lyric_performer);
 
 void 
@@ -34,7 +34,7 @@ Lyric_performer::do_process_requests()
 }
 
 bool
-Lyric_performer::do_try_request (Request* req_l)
+Lyric_performer::do_try_music (Music* req_l)
 {
   if (Lyric_req *lr = dynamic_cast <Lyric_req *> (req_l))
     {
index eed54dcf0e305c57c5f4587a428676250cdf9b4b..1f593f5aed3236d63e9ad9bca51486ae83d46b1c 100644 (file)
@@ -135,7 +135,7 @@ usage ()
     "STRING_UTILS_INLINED "
 #endif
         "datadir=" DIR_DATADIR
-       " "
+       "\n"
         "localedir=" DIR_LOCALEDIR
 
     "\n";
@@ -225,12 +225,12 @@ setup_paths ()
     global_path.parse_path (env_sz);
 
 
-  char *suffixes[] = {"ly", "afm", "scm", 0};
+  char *suffixes[] = {"ly", "afm", "scm", "init", 0};
   for (char **s = suffixes; *s; s++){
       if (!prefix_directory.empty_b())
-         global_path.add (prefix_directory + String (*s));
+         global_path.add (prefix_directory + to_str ('/') + String (*s));
       else
-         global_path.add (String (DIR_DATADIR) + String(*s));
+         global_path.add (String (DIR_DATADIR) + to_str ('/') + String(*s));
   }
 }
 
@@ -304,12 +304,11 @@ main_prog (int argc, char **argv)
 
   default_outname_base_global = "lelie";
 
-  
-
   int p=0;
   const char *arg ;
   while ((arg= oparser.get_next_arg ()))
     {
+      
       if (outname_str == "")
        {
          Midi_def::reset_default_count ();
index 3c25f1aeae76f3122eb686f288635720fed80370..55390bfae301315df6d9f94b29ec6d24c292e69b 100644 (file)
@@ -14,7 +14,7 @@
 #include "time-description.hh"
 #include "engraver-group.hh"
 
-IMPLEMENT_IS_TYPE_B1 (Mark_engraver, Engraver);
+
 ADD_THIS_TRANSLATOR (Mark_engraver);
 
 Mark_engraver::Mark_engraver ()
@@ -24,7 +24,7 @@ Mark_engraver::Mark_engraver ()
 }
 
 bool
-Mark_engraver::do_try_request (Request* r_l)
+Mark_engraver::do_try_music (Music* r_l)
 {
   if (Mark_req *mr = dynamic_cast <Mark_req *> (r_l))
     {
index 275939aa4ec4117e1f1a55c2b54063d6c475d85b..88ccea73a779dd455f068315063617baf5b00d44 100644 (file)
@@ -68,7 +68,7 @@ Midi_def::print() const
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Midi_def, Music_output_def);
+
 
 int Midi_def::default_count_i_=0;
 int
index 7ae9551f7d91f21d39533425af072f3d32f6849e..106ee8bcbaaa1f249fe7e4c89b69a51e1f0fe5ed 100644 (file)
 #include "midi-stream.hh"
 #include "audio-item.hh"
 
-IMPLEMENT_IS_TYPE_B (Midi_item);
-IMPLEMENT_IS_TYPE_B1 (Midi_chunk, Midi_item);
-IMPLEMENT_IS_TYPE_B1 (Midi_duration, Midi_item);
-IMPLEMENT_IS_TYPE_B1 (Midi_header, Midi_chunk);
-IMPLEMENT_IS_TYPE_B1 (Midi_instrument, Midi_item);
-IMPLEMENT_IS_TYPE_B1 (Midi_key,Midi_item);
-IMPLEMENT_IS_TYPE_B1 (Midi_time_signature, Midi_item);
-IMPLEMENT_IS_TYPE_B1 (Midi_note, Midi_item);
-IMPLEMENT_IS_TYPE_B1 (Midi_note_off, Midi_item);
-IMPLEMENT_IS_TYPE_B1 (Midi_tempo, Midi_item);
-IMPLEMENT_IS_TYPE_B1 (Midi_text, Midi_item);
-IMPLEMENT_IS_TYPE_B1 (Midi_track, Midi_chunk);
+
+
+
+
+
+
+
+
+
+
+
+
 
 Midi_chunk::Midi_chunk ()
   : Midi_item (0)
index d72da1d4f0e545863f2bb217a95893583c893c09..ad1b82d413f0ff8914314808ac9b749fec38717b 100644 (file)
@@ -12,7 +12,7 @@
 #include "score-column.hh"
 #include "time-description.hh"
 
-IMPLEMENT_IS_TYPE_B1 (Multi_measure_rest_engraver, Engraver);
+
 ADD_THIS_TRANSLATOR (Multi_measure_rest_engraver);
 
 Multi_measure_rest_engraver::Multi_measure_rest_engraver ()
@@ -24,12 +24,12 @@ Multi_measure_rest_engraver::Multi_measure_rest_engraver ()
 }
 
 bool
-Multi_measure_rest_engraver::do_try_request (Request* req_l)
+Multi_measure_rest_engraver::do_try_music (Music* req_l)
 {
  if (Multi_measure_rest_req *mr = dynamic_cast<Multi_measure_rest_req *> (req_l))
    {
      if (multi_measure_req_l_)
-       if (!multi_measure_req_l_->equal_b (req_l)
+       if (!multi_measure_req_l_->equal_b (mr)
           || req_start_mom_ != now_moment ())
         return false;
   
index c1df9ba763ce57612d7aece8ad223f85f2edf07d..27b13a42da6920212b0613cbb644dc917ad8682d 100644 (file)
@@ -16,7 +16,7 @@
 #include "text-def.hh"
 #include "molecule.hh"
 
-IMPLEMENT_IS_TYPE_B1 (Multi_measure_rest, Item);
+
 
 Multi_measure_rest::Multi_measure_rest ()
 {
index 5505c145a7436154c5d49ffc409b39a343948047..43891b05605675e9025f0ecc810b6a7e943e9a10 100644 (file)
@@ -23,7 +23,7 @@
 
 
 
-IMPLEMENT_IS_TYPE_B(Music_iterator);
+
 
 
 void
@@ -38,9 +38,9 @@ Music_iterator::print() const
 #ifndef NPRINT
   if (!check_debug)
     return ;
-  DOUT << name() << "{";
+  DOUT << classname(this) << "{";
   DOUT << "report to " << 
-    report_to_l() << " (" << report_to_l ()->name () << ")\n";
+    report_to_l() << " (" << classname (report_to_l ()) << ")\n";
   if (ok())
     DOUT << "next at " << next_moment() << " ";
   else
index b712f3e2554d57924e80b26521ae6bd8a3efe59c..42d9b801e86c2d6a6cd69d21da1b4e1b67ce8134 100644 (file)
@@ -14,8 +14,8 @@
 #include "musical-request.hh"
 
 
-IMPLEMENT_IS_TYPE_B1(Sequential_music,Music_sequence);
-IMPLEMENT_IS_TYPE_B1(Simultaneous_music,Music_sequence);
+
+
 
 Moment
 Simultaneous_music::duration () const
@@ -103,7 +103,7 @@ Music_list::add_music (Music*m_p)
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Request_chord, Simultaneous_music);
+
 
 
 Request_chord::Request_chord()
index cdd7af56a8810f8d717e4add2dd835a1177cf5e8..adace25f0acbbf75568ff71ca910a6fb88190b82 100644 (file)
@@ -19,7 +19,7 @@ Music_output_def::get_next_default_count () const
   return 0;
 }
 
-IMPLEMENT_IS_TYPE_B(Music_output_def);
+
 
 Music_output_def::Music_output_def ()
 {
index 8d8299a510df7309b7643522e5f8409aa3f99e61..697f25854a80250fa8fa2d87d174d34cb0f2aa23 100644 (file)
@@ -16,7 +16,7 @@ Music_sequence::Music_sequence (Music_sequence const&s)
   music_p_list_p_ = new Music_list (*s.music_p_list_p_);
 }
 
-IMPLEMENT_IS_TYPE_B1(Music_sequence, Music);
+
 
 Music_sequence::Music_sequence(Music_list *mlist_p)
 {
index 4e0ca78ff7977de010960d0b63a47fd18eae9a15..d5ed47629c241bc482e4a7bde8338bfca3355d8d 100644 (file)
@@ -16,7 +16,7 @@ Music_wrapper_iterator::Music_wrapper_iterator ()
   child_iter_p_ =0;
 }
 
-IMPLEMENT_IS_TYPE_B1(Music_wrapper_iterator, Music_iterator);
+
 
 void
 Music_wrapper_iterator::do_print () const
index 1785b386d4d688d0520ef34c8c62db3b2205364b..c91a81df3d9fefd8a9a7febd961ab06e56dacc28 100644 (file)
@@ -42,7 +42,7 @@ Music_wrapper::Music_wrapper(Music*p)
   element_p_ = p;
 }
 
-IMPLEMENT_IS_TYPE_B1 (Music_wrapper, Music);
+
 
 Moment
 Music_wrapper::duration () const
index 2127783d7bc1a26b0ea7f39eb77fc1d38a06502e..316cbff1d95e7d8db5ff655c852fe62d38ed6617 100644 (file)
@@ -24,7 +24,7 @@ Music::print() const
 #ifndef NPRINT
   if (! check_debug)
     return ;
-  DOUT << name() << "{";
+  DOUT << classname(this) << "{";
   if  (translator_type_str_.length_i ())
     DOUT << translator_type_str_ << " = " << translator_id_str_;
   do_print();
@@ -44,7 +44,7 @@ Music::do_print() const
 }
 
 
-IMPLEMENT_IS_TYPE_B(Music);
+
 
 
 
index 07582ead8cc262919cdce83e767914992910902e..7c64c9229f21c7ee39ab3c972bce4dcf304a4abe 100644 (file)
@@ -15,7 +15,7 @@
 
 
 
-IMPLEMENT_IS_TYPE_B1 (Musical_req,Request);
+
 void
 Musical_req::do_print () const{}
 void
@@ -23,9 +23,9 @@ Tie_req::do_print () const{}
 
 
 
-IMPLEMENT_IS_TYPE_B1(Span_req,Request);
 
-IMPLEMENT_IS_TYPE_B2(Musical_span_req, Span_req, Musical_span_req);
+
+
 
 void
 Musical_span_req::do_print () const
@@ -42,7 +42,7 @@ Span_req::do_print () const
 #endif
 }
 
-IMPLEMENT_IS_TYPE_B1 (Spacing_req,Request);
+
 
 Spacing_req::Spacing_req ()
 {
@@ -59,7 +59,7 @@ Spacing_req::do_print () const
 #endif
 }
 
-IMPLEMENT_IS_TYPE_B1 (Abbreviation_req, Musical_req);
+
 
 Abbreviation_req::Abbreviation_req ()
 {
@@ -75,7 +75,7 @@ Abbreviation_req::do_print () const
 }
 
 
-IMPLEMENT_IS_TYPE_B2 (Blank_req,Spacing_req,Rhythmic_req);
+
 
 void
 Blank_req::do_print () const
@@ -99,7 +99,7 @@ Melodic_req::transpose (Musical_pitch delta)
     }
 }
 
-IMPLEMENT_IS_TYPE_B1 (Melodic_req,Musical_req);
+
 
 bool
 Melodic_req::do_equal_b (Request*r) const
@@ -135,7 +135,7 @@ Rhythmic_req::do_equal_b (Request*r) const
 }
 
 
-IMPLEMENT_IS_TYPE_B1 (Rhythmic_req,Musical_req);
+
 
 void
 Rhythmic_req::do_print () const
@@ -161,7 +161,7 @@ Rhythmic_req::compress (Moment m)
 
 
 
-IMPLEMENT_IS_TYPE_B1 (Lyric_req,Rhythmic_req);
+
 
 void
 Lyric_req::do_print () const
@@ -184,7 +184,7 @@ Note_req::Note_req ()
   forceacc_b_ = false;
 }
 
-IMPLEMENT_IS_TYPE_B2 (Note_req,Melodic_req,Rhythmic_req);
+
 
 void
 Note_req::do_print () const
@@ -203,7 +203,7 @@ Note_req::do_print () const
 #endif
 }
 
-IMPLEMENT_IS_TYPE_B1 (Rest_req, Rhythmic_req);
+
 
 void
 Rest_req::do_print () const
@@ -214,7 +214,7 @@ Rest_req::do_print () const
 
 
 
-IMPLEMENT_IS_TYPE_B1 (Multi_measure_rest_req, Rhythmic_req);
+
 
 void
 Multi_measure_rest_req::do_print () const
@@ -224,7 +224,7 @@ Multi_measure_rest_req::do_print () const
 
 
 
-IMPLEMENT_IS_TYPE_B1 (Beam_req,Span_req);
+
 
 
 void
@@ -233,7 +233,7 @@ Beam_req::do_print () const
 }
 
 
-IMPLEMENT_IS_TYPE_B1 (Abbreviation_beam_req, Span_req);
+
 
 Abbreviation_beam_req::Abbreviation_beam_req ()
 {
@@ -245,13 +245,13 @@ Abbreviation_beam_req::do_print () const
 {
 }
 
-IMPLEMENT_IS_TYPE_B1 (Slur_req,Span_req);
+
 void
 Slur_req::do_print () const
 {
 }
 
-IMPLEMENT_IS_TYPE_B1 (Plet_req,Span_req);
+
 
 Plet_req::Plet_req ()
 {
@@ -263,8 +263,6 @@ Plet_req::do_print () const
 {
 }
 
-IMPLEMENT_IS_TYPE_B1 (Extender_req,Span_req);
-
 Extender_req::Extender_req ()
 {
 }
@@ -313,7 +311,7 @@ Script_req::Script_req ()
 }
 
 
-IMPLEMENT_IS_TYPE_B1 (Script_req,Request);
+
 
 void
 Script_req::do_print () const
@@ -331,7 +329,7 @@ Musical_script_req::do_print () const
 }
 
 
-IMPLEMENT_IS_TYPE_B2 (Musical_script_req,Musical_req, Script_req);
+
 
 
 Script_req::~Script_req ()
@@ -359,7 +357,7 @@ Text_req::Text_req (int dir_i, Text_def* tdef_p)
 }
 
 
-IMPLEMENT_IS_TYPE_B1 (Text_req,Musical_req);
+
 
 void
 Text_req::do_print () const
@@ -372,7 +370,7 @@ Text_req::do_print () const
 
 
 
-IMPLEMENT_IS_TYPE_B1 (Skip_req,Musical_req);
+
 
 void
 Skip_req::do_print () const
@@ -385,7 +383,7 @@ Skip_req::do_print () const
 
 
 
-IMPLEMENT_IS_TYPE_B1 (Dynamic_req,Musical_req);
+
 
 void
 Dynamic_req::do_print () const
@@ -394,7 +392,7 @@ Dynamic_req::do_print () const
 }
 
 
-IMPLEMENT_IS_TYPE_B1 (Absolute_dynamic_req,Musical_req);
+
 
 void
 Absolute_dynamic_req::do_print () const
@@ -469,7 +467,7 @@ Span_dynamic_req::Span_dynamic_req ()
 }
 
 
-IMPLEMENT_IS_TYPE_B1 (Span_dynamic_req,Musical_req);
+
 
 void
 Span_dynamic_req::do_print () const
@@ -481,4 +479,4 @@ Span_dynamic_req::do_print () const
 }
 
 
-IMPLEMENT_IS_TYPE_B1 (Tie_req,Musical_req);
+
index ef0c81e380d32d24a23eec70c33045f3e0c417ed..3894bd6e2bcb81659b3fdebac2b8d388cb28f570 100644 (file)
@@ -13,7 +13,7 @@
 #include "rest.hh"
 #include "debug.hh"
 
-IMPLEMENT_IS_TYPE_B1(Note_column,Script_column);
+
 
 bool
 Note_column::rest_b () const
index 8245b676408ef58f129c68065ff86b2c2966966e..b8c5668bd090b1ff401dc7be77453d3977dc0b7b 100644 (file)
@@ -34,7 +34,7 @@ Note_head::do_pre_processing ()
     dots_l_->position_i_ = position_i_;
 }
 
-IMPLEMENT_IS_TYPE_B1(Note_head,Rhythmic_head);
+
 
 
 int
index d63b433a4fe7b0fdf8cccbd2c328104f5caf042c..bda50b6188a6e9712b9087c286b84e51ff7a24bf 100644 (file)
@@ -11,7 +11,7 @@
 #include "audio-item.hh"
 #include "debug.hh"
 
-IMPLEMENT_IS_TYPE_B1 (Note_performer,Performer);
+
 ADD_THIS_TRANSLATOR (Note_performer);
 
 Note_performer::Note_performer ()
@@ -47,7 +47,7 @@ Note_performer::do_process_requests ()
 }
 
 bool 
-Note_performer::do_try_request (Request* req_l)
+Note_performer::do_try_music (Music* req_l)
 {
   if (note_req_l_)
     return false;
index 74ea11e5ea64724dec5a95a03ba3276a895b458f..22fff9ce36f4738f659630a1d1bdc4727571668b 100644 (file)
@@ -125,7 +125,7 @@ Paper_column::used_b() const
   return linked_b();
 }
 
-IMPLEMENT_IS_TYPE_B1(Paper_column, Horizontal_group_item);
+
 
 Paper_column*
 Paper_column::column_l () const
index 863e1593ced326e6c3ce816790b0ed97f6642841..0c1a88dc67b1434f9e73cba5f10d100bb6215db6 100644 (file)
@@ -208,7 +208,7 @@ Paper_def::lookup_l (int i) const
   return (*lookup_p_assoc_p_)[i];
 }
 
-IMPLEMENT_IS_TYPE_B1 (Paper_def, Music_output_def);
+
 
 int Paper_def::default_count_i_ = 0;
 
index 510ff51e221c5ee2e4a8998ad190c0ec93417084..55b5880d872effb36bda91545c4ca8cc1bff6dbd 100644 (file)
@@ -11,6 +11,6 @@
 
 #include "debug.hh"
 
-IMPLEMENT_IS_TYPE_B2(Performer_group_performer,Performer, Translator_group);
+
 ADD_THIS_TRANSLATOR(Performer_group_performer);
 
index 449caf22bb486cc2de1c436eafbd99a6fb2f01f9..1403b9aed6c4defeb41658a7301a08b16bde8a3e 100644 (file)
@@ -12,7 +12,7 @@
 #include "debug.hh"
 
 
-IMPLEMENT_IS_TYPE_B1(Performer, Translator);
+
 
 void 
 Performer::play (Audio_element* p) 
index 0d0d6a1ff0438eba6ec78dd1febf964159b0d6c8..6d17cbc6ad3b50a3a72d73bf64e42e3017459c64 100644 (file)
@@ -49,6 +49,6 @@ Piano_brace::do_post_processing ()
     }
 }
 
-IMPLEMENT_IS_TYPE_B1(Piano_brace, Span_score_bar);
+
 
   
index 8c3273cd7c9228c78a153e1bf4b0d8ae6b4f3769..19cdc5736d4f0b293f880f7932038ffdf936db5c 100644 (file)
@@ -20,5 +20,5 @@ Pitch_squash_engraver::acknowledge_element (Score_element_info i)
 }
 
 ADD_THIS_TRANSLATOR (Pitch_squash_engraver);
-IMPLEMENT_IS_TYPE_B1(Pitch_squash_engraver, Engraver);
+
 
index 0693b5017d36054a040ef47684fe9e71beaeb2a9..a1ab4444991a1b50892d774ef2e1c70339daf157 100644 (file)
@@ -1,3 +1,4 @@
+#if 0
 /*
   plet-engraver.cc -- implement Plet_engraver
 
@@ -13,7 +14,7 @@
 #include "score-column.hh"
 #include "stem.hh"
 
-IMPLEMENT_IS_TYPE_B1 (Plet_engraver,Engraver);
+
 ADD_THIS_TRANSLATOR (Plet_engraver);
 
 Plet_engraver::Plet_engraver ()
@@ -44,7 +45,7 @@ Plet_engraver::acknowledge_element (Score_element_info i)
 }
 
 bool
-Plet_engraver::do_try_request (Request* req_l)
+Plet_engraver::do_try_music (Music* req_l)
 {
   /*
     UGH! This is incorrect!
@@ -69,7 +70,7 @@ Plet_engraver::do_try_request (Request* req_l)
     return false;
 
   Direction d = (!plet_spanner_p_) ? LEFT : RIGHT;
-  if (span_reqs_drul_[d] && !span_reqs_drul_[d]->equal_b (req_l))
+  if (span_reqs_drul_[d] && !span_reqs_drul_[d]->equal_b (p))
     return false;
 
   span_reqs_drul_[d] = p;
@@ -128,3 +129,4 @@ Plet_engraver::do_pre_move_processing ()
   span_reqs_drul_[RIGHT] = span_reqs_drul_[LEFT] = 0;
 }
 
+#endif
diff --git a/lily/plet-spanner.cc b/lily/plet-spanner.cc
deleted file mode 100644 (file)
index 57f6ca3..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
-  plet-spanner.cc -- implement Plet_spanner
-
-  source file of the GNU LilyPond music typesetter
-
-  (c)  1997--1998 Jan Nieuwenhuizen <janneke@gnu.org>
-*/
-
-#include "atom.hh"
-#include "box.hh"
-#include "debug.hh"
-#include "lookup.hh"
-#include "molecule.hh"
-#include "p-col.hh"
-#include "paper-def.hh"
-#include "plet-spanner.hh"
-#include "stem.hh"
-#include "text-def.hh"
-
-
-/*
-  UHGUGH THIS IS BROKEN! do not derive from Bow
- */
-IMPLEMENT_IS_TYPE_B1 (Plet_spanner,Bow);
-  
-Plet_spanner::Plet_spanner ()
-  : Bow ()
-{
-  stem_l_drul_[RIGHT] =0;
-  stem_l_drul_[LEFT] =0;
-  visibility_i_ = 3;
-
-  tdef_p_ = new Text_def;
-  tdef_p_->align_dir_ = CENTER;
-  tdef_p_->style_str_ = "italic";
-}
-
-Plet_spanner::Plet_spanner (Plet_spanner const& c)
-  : Bow (c)
-{
-  tdef_p_ = new Text_def (*c.tdef_p_);
-  stem_l_drul_ = c.stem_l_drul_;
-  visibility_i_ = c.visibility_i_;
-}
-
-Plet_spanner::~Plet_spanner ()
-{
-  delete tdef_p_;
-}
-
-Molecule*
-Plet_spanner::brew_molecule_p () const
-{
-  Molecule* mol_p = new Molecule;
-
-  Real w = width ().length ();
-  
-  Real dy_f = dy_f_drul_[RIGHT] - dy_f_drul_[LEFT];
-  
-  w += (dx_f_drul_[RIGHT] - dx_f_drul_[LEFT]);
-  
-  Atom a = lookup_l ()->plet (dy_f, w, dir_);
-
-  a.translate (Offset (dx_f_drul_[LEFT], dy_f_drul_[LEFT]));
-
-  if (visibility_i_ >= 2)
-      mol_p->add_atom (a);
-
-  Real interline_f = paper ()->interline_f ();
-  Real numy_f = (dir_ > 0 ? 0 : -interline_f) + dir_ * interline_f / 2;
-  Atom num (tdef_p_->get_atom (paper (), CENTER));
-  num.translate (Offset (width ().length () / 1.8 + dx_f_drul_[LEFT], 
-    dy_f_drul_[LEFT] + dy_f / 2 + numy_f));
-
-  if (visibility_i_ >= 1)
-    mol_p->add_atom (num);
-
-  return mol_p;
-}
-  
-void
-Plet_spanner::do_add_processing ()
-{
-  if (! (stem_l_drul_[LEFT] && stem_l_drul_[RIGHT]))
-    warning (_ ("lonely plet"));
-
-  Direction d = LEFT;
-  Drul_array<Stem *> new_stem_drul = stem_l_drul_;
-  do {
-    if (!stem_l_drul_[d])
-      new_stem_drul[d] = stem_l_drul_[(Direction)-d];
-  } while (flip(&d) != LEFT);
-  stem_l_drul_ = new_stem_drul;
-}
-  
-void
-Plet_spanner::do_post_processing ()
-{
-  Real interline_f = paper ()->interline_f ();
-  Real nh_f = interline_f / 2;
-  assert (stem_l_drul_[LEFT] || stem_l_drul_[RIGHT]);
-
-  // ugh
-  Real nw_f = paper ()->note_width () * 0.8;
-
-  Direction d = LEFT;
-  do
-    {
-      Stem* s = stem_l_drul_[d] ? stem_l_drul_[d] : stem_l_drul_[(Direction)-d];
-
-      dy_f_drul_[d] = dir_ == s->get_dir () ? s->stem_end_f ()
-         : s->stem_begin_f () + dir_ * nh_f / 2;
-      dy_f_drul_[d] *= .5 * interline_f;
-      dy_f_drul_[d] += dir_ * interline_f;
-      if (d == RIGHT)
-        dx_f_drul_[d] = nw_f;
-    }
-  while (flip(&d) != LEFT);
-  do {
-    if (stem_l_drul_[d]->empty_b ())
-      {
-        Direction u = d;
-       flip (&u);
-       dy_f_drul_[d] = dy_f_drul_[u]; // ughugh \[/3 r8 c8 r8 \]/1
-      }
-    }
-  while (flip(&d) != LEFT);
-}
-
-void
-Plet_spanner::do_substitute_dependency (Score_element* o, Score_element* n)
-{
-  Stem* new_l = n ? dynamic_cast<Stem *> (n) : 0;
-  if (dynamic_cast <Item *> (o) == stem_l_drul_[LEFT])
-    stem_l_drul_[LEFT] = new_l;
-  else if (dynamic_cast <Item *> (o) == stem_l_drul_[RIGHT])
-    stem_l_drul_[RIGHT] = new_l;
-}
-  
-void
-Plet_spanner::set_default_dir ()
-{
-  Real m = (stem_l_drul_[LEFT]->stem_end_f () 
-           + stem_l_drul_[RIGHT]->stem_end_f ()) / 2;
-  dir_ =  (m < 0) ? DOWN : UP;
-}
-
-void
-Plet_spanner::set_stem (Direction d, Stem* stem_l)
-{
-  assert (!stem_l_drul_[d]);
-  stem_l_drul_[d] = stem_l;
-  set_bounds (d, stem_l);
-
-  add_dependency (stem_l);
-}
-
index 994a84003b610abcc3ce4e2be53439485ec6821d..3144ebc37daaedc4e153aa29bce7717ec8524cae 100644 (file)
@@ -9,11 +9,11 @@
 #include "musical-request.hh"
 #include "plet-swallow-engraver.hh"
 
-IMPLEMENT_IS_TYPE_B1(Plet_swallow_engraver,Swallow_engraver);
+
 ADD_THIS_TRANSLATOR(Plet_swallow_engraver);
 
 bool
-Plet_swallow_engraver::do_try_request (Request* req_l)
+Plet_swallow_engraver::do_try_music (Music* req_l)
 {
   return dynamic_cast<Plet_req *> (req_l);
 }
index 6a9d8d15ddf2be381eaefbc55d0147d343880c0a..cffd56ebefb849476cfa325d258f661a8119c107 100644 (file)
@@ -46,5 +46,5 @@ Priority_horizontal_align_engraver::acknowledge_element (Score_element_info i)
     }
 }
 
-IMPLEMENT_IS_TYPE_B1(Priority_horizontal_align_engraver,Engraver);
+
 ADD_THIS_TRANSLATOR(Priority_horizontal_align_engraver);
index 92f1a2c8dfd6f414417b20486404bdfa82d0668c..2037955b83d85341edac74f6a5525dd4f0083eac 100644 (file)
@@ -18,7 +18,7 @@ Property_iterator::do_process_and_next (Moment m)
   Music_iterator::do_process_and_next (m);
 }
 
-IMPLEMENT_IS_TYPE_B1(Property_iterator, Music_iterator);
+
 
 Translation_property*
 Property_iterator::property_l () const
index db24b85fc0d12ca57025970b346d675d8c40db20..dafd7bf7b4160c5e2c3be8645b44944a5f8c82d2 100644 (file)
@@ -30,4 +30,4 @@ Relative_octave_music::do_print () const
   DOUT << "default pitch: " << last_pitch_.str ();
 }
 
-IMPLEMENT_IS_TYPE_B1 (Relative_octave_music, Music_wrapper);
+
index 5ed0f311556015b890cc3724c78e0184263a5a08..410a38d37cd7cbfb870c60f5395e6154484b7e06 100644 (file)
@@ -12,7 +12,7 @@
 #include "music-list.hh"
 #include "request.hh"
 
-IMPLEMENT_IS_TYPE_B1(Request_chord_iterator,Music_iterator);
+
 
 void
 Request_chord_iterator::construct_children()
@@ -67,12 +67,13 @@ Request_chord_iterator::do_process_and_next (Moment mom)
        {
          if (Request * req_l = dynamic_cast<Request*> (i.ptr()))
            {
-             bool gotcha = report_to_l()->try_request (req_l);
+             bool gotcha = report_to_l()->try_music (req_l);
              if (!gotcha)
-               req_l->warning (_f ("junking request: `%s\'", req_l->name()));
+               req_l->warning (_f ("junking request: `%s\'", classname( req_l)));
            }
          else
-           i.ptr ()->warning (_f ("Huh? Not a Request: `%s\'", i.ptr()->name ()));
+           i.ptr ()->warning (_f ("Huh? Not a Request: `%s\'",
+                                  classname (i.ptr())));
        }
       first_b_ = false;
     }
index aadbe80aef67c7a4b9cc385664196de46066a581..128af0a8830a644ab971329f140c729adb326880 100644 (file)
@@ -10,7 +10,7 @@
 #include "debug.hh"
 
 
-IMPLEMENT_IS_TYPE_B1(Request,Music);
+
 
 void
 Request::do_print() const
index 89ac8e65316395df4975487433789f46984dc553..14dab36b340d4a4e37a6ef7137830a7fb0aa4820 100644 (file)
@@ -13,7 +13,7 @@
 #include "note-column.hh"
 
 
-IMPLEMENT_IS_TYPE_B1(Rest_collision_engraver, Engraver);
+
 ADD_THIS_TRANSLATOR(Rest_collision_engraver);
 
 Rest_collision_engraver::Rest_collision_engraver()
index 095c6ac4695620804dfd895388847bf459a68c27..c89d39a73a795302456908b6ebdc72352f3acbe7 100644 (file)
@@ -15,7 +15,7 @@
 #include "paper-def.hh"
 
 
-IMPLEMENT_IS_TYPE_B1(Rest_collision,Item);
+
 
 void
 Rest_collision::add_column (Note_column *nc_l)
index 2170886e550e7684cc0467acf1f607e21b481de0..93d26e0484b47c8f88559b5d294d1a0220638d42 100644 (file)
@@ -60,7 +60,7 @@ Rest_engraver::do_process_requests ()
 }
 
 bool
-Rest_engraver::do_try_request (Request *req)
+Rest_engraver::do_try_music (Music *req)
 {
   if (Rest_req *r = dynamic_cast <Rest_req *> (req))
     {
@@ -70,5 +70,5 @@ Rest_engraver::do_try_request (Request *req)
   return false;
 }
 
-IMPLEMENT_IS_TYPE_B1(Rest_engraver, Engraver);
+
 ADD_THIS_TRANSLATOR(Rest_engraver);
index dc13cb911f14c724dc40f6a15b5fd01f7994740d..d9d2b765d004a3e4a835ce18a4b8ec2fa24bce17 100644 (file)
@@ -47,4 +47,4 @@ Rest::brew_molecule_p () const
   return m;
 }
 
-IMPLEMENT_IS_TYPE_B1(Rest, Rhythmic_head);
+
index 8bccc1eec63e24f2ea876dac1bacd1028c627d9d..388e54cab64af1d975325da40362bca521ad012c 100644 (file)
@@ -117,5 +117,5 @@ Rhythmic_column_engraver::do_post_move_processing()
 
 
 
-IMPLEMENT_IS_TYPE_B1(Rhythmic_column_engraver,Engraver);
+
 ADD_THIS_TRANSLATOR(Rhythmic_column_engraver);
index b25b5ac950e20775e1862b507210e8298e74b58f..b2c72a65dd24cace9f40cab956e021d2f55b299a 100644 (file)
@@ -55,7 +55,7 @@ Rhythmic_head::do_substitute_dependent (Score_element*o,Score_element*n)
     dots_l_ = n ? dynamic_cast<Dots *> (n) :0;
 }
 
-IMPLEMENT_IS_TYPE_B1(Rhythmic_head, Item);
+
 void
 Rhythmic_head::do_print () const
 {
index d276f131029f68c35d721740b4edc42ce5df0130..3ee87e09e5b13972993df61d48e0ce52006dbda1 100644 (file)
@@ -9,4 +9,4 @@
 
 #include "score-bar.hh"
 
-IMPLEMENT_IS_TYPE_B1(Score_bar, Bar);
+
index 6481709e27ed14d4f34c568c81c12de2f9800858..54a52bf502884eb5be5a6fe61327496557f14d36 100644 (file)
@@ -65,4 +65,4 @@ Score_column::add_duration (Moment d)
   durations.push (d);
 }
 
-IMPLEMENT_IS_TYPE_B1(Score_column, Paper_column);
+
index 81aa07fdbf4a6d3d4bcc98890686dfbf5f13f4aa..60aec0732346150c2bb54d986aa16ed136df3d22 100644 (file)
@@ -9,7 +9,7 @@
 #include "score-element-info.hh"
 #include "request.hh"
 
-Score_element_info::Score_element_info (Score_element*s_l, Request*r_l)
+Score_element_info::Score_element_info (Score_element*s_l, Music *r_l)
 {
   elem_l_ = s_l;
   req_l_ = r_l;
index a82e50adeea0ce88e5fc2ca749b33bb8c0f46c4e..6bdc9d990285f8a07451aaa8f9b48d509f4ab73c 100644 (file)
@@ -111,7 +111,7 @@ void
 Score_element::print() const
 {
 #ifndef NPRINT
-  DOUT << name() << "{\n";
+  DOUT << classname(this) << "{\n";
   DOUT << "dets: " << dependent_size() << "dependencies: " << 
     dependency_size();
  
@@ -181,7 +181,7 @@ Score_element::do_brew_molecule ()
       i->origin_l_ = this;
     }
   
-  pscore_l_->outputter_l_->output_molecule (output, absolute_offset (), name());
+  pscore_l_->outputter_l_->output_molecule (output, absolute_offset (), classname(this));
   delete output;
 }
 
@@ -242,7 +242,7 @@ Score_element::do_junk_links()
 {
 }
 
-IMPLEMENT_IS_TYPE_B1(Score_element, Graphical_element);
+
 
 Molecule*
 Score_element::brew_molecule_p() const
index 37a73b00c19646b93af9baaa3d00693f05b963a9..296a129465568befa8525eb07b20fd056d6c01a8 100644 (file)
@@ -140,7 +140,7 @@ Score_engraver::typeset_all()
            if (!s->spanned_drul_[d])
              {
                s->set_bounds(d, command_column_l_);
-               ::warning (_f ("Unbound spanner `%s\'", s->name ()));
+               ::warning (_f ("Unbound spanner `%s\'", classname(s)));
              }
          } while (flip(&d) != LEFT);
        }
@@ -235,9 +235,9 @@ Score_engraver::get_output_p ()
 }
 
 bool
-Score_engraver::do_try_request (Request*r)
+Score_engraver::do_try_music (Music*r)
 {
-  bool gotcha = Engraver_group_engraver::do_try_request (r);  
+  bool gotcha = Engraver_group_engraver::do_try_music (r);  
 
   if (!gotcha)
     {
@@ -256,7 +256,7 @@ Score_engraver::do_try_request (Request*r)
 
 }
 
-IMPLEMENT_IS_TYPE_B1(Score_engraver,Engraver_group_engraver);
+
 ADD_THIS_TRANSLATOR(Score_engraver);
 
 void
index 48822afc4c3dbdbb627cc8e91aa931d67106a05b..f34dddf2827730f516858cb609dbe129b7db42c8 100644 (file)
@@ -19,7 +19,7 @@
 #include "source.hh"
 #include "audio-staff.hh"
 
-IMPLEMENT_IS_TYPE_B1(Score_performer,Performer_group_performer);
+
 ADD_THIS_TRANSLATOR(Score_performer);
 
 
index bb9f75513c8e44c953898448fe173c779f4cee99..fb0f0784d8da97edd879b0214196574206d9c26e 100644 (file)
@@ -75,5 +75,5 @@ Score_priority_engraver::acknowledge_element (Score_element_info inf)
     }
 }
 
-IMPLEMENT_IS_TYPE_B1(Score_priority_engraver, Engraver);
+
 ADD_THIS_TRANSLATOR(Score_priority_engraver);
index e00f9f04a6c860b661c392beba41df763f506c1d..e1c5e273801d86a3f13785bf8fff32ad5717f16a 100644 (file)
@@ -13,7 +13,7 @@
 #include "stem.hh"
 #include "general-script-def.hh"
 
-IMPLEMENT_IS_TYPE_B1(Script_column,Horizontal_vertical_group_item);
+
 
 
 void
index daf721f0416ac8327228cd3d98e07a0356839e31..b74cf814f00dfbbf8c89d514681350d6368dbd08 100644 (file)
@@ -82,7 +82,7 @@ Script_def::get_atom (Paper_def *p , Direction d) const
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Script_def,General_script_def);
+
 
 int
 Script_def::priority_i() const
index 17cc5dd70d32c9b7c505159cd546becd58d0db2a..3cc7914dc39fc98bfa95eeb3f6863c6ae7f74a3f 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  script-reg.cc -- implement Script_engraver
+  script-engraver.cc -- implement Script_engraver
 
   (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
@@ -19,19 +19,19 @@ Script_engraver::Script_engraver()
 }
 
 bool
-Script_engraver::do_try_request (Request *r_l)
+Script_engraver::do_try_music (Music *r_l)
 {
-  if (!dynamic_cast <Musical_script_req *> (r_l))
-    return false ;
-  
-  for (int i=0; i < script_req_l_arr_.size(); i++) 
+  if (Musical_script_req *mr = dynamic_cast <Musical_script_req *> (r_l))
     {
-      if (r_l->equal_b (script_req_l_arr_[i]))
-       return true;
+      for (int i=0; i < script_req_l_arr_.size(); i++) 
+       {
+         if (script_req_l_arr_[i]->equal_b (mr))
+           return true;
+       }
+      script_req_l_arr_.push (mr);
+      return true;
     }
-  script_req_l_arr_.push (dynamic_cast <Script_req *> (r_l));
-  
-  return true;
+  return false;
 }
 
 void
@@ -89,5 +89,5 @@ Script_engraver::do_post_move_processing()
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Script_engraver,Engraver);
+
 ADD_THIS_TRANSLATOR(Script_engraver);
index c7e5d4177050a6481fcfc3882adb8b2dc06687b3..26900c5c2e138c82a9a61378d554fe04e26ba62d 100644 (file)
@@ -124,7 +124,7 @@ Script::brew_molecule_p () const
 }
 
 
-IMPLEMENT_IS_TYPE_B2 (Script,Item,Staff_side);
+
 
 int
 Script::compare (Script  *const&l1, Script *const&l2)
index 2b31c9eee741ef566c7174af59dc4ff4137e86e1..468b340d399369c04296a9473a33ddac6ff5cd97 100644 (file)
@@ -57,7 +57,7 @@ Separating_group_spanner::add_spacing_unit (Single_malt_grouping_item*i)
   add_dependency (i);
 }
 
-IMPLEMENT_IS_TYPE_B1(Separating_group_spanner, Spanner);
+
 
 void
 Separating_group_spanner::do_substitute_dependency (Score_element*o, Score_element*n)
index bf046b82acedfc40b8647152e31dc1d9e11df270..4545618efe41a21d0c24908b6a8cda169b72d8f6 100644 (file)
@@ -73,5 +73,5 @@ Separating_line_group_engraver::do_pre_move_processing ()
 }
 
 
-IMPLEMENT_IS_TYPE_B1 (Separating_line_group_engraver, Engraver);
+
 ADD_THIS_TRANSLATOR( Separating_line_group_engraver);
index 0b1af3f676623b533331b3781e8f02aabc96edf6..c030ffafe68f1b47294dac46aac58479e4e81399 100644 (file)
@@ -41,7 +41,7 @@ Single_malt_grouping_item::my_width () const
  // add this->offset_ ? this-> relative_coordinate ()? 
 }
 
-IMPLEMENT_IS_TYPE_B1(Single_malt_grouping_item, Item);
+
 
 void
 Single_malt_grouping_item::do_substitute_dependency (Score_element*o, Score_element*n)
@@ -59,7 +59,7 @@ Single_malt_grouping_item::do_print () const
 #ifndef NDEBUG
   for (int i=0; i < item_l_arr_.size (); i++)
     {
-      DOUT << item_l_arr_[i]->name () << ", ";
+      DOUT << classname (item_l_arr_[i]) << ", ";
     }
 #endif
 }
index 33e2b24c2391138feda8e1ca3e8d2061542e83a9..24a87c81e6da5240b78e11cd2ce3c75d16b94ffa 100644 (file)
@@ -13,7 +13,7 @@
 #include "note-column.hh"
 
 bool
-Slur_engraver::do_try_request (Request *req_l)
+Slur_engraver::do_try_music (Music *req_l)
 {
   Musical_req *mus_l = dynamic_cast <Musical_req *> (req_l);
   if (Slur_req *sl = dynamic_cast <Slur_req *> (mus_l))
@@ -113,5 +113,5 @@ Slur_engraver::do_post_move_processing()
   new_slur_req_l_arr_.clear();
 }
 
-IMPLEMENT_IS_TYPE_B1(Slur_engraver,Engraver);
+
 ADD_THIS_TRANSLATOR(Slur_engraver);
index 73c8cb98fbb40f9590ae160a8c5d503942965b5d..26d369703d6656806da1083a60ae7486d8acdd5f 100644 (file)
@@ -29,7 +29,7 @@
 #include "encompass-info.hh"
 #include "main.hh"
 
-IMPLEMENT_IS_TYPE_B1(Slur,Bow);
+
 
 Slur::Slur ()
 {
index acf9c4fb06a21ada1a4c1b7c277099c71e641d11..ff7bdd65dc4466eb55b1578243f383d85f505cab 100644 (file)
@@ -84,5 +84,5 @@ Span_bar_engraver::do_pre_move_processing()
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Span_bar_engraver,Engraver);
+
 ADD_THIS_TRANSLATOR(Span_bar_engraver);
index c44900e6093226a996f25fc7380f076c20a1d518..47813dc1eaf9092a1d91eb039e6853e62223b4af 100644 (file)
@@ -110,7 +110,7 @@ Span_bar::brew_molecule_p () const
   return output;
 }
 
-IMPLEMENT_IS_TYPE_B1 (Span_bar,Bar);
+
 
 Span_bar::Span_bar ()
 {
index 0aa5e9852ad1e151b33c932d84499a276ba57747..da1dfd2e7847b96a039be41432f6b81943539b38 100644 (file)
@@ -24,9 +24,9 @@ Span_score_bar_engraver::get_span_bar_p () const
 }
 
 
-IMPLEMENT_IS_TYPE_B1 (Span_score_bar_engraver, Span_bar_engraver);
-IMPLEMENT_IS_TYPE_B1 (Piano_bar_engraver, Span_score_bar_engraver);
-IMPLEMENT_IS_TYPE_B1 (Staff_group_bar_engraver, Span_score_bar_engraver);
+
+
+
 
 Span_bar*
 Piano_bar_engraver::get_span_bar_p () const
index 6952062a67291eb7cbcbf99fb24db21e18d26b2e..c6a42439078f14b561668ecbde615d5716f992a5 100644 (file)
@@ -37,6 +37,6 @@ Span_score_bar::do_pre_processing()
   //  Span_bar::do_pre_processing();
 }
 
-IMPLEMENT_IS_TYPE_B2(Span_score_bar, Span_bar, Score_bar);
+
 
   
index 25b9855f23d4e11bf5c494cdec7214a70f830e40..28f49f22af124915f3ed6e5def5c4cfaea3c2824 100644 (file)
 #include "molecule.hh"
 #include "paper-outputter.hh"
 
-IMPLEMENT_IS_TYPE_B1(Spanner,Score_element);
+
 
 void
 Spanner::do_print() const
 {
 #ifndef NPRINT
-  DOUT << "Between " << spanned_drul_[LEFT]->name ()
-       << " and " << spanned_drul_[RIGHT]->name() << '\n';
+  DOUT << "Between " << classname (spanned_drul_[LEFT])
+       << " and " << classname (spanned_drul_[RIGHT]) << '\n';
   if (broken_into_l_arr_.size())
     {
       DOUT << "with broken pieces:\n";
@@ -98,7 +98,7 @@ Spanner::set_bounds(Direction d, Item*i)
 
   if  (spanned_drul_[Direction(-d)] == spanned_drul_[d]
        && i)
-    warning (_f ("Spanner `%s\' with equal left and right spanpoints", name ()));
+    warning (_f ("Spanner `%s\' with equal left and right spanpoints", classname (this)));
 }
 
 void
@@ -140,7 +140,7 @@ Spanner::do_brew_molecule ()
   Molecule *output= brew_molecule_p ();
   Offset left_off (spanned_drul_[LEFT]->absolute_coordinate(X_AXIS), 0);
   Offset o = absolute_offset() + left_off;
-  pscore_l_->outputter_l_->output_molecule (output, o, name ());
+  pscore_l_->outputter_l_->output_molecule (output, o, classname (this));
   delete output;
 }
 
index b431eed33921255e0fd34fac46cd7fb8572a0a2e..9a6fcb660fd7c7bbd8b36e52030528f8b5e932d0 100644 (file)
@@ -42,6 +42,6 @@ Staff_bracket::do_post_processing ()
     }
 }
 
-IMPLEMENT_IS_TYPE_B1(Staff_bracket, Span_score_bar);
+
 
   
index 92c5cdd139867fd430618473fbfe478e9e21e5dd..9b51b97c7c0fae918ee9c9548b4e74387224ae4e 100644 (file)
@@ -15,7 +15,7 @@
 #include "stem.hh"
 #include "time-description.hh"
 
-IMPLEMENT_IS_TYPE_B1 (Staff_margin_engraver, Engraver);
+
 ADD_THIS_TRANSLATOR (Staff_margin_engraver);
 
 Staff_margin_engraver::Staff_margin_engraver ()
index 90f2c63ebcf086b4b6f0e83d5413e94cfa981aaa..801912bd8900a57fc058143cda23aeca96947963 100644 (file)
@@ -13,7 +13,7 @@
 #include "audio-item.hh"
 #include "audio-staff.hh"
 
-IMPLEMENT_IS_TYPE_B1 (Staff_performer,Performer_group_performer);
+
 ADD_THIS_TRANSLATOR (Staff_performer);
 
 Staff_performer::Staff_performer ()
index bec8df6367415dfd1baf480b1ab54c4155a029e2..a3a3a14afd8c7cbb40cfdbf7921c9e1a9a2de2be 100644 (file)
@@ -141,4 +141,4 @@ Staff_side::do_substitute_dependency (Score_element*o, Score_element*n)
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Staff_side, Score_element);
+
index f3db413e82fbece411ff2a7eca1a141c3fc223ee..a83032eba0bcef39190e999c7f568005d7df4f85 100644 (file)
@@ -52,5 +52,5 @@ Staff_symbol_engraver::do_removal_processing()
 
 
 
-IMPLEMENT_IS_TYPE_B1(Staff_symbol_engraver,Engraver);
+
 ADD_THIS_TRANSLATOR(Staff_symbol_engraver);
index 88a3a457c6abad5e5c3a58f28680f66ab2113635..b640d3f54ba07f8d45eaf852a7d8398452368114 100644 (file)
@@ -21,7 +21,7 @@ Staff_symbol::Staff_symbol ()
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Staff_symbol,Spanner);
+
 
 void
 Staff_symbol::do_print() const
index 65351c29a7dec1fc27502879a0a8fcf493589c33..b8f3984c5b4355c2131e3a90f00bc31e4e0fc7b5 100644 (file)
@@ -101,7 +101,7 @@ Stem_engraver::do_pre_move_processing()
 }
 
 bool
-Stem_engraver::do_try_request (Request* r)
+Stem_engraver::do_try_music (Music* r)
 {
   Musical_req* mus_l = dynamic_cast <Musical_req *> (r);
   if (!mus_l)
@@ -116,5 +116,5 @@ Stem_engraver::do_try_request (Request* r)
   return true;
 }
 
-IMPLEMENT_IS_TYPE_B1(Stem_engraver, Engraver);
+
 ADD_THIS_TRANSLATOR(Stem_engraver);
index 09193e06471d17d6488f5b52ccae5c01f70f27b2..91277cf1b3009229965c04e2e5f22e3a9b00f4ea 100644 (file)
@@ -19,7 +19,7 @@
 #include "beam.hh"
 #include "rest.hh"
 
-IMPLEMENT_IS_TYPE_B1 (Stem,Item);
+
 
 
 Stem::~Stem ()
index 89168838b741d7f43521d2921d3053499ec69c43..5c4a9de8819079158b2ed7decb4d4285b9e02432 100644 (file)
@@ -17,7 +17,7 @@ Super_element::Super_element()
 {
 }
 
-IMPLEMENT_IS_TYPE_B1(Super_element,Score_element);
+
 
 
 /**
index 20a5130ba6de4972a9c99e97dc884c99ffba5294..bc1cad3a9f2b02e6b820239772bebd8e01f789f5 100644 (file)
@@ -8,12 +8,12 @@
 #include "swallow-engraver.hh"
 
 
-IMPLEMENT_IS_TYPE_B1(Swallow_engraver,Engraver);
+
 ADD_THIS_TRANSLATOR(Swallow_engraver);
 
 
 bool
-Swallow_engraver::do_try_request (Request*) 
+Swallow_engraver::do_try_music (Music*) 
 {
   return true;
 }
index 27b61ba4f17de757d70aa222f1611471cb644eec..8c656967c59beef301e2b2b92c76635dfa4dcb4b 100644 (file)
@@ -9,5 +9,5 @@
 #include "swallow-perf.hh"
 
 
-IMPLEMENT_IS_TYPE_B1(Swallow_performer, Performer);
+
 ADD_THIS_TRANSLATOR(Swallow_performer);
index 921d0ac6dc683ea9e0999789cd04fc245a16a5a5..bbdac9dee93fd8864068fc2e9543eaaaaef572f6 100644 (file)
@@ -79,4 +79,4 @@ Text_def::print() const
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Text_def,General_script_def);
+
index f9fca7840e1f997a6224e443d3f21bd127b773d1..eb4383f3241b23008bdd57d361b2db0b775b2e84 100644 (file)
@@ -80,4 +80,4 @@ Text_item::brew_molecule_p () const
 }
 
 
-IMPLEMENT_IS_TYPE_B1 (Text_item,Item);
+
index 522081cedfa146e31b50277c983da4eda25c717f..e8d2f612bca1cbf91cecdfa2e7a33e0e5f86a0e3 100644 (file)
@@ -39,7 +39,7 @@ Text_spanner::Text_spanner()
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Text_spanner,Spanner);
+
 
 void
 Text_spanner::do_print() const
index 1bf3a9640e42e7e82b2420935d4bb3137d0e3577..0aead695368b6b9ee48c917f9e2e258ab4512b3e 100644 (file)
@@ -12,7 +12,7 @@
 #include "p-col.hh"
 #include "debug.hh"
 
-IMPLEMENT_IS_TYPE_B1(Tie,Bow);
+
 
 void
 Tie::set_head (Direction d, Note_head * head_l)
index 3f5a3c5d6dab291e565f3ea8ad58ae208c52394e..63a0390e5f31715786043da50c904d851fe5ec1e 100644 (file)
@@ -26,7 +26,7 @@ Ties_engraver::do_post_move_processing()
 }
 
 bool
-Ties_engraver::do_try_request (Request*req)
+Ties_engraver::do_try_music (Music*req)
 {
   if (Tie_req * r = dynamic_cast <Tie_req *> (req))
     {  
@@ -130,7 +130,7 @@ Ties_engraver::do_process_requests ()
 {}
 
 
-IMPLEMENT_IS_TYPE_B1(Ties_engraver,Engraver);
+
 ADD_THIS_TRANSLATOR(Ties_engraver);
 
 
index a5ff8b4595fddd3e403af491520ff7de3443ae68..2045dcb4b07f0509ff8a9a1685d1ad8758ff8482 100644 (file)
@@ -21,7 +21,7 @@ void
 Time_signature_engraver::do_process_requests()
 {
   Translator * result =
-    daddy_grav_l()->get_simple_translator (Timing_engraver::static_name ());   // ugh
+    daddy_grav_l()->get_simple_translator ("Timing_engraver"); // ugh
 
   if (!result)
     {
@@ -67,4 +67,4 @@ Time_signature_engraver::do_pre_move_processing()
 
 
 ADD_THIS_TRANSLATOR(Time_signature_engraver);
-IMPLEMENT_IS_TYPE_B1(Time_signature_engraver,Engraver); 
index 644055017060c0a99ede69d429a2ad37633f55ef..4efa775cf8fc1460c34654cee3cf312af9988339 100644 (file)
@@ -10,7 +10,7 @@
 #include "command-request.hh"
 #include "audio-item.hh"
 
-IMPLEMENT_IS_TYPE_B1(Time_signature_performer,Performer);
+
 ADD_THIS_TRANSLATOR(Time_signature_performer);
 
 Time_signature_performer::Time_signature_performer()
@@ -40,7 +40,7 @@ Time_signature_performer::do_process_requests()
 }
 
 bool
-Time_signature_performer::do_try_request (Request* req_l)
+Time_signature_performer::do_try_music (Music* req_l)
 {
   if (time_signature_req_l_)
     return false;
index a1330d55a4d5fc23a0cca9f6b48123c92de5a8ca..58adb32966a6de49a4a4b5bfb0e41cc60da9cd46 100644 (file)
@@ -43,4 +43,4 @@ Time_signature::brew_molecule_p () const
 
 
 
-IMPLEMENT_IS_TYPE_B1(Time_signature,Item);
+
index dfe98a9d30204beb40fb7d730fae130f87815d7a..f6ddb5f9b3871b5ec1272727f33063e5648ea11d 100644 (file)
@@ -19,5 +19,5 @@ Timing_engraver::fill_staff_info (Staff_info &inf)
   inf.rhythmic_C_ = &default_grouping_;
 }
 
-IMPLEMENT_IS_TYPE_B1(Timing_engraver, Timing_translator);
+
 ADD_THIS_TRANSLATOR(Timing_engraver);
index 856525785b8b65cbc8dd8331ee864462dc6f0895..d5da1d64023e9ac0d0015d91d94dc247a2398345 100644 (file)
@@ -18,7 +18,7 @@ Timing_translator::Timing_translator ()
 }
 
 bool
-Timing_translator::do_try_request(Request*r)
+Timing_translator::do_try_music (Music*r)
 {
   if (Timing_req *t =  dynamic_cast <Timing_req *> (r))
     {
@@ -26,7 +26,7 @@ Timing_translator::do_try_request(Request*r)
        {
          if (timing_req_l_arr_[i]->equal_b(t))
            return true;
-         if (timing_req_l_arr_[i]->name() == r->name())
+         if (String (classname (timing_req_l_arr_[i])) == classname (r))
            {
              r->warning (_ ("conflicting timing request"));
              return false;
@@ -126,7 +126,7 @@ Timing_translator::do_pre_move_processing()
     global_l->add_moment_to_process (time_.next_bar_moment ());
 }
 
-IMPLEMENT_IS_TYPE_B1(Timing_translator, Translator);
+
 ADD_THIS_TRANSLATOR(Timing_translator);
 
 void
index f4a9ab245e4d8262e1164d02a262a4d28355283d..6e37d798fe8376e40914840895ce0749d585a8d1 100644 (file)
@@ -9,7 +9,7 @@
 #include "translation-property.hh"
 #include "debug.hh"
 
-IMPLEMENT_IS_TYPE_B1(Translation_property, Music);
+
 
 void
 Translation_property::do_print () const
index 86de42722413b928fca1e455e66d265484b3226c..60c608497638a0fc00fff68fd5c8996f93ab0cf1 100644 (file)
@@ -24,7 +24,7 @@ add_translator (Translator *t)
   if (!global_translator_dict_p)
     global_translator_dict_p = new Dictionary<Translator*>;
 
-  global_translator_dict_p->elem (t->name ()) = t;
+  global_translator_dict_p->elem (classname (t)) = t;
 }
 
 Translator*
index 5d9a3e31fbbae6d1cc3b4c668b0179c0f5b16450..7b59009780d2d600a2ee7090e5d258f4c6526bce 100644 (file)
@@ -47,7 +47,7 @@ Translator_group::check_removal()
 
 
 
-IMPLEMENT_IS_TYPE_B1(Translator_group, Translator);
+
 
 void
 Translator_group::add_translator (Translator *trans_p)
@@ -187,16 +187,16 @@ Translator_group::find_create_translator_l (String n, String id)
 
 
 bool
-Translator_group::do_try_request (Request* req_l)
+Translator_group::do_try_music (Music* req_l)
 {
   bool hebbes_b =false;
 
   Link_array<Translator> nongroups (nongroup_l_arr ());
   
   for (int i =0; !hebbes_b && i < nongroups.size() ; i++)
-    hebbes_b =nongroups[i]->try_request (req_l);
+    hebbes_b =nongroups[i]->try_music (req_l);
   if (!hebbes_b && daddy_trans_l_)
-    hebbes_b = daddy_trans_l_->try_request (req_l);
+    hebbes_b = daddy_trans_l_->try_music (req_l);
   return hebbes_b ;
 }
 
@@ -242,7 +242,7 @@ Translator_group::nongroup_l_arr () const
 void
 Translator_group::terminate_translator (Translator*r_l)
 {
-  DOUT << "Removing " << r_l->name() << " at " << now_moment () << '\n';
+  DOUT << "Removing " << classname (r_l) << " at " << now_moment () << '\n';
   r_l->removal_processing();
   Translator * trans_p =remove_translator_p (r_l);
 
@@ -267,12 +267,12 @@ Translator_group::remove_translator_p (Translator*trans_l)
 
 
 Translator*
-Translator_group::get_simple_translator (char const *type) const
+Translator_group::get_simple_translator (String type) const
 {
   Link_array<Translator> nongroups (nongroup_l_arr ());
   for (int i=0; i < nongroups.size(); i++)
     {
-      if (nongroups[i]->name() == type)
+      if (classname (nongroups[i]) == type)
        return nongroups[i];
     }
   if (daddy_trans_l_)
index e8223784eaf4c81d8a3833f6965dc1522c969fc3..35ef5a7abe321d92a688f50169b65c0e16d69e99 100644 (file)
@@ -41,7 +41,7 @@ Translator::is_alias_b (String s) const
 }
 
 bool
-Translator::do_try_request (Request *)
+Translator::do_try_music (Music *)
 {
   return false;
 }
@@ -73,8 +73,8 @@ void
 Translator::print () const
 {
 #ifndef NPRINT
-  DOUT << name () << " {";
-  if (name () != type_str_)
+  DOUT << classname (this) << " {";
+  if (classname (this) != type_str_)
     DOUT << "type = " << type_str_;
   for (Dictionary_iter<Scalar> i (properties_dict_); i.ok (); i++)
     {
@@ -90,7 +90,7 @@ Translator::do_print () const
 {
 }
 
-IMPLEMENT_IS_TYPE_B(Translator);
+
 
 
 void
@@ -127,12 +127,12 @@ Translator::removal_processing ()
 
 
 bool
-Translator::try_request (Request * r)
+Translator::try_music (Music * r)
 {
   if (status < MOVE_INITED)
     post_move_processing ();
 
-  return do_try_request (r);
+  return do_try_music (r);
 }
 
 void
index 952c33cdbd969fc06451ac07e397e4fd42996619..5011ac67f6389bd7b9eb3c4060484c8c581b4a09 100644 (file)
@@ -35,4 +35,4 @@ Transposed_music::to_relative_octave (Musical_pitch p)
   return p;
 }
 
-IMPLEMENT_IS_TYPE_B1 (Transposed_music, Music_wrapper);
+
diff --git a/lily/tuplet-engraver.cc b/lily/tuplet-engraver.cc
new file mode 100644 (file)
index 0000000..d7d9190
--- /dev/null
@@ -0,0 +1,81 @@
+/*   
+  auto-plet-engraver.cc --  implement Auto_plet_engraver
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  
+ */
+
+#include "tuplet-engraver.hh"
+#include "command-request.hh"
+#include "tuplet-spanner.hh"
+#include "note-column.hh"
+#include "compressed-music.hh"
+#include "text-def.hh"
+
+bool
+Tuplet_engraver::do_try_music (Music *r)
+{
+  if (Compressed_music * c = dynamic_cast<Compressed_music *> (r))
+    {
+      compressed_music_arr_.push (c);
+      stop_moments_.push (now_moment () + c->duration ());
+      return true;
+    }
+  return false;
+}
+
+void
+Tuplet_engraver::do_process_requests ()
+{
+  for (int i= started_span_p_arr_.size ();
+       i < compressed_music_arr_.size (); i++)
+    {
+      Plet_spanner* glep = new Plet_spanner ();
+      started_span_p_arr_.push (glep);
+
+      Text_def *t = new Text_def;
+      t->text_str_ = to_str (compressed_music_arr_[i]->den_i_);
+      glep->tdef_p_.set_p  (t);
+      announce_element (Score_element_info (glep, compressed_music_arr_ [i]));
+    }
+}
+
+void
+Tuplet_engraver::acknowledge_element (Score_element_info i)
+{
+  if (Note_column *nc = dynamic_cast<Note_column *> (i.elem_l_))
+    {
+      for (int j =0; j  <started_span_p_arr_.size (); j++)
+       started_span_p_arr_[j]->add_column (nc);
+    }
+}
+
+void
+Tuplet_engraver::do_post_move_processing ()
+{
+  Moment now = now_moment ();
+  for (int i= started_span_p_arr_.size (); i--; )
+    {
+      if (now >= stop_moments_[i])
+       {
+         typeset_element (started_span_p_arr_[i]);
+         started_span_p_arr_.del (i);
+         stop_moments_.del(i);
+         compressed_music_arr_.del(i);
+       }
+    }
+}
+
+void
+Tuplet_engraver::do_removal_processing ()
+{
+  for (int i=0; i < started_span_p_arr_.size (); i++)
+    {
+      typeset_element (started_span_p_arr_[i]);
+    }  
+}
+
+ADD_THIS_TRANSLATOR(Tuplet_engraver);
+
index 3ef7567af594db22b9e7fa4d01d36f0c3071c918..ef8f39ef08e9b3d0c3fa909befdc3b22bea776ab 100644 (file)
@@ -15,14 +15,14 @@ Type_swallow_translator::Type_swallow_translator ()
 }
 
 bool
-Type_swallow_translator::do_try_request (Request*r)
+Type_swallow_translator::do_try_music (Music*r)
 {
   //  if (type_ && type_->before (typeid( *r))) // 
   //  return true;
   return false;                        // ugh. FIXME.
 }
 
-IMPLEMENT_IS_TYPE_B1(Type_swallow_translator, Translator);
+
 
 DECLARE_REQUEST_SWALLOWER(Skip_req);
 
index a270ad7a9f7b248045a483baf937ad3fa89ff471..6fa9794f883860a027dabfe598c446ebf6358a87 100644 (file)
@@ -58,5 +58,5 @@ Vertical_align_engraver::acknowledge_element (Score_element_info i)
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Vertical_align_engraver, Engraver);
+
 ADD_THIS_TRANSLATOR(Vertical_align_engraver);
index f5b0095a2cebd89ef92f82e0dddb473087849f89..41a84e24b997d405eb93f69f997230ee10b1d83d 100644 (file)
@@ -9,7 +9,7 @@
 #include "vertical-align-spanner.hh"
 
 
-IMPLEMENT_IS_TYPE_B2(Vertical_align_spanner, Align_element, Spanner);
+
 
 Vertical_align_spanner::Vertical_align_spanner ()
 {
index 61c644676cdbe4652f05f2a3217fc30897356ff3..cbfa7333b563fe12eac4ecefb745ac3c0147d619 100644 (file)
@@ -23,4 +23,4 @@ Vertical_group_element::do_height() const
   return Graphical_axis_group::extent (Y_AXIS);
 }
 
-IMPLEMENT_IS_TYPE_B1(Vertical_group_element, Axis_group_element);
+
index 2197db7fdd8b7548b0194d462786efed25162a68..638afa364d399177fa3a3640e37cccbc88b017a3 100644 (file)
@@ -10,7 +10,7 @@
 #include "item.hh"
 #include "p-col.hh"
 
-IMPLEMENT_IS_TYPE_B2(Vertical_group_spanner, Axis_group_spanner, Vertical_group_element);
+
 
 
 Vertical_group_spanner::Vertical_group_spanner ()
index 3c902918d5ef3045ceb3cd1d299f2f12005320b4..a03c3376647d131246a40943f2e415fe8febc691 100644 (file)
@@ -83,7 +83,7 @@ Sequential_music_iterator::~Sequential_music_iterator()
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Sequential_music_iterator,Music_iterator);
+
 
 void
 Sequential_music_iterator::do_process_and_next (Moment until)
index 93009de4835819ce73ca9acc33cdb8e24661285e..b9c63c30acbd8c8ff06939974ba573d48de3ef1b 100644 (file)
@@ -1,15 +1,15 @@
 Begin3
 Titel: LilyPond
-Versie: 1.1.5
-Inschrijf datum: 13NOV98
+Versie: 1.1.6
+Inschrijf datum: 16NOV98
 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.5.tar.gz 
+       770k lilypond-1.1.6.tar.gz 
 Oorspronkelijke plek: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
-       770k lilypond-1.1.5.tar.gz 
+       770k lilypond-1.1.6.tar.gz 
 Copi-eer voorwaarden: GPL
 End
index 089a7c39d9d13d580f6228630f2ba171caaf038f..8b42e92870f26dcf2f7291ab3bc68807f632d02c 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Title: LilyPond
-Version: 1.1.5
-Entered-date: 13NOV98
+Version: 1.1.6
+Entered-date: 16NOV98
 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.5.tar.gz 
+       770k lilypond-1.1.6.tar.gz 
 Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
-       770k lilypond-1.1.5.tar.gz 
+       770k lilypond-1.1.6.tar.gz 
 Copying-policy: GPL
 End
index b91fcb91ec5b6d2d655b7b8567ab3b5053976fea..074d508e92762d1c2c96c1af69d3c480cddb786b 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
-Version: 1.1.5
+Version: 1.1.6
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.5.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.6.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 56745b521bfa85d6790625680d154dde5ab46275..32c75a0f2564748ba541a681bc393e50ef5684d0 100644 (file)
@@ -1,10 +1,8 @@
 %!PS-Adobe-1.0: lily.ps
-%
-%staffrulethickness /stafflinethickness exch def
-%
+
 % round cappings
 1 setlinecap
-%
+
 /draw_beam % width slope thick
 {
         2 div /beam_thick exch def
         0 beam_thick lineto
         closepath fill
 } bind def
-%
+
 /draw_decrescendo % cont height width
 {
        stafflinethickness setlinewidth
        /cresc_cont exch def
        /cresc_ht exch def
        /cresc_wd exch def
-%
+
        cresc_wd cresc_cont moveto
        0 cresc_ht lineto
        stroke
        0 cresc_ht neg lineto
        stroke
 } bind def
-%
+
 /draw_crescendo % cont height width
 {
        stafflinethickness setlinewidth
        /cresc_cont exch def
        /cresc_ht exch def
        /cresc_wd exch def
-%
+
        0 cresc_cont moveto
        cresc_wd cresc_ht lineto
        stroke
        cresc_wd cresc_ht neg lineto
        stroke
 } bind def
-%
+
 /lily_distance 
 {
        1 copy mul exch 1 copy mul add sqrt
 } bind def
-%
-stafflinethickness 1.2 mul /tuplet_t exch def
+
 /draw_tuplet
 {
        tuplet_t setlinewidth
@@ -67,7 +64,7 @@ stafflinethickness 1.2 mul /tuplet_t exch def
        staffheight 2 div /tuplet_gapx exch def
        tuplet_dy tuplet_dx div tuplet_gapx mul /tuplet_gapy exch def
        staffheight 4 div dir mul /tuplet_h exch def
-%
+
        0 0 moveto
        0 tuplet_h lineto 
        tuplet_dx tuplet_gapx sub 2 div 
@@ -78,7 +75,7 @@ stafflinethickness 1.2 mul /tuplet_t exch def
        tuplet_dx tuplet_dy lineto
        stroke
 } bind def
-%
+
 /draw_slur
 {
        stafflinethickness setlinewidth
@@ -91,7 +88,7 @@ stafflinethickness 1.2 mul /tuplet_t exch def
        grestore
        stroke
 } bind def
-%
+
 /draw_dashed_slur
 {
        1 setlinecap
@@ -102,9 +99,9 @@ stafflinethickness 1.2 mul /tuplet_t exch def
        curveto
        stroke
 } bind def
-%
-staffheight 4 div /interline exch def
-%
+
+
+
 /bracket_traject
 {
   /traject_ds exch def
@@ -114,14 +111,9 @@ staffheight 4 div /interline exch def
   traject_ds traject_alpha cos mul add
   exch
 } bind def
-%
-interline 3 div /bracket_b exch def
-interline 2 mul /bracket_w exch def
-stafflinethickness 2 mul /bracket_t exch def
-interline 1.5 mul /bracket_v exch def
-bracket_v /bracket_u exch def
-50 /bracket_alpha exch def
-%
+
+
+
 /half_bracket
 {
 %6
@@ -149,7 +141,7 @@ bracket_v /bracket_u exch def
 %1
        0 0
 } bind def
-%
+
 /draw_half_bracket {
        moveto
        lineto
@@ -161,7 +153,7 @@ bracket_v /bracket_u exch def
        fill
        grestore
 } bind def
-%
+
 /draw_bracket % height
 {
        2 div bracket_b add /bracket_h exch def
@@ -181,4 +173,4 @@ bracket_v /bracket_u exch def
        draw_half_bracket
        stroke
 } bind def
-%
+
index 2641a26ab94a2eb634fa352945d2b12479b46050..a862db2153221135239ab9c882dbc84229aee678 100644 (file)
@@ -5,7 +5,7 @@
 
 /xoffset 30 def
 /yoffset 700 def
-/stafflinethickness 1 def
+/staffrulethickness 1 def
 /staffheight 20 def
 
 /placebox
index da6762647faf4f4134b69bcefcda4592af72a098..6310a60eff4b5acd665cf37e9c4147f395ef55f7 100644 (file)
@@ -1,6 +1,6 @@
 
-$(outdir)/%.tex: %.tex
-       $(LN) $< $@
+#$(outdir)/%.tex: %.tex
+#      $(LN) $< $@
 
 $(outdir)/%.dvi: $(outdir)/%.tex
        (cd $(outdir); tex \\nonstopmode \\input $(<F))
index 68721567558b5478a8c0fc10e61d1f165a78e3c5..93bf012315193ee3f29a11aac74d930c979dbdf9 100644 (file)
 % ``compiles'' operatorname binding in the body of foo, making
 % the code faster, and more reliable (less flexible)
 
-%must come before PSTeXDimen
-\special{!
-% PS helper: convert (0.2pt) to the token 0.2
-/settexdimen
-{
-        /thestring exch def
-        thestring 0 thestring length 2 sub
-        getinterval
-        token
-        pop exch pop 
-} def
-%
-/deftexdimen
-{
-        settexdimen
-        def     
-} def
-}
 % transplant a TeX dimension into the PS output.
 \def\PSsetTeXdimen#1{\expandafter\special{! /#1 (\the\csname #1\endcsname) deftexdimen}}
-% must come before lily.ps
-\PSsetTeXdimen{stafflinethickness}
-\PSsetTeXdimen{staffheight}
 {%
    \def\par{ }%         %Ugh.  Don't try this at home, kids!
    % neat file-include trick by Piet van Oostrum <piet@cs.uu.nl>
@@ -46,9 +25,7 @@
    \def\filedef#1#2{%#1=command name, #2=file name 
            \openin\defin=#2\relax\def#1{} 
            \ifeof\defin
-                   \message{***************************************}
-                   \message{lily-ps-defs.tex: can't open `#2'}
-                   \message{***************************************}
+                   \message{***************** CAN NOT OPEN #2 ********************}
                    \end
            \fi 
            \loop\ifnot{\ifeof\defin}\read\defin to\tempfiledef
 }
 
 
+\special{!
+% PS helper: convert (0.2pt) to the token 0.2
+/settexdimen
+{
+        /thestring exch def
+        thestring 0 thestring length 2 sub
+        getinterval
+        token
+        pop exch pop 
+} def
+%
+/deftexdimen
+{
+        settexdimen
+        def     
+} def
+}
 
 \def\turnOnPostScript{%
         \PSsetTeXdimen{stafflinethickness}
@@ -80,7 +74,6 @@
 
         \special{! 
 /interline \mudelapaperinterline0  def % ugh.  Only works x.yyyy floats 
-stafflinethickness 1.2 mul /plet_t exch def
 interline 3 div /bracket_b exch def
 interline 2 mul /bracket_w exch def
 stafflinethickness 2 mul /bracket_t exch def
@@ -88,6 +81,7 @@ interline 1.5 mul /bracket_v exch def
 bracket_v /bracket_u exch def
 50 /bracket_alpha exch def
 staffheight 4 div /interline exch def
+stafflinethickness 1.2 mul /tuplet_t exch def
 1 setlinecap}
 }
 
index 22ec06fd8f76ea6a9963b3cca50a40407130ffac..4eeffbc50dbd89b3787093b03d31a15e2dc88b1e 100644 (file)
 % does some rounding; i can't really check this from screen on i
 % 600x600 res.
 %
-\def\rulesym#1#2{\dimen0=#1%
+\def\rulesym#1#2{\dimen0=#1     %obsolete
         \vrule height .5\dimen0 depth .5\dimen0 width #2}
 \def\shiftedrulesym#1#2{\dimen0=#1%
         \vrule height .7\dimen0 depth .3\dimen0 width #2}