From: Han-Wen Nienhuys Date: Thu, 28 Sep 2000 16:42:35 +0000 (+0200) Subject: release: 1.3.91 X-Git-Tag: release/1.3.91 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=3a7b6b3cbd35499a0993d46c302f37853f1b9c51;p=lilypond.git release: 1.3.91 =========== * Use S_ISDIR () and check for stat.h. * Various fixes for RedHat 7.0 / gcc 2.96.54 * separate basic propertylist for fingerings, center them on noteheads. * Side_position_interface::aligned_on_self() now can take a real number for self-alignment-{X,Y}. * etf2ly: single line GF field. 1.3.90. --- diff --git a/CHANGES b/CHANGES index 1ebf8ec8e8..79bdc9e7cd 100644 --- a/CHANGES +++ b/CHANGES @@ -3,6 +3,23 @@ * Use S_ISDIR () and check for stat.h. +* Various fixes for RedHat 7.0 / gcc 2.96.54 + +* separate basic propertylist for fingerings, center them on +noteheads. + +* Side_position_interface::aligned_on_self() now can take a real +number for self-alignment-{X,Y}. + +* etf2ly: single line GF field. + +1.3.90.mb1 +=========== + +* Added an interscorelinefill paper variable. Set to a positive number + in order to stretch the inter-line spacing to fill the full pages, + except for the last page (where it would look really ugly). + 1.3.89.jcn1 =========== diff --git a/Documentation/header.html.in b/Documentation/header.html.in index 1d72d57683..9ec9553da7 100644 --- a/Documentation/header.html.in +++ b/Documentation/header.html.in @@ -38,7 +38,7 @@ which substitutes some @AT_VARIABLES@ as well. Home Development
- Hacking
+ WikiWikiWeb
GNU Project
Translations
LilyPond dot org
@@ -83,7 +83,7 @@ which substitutes some @AT_VARIABLES@ as well. Short examples
Longer examples
Mutopia Project
- Jonh Sankey
+ Jonh Sankey
Jeff Covey
Dirk Lattermann

diff --git a/Documentation/user/refman.itely b/Documentation/user/refman.itely index 47df65e699..725091c139 100644 --- a/Documentation/user/refman.itely +++ b/Documentation/user/refman.itely @@ -2487,6 +2487,12 @@ Nevertheless, here are some variables you may want to use or change: @item @code{interscoreline}@indexcode{interscoreline} Sets the spacing between the score lines. Defaults to 16 pt. + @item @code{interscorelinefill}@indexcode{interscorelinefill} + If set to a positive number, the distance between the score + lines will stretch in order to fill the full page. In that + case @code{interscoreline} specifies the minimum spacing. + Defaults to 0. + @item @code{output}@indexcode{output} Specifies an alternate name for the the output @file{s}. A @file{.tex}, @file{.midi} or @file{.ps} extension will be diff --git a/NEWS b/NEWS index 277bd59a82..86e3b9bb61 100644 --- a/NEWS +++ b/NEWS @@ -2,8 +2,6 @@ * Point and click functionality using emacs and Xdvi. -* Automatic part combining for orchestral scores. - * Improved design and implementation: Complete rewrite of the internals: LilyPond is smaller, cleaner, more flexible, etc. @@ -12,7 +10,7 @@ internals: LilyPond is smaller, cleaner, more flexible, etc. - Improved speed (undone for now, by .73 + .74), with comparable memory footprint - - More tweakability using less memory with new property push + - More tweakability using less memory with the new `property push' mechanism. - Improved robustness: Lily almost never crashes. @@ -38,6 +36,6 @@ internals: LilyPond is smaller, cleaner, more flexible, etc. * Finished ouverture Coriolan as full orchestral score example. -* AsciiScript [check if broken, decide wether to keep] +* AsciiScript * Translations into Japanese and Russian diff --git a/VERSION b/VERSION index 2df89940ae..aa99fd3611 100644 --- a/VERSION +++ b/VERSION @@ -1,8 +1,8 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=3 -PATCH_LEVEL=90 -MY_PATCH_LEVEL=jcn1 +PATCH_LEVEL=91 +MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/configure b/configure index 9a6dc78d56..488d2dcbd7 100755 --- a/configure +++ b/configure @@ -1591,7 +1591,7 @@ else fi echo "$ac_t""$CPP" 1>&6 -for ac_hdr in assert.h +for ac_hdr in assert.h sys/stat.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 @@ -1631,6 +1631,62 @@ else fi done +echo $ac_n "checking whether stat file-mode macros are broken""... $ac_c" 1>&6 +echo "configure:1636: checking whether stat file-mode macros are broken" >&5 +if eval "test \"`echo '$''{'ac_cv_header_stat_broken'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +#include + +#if defined(S_ISBLK) && defined(S_IFDIR) +# if S_ISBLK (S_IFDIR) +You lose. +# endif +#endif + +#if defined(S_ISBLK) && defined(S_IFCHR) +# if S_ISBLK (S_IFCHR) +You lose. +# endif +#endif + +#if defined(S_ISLNK) && defined(S_IFREG) +# if S_ISLNK (S_IFREG) +You lose. +# endif +#endif + +#if defined(S_ISSOCK) && defined(S_IFREG) +# if S_ISSOCK (S_IFREG) +You lose. +# endif +#endif + +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "You lose" >/dev/null 2>&1; then + rm -rf conftest* + ac_cv_header_stat_broken=yes +else + rm -rf conftest* + ac_cv_header_stat_broken=no +fi +rm -f conftest* + +fi + +echo "$ac_t""$ac_cv_header_stat_broken" 1>&6 +if test $ac_cv_header_stat_broken = yes; then + cat >> confdefs.h <<\EOF +#define STAT_MACROS_BROKEN 1 +EOF + +fi + printing_b=no # Check whether --enable-printing or --disable-printing was given. @@ -1658,7 +1714,7 @@ EOF fi echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6 -echo "configure:1662: checking how to run the C++ preprocessor" >&5 +echo "configure:1718: 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 @@ -1671,12 +1727,12 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross CXXCPP="${CXX-g++} -E" cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1680: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1736: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1713,7 +1769,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1717: checking for $ac_word" >&5 +echo "configure:1773: 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 @@ -1745,7 +1801,7 @@ test -n "$CXX" || CXX="gcc" echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1749: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5 +echo "configure:1805: 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. @@ -1756,12 +1812,12 @@ cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext << EOF -#line 1760 "configure" +#line 1816 "configure" #include "confdefs.h" int main(){return(0);} EOF -if { (eval echo configure:1765: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1821: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cxx_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -1787,12 +1843,12 @@ if test $ac_cv_prog_cxx_works = no; then { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1791: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1847: 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:1796: checking whether we are using GNU C++" >&5 +echo "configure:1852: 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 @@ -1801,7 +1857,7 @@ else yes; #endif EOF -if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1805: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1861: \"$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 @@ -1820,7 +1876,7 @@ ac_test_CXXFLAGS="${CXXFLAGS+set}" ac_save_CXXFLAGS="$CXXFLAGS" CXXFLAGS= echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6 -echo "configure:1824: checking whether ${CXX-g++} accepts -g" >&5 +echo "configure:1880: 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 @@ -1854,17 +1910,17 @@ fi ac_safe=`echo "FlexLexer.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for FlexLexer.h""... $ac_c" 1>&6 -echo "configure:1858: checking for FlexLexer.h" >&5 +echo "configure:1914: 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 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1868: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1924: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1915,12 +1971,12 @@ fi echo $ac_n "checking whether explicit instantiation is needed""... $ac_c" 1>&6 -echo "configure:1919: checking whether explicit instantiation is needed" >&5 +echo "configure:1975: 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 < struct foo { static int baz; }; @@ -1930,7 +1986,7 @@ int main() { return foo::baz; ; return 0; } EOF -if { (eval echo configure:1934: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1990: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* lily_cv_need_explicit_instantiation=no else @@ -1957,7 +2013,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1961: checking for $ac_word" >&5 +echo "configure:2017: 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 @@ -2000,7 +2056,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2004: checking for $ac_word" >&5 +echo "configure:2060: 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 @@ -2035,7 +2091,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2039: checking for $ac_word" >&5 +echo "configure:2095: 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 @@ -2103,7 +2159,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2107: checking for $ac_word" >&5 +echo "configure:2163: 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 @@ -2136,7 +2192,7 @@ test -n "$AR" || AR="error" # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2140: checking for $ac_word" >&5 +echo "configure:2196: 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 @@ -2192,7 +2248,7 @@ fi echo $ac_n "checking language""... $ac_c" 1>&6 -echo "configure:2196: checking language" >&5 +echo "configure:2252: checking language" >&5 case "$language" in En* | en* | Am* | am* | US* | us*) lang=English;; @@ -2228,7 +2284,7 @@ EOF echo $ac_n "checking for gettext in -lintl""... $ac_c" 1>&6 -echo "configure:2232: checking for gettext in -lintl" >&5 +echo "configure:2288: 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 @@ -2236,7 +2292,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2310: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2280,12 +2336,12 @@ fi for ac_func in gettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2284: checking for $ac_func" >&5 +echo "configure:2340: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2371: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2343,7 +2399,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2347: checking for $ac_word" >&5 +echo "configure:2403: 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 @@ -2374,7 +2430,7 @@ done test -n "$MSGFMT" || MSGFMT="\$(SHELL) \$(step-bindir)/fake-msgfmt.sh " echo $ac_n "checking whether msgfmt accepts -o""... $ac_c" 1>&6 -echo "configure:2378: checking whether msgfmt accepts -o" >&5 +echo "configure:2434: 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 @@ -2402,7 +2458,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2406: checking for $ac_word" >&5 +echo "configure:2462: 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 @@ -2438,7 +2494,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2442: checking for $ac_word" >&5 +echo "configure:2498: 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 @@ -2476,7 +2532,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2480: checking for $ac_word" >&5 +echo "configure:2536: 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 @@ -2512,7 +2568,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2516: checking for $ac_word" >&5 +echo "configure:2572: 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 @@ -2551,7 +2607,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2555: checking for $ac_word" >&5 +echo "configure:2611: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_INIMETAFONT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2587,7 +2643,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2591: checking for $ac_word" >&5 +echo "configure:2647: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_INIMFONT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2625,7 +2681,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2629: checking for $ac_word" >&5 +echo "configure:2685: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_INIMETAPOST'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2661,7 +2717,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2665: checking for $ac_word" >&5 +echo "configure:2721: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_INIMPOST'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2695,7 +2751,7 @@ test -n "$INIMPOST" || INIMPOST="-echo no inimp or inimpost" fi echo $ac_n "checking for working metafont mode""... $ac_c" 1>&6 -echo "configure:2699: checking for working metafont mode" >&5 +echo "configure:2755: checking for working metafont mode" >&5 modelist='ljfour lj4 lj3 lj2 ljet laserjet' for MFMODE in $modelist; do $METAFONT "\mode:=$MFMODE; mode_setup; end." > /dev/null 2>&1 @@ -2706,7 +2762,7 @@ echo "configure:2699: checking for working metafont mode" >&5 echo "$ac_t""$MFMODE" 1>&6 echo $ac_n "checking for mfplain.mp""... $ac_c" 1>&6 -echo "configure:2710: checking for mfplain.mp" >&5 +echo "configure:2766: checking for mfplain.mp" >&5 # # For now let people define these in their environments # @@ -2714,7 +2770,7 @@ echo "configure:2710: checking for mfplain.mp" >&5 echo "$ac_t""$MFPLAIN_MP" 1>&6 echo $ac_n "checking for inimetapost flags""... $ac_c" 1>&6 -echo "configure:2718: checking for inimetapost flags" >&5 +echo "configure:2774: checking for inimetapost flags" >&5 if test ${INIMETAPOST} = "inimp" ; then : ${INIMETAPOST_FLAGS=''} else @@ -2747,7 +2803,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2751: checking for $ac_word" >&5 +echo "configure:2807: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_KPSEWHICH'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2778,7 +2834,7 @@ done test -n "$KPSEWHICH" || KPSEWHICH="no" echo $ac_n "checking for tfm path""... $ac_c" 1>&6 -echo "configure:2782: checking for tfm path" >&5 +echo "configure:2838: checking for tfm path" >&5 TFM_FONTS="cmr msam" @@ -2806,13 +2862,13 @@ echo "configure:2782: checking for tfm path" >&5 ## First, let's just see if we can find Guile at all. echo $ac_n "checking "for guile-config"""... $ac_c" 1>&6 -echo "configure:2810: checking "for guile-config"" >&5 +echo "configure:2866: checking "for guile-config"" >&5 for guile_config in guile-config $target-guile-config $build-guile-config; do echo "$ac_t"""$guile_config"" 1>&6 if ! $guile_config --version > /dev/null 2>&1 ; then echo "configure: warning: "cannot execute $guile_config"" 1>&2 echo $ac_n "checking "if we are cross compiling"""... $ac_c" 1>&6 -echo "configure:2816: checking "if we are cross compiling"" >&5 +echo "configure:2872: checking "if we are cross compiling"" >&5 guile_config=error else break @@ -2823,7 +2879,7 @@ echo "configure:2816: checking "if we are cross compiling"" >&5 exit 1 fi echo $ac_n "checking "Guile version"""... $ac_c" 1>&6 -echo "configure:2827: checking "Guile version"" >&5 +echo "configure:2883: checking "Guile version"" >&5 need_guile_version="1.3.4" guile_version=`expr "\`$guile_config --version 2>&1\`" : ".*\($need_guile_version\).*"` echo "$ac_t"""$guile_version"" 1>&6 @@ -2836,7 +2892,7 @@ echo "configure:2827: checking "Guile version"" >&5 ## The GUILE_FLAGS macro. echo $ac_n "checking for Guile""... $ac_c" 1>&6 -echo "configure:2840: checking for Guile" >&5 +echo "configure:2896: checking for Guile" >&5 if ! $guile_config link > /dev/null ; then echo "$ac_t"""cannot execute $guile_config"" 1>&6 { echo "configure: error: "cannot find guile-config; is Guile installed?"" 1>&2; exit 1; } @@ -2851,7 +2907,7 @@ echo "configure:2840: checking for Guile" >&5 # Extract the first word of "guile", so it can be a program name with args. set dummy guile; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2855: checking for $ac_word" >&5 +echo "configure:2911: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GUILE'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2901,17 +2957,17 @@ fi do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2905: checking for $ac_hdr" >&5 +echo "configure:2961: checking for $ac_hdr" >&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 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2915: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2971: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2938,7 +2994,7 @@ fi done echo $ac_n "checking for kpse_find_file in -lkpathsea""... $ac_c" 1>&6 -echo "configure:2942: checking for kpse_find_file in -lkpathsea" >&5 +echo "configure:2998: checking for kpse_find_file in -lkpathsea" >&5 ac_lib_var=`echo kpathsea'_'kpse_find_file | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2946,7 +3002,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lkpathsea $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3020: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2993,12 +3049,12 @@ fi for ac_func in kpse_find_file do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2997: checking for $ac_func" >&5 +echo "configure:3053: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3084: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3053,7 +3109,7 @@ done fi echo $ac_n "checking whether to use kpathsea""... $ac_c" 1>&6 -echo "configure:3057: checking whether to use kpathsea" >&5 +echo "configure:3113: checking whether to use kpathsea" >&5 if test $kpathsea_b = yes; then echo "$ac_t""yes" 1>&6 KPATHSEA=1 @@ -3071,7 +3127,7 @@ EOF echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6 -echo "configure:3075: checking for 8-bit clean memcmp" >&5 +echo "configure:3131: 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 @@ -3079,7 +3135,7 @@ else ac_cv_func_memcmp_clean=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3152: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_memcmp_clean=yes else @@ -3110,12 +3166,12 @@ echo "$ac_t""$ac_cv_func_memcmp_clean" 1>&6 test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.${ac_objext}" echo $ac_n "checking for vprintf""... $ac_c" 1>&6 -echo "configure:3114: checking for vprintf" >&5 +echo "configure:3170: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3201: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_vprintf=yes" else @@ -3165,12 +3221,12 @@ fi if test "$ac_cv_func_vprintf" != yes; then echo $ac_n "checking for _doprnt""... $ac_c" 1>&6 -echo "configure:3169: checking for _doprnt" >&5 +echo "configure:3225: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3256: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func__doprnt=yes" else @@ -3223,12 +3279,12 @@ fi for ac_func in memmem snprintf vsnprintf gettext isinf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3227: checking for $ac_func" >&5 +echo "configure:3283: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3314: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3293,7 +3349,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3297: checking for $ac_word" >&5 +echo "configure:3353: 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 @@ -3326,7 +3382,7 @@ test -n "$MAKEINFO" || MAKEINFO="error" # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3330: checking for $ac_word" >&5 +echo "configure:3386: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else diff --git a/flower/data-file.cc b/flower/data-file.cc index 4852e8588e..7faabf383a 100644 --- a/flower/data-file.cc +++ b/flower/data-file.cc @@ -4,10 +4,13 @@ source file of the Flower Library (c) '95, '96, '97 Han-Wen Nienhuys + + DEPRECATED */ #include #include +#include #include "international.hh" #include "data-file.hh" diff --git a/flower/getopt-long.cc b/flower/getopt-long.cc index 64475925b7..22d5c05600 100644 --- a/flower/getopt-long.cc +++ b/flower/getopt-long.cc @@ -8,6 +8,8 @@ #include #include #include +#include + #include "config.h" #include "getopt-long.hh" #include "international.hh" diff --git a/flower/include/parse-afm.hh b/flower/include/parse-afm.hh index 449fee8fb4..d2384f612e 100644 --- a/flower/include/parse-afm.hh +++ b/flower/include/parse-afm.hh @@ -82,7 +82,6 @@ #include - /* your basic constants */ #define TRUE 1 #define FALSE 0 diff --git a/flower/text-stream.cc b/flower/text-stream.cc index 6529512c79..446c44a019 100644 --- a/flower/text-stream.cc +++ b/flower/text-stream.cc @@ -1,3 +1,4 @@ +#include #include #include "text-stream.hh" diff --git a/flower/warn.cc b/flower/warn.cc index 1df7cda734..4fa9dcd205 100644 --- a/flower/warn.cc +++ b/flower/warn.cc @@ -1,3 +1,4 @@ +#include #include #include "warn.hh" diff --git a/input/bugs/generic-output-property.ly b/input/bugs/generic-output-property.ly new file mode 100644 index 0000000000..5adbba97c8 --- /dev/null +++ b/input/bugs/generic-output-property.ly @@ -0,0 +1,23 @@ +\score{ + \notes\relative c''{ + \outputproperty #(make-type-checker 'note-head-interface) + #'extra-offset = #'(2 . 3) + c2 + c + \context Score { + \outputproperty #(make-type-checker 'mark-interface) + #'extra-offset = #'(-1 . 4) + } + \mark A; + d1 + \mark; + e +} +\paper{ + linewidth=-1.0; + \translator { + \ScoreContext + \consists "Mark_engraver"; + } +} +} diff --git a/input/test/beam-isknee.ly b/input/test/beam-isknee.ly index c71fc9116c..c5532d704b 100644 --- a/input/test/beam-isknee.ly +++ b/input/test/beam-isknee.ly @@ -1,5 +1,5 @@ \score{ - \context GrandStaff < + \context PianoStaff < \context Staff=one \notes\relative c'{ s1 } @@ -12,12 +12,7 @@ } > \paper{ - \translator{ - \GrandStaffContext - minVerticalAlign = 2.8*\staffheight; - maxVerticalAlign = 2.8*\staffheight; - } - linewidth=-1.; + linewidth=-1.; } } diff --git a/input/test/knee-mult.ly b/input/test/knee-mult.ly index 83e016bbfe..cd6c285f18 100644 --- a/input/test/knee-mult.ly +++ b/input/test/knee-mult.ly @@ -12,11 +12,6 @@ } > \paper{ - \translator{ - \GrandStaffContext - minVerticalAlign = 2.8*\staffheight; - maxVerticalAlign = 2.8*\staffheight; - } linewidth=-1.; } } diff --git a/input/test/slur-cross-staff.ly b/input/test/slur-cross-staff.ly index d6409add0b..f3ca49d899 100644 --- a/input/test/slur-cross-staff.ly +++ b/input/test/slur-cross-staff.ly @@ -26,14 +26,6 @@ s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 } > - \paper{ - \translator{ - \PianoStaffContext - minVerticalAlign = 3.0*\staffheight; - maxVerticalAlign = 3.0*\staffheight; - } - %linewidth=100.\mm; - } } \version "1.3.59"; diff --git a/input/test/vertical-align.ly b/input/test/vertical-align.ly index 29d1ab180e..f744c3771e 100644 --- a/input/test/vertical-align.ly +++ b/input/test/vertical-align.ly @@ -4,8 +4,8 @@ \score { \notes < \context GrandStaff < { - \property GrandStaff . maxVerticalAlign = #60.0 - \property GrandStaff . minVerticalAlign = #35.0 + \property GrandStaff . maxVerticalAlign = #12.0 + \property GrandStaff . minVerticalAlign = #7.0 c'1 \break c'''''1 } diff --git a/input/test/vertical-extent.ly b/input/test/vertical-extent.ly index b8cf58ed87..f548ae3080 100644 --- a/input/test/vertical-extent.ly +++ b/input/test/vertical-extent.ly @@ -13,7 +13,8 @@ } > \paper{ - interscoreline = 3.0\mm; + interscoreline = 13.0\mm; + interscorelinefill = 0; \translator{\ScoreContext \remove "Bar_number_engraver";} \translator{\StaffContext StaffMinimumVerticalExtent = #'(-2.0 . 2.0)} } diff --git a/lily/all-font-metrics.cc b/lily/all-font-metrics.cc index 215e7b3b09..d7ec2a94fb 100644 --- a/lily/all-font-metrics.cc +++ b/lily/all-font-metrics.cc @@ -16,13 +16,11 @@ #include "tfm.hh" #include "lily-guile.hh" #include "scm-hash.hh" +#include "kpath.hh" + + -#if HAVE_KPATHSEA_KPATHSEA_H -extern "C" { -#include -} -#endif const char * default_font_sz_ = "cmr10"; @@ -53,15 +51,13 @@ All_font_metrics::find_afm (String name) if (path.empty_b()) path = search_path_.find (name + ".afm"); -#if (KPATHSEA && HAVE_KPSE_FIND_FILE) if (path.empty_b ()) { - char * p = kpse_find_file (name.ch_C(), kpse_afm_format, true); + char * p = ly_find_afm (name.ch_C()); if (p) path = p; } -#endif - + if (path.empty_b()) return 0; @@ -108,15 +104,13 @@ All_font_metrics::find_tfm (String name) { String path; -//#if KPATHSEA && HAVE_KPSE_FIND_TFM -- urg: a macro -#if KPATHSEA && HAVE_KPSE_FIND_FILE if (path.empty_b()) { - char * p = kpse_find_tfm (name.ch_C()); + char * p = ly_find_tfm (name.ch_C()); if (p) path = p; } -#endif + if (path.empty_b()) path = search_path_.find (name + ".tfm"); if (path.empty_b()) diff --git a/lily/dynamic-engraver.cc b/lily/dynamic-engraver.cc index 8b2df51acd..bdd8f8e656 100644 --- a/lily/dynamic-engraver.cc +++ b/lily/dynamic-engraver.cc @@ -123,8 +123,11 @@ Dynamic_engraver::do_process_music () Side_position::set_axis (line_spanner_, Y_AXIS); Axis_group_interface::set_interface (line_spanner_); Axis_group_interface::set_axes (line_spanner_, Y_AXIS, Y_AXIS); - announce_element (line_spanner_, - text_req_l_ ? text_req_l_ : accepted_spanreqs_drul_[START]); + + Request * rq = accepted_spanreqs_drul_[START]; + if (text_req_l_) rq = text_req_l_ ; + announce_element (line_spanner_, rq); + } } diff --git a/lily/include/kpath.hh b/lily/include/kpath.hh new file mode 100644 index 0000000000..7bd89c82e4 --- /dev/null +++ b/lily/include/kpath.hh @@ -0,0 +1,22 @@ +/* +kpath.hh -- declare kpath funcs. + +source file of the GNU LilyPond music typesetter + +(c) 2000 Han-Wen Nienhuys + + */ + +#ifndef KPATH_HH +#define KPATH_HH + + + +char * ly_find_afm (char const * name); +char * ly_find_tfm (char const * name); +void ly_init_kpath (char *av0); + + + +#endif /* KPATH_HH */ + diff --git a/lily/include/lily-guile.hh b/lily/include/lily-guile.hh index 36ed954f41..7d5bef2265 100644 --- a/lily/include/lily-guile.hh +++ b/lily/include/lily-guile.hh @@ -90,7 +90,7 @@ void \ TYPE ## _ ## FUNC ## _init_functions () \ { \ TYPE ## _ ## FUNC ## _proc = gh_new_procedure1_0 (#TYPE "::" #FUNC, \ - (SCM(*)(...))TYPE :: FUNC); \ + (SCM(*)(SCM))TYPE :: FUNC); \ } \ \ ADD_SCM_INIT_FUNC(TYPE ## _ ## FUNC ## _callback, TYPE ## _ ## FUNC ## _init_functions); \ diff --git a/lily/include/side-position-interface.hh b/lily/include/side-position-interface.hh index 7bcb13aa39..6d8563d434 100644 --- a/lily/include/side-position-interface.hh +++ b/lily/include/side-position-interface.hh @@ -31,11 +31,16 @@ padding -- add this much extra space between victim and support - + self-alignment-X -- real number: -1 = left aligned, 0 = center, 1 + right-aligned in X direction. + + self-alignment-Y -- like self-alignment-X but for Y axis + TODO: move out unrelated callbacks. TODO: reduce number of methods. - */ + +*/ struct Side_position { public: diff --git a/lily/keyword.cc b/lily/keyword.cc index b273df2d6e..ea7f14901d 100644 --- a/lily/keyword.cc +++ b/lily/keyword.cc @@ -1,10 +1,8 @@ /* keyword.cc -- keywords and identifiers */ - +#include #include - - #include "keyword.hh" diff --git a/lily/kpath.cc b/lily/kpath.cc new file mode 100644 index 0000000000..022f929ec3 --- /dev/null +++ b/lily/kpath.cc @@ -0,0 +1,54 @@ +/* +kpath.cc -- glue kpathsea to lily. Need some ugly kludges for gcc 2.96 + +source file of the GNU LilyPond music typesetter + +(c) 2000 Han-Wen Nienhuys + + */ + +#include +#include "config.h" + +#define popen REALLYUGLYKLUDGE +#define pclose ANOTHERREALLYUGLYKLUDGE + +#if HAVE_KPATHSEA_KPATHSEA_H +extern "C" { +#include +#include +} +#endif + +#include "kpath.hh" + + + +char * ly_find_afm (char const * name) +{ +#if (KPATHSEA && HAVE_KPSE_FIND_FILE) + return kpse_find_file (name, kpse_afm_format, true); +#endif + return 0; +} + +char * ly_find_tfm (char const * name) +{ +#if (KPATHSEA && HAVE_KPSE_FIND_FILE) + return kpse_find_file (name, kpse_tfm_format, true); +#endif + return 0; +} + + +void +ly_init_kpath (char *av0) +{ +#if KPATHSEA && HAVE_KPATHSEA_KPATHSEA_H + /* + initialize kpathsea + */ + kpse_set_program_name(av0, NULL); + kpse_maketex_option("tfm", TRUE); +#endif +} diff --git a/lily/lexer.ll b/lily/lexer.ll index dfbdfd9a36..87fbcacb82 100644 --- a/lily/lexer.ll +++ b/lily/lexer.ll @@ -41,6 +41,8 @@ #include "mudela-version.hh" #include "translator-def.hh" +#define isatty HORRIBLEKLUDGE + void strip_trailing_white (String&); void strip_leading_white (String&); diff --git a/lily/lily-guile.cc b/lily/lily-guile.cc index 6f6b93e280..69fef2e645 100644 --- a/lily/lily-guile.cc +++ b/lily/lily-guile.cc @@ -395,21 +395,21 @@ undefd () return SCM_UNDEFINED; } + static void init_functions () { - scm_make_gsubr ("ly-warn", 1, 0, 0, (SCM(*)(...))ly_warning); - scm_make_gsubr ("ly-gulp-file", 1,0, 0, (SCM(*)(...))ly_gulp_file); - scm_make_gsubr ("dir?", 1,0, 0, (SCM(*)(...))ly_isdir_p); - scm_make_gsubr ("undefd", 0,0, 0, (SCM(*)(...))undefd); - scm_make_gsubr ("ly-number->string", 1, 0,0, (SCM(*)(...)) ly_number2string); + scm_make_gsubr ("ly-warn", 1, 0, 0, (SCM(*)())ly_warning); + scm_make_gsubr ("ly-gulp-file", 1,0, 0, (SCM(*)())ly_gulp_file); + scm_make_gsubr ("dir?", 1,0, 0, (SCM(*)())ly_isdir_p); + scm_make_gsubr ("undefd", 0,0, 0, (SCM(*)())undefd); + scm_make_gsubr ("ly-number->string", 1, 0,0, (SCM(*)()) ly_number2string); #ifdef TEST_GC scm_c_hook_add (&scm_before_mark_c_hook, greet_sweep, 0, 0); scm_c_hook_add (&scm_before_sweep_c_hook, wave_sweep_goodbye, 0, 0); #endif - } ADD_SCM_INIT_FUNC(funcs, init_functions); diff --git a/lily/main.cc b/lily/main.cc index 1808daefc5..23bd451fde 100644 --- a/lily/main.cc +++ b/lily/main.cc @@ -27,16 +27,14 @@ #include "paper-def.hh" #include "midi-def.hh" #include "global-ctor.hh" +#include "kpath.hh" + #if HAVE_GETTEXT #include #endif -#if KPATHSEA && HAVE_KPATHSEA_KPATHSEA_H -extern "C" { -#include -} -#endif + bool verbose_global_b = false; bool no_paper_global_b = false; @@ -335,14 +333,8 @@ main (int argc, char **argv) putenv ("GUILE_INIT_SEGMENT_SIZE_1=4194304"); putenv ("GUILE_MAX_SEGMENT_SIZE=8388608"); -#if KPATHSEA && HAVE_KPATHSEA_KPATHSEA_H - /* - initialize kpathsea - */ - kpse_set_program_name(argv[0], NULL); - kpse_maketex_option("tfm", TRUE); -#endif - + ly_init_kpath (argv[0]); + oparser_global_p = new Getopt_long(argc, argv,theopts); while (Long_option_init const * opt = (*oparser_global_p)()) { @@ -407,7 +399,7 @@ main (int argc, char **argv) #ifdef WINNT gh_enter (argc, argv, main_prog); #else - gh_enter (argc, argv, (void(*)(...))main_prog); + gh_enter (argc, argv, (void(*)(int, char**))main_prog); #endif return 0; // unreachable diff --git a/lily/moment.cc b/lily/moment.cc index da3ed24831..b2f588e4af 100644 --- a/lily/moment.cc +++ b/lily/moment.cc @@ -66,7 +66,7 @@ make_rational (SCM n, SCM d) void init_moments () { - scm_make_gsubr ("make-moment", 2 , 0, 0, (SCM(*)(...)) make_rational); + scm_make_gsubr ("make-moment", 2 , 0, 0, (SCM(*)()) make_rational); } ADD_SCM_INIT_FUNC(moms,init_moments); diff --git a/lily/note-heads-engraver.cc b/lily/note-heads-engraver.cc index 30ccf6e490..453753130e 100644 --- a/lily/note-heads-engraver.cc +++ b/lily/note-heads-engraver.cc @@ -64,7 +64,7 @@ Note_heads_engraver::do_try_music (Music *m) { return true; } - else if (Busy_playing_req * p = dynamic_cast (m)) + else if (dynamic_cast (m)) { return now_mom () < note_end_mom_; } diff --git a/lily/score-element.cc b/lily/score-element.cc index 2e75fd9a0e..f1974fe63a 100644 --- a/lily/score-element.cc +++ b/lily/score-element.cc @@ -832,15 +832,15 @@ spanner_get_bound (SCM slur, SCM dir) static SCM interfaces_sym; - +#define UNDEFINED_ARG static void init_functions () { interfaces_sym = scm_permanent_object (ly_symbol2scm ("interfaces")); - scm_make_gsubr ("ly-get-elt-property", 2, 0, 0, (SCM(*)(...))ly_get_elt_property); - scm_make_gsubr ("ly-set-elt-property", 3, 0, 0, (SCM(*)(...))ly_set_elt_property); - scm_make_gsubr ("ly-get-spanner-bound", 2 , 0, 0, (SCM(*)(...)) spanner_get_bound); + scm_make_gsubr ("ly-get-elt-property", 2, 0, 0, (SCM(*)(UNDEFINED_ARG))ly_get_elt_property); + scm_make_gsubr ("ly-set-elt-property", 3, 0, 0, (SCM(*)(UNDEFINED_ARG))ly_set_elt_property); + scm_make_gsubr ("ly-get-spanner-bound", 2 , 0, 0, (SCM(*)(UNDEFINED_ARG)) spanner_get_bound); } bool diff --git a/lily/side-position-interface.cc b/lily/side-position-interface.cc index bfb4ff7d84..e3ea3d6501 100644 --- a/lily/side-position-interface.cc +++ b/lily/side-position-interface.cc @@ -115,9 +115,8 @@ Side_position::aligned_on_self (Score_element *elm, Axis ax) s += (ax == X_AXIS) ? "X" : "Y"; SCM align (elm->get_elt_property (s.ch_C())); - if (isdir_b (align)) + if (gh_number_p (align)) { - Direction d = to_dir (align); Interval ext(elm->extent (ax)); if (ext.empty_b ()) @@ -125,11 +124,11 @@ Side_position::aligned_on_self (Score_element *elm, Axis ax) programming_error ("I'm empty. Can't align on self"); return 0.0; } - else if (d) + else { - return - ext[d]; + Real lambda = (0.5 + gh_scm2double (align) / 2.0); + return - (lambda * ext[LEFT] + (1 - lambda) * ext[RIGHT]); } - return - ext.center (); } else return 0.0; diff --git a/lily/text-engraver.cc b/lily/text-engraver.cc index 521b7ac112..508ac78268 100644 --- a/lily/text-engraver.cc +++ b/lily/text-engraver.cc @@ -15,6 +15,7 @@ #include "stem.hh" #include "rhythmic-head.hh" + /** typeset directions that are plain text. */ @@ -32,7 +33,6 @@ protected: virtual void acknowledge_element (Score_element_info); }; - bool Text_engraver::do_try_music (Music *m) { @@ -47,7 +47,6 @@ Text_engraver::do_try_music (Music *m) return false; } - void Text_engraver::acknowledge_element (Score_element_info inf) { @@ -57,11 +56,19 @@ Text_engraver::acknowledge_element (Score_element_info inf) { Score_element*t = texts_[i]; Side_position::add_support (t,inf.elem_l_); + + /* + ugh. + */ if (Side_position::get_axis( t) == X_AXIS && !t->parent_l (Y_AXIS)) t->set_parent (inf.elem_l_, Y_AXIS); + else if (Side_position::get_axis(t) == Y_AXIS + && !t->parent_l (X_AXIS)) + t->set_parent (inf.elem_l_, X_AXIS); } } + if (Stem::has_interface (inf.elem_l_)) { for (int i=0; i < texts_.size (); i++) @@ -78,16 +85,31 @@ Text_engraver::do_process_music () { Text_script_req * r = reqs_[i]; - /* - Urg: Text_engraver loads TextScriptProperties - */ - Item *text = new Item (get_property ("basicTextScriptProperties")); - + String basic = "basicTextScriptProperties"; + + // separate engraver? + if (r->style_str_== "finger") + { + basic = "basicFingeringProperties"; + } + Item *text = new Item (get_property (basic.ch_C())); + SCM axisprop = get_property ("scriptHorizontal"); + Axis ax = to_boolean (axisprop) ? X_AXIS : Y_AXIS; + Side_position::set_axis (text, ax); - Side_position::set_axis (text, to_boolean (axisprop) ? X_AXIS : Y_AXIS); + if (r->style_str_ == "finger" && ax == Y_AXIS) + { + /* + nicely center the scripts. + */ + text->add_offset_callback (Side_position::aligned_on_self, X_AXIS); + text->add_offset_callback (Side_position::centered_on_parent, X_AXIS); + } + + /* make sure they're in order by adding i to the priority field. */ diff --git a/lily/tfm-reader.cc b/lily/tfm-reader.cc index f188e300c2..176ecd195a 100644 --- a/lily/tfm-reader.cc +++ b/lily/tfm-reader.cc @@ -235,10 +235,10 @@ Tex_font_metric_reader::read_char () * info_.design_size; \ } - GET_CHAR_DIMEN (width); - GET_CHAR_DIMEN (height); - GET_CHAR_DIMEN (depth); - GET_CHAR_DIMEN (italic_correction); + GET_CHAR_DIMEN(width); + GET_CHAR_DIMEN(height); + GET_CHAR_DIMEN(depth); + GET_CHAR_DIMEN(italic_correction); /* The other condition for a character existing is that it be between the first and last character codes given in the header. We've diff --git a/lily/translator-group.cc b/lily/translator-group.cc index 0477d3e645..a13eb4901b 100644 --- a/lily/translator-group.cc +++ b/lily/translator-group.cc @@ -343,8 +343,15 @@ Translator_group::execute_single_pushpop_property (SCM prop, SCM eltprop, SCM va { SCM prev = get_property (prop); - prev = gh_cons (gh_cons (eltprop, val), prev); - set_property (prop, prev); + /* + we don't tack onto SCM_UNDEFINED, because it creates + errors down the line, if we do scm_assoc(). + */ + if (gh_pair_p (prev) || prev == SCM_EOL) + { + prev = gh_cons (gh_cons (eltprop, val), prev); + set_property (prop, prev); + } } else { diff --git a/ly/engraver.ly b/ly/engraver.ly index d6811d8884..00a0a29caf 100644 --- a/ly/engraver.ly +++ b/ly/engraver.ly @@ -539,6 +539,13 @@ ScoreContext = \translator { (breakable . #t) (name . "left edge") ) + basicFingeringProperties = #`( + (interfaces . (finger-interface text-script-interface text-item-interface side-position-interface)) + (molecule-callback . ,Text_item::brew_molecule) + (padding . 3.0) + (self-alignment-X . 0) + (name . "fingering script") + ) basicGraceAlignItemProperties = #`( (interfaces . (axis-group-interface align-interface)) (axes . (0)) diff --git a/make/lilypond.spec.in b/make/lilypond.spec.in index 4b50344d5e..04f3612c8b 100644 --- a/make/lilypond.spec.in +++ b/make/lilypond.spec.in @@ -86,7 +86,7 @@ fi %files # hairy to hook it in (possibly non-existing) emacs -%doc mudela-mode.el +%doc lilypond-mode.el %ifnos cygwin %{_prefix}/bin/abc2ly diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index cbe2f20c30..f9f7f8f331 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,15 +1,15 @@ Begin3 Title: LilyPond -Version: 1.3.90 -Entered-date: 24SEP00 +Version: 1.3.91 +Entered-date: 28SEP00 Description: Keywords: music notation typesetting midi fonts engraving Author: hanwen@cs.uu.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys) Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert - 1000k lilypond-1.3.90.tar.gz + 1000k lilypond-1.3.91.tar.gz Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 1000k lilypond-1.3.90.tar.gz + 1000k lilypond-1.3.91.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.spec b/make/out/lilypond.spec index 188340f524..6595aa752d 100644 --- a/make/out/lilypond.spec +++ b/make/out/lilypond.spec @@ -1,9 +1,9 @@ Name: lilypond -Version: 1.3.90 +Version: 1.3.91 Release: 1 Copyright: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.90.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.91.tar.gz Summary: A program for printing sheet music. URL: http://www.cs.uu.nl/~hanwen/lilypond # Icon: lilypond-icon.gif @@ -86,7 +86,7 @@ fi %files # hairy to hook it in (possibly non-existing) emacs -%doc mudela-mode.el +%doc lilypond-mode.el %ifnos cygwin %{_prefix}/bin/abc2ly diff --git a/midi2ly/main.cc b/midi2ly/main.cc index 3e753d9c17..0a6716d165 100644 --- a/midi2ly/main.cc +++ b/midi2ly/main.cc @@ -3,6 +3,7 @@ // // copyright 1997 Jan Nieuwenhuizen +#include #include #include #include diff --git a/midi2ly/mudela-item.cc b/midi2ly/mudela-item.cc index 23e8d5361e..1415acd933 100644 --- a/midi2ly/mudela-item.cc +++ b/midi2ly/mudela-item.cc @@ -3,6 +3,7 @@ // // copyright 1997 Jan Nieuwenhuizen +#include #include #include "midi2ly-global.hh" #include "string-convert.hh" diff --git a/scm/lily.scm b/scm/lily.scm index 81afc034bf..2ac90b2155 100644 --- a/scm/lily.scm +++ b/scm/lily.scm @@ -224,12 +224,9 @@ ; Make a function that checks score element for being of a specific type. (define (make-type-checker symbol) (lambda (elt) -; (display symbol) -; (eq? #t (ly-get-elt-property elt symbol)) (not (eq? #f (memq symbol (ly-get-elt-property elt 'interfaces)))) - )) - + ;;;;;;;;;;;;;;;;;;; TeX output (define (tex-scm action-name) (define (unknown) diff --git a/scripts/etf2ly.py b/scripts/etf2ly.py index 83b8577383..4d142ff7e5 100644 --- a/scripts/etf2ly.py +++ b/scripts/etf2ly.py @@ -353,19 +353,22 @@ class Measure: def valid (self): return self.valid def calculate (self): + fs = [] + + if len (self.finale) < 2: - sys.stderr.write ("Measure %d in staff %d has incomplete information.\n" % (self.number, self.staff.number)) - self.valid = 0 - return + fs = self.finale[0] + fs = map (string.atoi, list (fs)) + self.clef = fs[1] + self.frames = [fs[0]] + else: + fs = self.finale[0:2] - f0 = self.finale[0] - f1 = self.finale[1] - - self.clef = string.atoi (f0[0]) - self.flags = string.atoi (f0[1]) - fs = map (string.atoi, list (f0[2:]) + [f1[0]]) + fs = map (string.atoi, list (fs)) + self.clef = fs[0] + self.flags = fs[1] + self.frames = fs[2:] - self.frames = fs class Frame: def __init__ (self, finale): @@ -489,9 +492,13 @@ class Staff: for m in self.measures[1:]: if not m or not m.valid: continue + + fr = None + try: + fr = m.frames[x] + except IndexError: + pass - - fr = m.frames[x] if fr: first_frame = fr if gap <> (0,1): diff --git a/stepmake/stepmake/c++-vars.make b/stepmake/stepmake/c++-vars.make index 119a35b546..bf78e7d48a 100644 --- a/stepmake/stepmake/c++-vars.make +++ b/stepmake/stepmake/c++-vars.make @@ -4,7 +4,7 @@ # -pipe makes it go faster, but is not supported on all platforms. # EXTRA_CXXFLAGS= -Wall -Winline -W -Wmissing-prototypes -Wmissing-declarations -Wconversion -EXTRA_CXXFLAGS= -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wconversion +EXTRA_CXXFLAGS= -Wall -W -Wmissing-prototypes -Wconversion CXXFLAGS = $(ICFLAGS) $(DEFINES) $(addprefix -I,$(INCLUDES)) $(USER_CFLAGS) $(EXTRA_CFLAGS) $(MODULE_CFLAGS) $($(PACKAGE)_CFLAGS) $($(PACKAGE)_CXXFLAGS) $(USER_CXXFLAGS) $(EXTRA_CXXFLAGS) $(MODULE_CXXFLAGS) CXX_OUTPUT_OPTION = $< -o $@ diff --git a/tex/lilyponddefs.tex b/tex/lilyponddefs.tex index f6bca234e4..997fabd85b 100644 --- a/tex/lilyponddefs.tex +++ b/tex/lilyponddefs.tex @@ -35,10 +35,15 @@ % stacked horizontal lines \ifundefined{mudelapaperinterscoreline} - \def\interscoreline{\vskip 16pt\myfilbreak} -\else - \def\interscoreline{\vskip\mudelapaperinterscoreline pt\myfilbreak} + \def\mudelapaperinterscoreline{16} +\fi +\ifundefined{mudelapaperinterscorelinefill} + \def\mudelapaperinterscorelinefill{0} \fi + +\def\interscoreline{\vskip\mudelapaperinterscoreline pt plus % + \mudelapaperinterscorelinefill fill\myfilbreak} + \def\placebox#1#2#3{% \botalign{\hbox{\raise #1\leftalign{\kern #2{}#3}}}}% @@ -52,7 +57,7 @@ \fi \def\EndLilyPondOutput{% - \csname bye\endcsname + \vskip 0pt plus 100fill\csname bye\endcsname } \def\postheader{}