]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 1.4.8 release/1.4.8
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Mon, 24 Sep 2001 11:50:46 +0000 (13:50 +0200)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Mon, 24 Sep 2001 11:50:46 +0000 (13:50 +0200)
==========

* Fixed off by one error for point and click.

* po update.

* windows doc update.

* Add mktextfm wrapper for windows (thanks Mats).

1.4.7.

50 files changed:
CHANGES
Documentation/header.html.in
INSTALL.txt
VERSION
aclocal.m4
config.hh.in
configure
input/regression/stem-direction-down.ly
input/test/beam-neutral-direction.ly
input/test/default-neutral-dir.ly
lily/all-font-metrics.cc
lily/auto-beam-engraver.cc
lily/chord.cc
lily/cxx-function-smob.cc
lily/duration.cc
lily/font-interface.cc
lily/font-metric.cc
lily/grob.cc
lily/include/lily-guile.hh
lily/include/ly-smobs.icc
lily/include/smobs.hh
lily/input-smob.cc
lily/lily-guile.cc
lily/line-of-score.cc
lily/molecule.cc
lily/moment.cc
lily/music-output-def.cc
lily/music-sequence.cc
lily/music.cc
lily/my-lily-lexer.cc
lily/paper-def.cc
lily/parser.yy
lily/pitch.cc
lily/property-engraver.cc
lily/protected-scm.cc
lily/scm-hash.cc
lily/scm-option.cc
lily/score.cc
lily/scores.cc
lily/span-bar.cc
lily/translator-def.cc
lily/translator-group.cc
lily/volta-engraver.cc
make/out/lilypond.lsm
make/out/lilypond.redhat.spec
make/out/lilypond.suse.spec
po/da.po [new file with mode: 0644]
scm/font.scm
scripts/lilypond-book.py
stepmake/aclocal.m4

diff --git a/CHANGES b/CHANGES
index d6db14e7f71795c3977ae4c20c32505d45bbd756..b38296f88a8afa67e7c509b417e66532642d9cdd 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -6,9 +6,29 @@
 * po update.
 
 * windows doc update.
-
+  
 * Add mktextfm wrapper for windows (thanks Mats).
 
+
+1.4.7.mb1
+==========
+
+* Bugfix: span-bars and hara-kiri.
+
+* Bugfix: lilypond-book, avoid exception on some geometry options
+
+* Bugfix: fontSize affects also time signatures.
+
+
+1.4.7.hwn1
+==========
+
+* Backported compatibility fixes for GUILE 1.5
+
+* default-neutral-direction -> neutral-direction
+
+* Danish .po file.
+
 1.4.7
 =====
 
index d158a91a0c38ca52c1357ee45aeb497cf69a8e00..481ad838c6043f8826b0d79080fd97f20b2e1ffb 100644 (file)
@@ -6,6 +6,8 @@ which substitutes some @AT_VARIABLES@ as well.
 
 -->
 
+<META name="keywords" content="gnu lilypond sheet music notation typesetter free software">
+
 <!-- Layout shamelessly inspired by François Pinard's TP pages -->
 
 <!--
@@ -36,52 +38,47 @@ which substitutes some @AT_VARIABLES@ as well.
     <table align=left>
   
       <tr><td bgcolor="#e8e8ff">
-      <b>Documentation</b>
+      <b>What is LilyPond</b>
       </td></tr>
       <tr><td><font size="-1">
-       <a href="@TOP@Documentation/out-www/index.html#everyone">General information</a><br>
-       <a href="@TOP@Documentation/out-www/index.html#newbies">For new users</a><br>
-       <a href="@TOP@Documentation/out-www/index.html#users">For users</a><br>
-       <a href="@TOP@Documentation/out-www/index.html#developers">For developers</a><br>
-       <a href="@TOP@Documentation/out-www/index.html#background">Background information</a><br>
+       <a href="@TOP@index.html#everyone">General information</a><br>
+       <a href="@TOP@short-examples.html">Simple examples</a><br>
+       <a href="@TOP@long-examples.html">Complex examples</a><br>
       </font></td></tr>
       <tr><td bgcolor="#e8e8ff">
        <b>Download </b>
       </td></tr>
       <tr><td><font size="-1">
-       <a href="@TOP@Documentation/topdocs/out-www/INSTALL.html#download-source">Source</a><br>
-       <a href="@TOP@Documentation/topdocs/out-www/INSTALL.html#download-binaries">Binary</a><br>
+       <a href="@TOP@Documentation/topdocs/out-www/INSTALL.html#download-binaries">Linux</a><br>
+       <a href="@TOP@Documentation/windows/out-www/installing.html">Windows</a><br>
+       <a href="@TOP@Documentation/topdocs/out-www/INSTALL.html#download-source">Source code</a><br>
       </font></td></tr>
       <tr><td bgcolor="#e8e8ff">
-       <b>Music</b>
+       <b>Documentation</b>
       </td></tr>
       <tr><td><font size="-1">
-       <a href="@TOP@short-examples.html">Short examples</a><br>
-       <a href="@TOP@long-examples.html">Longer examples</a><br>
-       <a href="http://www.mutopiaproject.org/">Mutopia Project</a><br>
-
-       <a href="http://www.lilypond.org/wiki?DownloadLilyPondScores">Other URLs</a><br>
+       <a href="@TOP@Documentation/user/out-www/lilypond/Tutorial.html">Tutorial</a><br>
+       <a href="@TOP@Documentation/user/out-www/lilypond/lilypond.html">Manual</a><br>
+       <a href="@TOP@Documentation/user/out-www/glossary.html">Glossary</a><br>
+       <a href="@TOP@Documentation/out-www/index.html">other ...</a><br>
        <br>
       </font></td></tr>
       <tr><td bgcolor="#e8e8ff">
-       <b>Mailing Lists</b>
+       <b>Support</b>
       </td></tr>
       <tr><td><font size="-1">
-       <a href="@TOP@Documentation/out-www/index.html#mailing-lists">About the lists</a><br>
-        <a href="http://mail.gnu.org/mailman/listinfo/lilypond-user/">LilyPond users</a><br>
-       <a href="http://mail.gnu.org/mailman/listinfo/lilypond-devel/">Development</a><br>
-        <a href="http://mail.gnu.org/mailman/listinfo/bug-lilypond/">Bugs</a><br>
-        <a href="http://mail.gnu.org/mailman/listinfo/info-lilypond/">Announcements</a><br>
+       <a href="@TOP@Documentation/topdocs/out-www/README.html#mailing-lists">Mailing lists</a><br>
+        <a href="http://www.lilypond.org/wiki/">WikiWiki</a><br>
+       <a href="http://www.lilypond.org/wiki?LilyPondFaqs">FAQs</a><br>        
        <br>
       </font></td></tr>
     <tr><td bgcolor="#e8e8ff"><b>External sites</b></td></tr>
       <tr><td><font size="-1">
-        <a href="http://www.lilypond.org/development">Development version</a><br>
-        <a href="http://www.lilypond.org/stable">Stable version</a><br>
-        <a href="http://www.lilypond.org/wiki/">WikiWiki</a><br>
-        <a href="ftp://ftp.lilypond.org/pub">FTP site</a><br>
-        <a href="http://www.mutopiaproject.org/">Mutopia archive</a><br>
-
+        <a href="http://www.lilypond.org/development">lilypond.org/development</a><br>
+        <a href="http://www.lilypond.org/stable">lilypond.org/stable</a><br>
+        <a href="ftp://ftp.lilypond.org/pub">ftp.lilypond.org</a><br>
+        <a href="http://www.mutopiaproject.org/">Mutopia</a><br>
+       <a href="http://www.lilypond.org/wiki?DownloadLilyPondScores">Other music online</a><br>
        <br>
       </font></td></tr>
     </table>
index 52ab1d5bb19b0542f6eb9cbd38562461b0b5f584..7df4df6cb27d575d93f4df7aff657382de0fbcba 100644 (file)
@@ -443,8 +443,9 @@ by running \`apt-get' as root before building the package:
 
    For Debian in development ("unstable", the future 2.3 or 3.0):
 
-       apt-get install task-debian-devel task-c++-dev \
-               python-base libguile9-dev tetex-bin libkpathsea-dev \
+       apt-get install binutils cpp gcc libc6-dev \
+               g++ libstdc++2.10-dev \
+               python-base libguile-dev tetex-bin libkpathsea-dev \
                tetex-extra flex bison texinfo bibtex2html groff gs \
                netpbm m4 gettext
 
diff --git a/VERSION b/VERSION
index b91ade6ae519a57cfae53ddbafdea168cb82ffbd..0a9c5c333df82299ae2e9d139f08a88a4142f27b 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,8 +1,8 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=4
-PATCH_LEVEL=7
-MY_PATCH_LEVEL=jcn2
+PATCH_LEVEL=8
+MY_PATCH_LEVEL=
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
index a7d59a36f0b9945b71d00fa272ed3aceff9cee94..1cf59b1171348ba86c1f508011fbae7647f86123 100644 (file)
@@ -203,9 +203,15 @@ else {last =0}}
     then
         AC_STEPMAKE_WARN("Guile version "$need_guile_version" or newer is needed")
     fi
+    changequote(<<, >>)dnl
+    GUILE_MAJOR_VERSION=`expr $guile_version : '\([0-9]*\)'`
+    GUILE_MINOR_VERSION=`expr $guile_version : '[0-9]*\.\([0-9]*\)'`
+    changequote([, ])dnl
     GUILE_FLAGS
     AC_PATH_PROG(GUILE, guile, error)
     AC_SUBST(GUILE)
+    AC_DEFINE_UNQUOTED(GUILE_MAJOR_VERSION, $GUILE_MAJOR_VERSION)
+    AC_DEFINE_UNQUOTED(GUILE_MINOR_VERSION, $GUILE_MINOR_VERSION)
 ])
 
 AC_DEFUN(AC_STEPMAKE_INIT, [
@@ -429,17 +435,20 @@ dnl    fi
 AC_DEFUN(AC_STEPMAKE_KPATHSEA, [
 
     kpathsea_b=yes
+    #FIXME --with-xxx is meant for specifying a PATH too,
+    # so this should read: --enable-kpathsea,
+    # or --with-kpathsea-include=PATH --with-kpathsea-lib=PATH
     AC_ARG_WITH(kpathsea,
     [  --with-kpathsea         use kpathsea lib.  Default: on],
-    [kpathsea_b=$enableval])
+    [kpathsea_b=$with_kpathsea])
 
-    if test "$kpathsea_b" = "yes"; then        
+    if test "$kpathsea_b" != "no"; then        
        AC_HAVE_HEADERS(kpathsea/kpathsea.h)
        AC_CHECK_LIB(kpathsea, kpse_find_file)
        AC_CHECK_FUNCS(kpse_find_file,, AC_ERROR(Cannot find kpathsea functions.  You should install kpathsea; see INSTALL.txt.  Rerun ./configure --without-kpathsea only if kpathsea is not available for your platform.))
     fi
     AC_MSG_CHECKING(whether to use kpathsea)
-    if test "$kpathsea_b" = yes; then
+    if test "$kpathsea_b" != no; then
         AC_MSG_RESULT(yes)
        KPATHSEA=1
     else
@@ -711,7 +720,7 @@ AC_DEFUN(AC_STEPMAKE_TEXMF, [
     #
     # For now let people define these in their environments
     #
-    : ${MFPLAIN_MP=`kpsewhich mp mfplain.mp`}
+    : ${MFPLAIN_MP=`kpsewhich --format mp mfplain.mp`}
     AC_MSG_RESULT($MFPLAIN_MP)
 
     AC_MSG_CHECKING(for inimetapost flags)
index e6a8195c5da57eb4dd22d35a4824e0c3b4b3824e..04d22f741f250f8c4770d6e877b429633d6c7edb 100644 (file)
@@ -56,3 +56,9 @@
 
 /* define if you have sys/stat.h */
 #define STAT_MACROS_BROKEN 0
+
+/* define GUILE major version */
+#define GUILE_MAJOR_VERSION 0
+
+/* define GUILE minor version */
+#define GUILE_MINOR_VERSION 0
index 41c09323d311fd18453327191dd16bacef34daf1..08ddca3adbe2ebb6e146a73fbec8136051a992d7 100755 (executable)
--- a/configure
+++ b/configure
@@ -2748,7 +2748,7 @@ echo "configure:2748: checking for mfplain.mp" >&5
     #
     # For now let people define these in their environments
     #
-    : ${MFPLAIN_MP=`kpsewhich mp mfplain.mp`}
+    : ${MFPLAIN_MP=`kpsewhich --format mp mfplain.mp`}
     echo "$ac_t""$MFPLAIN_MP" 1>&6
 
     echo $ac_n "checking for inimetapost flags""... $ac_c" 1>&6
@@ -2877,10 +2877,12 @@ else {last =0}}
     warn_b=yes
 
     fi
-    
+        GUILE_MAJOR_VERSION=`expr $guile_version : '\([0-9]*\)'`
+    GUILE_MINOR_VERSION=`expr $guile_version : '[0-9]*\.\([0-9]*\)'`
+        
 ## The GUILE_FLAGS macro.
   echo $ac_n "checking for Guile""... $ac_c" 1>&6
-echo "configure:2884: checking for Guile" >&5
+echo "configure:2886: 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; }
@@ -2895,7 +2897,7 @@ echo "configure:2884: 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:2899: checking for $ac_word" >&5
+echo "configure:2901: 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
@@ -2929,33 +2931,44 @@ else
 fi
 
     
+    cat >> confdefs.h <<EOF
+#define GUILE_MAJOR_VERSION $GUILE_MAJOR_VERSION
+EOF
+
+    cat >> confdefs.h <<EOF
+#define GUILE_MINOR_VERSION $GUILE_MINOR_VERSION
+EOF
+
 
 
 
     kpathsea_b=yes
+    #FIXME --with-xxx is meant for specifying a PATH too,
+    # so this should read: --enable-kpathsea,
+    # or --with-kpathsea-include=PATH --with-kpathsea-lib=PATH
     # Check whether --with-kpathsea or --without-kpathsea was given.
 if test "${with_kpathsea+set}" = set; then
   withval="$with_kpathsea"
-  kpathsea_b=$enableval
+  kpathsea_b=$with_kpathsea
 fi
 
 
-    if test "$kpathsea_b" = "yes"; then        
+    if test "$kpathsea_b" != "no"; then        
        for ac_hdr in kpathsea/kpathsea.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2949: checking for $ac_hdr" >&5
+echo "configure:2962: 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
-#line 2954 "configure"
+#line 2967 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2959: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2972: \"$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*
@@ -2982,7 +2995,7 @@ fi
 done
 
        echo $ac_n "checking for kpse_find_file in -lkpathsea""... $ac_c" 1>&6
-echo "configure:2986: checking for kpse_find_file in -lkpathsea" >&5
+echo "configure:2999: 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
@@ -2990,7 +3003,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lkpathsea  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2994 "configure"
+#line 3007 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 #ifdef __cplusplus
@@ -3004,7 +3017,7 @@ int main() {
 kpse_find_file()
 ; return 0; }
 EOF
-if { (eval echo configure:3008: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3021: \"$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
@@ -3034,12 +3047,12 @@ fi
        for ac_func in kpse_find_file
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3038: checking for $ac_func" >&5
+echo "configure:3051: 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 3043 "configure"
+#line 3056 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3065,7 +3078,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3069: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3082: \"$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
@@ -3092,8 +3105,8 @@ done
 
     fi
     echo $ac_n "checking whether to use kpathsea""... $ac_c" 1>&6
-echo "configure:3096: checking whether to use kpathsea" >&5
-    if test "$kpathsea_b" = yes; then
+echo "configure:3109: checking whether to use kpathsea" >&5
+    if test "$kpathsea_b" != no; then
         echo "$ac_t""yes" 1>&6
        KPATHSEA=1
     else
@@ -3113,7 +3126,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:3117: checking for $ac_word" >&5
+echo "configure:3130: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_BIBTEX2HTML'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3154,7 +3167,7 @@ test -n "$BIBTEX2HTML" || BIBTEX2HTML="error"
 
 
 echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
-echo "configure:3158: checking for 8-bit clean memcmp" >&5
+echo "configure:3171: 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
@@ -3162,7 +3175,7 @@ else
   ac_cv_func_memcmp_clean=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 3166 "configure"
+#line 3179 "configure"
 #include "confdefs.h"
 #ifdef __cplusplus
 extern "C" void exit(int) throw();
@@ -3175,7 +3188,7 @@ main()
 }
 
 EOF
-if { (eval echo configure:3179: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3192: \"$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
@@ -3193,12 +3206,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:3197: checking for vprintf" >&5
+echo "configure:3210: 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 3202 "configure"
+#line 3215 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char vprintf(); below.  */
@@ -3224,7 +3237,7 @@ vprintf();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3228: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3241: \"$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
@@ -3248,12 +3261,12 @@ fi
 
 if test "$ac_cv_func_vprintf" != yes; then
 echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
-echo "configure:3252: checking for _doprnt" >&5
+echo "configure:3265: 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 3257 "configure"
+#line 3270 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char _doprnt(); below.  */
@@ -3279,7 +3292,7 @@ _doprnt();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3283: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3296: \"$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
@@ -3306,12 +3319,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:3310: checking for $ac_func" >&5
+echo "configure:3323: 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 3315 "configure"
+#line 3328 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3337,7 +3350,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3341: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3354: \"$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
@@ -3377,7 +3390,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:3381: checking for $ac_word" >&5
+echo "configure:3394: 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
@@ -3409,7 +3422,7 @@ test -n "$MAKEINFO" || MAKEINFO="error"
 
     if test "$MAKEINFO" != "error"; then
        echo $ac_n "checking whether makeinfo can split html by @node""... $ac_c" 1>&6
-echo "configure:3413: checking whether makeinfo can split html by @node" >&5
+echo "configure:3426: checking whether makeinfo can split html by @node" >&5
        mkdir -p out
        makeinfo --html --output=out/split <<EOF
 \input texinfo
@@ -3437,7 +3450,7 @@ EOF
 # 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:3441: checking for $ac_word" >&5
+echo "configure:3454: 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
index 857dea910d1f9ca59c6f8c8ad51f2e4bc2da9618..74ecc47b3ae0a33d5af20b28284c5f88ac77ed9b 100644 (file)
@@ -8,7 +8,7 @@ texidoc="Similarly, if @code{'neutral-direction} is set to @code{-1}.  "
 
 \score{
        \notes\relative c{
-       \property Voice.Stem \override #'default-neutral-direction = #-1
+       \property Voice.Stem \override #'neutral-direction = #-1
                 
            b''4 ~ b8()b8 e4 e,
        }
index 2e41028339574c8d2335f32c13f1d1f9b8a706a4..422b54bc6658872eeeeabf4ea109e1fb1a457d25 100644 (file)
@@ -3,7 +3,7 @@
 
 fragment = \notes {
   [b''8 b]
-  \property Voice.Beam \set #'default-neutral-direction = #-1
+  \property Voice.Beam \set #'neutral-direction = #-1
   [b b]
 }
 
index 2bbfff601a10bf6926997768fba50e1f397bb553..9a28d329b25ec6a25ebb75dae01cf4de978afafc 100644 (file)
@@ -2,12 +2,12 @@
 \header { texidoc = "
 The direction of a perfectly centred beams can be
 controlled through @code{Voice.Beam}'s grob-property
-@code{default-neutral-direction}
+@code{neutral-direction}
 "}
 
 \paper { linewidth = -1.}
 \score {\notes \relative c {
   [b''8 b]
-  \property Voice.Beam \set #'default-neutral-direction = #-1
+  \property Voice.Beam \set #'neutral-direction = #-1
   [b b]
 }}
index 6d728efd0a2dcc90084c6551bdecc75cbf8366b9..61a66c33bcb78407ca4673cb9b95699b7c3e48ed 100644 (file)
@@ -30,8 +30,8 @@ All_font_metrics::All_font_metrics (String path)
 
 All_font_metrics::~All_font_metrics ()
 {
-  scm_unprotect_object (afm_p_dict_->self_scm ());
-  scm_unprotect_object (tfm_p_dict_->self_scm ());
+  scm_gc_unprotect_object (afm_p_dict_->self_scm ());
+  scm_gc_unprotect_object (tfm_p_dict_->self_scm ());
 }
 
 Adobe_font_metric *
@@ -72,7 +72,7 @@ All_font_metrics::find_afm (String name)
 
       afm_p_dict_->set (sname,val);
 
-      scm_unprotect_object (val);
+      scm_gc_unprotect_object (val);
 
 
       Adobe_font_metric *afm
@@ -145,7 +145,7 @@ All_font_metrics::find_tfm (String name)
       unsmob_metrics (val)->description_ = gh_cons (name_str, gh_double2scm (1.0));
       tfm_p_dict_->set (sname, val);
 
-      scm_unprotect_object (val);
+      scm_gc_unprotect_object (val);
     }
 
   return
index b3353789cd1faa855872f799c5ec9e7b139a6bd8..618dcb0efdfd6c13559c6511dcb0376f9f0c442f 100644 (file)
@@ -231,7 +231,7 @@ Auto_beam_engraver::create_beam_p ()
        */
       if (Stem::beam_l ((*stem_l_arr_p_)[i]))
        {
-         scm_unprotect_object (beam_p->self_scm ());
+         scm_gc_unprotect_object (beam_p->self_scm ());
          return 0;
        }
       Beam::add_stem (beam_p, (*stem_l_arr_p_)[i]);
index d166c63d436d1be8efaa7859a161393047a39ce9..233c5722d24e8f87d88227f257a56c85d6196b3f 100644 (file)
@@ -399,7 +399,7 @@ Chord::get_chord (SCM tonic, SCM add, SCM sub, SCM inversion, SCM bass, SCM dur)
          n->set_mus_property ("duration", dur);
          n->set_mus_property ("inversion", SCM_BOOL_T);
          list = gh_cons (n->self_scm (), list);
-         scm_unprotect_object (n->self_scm ());
+         scm_gc_unprotect_object (n->self_scm ());
        }
       else
        warning (_f ("invalid inversion pitch: not part of chord: %s",
@@ -414,7 +414,7 @@ Chord::get_chord (SCM tonic, SCM add, SCM sub, SCM inversion, SCM bass, SCM dur)
       n->set_mus_property ("duration", dur);
       n->set_mus_property ("bass", SCM_BOOL_T);
       list = gh_cons (n->self_scm (), list);
-      scm_unprotect_object (n->self_scm ());
+      scm_gc_unprotect_object (n->self_scm ());
     }
   
   for (SCM i = pitches; gh_pair_p (i); i = gh_cdr (i))
@@ -423,7 +423,7 @@ Chord::get_chord (SCM tonic, SCM add, SCM sub, SCM inversion, SCM bass, SCM dur)
       n->set_mus_property ("pitch", gh_car (i));
       n->set_mus_property ("duration", dur);
       list = gh_cons (n->self_scm (), list);
-      scm_unprotect_object (n->self_scm ());
+      scm_gc_unprotect_object (n->self_scm ());
     }
 
   Simultaneous_music*v = new Request_chord (SCM_EOL);
index f0d5beec1f952d6b087d1b9d5ffeb82bcf95b839..26ceeed091ecf85d3d114003b701795cb3d4290f 100644 (file)
@@ -10,7 +10,7 @@
 #include "cxx-function-smob.hh"
 #include "ly-smobs.icc"
 
-static long callback_tag;
+static scm_t_bits callback_tag;
 
 static
 SCM mark_smob (SCM)
@@ -40,11 +40,13 @@ cxx_function_type_p (SCM x)
 
 void init_cxx_function_smobs ()
 {
-  callback_tag = scm_make_smob_type_mfpe ("callback", 0,
-                                         mark_smob, free_smob,
-                                         print_smob, 0);
-
-  scm_make_gsubr ("c++-function?", 1, 0, 0, (Scheme_function_unknown) cxx_function_type_p);
+  callback_tag = scm_make_smob_type ("callback", 0);
+  scm_set_smob_mark (callback_tag, mark_smob);
+  scm_set_smob_free (callback_tag, free_smob);
+  scm_set_smob_print (callback_tag, print_smob);
+  scm_set_smob_equalp (callback_tag, 0);
+  scm_c_define_gsubr ("c++-function?", 1, 0, 0, (Scheme_function_unknown) cxx_function_type_p);
 }
 
 SCM
index 37e75ac8d1e7f1bf9ba8c1c349b83cf92500ff12..71d11ce3bd09dc7a2e8f9a9ca37e785a4304a64a 100644 (file)
@@ -139,7 +139,7 @@ make_duration (SCM l, SCM d)
 static void
 add_funcs ()
 {
-  scm_make_gsubr ("make-duration", 2, 0, 0, (Scheme_function_unknown)make_duration);
+  scm_c_define_gsubr ("make-duration", 2, 0, 0, (Scheme_function_unknown)make_duration);
 }
 
 ADD_SCM_INIT_FUNC (duration, add_funcs);
index f801cefa01f59c23eebaa86d21a7bbb9bfca512e..a7e85acfe2d0e7c9206e433ae9ed9e496b06641e 100644 (file)
@@ -144,7 +144,7 @@ init_syms ()
   design_sz_sym = scm_permanent_object (ly_symbol2scm ("font-design-size"));
   wild_sym = scm_permanent_object (ly_symbol2scm ("*"));
 
-  scm_make_gsubr ("ly-get-default-font", 1 , 0, 0, (Scheme_function_unknown) ly_font_interface_get_default_font);
+  scm_c_define_gsubr ("ly-get-default-font", 1 , 0, 0, (Scheme_function_unknown) ly_font_interface_get_default_font);
 }
 
 
index 930d5f3b2ce3795a574e3b967d7b650409659c10..c1a7c1b71eae306428c004460a4c23d81a924c8a 100644 (file)
@@ -86,7 +86,7 @@ Font_metric::Font_metric ()
   smobify_self ();
 }
 
-Font_metric::Font_metric (Font_metric const &s)
+Font_metric::Font_metric (Font_metric const &)
 {
 }
 
@@ -151,7 +151,7 @@ ly_find_glyph_by_name (SCM font, SCM name)
 static void
 font_metric_init ()
 {
-   scm_make_gsubr ("ly-find-glyph-by-name", 2 , 0, 0, (Scheme_function_unknown) ly_find_glyph_by_name);
+   scm_c_define_gsubr ("ly-find-glyph-by-name", 2 , 0, 0, (Scheme_function_unknown) ly_find_glyph_by_name);
 }
 
 ADD_SCM_INIT_FUNC (font_metric_init, font_metric_init);
index f6c84bc079e0df7650fc0a1d45e2e76f282e1aff..40f92a3876fea3d16a30c027f6d5730ebafa7ac9 100644 (file)
@@ -866,9 +866,9 @@ init_functions ()
 {
   interfaces_sym = scm_permanent_object (ly_symbol2scm ("interfaces"));
 
-  scm_make_gsubr ("ly-get-grob-property", 2, 0, 0, (Scheme_function_unknown)ly_get_grob_property);
-  scm_make_gsubr ("ly-set-grob-property", 3, 0, 0, (Scheme_function_unknown)ly_set_grob_property);
-  scm_make_gsubr ("ly-get-spanner-bound", 2 , 0, 0, (Scheme_function_unknown) spanner_get_bound);
+  scm_c_define_gsubr ("ly-get-grob-property", 2, 0, 0, (Scheme_function_unknown)ly_get_grob_property);
+  scm_c_define_gsubr ("ly-set-grob-property", 3, 0, 0, (Scheme_function_unknown)ly_set_grob_property);
+  scm_c_define_gsubr ("ly-get-spanner-bound", 2 , 0, 0, (Scheme_function_unknown) spanner_get_bound);
 }
 
 bool
index fecff2483d6336cc66539bf7a06fbb4eddae999e..3293e5a6e9948a631b14f0481d294f8a67156a5d 100644 (file)
@@ -9,11 +9,46 @@
 #ifndef LILY_GUILE_HH
 #define LILY_GUILE_HH
 
-#include <guile/gh.h>
 #include <libguile.h>
+/*
+  TODO: the  GH interface is deprecated as of GUILE 1.6
+
+  Remove all gh_XXX functions.
+ */
+#include <guile/gh.h>
+
+#include "config.h"
+
+
+/* Guile 1.3.4 compatibility */
+#if GUILE_MINOR_VERSION < 4
+
+#define scm_bits_t SCM
 
 #define fix_guile_1_3_4_scm_puts(scm_data, port) scm_puts ((char*)scm_data, port)
 #define scm_puts(scm_data, port) fix_guile_1_3_4_scm_puts (scm_data, port)
+#endif
+
+/* Guile 1.4.x compatibility */
+#if GUILE_MINOR_VERSION < 5
+
+#define scm_t_bits scm_bits_t
+
+#define fix_guile_1_4_gh_scm2newstr(str, lenp) gh_scm2newstr (str, (int*)lenp)
+#define gh_scm2newstr(str, lenp) fix_guile_1_4_gh_scm2newstr (str, lenp)
+
+#define fix_guile_1_4_scm_primitive_eval(form) scm_eval_3 (form, 1, SCM_EOL)
+#define scm_primitive_eval(form) fix_guile_1_4_scm_primitive_eval (form)
+
+#define scm_c_define_gsubr scm_make_gsubr
+#define scm_c_eval_string(str) gh_eval_str ((char*)str)
+#define scm_c_memq scm_sloppy_memq
+#define scm_gc_protect_object scm_protect_object
+#define scm_gc_unprotect_object scm_unprotect_object
+#define scm_list_n scm_listify
+#define SCM_STRING_CHARS SCM_CHARS
+#define SCM_STRING_LENGTH SCM_LENGTH
+#endif
 
 #include "direction.hh"
 #include "flower-proto.hh"
 #define SCM_UNPACK(x) ( x)
 #endif
 
+
+
+
+
 /*
   conversion functions follow the GUILE naming convention, i.e.
 
index 0405b9c5066a77bc3a518759223e7f46cd2ce583..00c61e4e872ba271c92774d294e99e1819d39ead 100644 (file)
@@ -23,7 +23,7 @@ return  CL::unsmob (s);                               \
 #define IMPLEMENT_TYPE_P(CL, FUNCNAME)\
 void init_type_p_ ## CL ()\
 {\
-  scm_make_gsubr (FUNCNAME, 1, 0, 0, (Scheme_function_unknown) CL::smob_p);\
+  scm_c_define_gsubr (FUNCNAME, 1, 0, 0, (Scheme_function_unknown) CL::smob_p);\
 }\
 ADD_SCM_INIT_FUNC (init_type_p_ ## CL, init_type_p_ ## CL)
 
@@ -37,7 +37,7 @@ ADD_SCM_INIT_FUNC (init_type_p_ ## CL, init_type_p_ ## CL)
 
 
 #define IMPLEMENT_SIMPLE_SMOBS(CL)                             \
-long CL::smob_tag_;                                            \
+scm_t_bits CL::smob_tag_;                                              \
 SCM                                                            \
 CL::smob_p (SCM s)                                             \
 {                                                              \
@@ -85,7 +85,7 @@ SCM                                                                           \
 CL::smobify_self ()                                                            \
 {                                                                              \
   SCM s =   unprotected_smobify_self ();\
-  scm_protect_object (s);\
+  scm_gc_protect_object (s);\
   return s;\
 }\
 SCM                                                                            \
index 45be2c08ae65cdb4fbbd377ea74ee2f03de654a7..306f3ee2a6920b6501215ad98c726b03069b672f 100644 (file)
@@ -75,7 +75,7 @@
 
    class Bla {
    Csmob *ptr;
-   ~Bla () {  scm_unprotect_object (ptr->self_scm_); }
+   ~Bla () {  scm_gc_unprotect_object (ptr->self_scm_); }
    
    };
 
@@ -104,9 +104,9 @@ protected: \
        friend class Non_existant_class ; \
        SCM smobbed_self () const; \
 private:\
-       static long smob_tag_;                                  \
+       static scm_t_bits smob_tag_;                                    \
        static SCM mark_smob (SCM);                             \
-       static scm_sizet free_smob (SCM s);                     \
+       static size_t free_smob (SCM s);                        \
        static int print_smob (SCM s, SCM p, scm_print_state*); \
 public: \
        static SCM equal_p (SCM a, SCM b);\
index 5b6ad8b779604e1ccf5b0f4bd51441ef20f2c648..297bf083850f7207ebd0015e72afb54881bd6de3 100644 (file)
@@ -48,7 +48,7 @@ void start_input_smobs ()
     = scm_make_smob_type_mfpe ("input", 0,
                               mark_smob, free_smob,
                               print_smob, 0);
-  scm_make_gsubr ("ly-input-location?", 1, 0, 0, (Scheme_function_unknown)ly_input_p);
+  scm_c_define_gsubr ("ly-input-location?", 1, 0, 0, (Scheme_function_unknown)ly_input_p);
  
 }
 
index 30ac299bf827fcffe1844d8739539b8019f02400..93a32caa025ba20577126085d12a0718d0e71970 100644 (file)
@@ -183,7 +183,7 @@ String
 ly_scm2string (SCM s)
 {
   assert (gh_string_p (s));
-  int len; 
+  size_t len; 
   char * p = gh_scm2newstr (s , &len);
   
   String r (p);
@@ -452,12 +452,12 @@ ly_version ()
 static void
 init_functions ()
 {
-  scm_make_gsubr ("ly-warn", 1, 0, 0, (Scheme_function_unknown)ly_warning);
-  scm_make_gsubr ("ly-version", 0, 0, 0, (Scheme_function_unknown)ly_version);  
-  scm_make_gsubr ("ly-gulp-file", 1,0, 0, (Scheme_function_unknown)ly_gulp_file);
-  scm_make_gsubr ("dir?", 1,0, 0, (Scheme_function_unknown)ly_isdir_p);
+  scm_c_define_gsubr ("ly-warn", 1, 0, 0, (Scheme_function_unknown)ly_warning);
+  scm_c_define_gsubr ("ly-version", 0, 0, 0, (Scheme_function_unknown)ly_version);  
+  scm_c_define_gsubr ("ly-gulp-file", 1,0, 0, (Scheme_function_unknown)ly_gulp_file);
+  scm_c_define_gsubr ("dir?", 1,0, 0, (Scheme_function_unknown)ly_isdir_p);
 
-  scm_make_gsubr ("ly-number->string", 1, 0,0, (Scheme_function_unknown) ly_number2string);
+  scm_c_define_gsubr ("ly-number->string", 1, 0,0, (Scheme_function_unknown) ly_number2string);
 
 
 #ifdef TEST_GC 
index b788a54857e95a58be8a8df3d54dad992ff60098..9c70f62adb98d0e8ee5c2200826270b801a93927 100644 (file)
@@ -52,7 +52,7 @@ Line_of_score::typeset_grob (Grob * elem_p)
 {
   elem_p->pscore_l_ = pscore_l_;
   Pointer_group_interface::add_element (this, "all-elements",elem_p);
-  scm_unprotect_object (elem_p->self_scm ());
+  scm_gc_unprotect_object (elem_p->self_scm ());
 }
 
 void
index b414b498aea0720c03ea41bcc13d06a173fe55b3..6cb6cd9b1cbf8819fd138406d991cd3568c9ea7b 100644 (file)
@@ -140,7 +140,7 @@ Molecule::ly_set_molecule_extent_x (SCM mol, SCM axis, SCM np)
   if (m && ly_axis_p (axis) && ly_number_pair_p (np))
     {
       Interval iv = ly_scm2interval (np);
-      m->dim_[Axis (gh_scm2int (axis))] = ly_scm2interval (np);
+      m->dim_[Axis (gh_scm2int (axis))] = iv;
     }
   else
     warning ("ly-set-molecule-extent!: invalid arguments");
@@ -202,10 +202,10 @@ make_molecule (SCM expr, SCM xext, SCM yext)
 static void
 molecule_init ()
 {
-  scm_make_gsubr ("ly-make-molecule", 3, 0, 0, (Scheme_function_unknown) make_molecule);
-  scm_make_gsubr ("ly-combine-molecule-at-edge", 5 , 0, 0, (Scheme_function_unknown) Molecule::ly_molecule_combined_at_edge);
-  scm_make_gsubr ("ly-set-molecule-extent!", 3 , 0, 0, (Scheme_function_unknown) Molecule::ly_set_molecule_extent_x);
-  scm_make_gsubr ("ly-get-molecule-extent", 2 , 0, 0, (Scheme_function_unknown) Molecule::ly_get_molecule_extent);
+  scm_c_define_gsubr ("ly-make-molecule", 3, 0, 0, (Scheme_function_unknown) make_molecule);
+  scm_c_define_gsubr ("ly-combine-molecule-at-edge", 5 , 0, 0, (Scheme_function_unknown) Molecule::ly_molecule_combined_at_edge);
+  scm_c_define_gsubr ("ly-set-molecule-extent!", 3 , 0, 0, (Scheme_function_unknown) Molecule::ly_set_molecule_extent_x);
+  scm_c_define_gsubr ("ly-get-molecule-extent", 2 , 0, 0, (Scheme_function_unknown) Molecule::ly_get_molecule_extent);
 }
 ADD_SCM_INIT_FUNC (molecule,molecule_init);
 
@@ -245,11 +245,13 @@ IMPLEMENT_SIMPLE_SMOBS (Molecule);
 int
 Molecule::print_smob (SCM s, SCM port, scm_print_state *)
 {
-  Molecule  *r = (Molecule *) gh_cdr (s);
-     
   scm_puts ("#<Molecule ", port);
-  /*  String str (r->str ());
+#if 0
+  Molecule  *r = (Molecule *) gh_cdr (s);
+  String str (r->str ());
   scm_puts ((char *)str.ch_C (), port);*/
+#endif
+
   scm_puts (" >", port);
   
   return 1;
index a1c9e071ec77595e79cb2bd2df7879c95c303701..34e51bbb4ac73aadbf1d7d8d669bc41b1fb03e2b 100644 (file)
@@ -69,7 +69,7 @@ make_rational (SCM n, SCM d)
 void
 init_moments ()
 {
-  scm_make_gsubr ("make-moment", 2 , 0, 0, (Scheme_function_unknown) make_rational);
+  scm_c_define_gsubr ("make-moment", 2 , 0, 0, (Scheme_function_unknown) make_rational);
 }
 
 ADD_SCM_INIT_FUNC (moms,init_moments);
index eb58cec14ce650bbfe0e80a5762b8dd679135fca..8f6b1ef3d5db323a25460b1d12b4635f00b8a8c3 100644 (file)
@@ -37,8 +37,8 @@ Music_output_def::Music_output_def ()
   translator_p_dict_p_ = new Scope (translator_tab_);
 
   smobify_self ();
-  scm_unprotect_object (variable_tab_->self_scm ());
-  scm_unprotect_object (translator_tab_->self_scm ());  
+  scm_gc_unprotect_object (variable_tab_->self_scm ());
+  scm_gc_unprotect_object (translator_tab_->self_scm ());  
 }
 
 Music_output_def::~Music_output_def ()
@@ -53,8 +53,8 @@ Music_output_def::Music_output_def (Music_output_def const &s)
   style_sheet_ = SCM_EOL;
   scaled_fonts_ = SCM_EOL;
   smobify_self ();
-  scm_unprotect_object (variable_tab_->self_scm ());
-  scm_unprotect_object (translator_tab_->self_scm ());  
+  scm_gc_unprotect_object (variable_tab_->self_scm ());
+  scm_gc_unprotect_object (translator_tab_->self_scm ());  
 
   
   scope_p_ = new Scope (variable_tab_);
index 5be315fcd10ffa46fa204186398b8f263a5bf563..cc7eb3f693bdd8ea40a5d085d81893554ff3060c 100644 (file)
@@ -48,7 +48,7 @@ Music_sequence::append_music (Music *m)
 {
   set_mus_property ("elements",
                    gh_append2 (music_list (), gh_cons (m->self_scm (), SCM_EOL)));
-  scm_unprotect_object (m->self_scm ());
+  scm_gc_unprotect_object (m->self_scm ());
 }
 
 Music_sequence::Music_sequence (SCM l)
index 917e14021b4e75d8c2b535526ab42d195e61a922..2becb7f0ec7b3c0370fd97c703bf82d64c390d5d 100644 (file)
@@ -19,7 +19,7 @@ ly_deep_mus_copy (SCM m)
   if (unsmob_music (m))
     {
       SCM ss =  unsmob_music (m)->clone ()->self_scm ();
-      scm_unprotect_object (ss);
+      scm_gc_unprotect_object (ss);
       return ss;
     }
   else if (gh_pair_p (m))
@@ -277,7 +277,7 @@ ly_make_music (SCM type)
   else
     {
       SCM s =       get_music (ly_scm2string (type))->self_scm ();
-      scm_unprotect_object (s);
+      scm_gc_unprotect_object (s);
       return s;
     }
 }
@@ -300,10 +300,10 @@ ly_music_name (SCM mus)
 static void
 init_functions ()
 {
-  scm_make_gsubr ("ly-get-mus-property", 2, 0, 0, (Scheme_function_unknown)ly_get_mus_property);
-  scm_make_gsubr ("ly-set-mus-property", 3, 0, 0, (Scheme_function_unknown)ly_set_mus_property);
-  scm_make_gsubr ("ly-make-music", 1, 0, 0, (Scheme_function_unknown)ly_make_music);
-  scm_make_gsubr ("ly-music-name", 1, 0, 0, (Scheme_function_unknown)ly_music_name);    
+  scm_c_define_gsubr ("ly-get-mus-property", 2, 0, 0, (Scheme_function_unknown)ly_get_mus_property);
+  scm_c_define_gsubr ("ly-set-mus-property", 3, 0, 0, (Scheme_function_unknown)ly_set_mus_property);
+  scm_c_define_gsubr ("ly-make-music", 1, 0, 0, (Scheme_function_unknown)ly_make_music);
+  scm_c_define_gsubr ("ly-music-name", 1, 0, 0, (Scheme_function_unknown)ly_music_name);    
 }
 ADD_SCM_INIT_FUNC (musicscm,init_functions);
 ADD_MUSIC(Music);
index 3a41467abcf1bac7d78492a01159c4410cbdbf72..3190df807fbccd4c5433f8b832f402e9d4c0db69 100644 (file)
@@ -145,7 +145,7 @@ My_lily_lexer::set_identifier (String name_str, SCM s)
 My_lily_lexer::~My_lily_lexer ()
 {
   delete keytable_p_;
-  scm_unprotect_object (toplevel_variable_tab_->self_scm ());
+  scm_gc_unprotect_object (toplevel_variable_tab_->self_scm ());
   delete scope_p_ ;
 }
 
index 10e56f0883cdd261840c920e37bacb903294790b..0fcdd18fc7dae0d25dd8026b896b3f4f1bdb76dd 100644 (file)
@@ -140,7 +140,7 @@ Paper_def::find_font (SCM fn, Real m)
   SCM val = Scaled_font_metric::make_scaled_font_metric (f, m);
   scaled_fonts_ = scm_acons (key, val, scaled_fonts_);
 
-  scm_unprotect_object (val);
+  scm_gc_unprotect_object (val);
 
   return dynamic_cast<Scaled_font_metric*> (unsmob_metrics (val));
 }
index c684d4237e434b02c7f1d1da2e2cbc4c8cd25c08..043d5a812cdf944171b0e024ca38a26ae3978415 100644 (file)
@@ -336,7 +336,7 @@ toplevel_expression:
        }
        | lilypond_header {
                if (global_header_p)
-                       scm_unprotect_object (global_header_p->self_scm ());
+                       scm_gc_unprotect_object (global_header_p->self_scm ());
                global_header_p = $1;
        }
        | score_block {
@@ -440,22 +440,22 @@ all objects can be unprotected as soon as they're here.
 identifier_init:
        score_block {
                $$ = $1->self_scm ();
-               scm_unprotect_object ($$);
+               scm_gc_unprotect_object ($$);
        }
        | output_def {
                $$ = $1->self_scm ();
-               scm_unprotect_object ($$);
+               scm_gc_unprotect_object ($$);
        }
        | translator_spec_block {
                $$ = $1;
        }
        | Music  {
                $$ = $1->self_scm ();
-               scm_unprotect_object ($$);
+               scm_gc_unprotect_object ($$);
        }
        | post_request {
                $$ = $1->self_scm ();
-               scm_unprotect_object ($$);
+               scm_gc_unprotect_object ($$);
        }
        | explicit_duration {
                $$ = $1;
@@ -555,7 +555,7 @@ score_body:
        
                $$->set_spot (THIS->here_input ());
                SCM m = $1->self_scm ();
-               scm_unprotect_object (m);
+               scm_gc_unprotect_object (m);
                $$->music_ = m;
        }
        | SCORE_IDENTIFIER {
@@ -563,7 +563,7 @@ score_body:
                $$->set_spot (THIS->here_input ());
        }
        | score_body lilypond_header    {
-               scm_unprotect_object ($2->self_scm ()); 
+               scm_gc_unprotect_object ($2->self_scm ()); 
                $$->header_p_ = $2;
        }
        | score_body output_def {
@@ -659,7 +659,7 @@ Music_list: /* empty */ {
        | Music_list Music {
                SCM s = $$;
                SCM c = gh_cons ($2->self_scm (), SCM_EOL);
-               scm_unprotect_object ($2->self_scm ()); /* UGH */
+               scm_gc_unprotect_object ($2->self_scm ()); /* UGH */
                if (gh_pair_p (gh_cdr (s)))
                        gh_set_cdr_x (gh_cdr (s), c); /* append */
                else
@@ -703,7 +703,7 @@ Repeated_music:
                if (beg)
                        {
                        r-> set_mus_property ("body", beg->self_scm ());
-                       scm_unprotect_object (beg->self_scm ());
+                       scm_gc_unprotect_object (beg->self_scm ());
                        }
                r->set_mus_property ("repeat-count", gh_int2scm (times >? 1));
 
@@ -711,7 +711,7 @@ Repeated_music:
                        {
                        alts->truncate (times);
                        r-> set_mus_property ("alternatives", alts->self_scm ());
-                       scm_unprotect_object (alts->self_scm ());  
+                       scm_gc_unprotect_object (alts->self_scm ());  
                        }
                SCM func = scm_eval2 (ly_symbol2scm ("repeat-name-to-ctor"), SCM_EOL);
                SCM result = gh_call1 (func, $2);
@@ -787,7 +787,7 @@ Composite_music:
        CONTEXT STRING Music    {
                Context_specced_music *csm =  new Context_specced_music (SCM_EOL);
                csm->set_mus_property ("element", $3->self_scm ());
-               scm_unprotect_object ($3->self_scm ());
+               scm_gc_unprotect_object ($3->self_scm ());
 
                csm->set_mus_property ("context-type",$2);
                csm->set_mus_property ("context-id", ly_str02scm (""));
@@ -799,7 +799,7 @@ Composite_music:
                chm->set_mus_property ("element", $3->self_scm ());
                chm->set_mus_property ("iterator-ctor", Auto_change_iterator::constructor_cxx_function);
 
-               scm_unprotect_object ($3->self_scm ());
+               scm_gc_unprotect_object ($3->self_scm ());
                chm->set_mus_property ("what", $2); 
 
                $$ = chm;
@@ -808,13 +808,13 @@ Composite_music:
        | GRACE Music {
                $$ = new Grace_music (SCM_EOL);
                $$->set_mus_property ("element", $2->self_scm ());
-               scm_unprotect_object ($2->self_scm ());
+               scm_gc_unprotect_object ($2->self_scm ());
 
        }
        | CONTEXT string '=' string Music {
                Context_specced_music *csm =  new Context_specced_music (SCM_EOL);
                csm->set_mus_property ("element", $5->self_scm ());
-               scm_unprotect_object ($5->self_scm ());
+               scm_gc_unprotect_object ($5->self_scm ());
 
                csm->set_mus_property ("context-type", $2);
                csm->set_mus_property ("context-id", $4);
@@ -835,7 +835,7 @@ Composite_music:
 
 
                $$->set_mus_property ("element", mp->self_scm ());
-               scm_unprotect_object (mp->self_scm ());
+               scm_gc_unprotect_object (mp->self_scm ());
                $$->set_mus_property ("numerator", gh_int2scm (n));
                $$->set_mus_property ("denominator", gh_int2scm (d));
                $$->compress (Moment (n,d));
@@ -851,7 +851,7 @@ Composite_music:
 
                p->transpose (pit);
                $$->set_mus_property ("element", p->self_scm ());
-               scm_unprotect_object (p->self_scm ());
+               scm_gc_unprotect_object (p->self_scm ());
        }
        | TRANSPOSE steno_tonic_pitch Music {
                $$ = new Transposed_music (SCM_EOL);
@@ -860,7 +860,7 @@ Composite_music:
 
                p->transpose (pit);
                $$->set_mus_property ("element", p->self_scm ());
-               scm_unprotect_object (p->self_scm ());
+               scm_gc_unprotect_object (p->self_scm ());
        
        }
        | APPLY embedded_scm Music  {
@@ -907,7 +907,7 @@ relative_music:
                $$ = new Relative_octave_music (SCM_EOL);
 
                $$->set_mus_property ("element", p->self_scm ());
-               scm_unprotect_object (p->self_scm ());
+               scm_gc_unprotect_object (p->self_scm ());
 
                $$->set_mus_property ("last-pitch", p->to_relative_octave (pit).smobbed_copy ());
 
@@ -919,8 +919,8 @@ re_rhythmed_music:
          Lyric_combine_music * l = new Lyric_combine_music (SCM_EOL);
          l->set_mus_property ("music", $2->self_scm ());
          l->set_mus_property ("lyrics", $3->self_scm ());
-         scm_unprotect_object ($3->self_scm ());
-         scm_unprotect_object ($2->self_scm ());
+         scm_gc_unprotect_object ($3->self_scm ());
+         scm_gc_unprotect_object ($2->self_scm ());
          $$ = l;
        }
        ;
@@ -933,8 +933,8 @@ part_combined_music:
                p->set_mus_property ("one", $3->self_scm ());
                p->set_mus_property ("two", $4->self_scm ());  
 
-               scm_unprotect_object ($3->self_scm ());
-               scm_unprotect_object ($4->self_scm ());  
+               scm_gc_unprotect_object ($3->self_scm ());
+               scm_gc_unprotect_object ($4->self_scm ());  
 
 
                $$ = p;
@@ -961,7 +961,7 @@ property_def:
                Context_specced_music *csm = new Context_specced_music (SCM_EOL);
 
                csm->set_mus_property ("element", t->self_scm ());
-               scm_unprotect_object (t->self_scm ());
+               scm_gc_unprotect_object (t->self_scm ());
 
                $$ = csm;
                $$->set_spot (THIS->here_input ());
@@ -977,7 +977,7 @@ property_def:
 
                Context_specced_music *csm = new Context_specced_music (SCM_EOL);
                csm->set_mus_property ("element", t->self_scm ());
-               scm_unprotect_object (t->self_scm ());
+               scm_gc_unprotect_object (t->self_scm ());
 
                $$ = csm;
                $$->set_spot (THIS->here_input ());
@@ -994,7 +994,7 @@ property_def:
                t->set_mus_property ("grob-value", $8);
                Context_specced_music *csm = new Context_specced_music (SCM_EOL);
                csm->set_mus_property ("element", t->self_scm ());
-               scm_unprotect_object (t->self_scm ());
+               scm_gc_unprotect_object (t->self_scm ());
                $$ = csm;
                $$->set_spot (THIS->here_input ());
 
@@ -1009,7 +1009,7 @@ property_def:
                t->set_mus_property ("grob-value", $8);
                Context_specced_music *csm = new Context_specced_music (SCM_EOL);
                csm->set_mus_property ("element", t->self_scm ());
-               scm_unprotect_object (t->self_scm ());
+               scm_gc_unprotect_object (t->self_scm ());
 
                $$ = csm;
                $$->set_spot (THIS->here_input ());
@@ -1025,7 +1025,7 @@ property_def:
 
                Context_specced_music *csm = new Context_specced_music (SCM_EOL);
                csm->set_mus_property ("element", t->self_scm ());
-               scm_unprotect_object (t->self_scm ());
+               scm_gc_unprotect_object (t->self_scm ());
 
                $$ = csm;
                $$->set_spot (THIS->here_input ());
@@ -1071,7 +1071,7 @@ command_element:
 
                Context_specced_music *csm = new Context_specced_music (SCM_EOL);
                csm->set_mus_property ("element", t->self_scm ());
-               scm_unprotect_object (t->self_scm ());
+               scm_gc_unprotect_object (t->self_scm ());
 
                $$ = csm;
                $$->set_spot (THIS->here_input ());
@@ -1084,7 +1084,7 @@ command_element:
 
                Context_specced_music * sp = new Context_specced_music (SCM_EOL);
                sp->set_mus_property ("element", p->self_scm ());
-               scm_unprotect_object (p->self_scm ());
+               scm_gc_unprotect_object (p->self_scm ());
 
                $$ =sp ;
                sp-> set_mus_property ("context-type", ly_str02scm ( "Score"));
@@ -1098,14 +1098,14 @@ command_element:
                        Music * p = new Music (SCM_EOL);
                        set_music_properties (p, gh_car (s));
                        l = gh_cons (p->self_scm (), l);
-                       scm_unprotect_object (p->self_scm ());
+                       scm_gc_unprotect_object (p->self_scm ());
                }
                Sequential_music * seq = new Sequential_music (SCM_EOL);
                seq->set_mus_property ("elements", l);
 
                Context_specced_music * sp = new Context_specced_music (SCM_EOL);
                sp->set_mus_property ("element", seq->self_scm ());
-               scm_unprotect_object (seq->self_scm ());
+               scm_gc_unprotect_object (seq->self_scm ());
 
                $$ =sp ;
                sp-> set_mus_property ("context-type", ly_str02scm ("Staff"));
@@ -1133,10 +1133,10 @@ command_element:
 
                
 
-               scm_unprotect_object (p3->self_scm ());
-               scm_unprotect_object (p2->self_scm ());
-               scm_unprotect_object (p1->self_scm ());
-               scm_unprotect_object (seq->self_scm ());
+               scm_gc_unprotect_object (p3->self_scm ());
+               scm_gc_unprotect_object (p2->self_scm ());
+               scm_gc_unprotect_object (p1->self_scm ());
+               scm_gc_unprotect_object (seq->self_scm ());
 
                $$ = sp;
 
index f4052b28c9d24d06f109a5e9c709226af3d450e0..aa7774debce072ce1de914f0da4af462446dfc61 100644 (file)
@@ -355,13 +355,13 @@ static void
 add_funcs ()
 {
   // should take list?: (make-pitch ' (octave name accidental))
-  scm_make_gsubr ("make-pitch", 3, 0, 0, (Scheme_function_unknown)make_pitch);
+  scm_c_define_gsubr ("make-pitch", 3, 0, 0, (Scheme_function_unknown)make_pitch);
 
-  scm_make_gsubr ("pitch-octave", 1, 0, 0, (Scheme_function_unknown)pitch_octave);
-  scm_make_gsubr ("pitch-notename", 1, 0, 0, (Scheme_function_unknown)pitch_notename);
-  scm_make_gsubr ("pitch-alteration", 1, 0, 0, (Scheme_function_unknown)pitch_alteration);
-  scm_make_gsubr ("pitch-semitones", 1, 0, 0, (Scheme_function_unknown)pitch_semitones);
-  scm_make_gsubr ("Pitch::transpose", 2, 0, 0, (Scheme_function_unknown) pitch_transpose);
+  scm_c_define_gsubr ("pitch-octave", 1, 0, 0, (Scheme_function_unknown)pitch_octave);
+  scm_c_define_gsubr ("pitch-notename", 1, 0, 0, (Scheme_function_unknown)pitch_notename);
+  scm_c_define_gsubr ("pitch-alteration", 1, 0, 0, (Scheme_function_unknown)pitch_alteration);
+  scm_c_define_gsubr ("pitch-semitones", 1, 0, 0, (Scheme_function_unknown)pitch_semitones);
+  scm_c_define_gsubr ("Pitch::transpose", 2, 0, 0, (Scheme_function_unknown) pitch_transpose);
 }
 
 ADD_SCM_INIT_FUNC (pitch, add_funcs);
index 57a6e04e9a0fae2f7106adc7ba4a18411b21b3ac..cb234ad6b70e2bd26ee2a0363b0e5ee35002cab9 100644 (file)
@@ -51,7 +51,7 @@ Property_engraver::finalize ()
 Property_engraver::~Property_engraver ()
 {
   if (prop_dict_)
-    scm_unprotect_object (prop_dict_->self_scm ());
+    scm_gc_unprotect_object (prop_dict_->self_scm ());
 }
 
 void
index 3c4bcfabf69c4920892d67efa481f1a0c04c0fb9..7e22baa5506c14c5a27b48785f9f4a355f9bd672 100644 (file)
@@ -17,12 +17,12 @@ Protected_scm::Protected_scm ()
 
 Protected_scm::Protected_scm (SCM s)
 {
-  object_ = SCM_NIMP (s)  ? scm_protect_object (s): s;
+  object_ = SCM_NIMP (s)  ? scm_gc_protect_object (s): s;
 }
 
 Protected_scm::Protected_scm (Protected_scm const &s)
 {
-  object_ = SCM_NIMP (s.object_) ? scm_protect_object (s.object_) : s.object_;
+  object_ = SCM_NIMP (s.object_) ? scm_gc_protect_object (s.object_) : s.object_;
 }
 
 Protected_scm & 
@@ -32,9 +32,9 @@ Protected_scm::operator = (SCM s)
     return *this;
   
   if (SCM_NIMP (object_))
-    scm_unprotect_object (object_);
+    scm_gc_unprotect_object (object_);
 
-  object_ =  SCM_NIMP (s) ? scm_protect_object (s): s;
+  object_ =  SCM_NIMP (s) ? scm_gc_protect_object (s): s;
   return *this;
 }
 
@@ -49,7 +49,7 @@ Protected_scm::~Protected_scm ()
 {
   if (SCM_NIMP (object_))
     {
-      scm_unprotect_object (object_);
+      scm_gc_unprotect_object (object_);
     }
 }
 
index 08cac970949a14a460360f7035c68583e95e2c71..09750b51ace1107df9f900dc8a8b317c0bcbfb73 100644 (file)
@@ -54,7 +54,7 @@ Scheme_hash_table::print_smob (SCM s, SCM p, scm_print_state*)
 {
   assert (unsmob (s));
   char str[1000];
-  sprintf (str, "#<Scheme_hash_table 0x%0x ", s);
+  sprintf (str, "#<Scheme_hash_table 0x%0x ", SCM_UNPACK (s));
   scm_puts (str, p);      
   Scheme_hash_table *me = unsmob (s);
   for (Scm_stl_map::const_iterator i = me->begin (); i != me->end (); i++)
index b98327d1a37cc797a7c8f6176833b238cdc3c4ea..525c2e54f3212b376497c4b9bbeb0b9950ad838b 100644 (file)
@@ -101,7 +101,7 @@ set_lily_option (SCM var, SCM val)
 static void
 init_functions ()
 {
-  scm_make_gsubr ("set-lily-option", 2, 0, 0, (Scheme_function_unknown)set_lily_option);
+  scm_c_define_gsubr ("set-lily-option", 2, 0, 0, (Scheme_function_unknown)set_lily_option);
 }
 
 
index 962f820257c3402e4dfc6557450cebc35579283e..ae6cf4173db1bfed7ef604a0dd868fb0ae33dcb7 100644 (file)
@@ -44,7 +44,7 @@ Score::Score (Score const &s)
   
   Music * m =unsmob_music (s.music_);
   music_ =  m?m->clone ()->self_scm () : SCM_EOL;
-  scm_unprotect_object (music_);
+  scm_gc_unprotect_object (music_);
   
   for (int i=0; i < s.def_p_arr_.size (); i++)
     def_p_arr_.push (s.def_p_arr_[i]->clone ());
@@ -53,7 +53,7 @@ Score::Score (Score const &s)
        {
          header_p_ = (s.header_p_) ? new Scheme_hash_table (*s.header_p_): 0;
 
-         scm_unprotect_object (header_p_->self_scm ());
+         scm_gc_unprotect_object (header_p_->self_scm ());
        }
  
 }
@@ -106,7 +106,7 @@ Score::run_translator (Music_output_def *odef_l)
     }
 
   Music_output * output = trans_p->get_output_p ();
-  scm_unprotect_object (trans_p->self_scm ());
+  scm_gc_unprotect_object (trans_p->self_scm ());
   
   if (verbose_global_b)
     progress_indication (_f ("elapsed time: %.2f seconds",  timer.read ()));
index c711d24a2bf2f7ba1e110015c1e639477cf93063..06a65014a9419f735257d1dd2028b2d59d94bee6 100644 (file)
@@ -118,12 +118,12 @@ void
 clear_scores ()
 {
   for (int i=0; i < score_global_array.size (); i++)
-    scm_unprotect_object (score_global_array[i]->self_scm ());
+    scm_gc_unprotect_object (score_global_array[i]->self_scm ());
   score_global_array.clear ();
   
   inclusion_global_array.clear ();
   if (global_header_p)
-    scm_unprotect_object (global_header_p ->self_scm ());
+    scm_gc_unprotect_object (global_header_p ->self_scm ());
   global_header_p =0; 
 }
 
index 7f7768b2d16f17251fbb76678d1801b192b17dc7..476d028e2af0d2008d05f0c77023752c224efe58 100644 (file)
@@ -92,44 +92,41 @@ Span_bar::brew_molecule (SCM smobbed_me)
 
   // compose span_bar_mol
   Molecule span_bar_mol = Molecule::Molecule ();
-  Grob *prev_staff_bar = 0;
-  Real prev_staff_bar_length = 0.0;
+  Interval prev_extent;
   for (SCM elts = first_elt;
        gh_pair_p (elts);
        elts = gh_cdr (elts))
   {
     SCM smobbed_staff_bar = gh_car (elts);
-    SCM smobbed_staff_bar_molecule =
-      Bar::brew_molecule (smobbed_staff_bar);
     Grob *staff_bar = unsmob_grob (smobbed_staff_bar);
-    Real staff_bar_length =
-      unsmob_molecule (smobbed_staff_bar_molecule)->
-      extent (Y_AXIS).length ();
+    Interval ext = staff_bar->extent (refp, Y_AXIS);
 
-    if (prev_staff_bar) {
+    if (ext.empty_b ())
+      continue; 
+    
+    if (!prev_extent.empty_b ()) {
 
       Interval l;
-      l[LEFT] = prev_staff_bar->extent (refp, Y_AXIS)[UP];
-      l[RIGHT] = staff_bar->extent (refp, Y_AXIS)[DOWN];
-
-      SCM smobbed_staff_bar = gh_car (elts);
-      Grob *staff_bar = unsmob_grob (smobbed_staff_bar);
+      l[LEFT] = prev_extent[UP];
+      l[RIGHT] = ext[DOWN];
+      
+      //SCM smobbed_staff_bar = gh_car (elts);
+      //Grob *staff_bar = unsmob_grob (smobbed_staff_bar);
       SCM smobbed_interstaff_bar_molecule = 
        Bar::compound_barline (staff_bar, glyph_str, l.length()).
        smobbed_copy ();
-
+      
       Molecule *interstaff_bar_mol =
        unsmob_molecule (smobbed_interstaff_bar_molecule);
-
-      yoffs += prev_staff_bar_length; // skip staff bar
+      
+      yoffs += prev_extent.length (); // skip staff bar
       yoffs += 0.5 * (l[RIGHT] - l[LEFT]); // compensate interstaff bar centering
       interstaff_bar_mol->translate_axis (yoffs, Y_AXIS);
       yoffs += 0.5 * (l[RIGHT] - l[LEFT]);
-
+      
       span_bar_mol.add_molecule (*interstaff_bar_mol);
     }
-    prev_staff_bar = staff_bar;
-    prev_staff_bar_length = staff_bar_length;
+    prev_extent = ext;
   }
 
   return span_bar_mol.smobbed_copy ();
index aa33ce33fa5ed53e18d043bd5b4138ad904c2374..aaec32d796b4551eb28ea7ae2744d0bba7138837 100644 (file)
@@ -231,7 +231,7 @@ trans_list (SCM namelist, Translator_group*tg)
          tr->daddy_trans_l_ = tg;
          tr->output_def_l_  = tg->output_def_l_;
 
-         scm_unprotect_object (str);
+         scm_gc_unprotect_object (str);
        }
     }
   return l; 
index 33fa92d9cd1b93ea70fcc3829a99b16be220dffd..6225859dd1f5ebf8f74d3de90042672484196364 100644 (file)
@@ -22,7 +22,7 @@ Translator_group::Translator_group (Translator_group const&s)
   
   Scheme_hash_table * tab =  new Scheme_hash_table (*s.properties_dict ());
   properties_scm_ = tab->self_scm ();
-  scm_unprotect_object (tab->self_scm ());
+  scm_gc_unprotect_object (tab->self_scm ());
 }
 
 Scheme_hash_table*
@@ -44,7 +44,7 @@ Translator_group::Translator_group ()
   Scheme_hash_table *tab = new Scheme_hash_table ;
   properties_scm_ = tab->self_scm ();
 
-  scm_unprotect_object (tab->self_scm ());
+  scm_gc_unprotect_object (tab->self_scm ());
 }
 
 void
@@ -469,8 +469,8 @@ ly_set_trans_property (SCM context, SCM name, SCM val)
 void
 add_trans_scm_funcs ()
 {
-  scm_make_gsubr ("ly-get-trans-property", 2, 0, 0, (Scheme_function_unknown)ly_get_trans_property);
-  scm_make_gsubr ("ly-set-trans-property", 3, 0, 0, (Scheme_function_unknown)ly_set_trans_property);
+  scm_c_define_gsubr ("ly-get-trans-property", 2, 0, 0, (Scheme_function_unknown)ly_get_trans_property);
+  scm_c_define_gsubr ("ly-set-trans-property", 3, 0, 0, (Scheme_function_unknown)ly_set_trans_property);
 }
 
 ADD_SCM_INIT_FUNC (trans_scm, add_trans_scm_funcs);
index a3e14ce4833708d9a8cbc45e2ead04821ec6761a..4b93821560f3a58db6e3c35bc2dda4fdc42de925 100644 (file)
@@ -140,8 +140,11 @@ Volta_engraver::acknowledge_grob (Grob_info i)
        {
          if (volta_span_p_)
            Volta_spanner::add_column (volta_span_p_,item);
-         if (end_volta_span_p_)
-           Volta_spanner::add_column (end_volta_span_p_,item);      
+
+         /*
+           don't add to end_volta_span_p_, since this note is really after the
+           spanner.
+          */
        }
       if (Bar::has_interface (item))
        {
index 7bde761d311b4142f6b969f7ee52e9b72f81f036..9ecf27559df236bfb94b65fc35b3690dddb38d06 100644 (file)
@@ -1,15 +1,15 @@
 Begin3
 Title: LilyPond
-Version: 1.4.7
-Entered-date: 23AUG01
+Version: 1.4.8
+Entered-date: 24SEP01
 Description: @BLURB@
 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.4.7.tar.gz 
+       1000k lilypond-1.4.8.tar.gz 
 Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
-       1000k lilypond-1.4.7.tar.gz 
+       1000k lilypond-1.4.8.tar.gz 
 Copying-policy: GPL
 End
index ccac7a4339a9c77b48bb03115d4a9875281735b3..ba1f4308710f2ba8f33321d6efaa74ba421286a1 100644 (file)
@@ -1,11 +1,11 @@
 %define info yes
 
 Name: lilypond
-Version: 1.4.7
+Version: 1.4.8
 Release: 1
 License: GPL
 Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.4.7.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.4.8.tar.gz
 Summary: Create and print music notation 
 URL: http://www.cs.uu.nl/~hanwen/lilypond
 BuildRoot: /tmp/lilypond-install
index 1b09b2a83bcdda35ab6ac38c10354ba993577566..7b46cd9b29749efed9f712e49f53aa7e1b2caa57 100644 (file)
 
 Distribution: SuSE Linux 7.0 (i386)
 Name: lilypond
-Version: 1.4.7
+Version: 1.4.8
 Release: 2
 Copyright:    GPL
 Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.4.7.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.4.8.tar.gz
 # music notation software for.. ?
 Summary: A program for printing sheet music.
 URL: http://www.lilypond.org/
diff --git a/po/da.po b/po/da.po
new file mode 100644 (file)
index 0000000..990a7e2
--- /dev/null
+++ b/po/da.po
@@ -0,0 +1,1406 @@
+# Danish translation of lilypond
+# Copyright (C) 2001 Free Software Foundation, Inc.
+# Keld Simonsen <keld@dkuug.dk>, 2001.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: lilypond 1.4.6\n"
+"POT-Creation-Date: 2001-06-14 13:22+0200\n"
+"PO-Revision-Date: 2001-09-22 21:00+0200\n"
+"Last-Translator: Keld Simonsen <keld@dkuug.dk>\n"
+"Language-Team: Danish <dansk@klid.dk>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ly2dvi.py:105
+msgid "Generate .dvi with LaTeX for LilyPond"
+msgstr "Generér .dvi med LaTeX for LilyPond"
+
+#: data-file.cc:118 input.cc:85 ly2dvi.py:190 midi-parser.cc:100 mup2ly.py:93
+#: update-lily.py:118 warn.cc:23
+msgid "warning: "
+msgstr "advarsel: "
+
+#: input.cc:90 ly2dvi.py:205 ly2dvi.py:804 mup2ly.py:98 mup2ly.py:188
+#: update-lily.py:123 update-lily.py:211 warn.cc:9 warn.cc:17
+msgid "error: "
+msgstr "fejl: "
+
+#: ly2dvi.py:206 mup2ly.py:100 update-lily.py:125
+msgid "Exiting ... "
+msgstr "Afslutter... "
+
+#: ly2dvi.py:264 mup2ly.py:158 update-lily.py:183
+#, c-format
+msgid "Usage: %s [OPTION]... FILE"
+msgstr "Brug: %s [FLAG]... FIL"
+
+#: ly2dvi.py:268 main.cc:120 main.cc:148 mup2ly.py:162 update-lily.py:187
+msgid "Options:"
+msgstr "Flag:"
+
+#: ly2dvi.py:272 main.cc:124 main.cc:171 mup2ly.py:168 update-lily.py:191
+#, c-format
+msgid "Report bugs to %s"
+msgstr ""
+"Rapportér programfejl til %s\n"
+"Rapportér fejl i oversættelsen til <dansk@klid.dk>"
+
+#: ly2dvi.py:305 mup2ly.py:185 update-lily.py:208
+#, c-format
+msgid "Invoking `%s'"
+msgstr "Starter \"%s\""
+
+#: ly2dvi.py:309 mup2ly.py:188 update-lily.py:211
+#, c-format
+msgid "command exited with value %d"
+msgstr "kommandoen afsluttede med værdi %d"
+
+#: ly2dvi.py:311 mup2ly.py:190 update-lily.py:213
+msgid "(ignored)"
+msgstr "(ignoreret)"
+
+# hær er det spørg om rensning af en temporærkatalog
+#: ly2dvi.py:321
+#, c-format
+msgid "Cleaning %s..."
+msgstr "Renser %s..."
+
+#: ly2dvi.py:336 mup2ly.py:214 update-lily.py:237
+#, c-format
+msgid "no such setting: %s"
+msgstr "indstillingen findes ikke: %s"
+
+#: ly2dvi.py:349 main.cc:112
+msgid "write Makefile dependencies for every input file"
+msgstr "skriv Makefile-afhængigheder for hver inddatafil"
+
+# forklaring af flag -h
+#: ly2dvi.py:350 main.cc:96 main.cc:108 mup2ly.py:1117 update-lily.py:251
+msgid "this help"
+msgstr "denne hjælp"
+
+#: ly2dvi.py:351 main.cc:110 main.cc:115
+msgid "DIR"
+msgstr "KATALOG"
+
+#: ly2dvi.py:351
+msgid "add DIR to LilyPond's search path"
+msgstr "tilføj KATALOG til LilyPonds søgesti"
+
+# %s er programmets navn
+#: ly2dvi.py:352
+#, c-format
+msgid "keep all output, and name the directory %s.dir"
+msgstr "behold al uddata, og navngiv kataloget %s.dir"
+
+#: ly2dvi.py:353
+msgid "don't run LilyPond"
+msgstr "kør ikke LilyPond"
+
+#: ly2dvi.py:354 main.cc:113
+msgid "produce MIDI output only"
+msgstr "lav kun MIDI-uddata"
+
+#: ly2dvi.py:355 main.cc:99 main.cc:111 main.cc:114
+msgid "FILE"
+msgstr "FIL"
+
+#: ly2dvi.py:355
+msgid "write ouput to FILE"
+msgstr "skriv uddata til FIL"
+
+#: ly2dvi.py:357
+msgid "generate PostScript output"
+msgstr "lav PostScript-uddata"
+
+#: ly2dvi.py:358
+msgid "KEY=VAL"
+msgstr "NØGLE=VÆRDI"
+
+#: ly2dvi.py:358
+msgid "change global setting KEY to VAL"
+msgstr "ændr global indstilling NØGLE til VÆRDI"
+
+# Førklaring til --verbose (borde være længre)
+#: ly2dvi.py:359 main.cc:118 mup2ly.py:1120 update-lily.py:255
+msgid "verbose"
+msgstr "udførlig uddata"
+
+#: ly2dvi.py:360 main.cc:105 main.cc:117 mup2ly.py:1121 update-lily.py:256
+msgid "print version number"
+msgstr "vis versionsnummer"
+
+#: ly2dvi.py:361 main.cc:107 main.cc:119 mup2ly.py:1122 update-lily.py:258
+msgid "show warranty and copyright"
+msgstr "vis garanti og copyright"
+
+#: ly2dvi.py:383 ly2dvi.py:578 ly2dvi.py:603
+#, c-format
+msgid "Running %s..."
+msgstr "Kør %s..."
+
+#: ly2dvi.py:396
+#, c-format
+msgid "Analyzing %s..."
+msgstr "Analyserer %s..."
+
+#: ly2dvi.py:452
+#, c-format
+msgid "no lilypond output found for %s"
+msgstr "ingen lilyponduddata fundet for %s"
+
+#: ly2dvi.py:494
+#, c-format
+msgid "invalid value: %s"
+msgstr "ugyldigt værdi: %s"
+
+# hær er det spørg om skrivning til en fil
+#: ly2dvi.py:781 scores.cc:44
+#, c-format
+msgid "dependencies output to `%s'..."
+msgstr "afhængigheder udskrevet til \"%s\"..."
+
+# hær er det spørg om skrivning til en fil (første parametern er t.ex
+# DVI, LATEX, MIDI, TEX)
+#: ly2dvi.py:791
+#, c-format
+msgid "%s output to `%s'..."
+msgstr "%s udskrevet til \"%s\"..."
+
+#: includable-lexer.cc:49 lily-guile.cc:139 ly2dvi.py:793
+#: midi-score-parser.cc:24 scores.cc:136 scores.cc:142
+#, c-format
+msgid "can't find file: `%s'"
+msgstr "kan ikke finde fil: \"%s\""
+
+#: ly2dvi.py:804
+msgid "no files specified on command line."
+msgstr "ingen filer angivne på kommandolinjen."
+
+#: mup2ly.py:51
+msgid "Convert mup to ly"
+msgstr "Konvertér mup til ly"
+
+# %s er progravnavnet (mup2ly)
+#: mup2ly.py:166
+#, c-format
+msgid "%s is far from completed.  Not all constructs are recognised."
+msgstr "%s er langt fra færdig, og kan ikke genkende alle konstruktioner."
+
+#: mup2ly.py:964
+#, c-format
+msgid "no such context: %s"
+msgstr "omgivelse findes ikke: %s"
+
+#: mup2ly.py:1115
+msgid "debug"
+msgstr "fejlsøgningsuddata"
+
+#: mup2ly.py:1116
+msgid "define macro NAME [optional expansion EXP]"
+msgstr "definér makro NAVN [valfri makroudvidelse EXP]"
+
+#: main.cc:114 mup2ly.py:1118
+msgid "write output to FILE"
+msgstr "skriv uddata til FIL"
+
+#: mup2ly.py:1119
+msgid "only pre-process"
+msgstr "kun forbehandling"
+
+#: mup2ly.py:1200
+#, c-format
+msgid "Processing `%s'..."
+msgstr "Behandler \"%s\"..."
+
+#: mup2ly.py:1219
+#, c-format
+msgid "Writing `%s'..."
+msgstr "Skriver \"%s\"..."
+
+#: update-lily.py:51
+msgid "Fetch and rebuild from latest source package"
+msgstr "Hent og byg om fra seneste kildekodepakke"
+
+#: update-lily.py:223
+#, c-format
+msgid "Cleaning `%s'..."
+msgstr "Renser \"%s\"..."
+
+#: update-lily.py:243
+#, c-format
+msgid "unpack and build in DIR [%s]"
+msgstr "udpak og byg i DIR [%s]"
+
+#: update-lily.py:244
+msgid "execute COMMAND, subtitute:"
+msgstr "kør COMMAND, erstat:"
+
+#: update-lily.py:245
+msgid "%b: build root"
+msgstr "%b: rod for opbygning"
+
+#: update-lily.py:246
+#, c-format
+msgid "%n: package name"
+msgstr "%n: pakkenavn"
+
+#: update-lily.py:247
+msgid "%r: release directory"
+msgstr "%r: katalog for programudgivelse"
+
+#: update-lily.py:248
+msgid "%t: tarball"
+msgstr "%t: tarball"
+
+#: update-lily.py:249
+msgid "%v: package version"
+msgstr "%v: pakkeversion"
+
+#: update-lily.py:252
+#, c-format
+msgid "keep all output, and name the directory %s"
+msgstr "behold al uddata, og døb kataloget til %s"
+
+#: update-lily.py:253
+msgid "upon failure notify EMAIL[,EMAIL]"
+msgstr "ved fejl, underret EMAIL[,EMAIL]"
+
+#: update-lily.py:254
+msgid "remove previous build"
+msgstr "fjern foregående bygning"
+
+#: update-lily.py:257
+#, c-format
+msgid "fetch and build URL [%s]"
+msgstr "hent og byg URL [%s]"
+
+#: update-lily.py:365
+#, c-format
+msgid "Listing `%s'..."
+msgstr "Lister \"%s\"..."
+
+#: update-lily.py:426
+#, c-format
+msgid "latest is: %s"
+msgstr "seneste er: %s"
+
+#: update-lily.py:427
+#, c-format
+msgid "relax, %s is up to date"
+msgstr "slap af, %s er seneste version"
+
+#: update-lily.py:435 update-lily.py:448
+#, c-format
+msgid "Fetching `%s'..."
+msgstr "Henter \"%s\"..."
+
+#: update-lily.py:457
+#, c-format
+msgid "Building `%s'..."
+msgstr "Bygger \"%s\"..."
+
+#: data-file.cc:54
+msgid "EOF in a string"
+msgstr "EOF i en streng"
+
+#: getopt-long.cc:145
+#, c-format
+msgid "option `%s' requires an argument"
+msgstr "flag \"%s\" kræver et argument"
+
+#: getopt-long.cc:149
+#, c-format
+msgid "option `%s' doesn't allow an argument"
+msgstr "flag.gan \"%s\" tillader intet argument"
+
+#: getopt-long.cc:153
+#, c-format
+msgid "unrecognized option: `%s'"
+msgstr "ukendt flag: \"%s\""
+
+#: getopt-long.cc:160
+#, c-format
+msgid "invalid argument `%s' to option `%s'"
+msgstr "ugyldigt argument \"%s\" til flag \"%s\""
+
+#: input.cc:96
+msgid "non fatal error: "
+msgstr "ikke-fatal fejl: "
+
+#: input.cc:104 source-file.cc:63 source-file.cc:156
+msgid "position unknown"
+msgstr "ukendt position"
+
+# det handlar om mmap hær
+#: mapped-file-storage.cc:74
+msgid "can't map file"
+msgstr "kan ikke lave \"mmap\" på filen"
+
+#: lilypond-stream.cc:111 mapped-file-storage.cc:87 paper-stream.cc:45
+#: scores.cc:48 simple-file-storage.cc:44 text-stream.cc:23
+#, c-format
+msgid "can't open file: `%s'"
+msgstr "kan ikke åbne fil: \"%s\""
+
+#: simple-file-storage.cc:56
+#, c-format
+msgid "Huh?  Got %d, expected %d characters"
+msgstr "Øh? Fik %d, forventede %d tegn"
+
+#: text-stream.cc:10
+msgid "<stdin>"
+msgstr "<stdin>"
+
+#: warn.cc:36
+msgid "programming error: "
+msgstr "programmeringsfejl: "
+
+#: warn.cc:36
+msgid " (Continuing; cross thumbs)"
+msgstr " (Fortsætter, kryds fingrene)"
+
+#: afm.cc:59
+#, c-format
+msgid "can't find character number: %d"
+msgstr "kan ikke finde tegnnummer: %d"
+
+#: afm.cc:74
+#, c-format
+msgid "can't find character called: `%s'"
+msgstr "kan ikke finde tegn som hedder: \"%s\""
+
+#: afm.cc:124
+#, c-format
+msgid "Error parsing AFM file: `%s'"
+msgstr "Fejl ved tolkning af AFM-fil: \"%s\""
+
+#: all-font-metrics.cc:95
+#, c-format
+msgid "checksum mismatch for font file: `%s'"
+msgstr "fejlagtig checksum for skrifttypefil: \"%s\""
+
+#: all-font-metrics.cc:97
+#, c-format
+msgid "does not match: `%s'"
+msgstr "matcher ikke: \"%s\""
+
+#: all-font-metrics.cc:102
+msgid " Rebuild all .afm files, and remove all .pk and .tfm files.  Rerun with -V to show font paths."
+msgstr " Genopbyg alle .afm-filer, og fjern alle .pk- og .tfm-filer. Kør igen med -V for at vise skrifttypesøgestier."
+
+#: all-font-metrics.cc:167
+#, c-format
+msgid "can't find font: `%s'"
+msgstr "kan ikke finde skrifttype: \"%s\""
+
+#: all-font-metrics.cc:168
+msgid "Loading default font"
+msgstr "Indlæser standardskrifttype"
+
+#: all-font-metrics.cc:183
+#, c-format
+msgid "can't find default font: `%s'"
+msgstr "kan ikke finde standardskrifttype: \"%s\""
+
+#: all-font-metrics.cc:184 includable-lexer.cc:51 scores.cc:137
+#, c-format
+msgid "(search path: `%s')"
+msgstr "(søgesti: \"%s\")"
+
+#: all-font-metrics.cc:185
+msgid "Giving up"
+msgstr "Giver op"
+
+#: auto-change-iterator.cc:43 change-iterator.cc:59
+#: part-combine-music-iterator.cc:97
+msgid "Can't switch translators, I'm there already"
+msgstr "Kan ikke skifte oversætter, jeg er her allerede"
+
+#: beam.cc:86
+msgid "beam has less than two stems"
+msgstr "bjælke har mindre end to nodehalse"
+
+#: beam.cc:637
+msgid "weird beam vertical offset"
+msgstr "underligt lodret afstand for bjælke"
+
+#: beam-engraver.cc:91 beam-engraver.cc:124
+msgid "can't find start of beam"
+msgstr "kan ikke finde start på bjælke"
+
+#: beam-engraver.cc:158
+msgid "already have a beam"
+msgstr "har allerede en bjælke"
+
+#: beam-engraver.cc:222
+msgid "unterminated beam"
+msgstr "uafsluttet bjælke"
+
+#: beam-engraver.cc:260 chord-tremolo-engraver.cc:195
+msgid "stem must have Rhythmic structure"
+msgstr "nodehals skal have en rytmisk struktur"
+
+#: beam-engraver.cc:272
+msgid "stem doesn't fit in beam"
+msgstr "nodehalsen passer ikke i bjælke"
+
+#: beam-engraver.cc:273
+msgid "beam was started here"
+msgstr "bjælken startede her"
+
+#: break-align-item.cc:136
+#, c-format
+msgid "unknown spacing pair `%s', `%s'"
+msgstr "ukendt afstandspar \"%s\", \"%s\""
+
+#: change-iterator.cc:21
+#, c-format
+msgid "can't change `%s' to `%s'"
+msgstr "kan ikke ændre \"%s\" til \"%s\""
+
+#.
+#. We could change the current translator's id, but that would make
+#. errors hard to catch
+#.
+#. last->translator_id_str_  = change_l ()->change_to_id_str_;
+#.
+#: change-iterator.cc:78
+msgid "I'm one myself"
+msgstr "Jeg er selv én"
+
+#: change-iterator.cc:81
+msgid "none of these in my family"
+msgstr "ingen af disse i min familie"
+
+#: chord.cc:369
+#, c-format
+msgid "invalid subtraction: not part of chord: %s"
+msgstr "ugyldig subtraktion: ikke del af akkord: %s"
+
+# "pitch" hær skal alltså være en ton i et akkord
+#: chord.cc:398
+#, c-format
+msgid "invalid inversion pitch: not part of chord: %s"
+msgstr "ugyldig tone for inversion: ikke del af en akkord: %s"
+
+#: chord-tremolo-engraver.cc:141 percent-repeat-engraver.cc:192
+msgid "unterminated chord tremolo"
+msgstr "ikke-afsluttet akkordtremolo"
+
+#: chord-tremolo-iterator.cc:48
+msgid "no one to print a tremolos"
+msgstr "der er ingen som kan skrive en tremolo"
+
+#: collision.cc:127
+msgid "Too many clashing notecolumns.  Ignoring them."
+msgstr "For mange sammenhængende nodekolonner. Ignorerer dem."
+
+#: dimensions.cc:13
+msgid "NaN"
+msgstr "-"
+
+#: dynamic-engraver.cc:197 span-dynamic-performer.cc:86
+msgid "can't find start of (de)crescendo"
+msgstr "kan ikke finde starten på crescendo/diminuendo"
+
+#: dynamic-engraver.cc:222
+msgid "already have a crescendo"
+msgstr "har allerede et crescendo"
+
+#: dynamic-engraver.cc:223
+msgid "already have a decrescendo"
+msgstr "har allerede et diminuendo"
+
+#: dynamic-engraver.cc:317
+msgid "unterminated (de)crescendo"
+msgstr "uafsluttet crescendo/diminuendo"
+
+#: extender-engraver.cc:97
+msgid "unterminated extender"
+msgstr "uafsluttet udvider"
+
+#: extender-engraver.cc:109
+msgid "Nothing to connect extender to on the left.  Ignoring extender request."
+msgstr "Der er ingenting at forbinde udvideren mod til venstre. Ignorerer ønsket om udvider"
+
+#: folded-repeat-iterator.cc:78
+msgid "no one to print a repeat brace"
+msgstr "det er ingen som kan skrive et gentagelsestegn"
+
+#: font-interface.cc:237
+msgid "couldn't find any font satisfying "
+msgstr "kunne ikke finde nogen skrifttype som opfylder "
+
+#: gourlay-breaking.cc:157
+msgid "No feasible line breaking found"
+msgstr "Ingen mulig linjebrydning fandtes"
+
+#: grace-iterator.cc:43
+msgid "no Grace context available"
+msgstr "ingen prydomgivelse tilgængelig"
+
+#: grace-position-engraver.cc:96
+msgid "Unattached grace notes.  Attaching to last musical column."
+msgstr "Ikke-fæstede prydsnoder. Fæster ved sidste musikkolonne."
+
+#: hairpin.cc:93
+msgid "decrescendo too small"
+msgstr "diminuendo for lille"
+
+#: hairpin.cc:94
+msgid "crescendo too small"
+msgstr "crescendo for lille"
+
+#: hyphen-engraver.cc:90
+msgid "unterminated hyphen"
+msgstr "uafsluttet bindestreg"
+
+#: hyphen-engraver.cc:102
+msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen request."
+msgstr "Det er ingenting at forbinde bindestregen mod til venstre. Ignorerer bindestregsforespørgslen."
+
+#: key-engraver.cc:99
+msgid "Conflicting key signatures found."
+msgstr "Konfliktende tonartssignaturer fundet."
+
+#: key-engraver.cc:100
+msgid "This was the other key definition."
+msgstr "Dette var den anden tonartsdefinition."
+
+#: key-performer.cc:77
+msgid "FIXME: key change merge"
+msgstr "FIX: tonartsskiftsfletning"
+
+#: lily-guile.cc:141
+#, c-format
+msgid "(load path: `%s')"
+msgstr "(indlæsningssøgesti: \"%s\""
+
+#: line-of-score.cc:96
+#, c-format
+msgid "Element count %d."
+msgstr "Elementantal %d."
+
+#: line-of-score.cc:253 paper-score.cc:77
+#, c-format
+msgid "Element count %d "
+msgstr "Elementantal %d "
+
+#: line-of-score.cc:267
+msgid "Calculating column positions..."
+msgstr "Beregner kolonnepositioner..."
+
+#: lyric-phrasing-engraver.cc:284
+msgid "lyrics found without any matching notehead"
+msgstr "tekst fundet uden noget matchende nodehoved"
+
+#: lyric-phrasing-engraver.cc:289
+msgid "Huh? Melismatic note found to have associated lyrics."
+msgstr "Øh? Melismatisk node har tilhørende tekst."
+
+#: main.cc:104
+msgid "EXPR"
+msgstr "UDTR"
+
+#: main.cc:104
+msgid "evalute EXPR as Scheme after .scm init is read"
+msgstr "evaluér UDTR som Scheme efter .scm-init er læst"
+
+#. another bug in option parser: --output=foe is taken as an abbreviation
+#. for --output-format
+#: main.cc:107
+msgid "EXT"
+msgstr "FMT"
+
+#: main.cc:107
+msgid "use output format EXT (scm, ps, tex or as)"
+msgstr "brug uddataformat FMT (scm, ps, tex eller as)"
+
+#: main.cc:109
+msgid "FIELD"
+msgstr "FELT"
+
+#: main.cc:109
+msgid "write header field to BASENAME.FIELD"
+msgstr "skriv rubrikfælt til BASNAVN.FELT"
+
+#: main.cc:110
+msgid "add DIR to search path"
+msgstr "tilføj KATALOG til søgestien"
+
+#: main.cc:111
+msgid "use FILE as init file"
+msgstr "brug FIL som init-fil"
+
+#: main.cc:115
+msgid "prepend DIR to dependencies"
+msgstr "tilføj KATALOG efter afhængigheder"
+
+#: main.cc:116
+msgid "inhibit file output naming and exporting"
+msgstr "hindr navngivning af filuddata og eksportering"
+
+#.
+#. No version number or newline here. It confuses help2man
+#.
+#: main.cc:136
+#, c-format
+msgid "Usage: %s [OPTION]... FILE..."
+msgstr "Brug: %s [FLAG]... FIL..."
+
+#: main.cc:138
+msgid "Typeset music and or play MIDI from FILE"
+msgstr "Typesæt musik og/eller afspil MIDI fra FIL"
+
+#: main.cc:142
+msgid ""
+"LilyPond is a music typesetter.  It produces beautiful sheet music\n"
+"using a high level description file as input.  LilyPond is part of \n"
+"the GNU Project.\n"
+msgstr ""
+"LilyPond er en musiktypesætter. Den producerer smukke noder fra en\n"
+"højniveaubeskrivning af musikken i en fil. LilyPond er en del af\n"
+"GNU-projektet.\n"
+
+#: main.cc:152
+msgid "This binary was compiled with the following options:"
+msgstr "Dette program blev oversat med følgende flag:"
+
+#: main.cc:56 main.cc:179
+#, c-format
+msgid ""
+"This is free software.  It is covered by the GNU General Public License,\n"
+"and you are welcome to change it and/or distribute copies of it under\n"
+"certain conditions.  Invoke as `%s --warranty' for more information.\n"
+msgstr ""
+"Dette er frit programmel. Det dækkes af \"GNU General Public License\",\n"
+"og du må ændre og/eller distribuere kopier af det under visse\n"
+"betingelser. Kør \"%s --warranty\" for mere information.\n"
+
+#: main.cc:63 main.cc:186 main.cc:198
+#, c-format
+msgid "Copyright (c) %s by"
+msgstr "Copyright © %s af"
+
+#: main.cc:196
+msgid "GNU LilyPond -- The music typesetter"
+msgstr "GNU Lilypond -- Musiktypesætteren"
+
+#: main.cc:72 main.cc:204
+msgid ""
+"    This program is free software; you can redistribute it and/or\n"
+"modify it under the terms of the GNU General Public License version 2\n"
+"as published by the Free Software Foundation.\n"
+"\n"
+"    This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n"
+"General Public License for more details.\n"
+"\n"
+"    You should have received a copy (refer to the file COPYING) of the\n"
+"GNU General Public License along with this program; if not, write to\n"
+"the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,\n"
+"USA.\n"
+msgstr ""
+"Dette program er frit programmel. Du kan distribuere det og/eller\n"
+"ændre det under betingelserne i GNU General Public License version 2,\n"
+"udgivet af Free Software Foundation.\n"
+"\n"
+"Dette program distribueres i håb om at det vil være nyttigt, men\n"
+"UDEN NOGEN SOM HELST GARANTI, endog uden underforstået garanti om\n"
+"SALGBARHED eller EGNETHED FOR NOGET SPECIELT FORMÅL. Se GNU General\n"
+"Public License for yderligere information.\n"
+"\n"
+"Du bør have fået en kopi af GNU General Public License sammen med\n"
+"dette program. Hvis ikke, skriv til Free Software Foundation, Inc., 59\n"
+"Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
+
+#: midi-item.cc:139
+#, c-format
+msgid "no such instrument: `%s'"
+msgstr "instrumentet findes ikke: \"%s\""
+
+#: midi-item.cc:228
+msgid "silly duration"
+msgstr "tåbelig længde"
+
+#: midi-item.cc:241
+msgid "silly pitch"
+msgstr "tåbelig tone"
+
+#: musical-request.cc:28
+#, c-format
+msgid "Transposition by %s makes accidental larger than two"
+msgstr "Transponering med %s gør accicental større end to"
+
+#: music.cc:232
+msgid "ly_get_mus_property (): Not a Music"
+msgstr "ly_get_mus_property (): Ikke en \"Music\""
+
+#: music.cc:246
+msgid "ly_set_mus_property (): Not a symbol"
+msgstr "ly_set_mus_property (): ikke et symbol"
+
+#: music.cc:258
+msgid "ly_set_mus_property ():  not of type Music"
+msgstr "ly_set_mus_property (): ikke af typen \"Music\""
+
+#: music.cc:272
+msgid "ly_make_music (): Not a string"
+msgstr "ly_make_music (): Ikke en streng"
+
+#: music.cc:292
+msgid "ly_music_name (): Not a music expression"
+msgstr "ly_music_name (): Ikke et musikudtryk"
+
+#: music-output-def.cc:115
+#, c-format
+msgid "can't find `%s' context"
+msgstr "kan ikke finde omgivelsen \"%s\""
+
+#: my-lily-lexer.cc:139
+#, c-format
+msgid "Identifier name is a keyword: `%s'"
+msgstr "Identificerernavn er et nøgleord: \"%s\""
+
+#: my-lily-lexer.cc:159
+#, c-format
+msgid "error at EOF: %s"
+msgstr "fejl ved filslutning: %s"
+
+#: midi-score-parser.cc:94 my-lily-parser.cc:47
+msgid "Parsing..."
+msgstr "Tolker..."
+
+#: my-lily-parser.cc:57
+msgid "Braces don't match"
+msgstr "Krølleparenteser passer ikke"
+
+#: output-property-music-iterator.cc:20 request-chord-iterator.cc:76
+#, c-format
+msgid "Junking request: `%s'"
+msgstr "Stryger forespørgslen: \"%s\""
+
+#: paper-def.cc:109
+#, c-format
+msgid "paper output to `%s'..."
+msgstr "papirsuddata til \"%s\"..."
+
+#: lilypond-stream.cc:93 paper-outputter.cc:85 performance.cc:99
+msgid ", at "
+msgstr ", ved "
+
+#: paper-outputter.cc:232
+#, c-format
+msgid "writing header field `%s' to `%s'..."
+msgstr "skriver rubrikfelt \"%s\" til \"%s\"..."
+
+#: paper-score.cc:80
+msgid "Preprocessing elements..."
+msgstr "Forbehandler element..."
+
+#: paper-score.cc:114
+msgid "Outputting Score, defined at: "
+msgstr "Udskriver partitur, defineret ved: "
+
+#: paper-stream.cc:41
+#, c-format
+msgid "can't create directory: `%s'"
+msgstr "kan ikke oprette katalog: \"%s\""
+
+#: paper-stream.cc:55
+msgid "Error syncing file (disk full?)"
+msgstr "Fejl ved synkning af fil (disken fuld?)"
+
+#.
+#. We could change the current translator's id, but that would make
+#. errors hard to catch
+#.
+#. last->translator_id_str_  = change_l ()->change_to_id_str_;
+#.
+#: part-combine-music-iterator.cc:116
+#, c-format
+msgid "I'm one myself: `%s'"
+msgstr "Jag er selv én: \"%s\""
+
+#: part-combine-music-iterator.cc:119
+#, c-format
+msgid "none of these in my family: `%s'"
+msgstr "ingen af disse i min familie: \"%s\""
+
+#: percent-repeat-engraver.cc:117
+msgid "Don't know how to handle a percent repeat of this length."
+msgstr "Véd ikke hvordan en procentgentagelse af denne længde skal håndteres."
+
+#: percent-repeat-iterator.cc:53
+msgid "no one to print a percent"
+msgstr "der er ingen som kan skrive en procent"
+
+#: performance.cc:51
+msgid "Track ... "
+msgstr "Spor... "
+
+#: performance.cc:83
+msgid "Creator: "
+msgstr "Skaber: "
+
+#: performance.cc:113
+#, c-format
+msgid "from musical definition: %s"
+msgstr "fra musikdefinition: %s"
+
+#: performance.cc:168
+#, c-format
+msgid "MIDI output to `%s'..."
+msgstr "MIDI-uddata til \"%s\"..."
+
+#: phrasing-slur-engraver.cc:119
+msgid "unterminated phrasing slur"
+msgstr "uafsluttet fraseringsbue"
+
+#: phrasing-slur-engraver.cc:134
+msgid "can't find start of phrasing slur"
+msgstr "kan ikke finde start på fraseringsbue"
+
+#: piano-pedal-engraver.cc:142 piano-pedal-engraver.cc:154
+#: piano-pedal-performer.cc:87
+#, c-format
+msgid "can't find start of piano pedal: `%s'"
+msgstr "kan ikke finde start på pianopedal: \"%s\""
+
+#: pitch.cc:25
+msgid "Pitch arguments out of range"
+msgstr "Toneargument udenfor intervallet"
+
+#: property-engraver.cc:121
+#, c-format
+msgid ""
+"`%s' is deprecated.  Use\n"
+" \\property %s.%s \\override #'%s = #%s"
+msgstr ""
+"\"%s\" er forældet. Brug\n"
+" \\property %s.%s \\override #'%s = #%s"
+
+#: property-engraver.cc:145
+#, c-format
+msgid "Wrong type for property: %s, type: %s, value found: %s, type: %s"
+msgstr "Forkert type for egenskab: %s, type: %s, værdi fundet: %s, type: %s"
+
+#: rest-collision.cc:194
+msgid "too many colliding rests"
+msgstr "for mange kolliderende pauser"
+
+#: rest-collision.cc:198
+msgid "too many notes for rest collision"
+msgstr "for mange noder for pausesammenstød"
+
+#: scm-option.cc:59
+msgid "Scheme options:"
+msgstr "Scheme-flag:"
+
+#: score.cc:78
+msgid "Interpreting music..."
+msgstr "Tolker musik..."
+
+#: score.cc:92
+msgid "Need music in a score"
+msgstr "Behøver musik i partitur"
+
+#. should we? hampers debugging.
+#: score.cc:105
+msgid "Errors found/*, not processing score*/"
+msgstr "Fejl fundne/*, behandler ikke partitur*/"
+
+#: score.cc:112
+#, c-format
+msgid "elapsed time: %.2f seconds"
+msgstr "tidsforbrug: %.2f sekunder"
+
+#: score-engraver.cc:188
+#, c-format
+msgid "unbound spanner `%s'"
+msgstr "ubunden bro \"%s\""
+
+#: scores.cc:106
+msgid "Score contains errors; will not process it"
+msgstr "Partitur indholder fejl; vil ikke behandle det"
+
+#: scores.cc:152
+#, c-format
+msgid "Now processing: `%s'"
+msgstr "Behandler nu: \"%s\""
+
+#: script-engraver.cc:66
+#, c-format
+msgid "Don't know how to interpret articulation `%s'"
+msgstr "Kan ikke tolke artikulering \"%s\""
+
+#. this shouldn't happen, but let's continue anyway.
+#: separation-item.cc:47
+msgid "Separation_item:  I've been drinking too much"
+msgstr "Separation_item: Jeg har drukket for meget"
+
+#: slur.cc:48
+msgid "Putting slur over rest.  Ignoring."
+msgstr "Sætter bue over pause. Ignorerer."
+
+#: slur.cc:383
+msgid "Slur over rest?"
+msgstr "Bue over pause?"
+
+#: slur-engraver.cc:127
+msgid "unterminated slur"
+msgstr "uafsluttet bue"
+
+#. How to shut up this warning, when Voice_devnull_engraver has
+#. eaten start request?
+#: slur-engraver.cc:144
+msgid "can't find start of slur"
+msgstr "kan ikke finde start på bue"
+
+#: stem.cc:116
+msgid "Weird stem size; check for narrow beams"
+msgstr "Mærkelig nodehalsstørrelse; tjek for smalle bjælker"
+
+#: stem-engraver.cc:115
+#, c-format
+msgid "Adding note head to incompatible stem (type = %d)"
+msgstr "Tilføjer nodehoved til inkompatibel bue (type = %d)"
+
+#: text-spanner.cc:121
+msgid "Text_spanner too small"
+msgstr "Tekst_bro for lille"
+
+#: text-spanner-engraver.cc:94
+msgid "can't find start of text spanner"
+msgstr "kan ikke finde start på tekstbro"
+
+#: text-spanner-engraver.cc:114
+msgid "already have a text spanner"
+msgstr "har allerede en tekstbro"
+
+#: text-spanner-engraver.cc:169
+msgid "unterminated text spanner"
+msgstr "uafsluttet tekstbro"
+
+#: tfm.cc:77
+#, c-format
+msgid "can't find ascii character: %d"
+msgstr "kan ikke finde ASCII-tegn: %d"
+
+#: tfm-reader.cc:106
+#, c-format
+msgid "TFM header of `%s' has only %u word (s)"
+msgstr "TFM-rubrik i \"%s\" har kun %u ord"
+
+#: tfm-reader.cc:140
+#, c-format
+msgid "%s: TFM file has %u parameters, which is more than the %u I can handle"
+msgstr "%s: TFM-fil har %u parametre, hvilket er mere end de %u jeg kan håndtere"
+
+#. How to shut up this warning, when no notes appeared because
+#. they were suicided by Thread_devnull_engraver?
+#: tie-engraver.cc:220 tie-performer.cc:173
+msgid "No ties were created!"
+msgstr "Ingen buer blev lavet!"
+
+#: tie-engraver.cc:240
+msgid "lonely tie"
+msgstr "ensom bue"
+
+#: time-scaled-music-iterator.cc:25
+msgid "no one to print a tuplet start bracket"
+msgstr "der findes ingen som kan skrive en startparentes for tuppel"
+
+#: timing-translator.cc:38
+#, c-format
+msgid "barcheck failed at: %s"
+msgstr "taktkontrol mislykkedes ved: %s"
+
+#: translator-ctors.cc:40
+#, c-format
+msgid "unknown translator: `%s'"
+msgstr "ukendt oversætter: \"%s\""
+
+#: translator-def.cc:99
+msgid "Program has no such type"
+msgstr "Programmet har ingen sådan type"
+
+#: translator-def.cc:105
+#, c-format
+msgid "Already contains: `%s'"
+msgstr "Indholder allerede: \"%s\""
+
+#: translator-def.cc:106
+#, c-format
+msgid "Not adding translator: `%s'"
+msgstr "Tilføjer ikke oversætter: \"%s\""
+
+#: translator-def.cc:224
+#, c-format
+msgid "can't find: `%s'"
+msgstr "kan ikke finde: \"%s\""
+
+#: translator-group.cc:146
+#, c-format
+msgid "can't find or create `%s' called `%s'"
+msgstr "kan ikke finde eller oprette \"%s\" kaldet \"%s\""
+
+#: translator-group.cc:231
+#, c-format
+msgid "can't find or create: `%s'"
+msgstr "kan ikke finde eller oprette: \"%s\""
+
+#: translator-group.cc:414
+#, c-format
+msgid "Can't find property type-check for `%s'.  Perhaps you made a typing error? Doing assignment anyway."
+msgstr "Kan ikke finde egenskabstypekontrol for \"%s\". Måske har du lavet en tastefejl? Laver tildeling alligevel."
+
+#: translator-group.cc:428
+#, c-format
+msgid "Type check for `%s' failed; value `%s' must be of type `%s'"
+msgstr "Typekontrol for \"%s\" mislykkedes; værdi \"%s\" skal have typen \"%s\""
+
+#. programming_error?
+#: translator-group.cc:447
+msgid "ly-get-trans-property: expecting a Translator_group argument"
+msgstr "ly-get-trans-property: forventede et Translator_group-argument"
+
+#: volta-engraver.cc:87
+msgid "No volta spanner to end"
+msgstr "Ingen reprisebro til slut"
+
+#: volta-engraver.cc:104
+msgid "Already have a volta spanner.  Stopping that one prematurely."
+msgstr "Har allerede en reprisebro. Stopper denne for tidligt."
+
+#: volta-engraver.cc:108
+msgid "Also have a stopped spanner.  Giving up."
+msgstr "Har også en stoppet bro. Giver op."
+
+#: parser.yy:121
+#, c-format
+msgid "Expecting %d arguments"
+msgstr "Forventer %d argumenter"
+
+#: parser.yy:423
+msgid "Identifier should have  alphabetic characters only"
+msgstr "Identificerer må kun indeholde alfabetiske tegn"
+
+#: parser.yy:697
+msgid "More alternatives than repeats.  Junking excess alternatives."
+msgstr "Flere alternativer end repriser. Stryger tiloversblevne alternativer."
+
+#: parser.yy:761
+msgid "Second argument must be a symbol"
+msgstr "Andet argument skal være et symbol"
+
+#: parser.yy:766
+msgid "First argument must be a procedure taking 1 argument"
+msgstr "Første argument skal være en procedure som tager 1 argument"
+
+#: parser.yy:1263
+msgid "Expecting string as script definition"
+msgstr "Forventer streng som skriptdefinition"
+
+#: parser.yy:1273
+msgid "Can't specify direction for this request"
+msgstr "Kan ikke angive retning for denne forespørgsel"
+
+#: parser.yy:1398
+msgid "Expecting musical-pitch value"
+msgstr "Forventer nodeværdi"
+
+#: parser.yy:1409
+msgid "Must have duration object"
+msgstr "Skal have tidslængdeobjekt"
+
+#: parser.yy:1418 parser.yy:1426
+msgid "Have to be in Lyric mode for lyrics"
+msgstr "Skal være i teksttilstand (Lyric mode) for tekst"
+
+#: parser.yy:1579 parser.yy:1636
+#, c-format
+msgid "not a duration: %d"
+msgstr "ikke en tidslængde: %d"
+
+#: parser.yy:1645
+msgid "Have to be in Note mode for notes"
+msgstr "Skal være i nodetilstand (Note mode) for noder"
+
+#: parser.yy:1731
+msgid "Have to be in Chord mode for chords"
+msgstr "Skal være i akkordtilstand (Chord mode) for akkord"
+
+#: parser.yy:1910
+msgid "need integer number arg"
+msgstr "behøver heltalsargument"
+
+#: lexer.ll:174
+msgid "EOF found inside a comment"
+msgstr "filslutning fundet inden i en kommentar"
+
+#: lexer.ll:188
+msgid "\\maininput disallowed outside init files"
+msgstr "\\maininput forbudt udenfor init-filer"
+
+#: lexer.ll:212
+#, c-format
+msgid "wrong or undefined identifier: `%s'"
+msgstr "fejlagtig eller udefineret identificerer: \"%s\""
+
+#. backup rule
+#: lexer.ll:221
+msgid "Missing end quote"
+msgstr "Mangler slutcitationstegn"
+
+#. backup rule
+#: lexer.ll:243 lexer.ll:247
+msgid "white expected"
+msgstr "forventede mellemrum"
+
+#: lexer.ll:256
+msgid "Can't evaluate Scheme in safe mode"
+msgstr "Kan ikke evaluere Scheme i sikker tilstand"
+
+#: lexer.ll:349
+msgid "Brace found at end of lyric. Did you forget a space?"
+msgstr "Krølleparentes fundet i slutning af tekst. Glemte du et mellemrum?"
+
+#: lexer.ll:457
+#, c-format
+msgid "invalid character: `%c'"
+msgstr "ugyldigt tegn: \"%c\""
+
+#: lexer.ll:538
+#, c-format
+msgid "unknown escaped string: `\\%s'"
+msgstr "ukendt \"escaped\" streng: \"\\%s\""
+
+#: lexer.ll:617
+#, c-format
+msgid "Oldest supported input version: %s"
+msgstr "Ældste inddataversion som understøttes: %s"
+
+#: lexer.ll:629
+#, c-format
+msgid "incorrect lilypond version: %s (%s, %s)"
+msgstr "fejlagtig lilypond-version: %s (%s, %s)"
+
+#: lexer.ll:630
+msgid "Consider converting the input with the convert-ly script"
+msgstr "Overvej at konvertere inddata med skriptet \"convert-ly\""
+
+#: lilypond-item.cc:161
+#, c-format
+msgid "#32 in quarter: %d"
+msgstr "#32 i fjerdedel: %d"
+
+#: lilypond-score.cc:108
+#, c-format
+msgid "LY output to `%s'..."
+msgstr "LY-uddata til \"%s\"..."
+
+#: lilypond-score.cc:119
+#, c-format
+msgid "track %d:"
+msgstr "spor %d:"
+
+#: lilypond-score.cc:155
+msgid "Processing..."
+msgstr "Behandler..."
+
+#: lilypond-score.cc:164
+msgid "Creating voices..."
+msgstr "Laver stemmer..."
+
+#: lilypond-score.cc:168
+msgid "track "
+msgstr "spor "
+
+#: lilypond-score.cc:177
+msgid "NOT Filtering tempo..."
+msgstr "Filtrerer IKKE tempo..."
+
+#: lilypond-score.cc:186
+msgid "NOT Quantifying columns..."
+msgstr "Kvantificerer IKKE kolonner..."
+
+#: lilypond-score.cc:190
+msgid "Quantifying columns..."
+msgstr "Kvantificerer kolonner..."
+
+#: lilypond-score.cc:223
+msgid "Settling columns..."
+msgstr "Bestemmer kolonner..."
+
+#: lilypond-staff.cc:209
+msgid "% MIDI copyright:"
+msgstr "% MIDI-copyright:"
+
+#: lilypond-staff.cc:210
+msgid "% MIDI instrument:"
+msgstr "% MIDI-instrument:"
+
+#: lilypond-stream.cc:37
+#, c-format
+msgid "lily indent level: %d"
+msgstr "indenteringsniveau for lily: %d"
+
+# Kanske man ikke skal oversætta, men når får de tage bort _() i stællet for
+# at skrive en fånig kommentar
+#. Maybe better not to translate these?
+#: lilypond-stream.cc:83
+msgid "% Creator: "
+msgstr "% Kreatør: "
+
+#: lilypond-stream.cc:88
+msgid "% Automatically generated"
+msgstr "% Automatgenereret"
+
+#: lilypond-stream.cc:97
+#, c-format
+msgid "% from input file: "
+msgstr "% fra inddatafil: "
+
+#: main.cc:94
+msgid "write exact durations, e.g.: a4*385/384"
+msgstr "skriv eksakte tidslængder, fx: a4*385/384"
+
+#: main.cc:95
+msgid "enable debugging output"
+msgstr "aktivér fejlsøgningsuddata"
+
+#: main.cc:97
+msgid "ACC[:MINOR]"
+msgstr "TONE[:MOL]"
+
+#: main.cc:97
+msgid "set key: ACC +sharps/-flads; :1 minor"
+msgstr "sæt tonart: TONE +forhøjelser/-sænkninger; :1 mol"
+
+#: main.cc:98
+msgid "don't output tuplets, double dots or rests, smallest is 32"
+msgstr "udskriv ikke tupler, dobbeltpunktninger eller pauser, mindste er 32"
+
+#: main.cc:99
+msgid "set FILE as default output"
+msgstr "sæt FIL som standarduddata"
+
+#: main.cc:100
+msgid "don't output tuplets"
+msgstr "udskriv ikke tupler"
+
+#: main.cc:101
+msgid "be quiet"
+msgstr "vær stille"
+
+#: main.cc:102
+msgid "don't output rests or skips"
+msgstr "udskriv ikke pauser eller hop"
+
+#: main.cc:103
+msgid "DUR"
+msgstr "LÆNGDE"
+
+#: main.cc:103
+msgid "set smallest duration"
+msgstr "indstil mindste længde"
+
+#: main.cc:104
+msgid "don't timestamp the output"
+msgstr "tidsstempl ikke uddata"
+
+#: main.cc:106
+msgid "be verbose"
+msgstr "vær udførlig"
+
+#: main.cc:108
+msgid "assume no double dotted notes"
+msgstr "antag ingen dobbeltpunktede noder"
+
+#: main.cc:115
+#, c-format
+msgid "Usage: %s [OPTION]... [FILE]"
+msgstr "Brug: %s [FLAG]... [FIL]"
+
+#: main.cc:117
+msgid "Translate MIDI-file to lilypond"
+msgstr "Oversæt MIDI-fil til lilypond"
+
+#: main.cc:131
+#, c-format
+msgid "no_double_dots: %d\n"
+msgstr "no_double_dots: %d\n"
+
+#: main.cc:133
+#, c-format
+msgid "no_rests: %d\n"
+msgstr "no_rests: %d\n"
+
+#: main.cc:135
+#, c-format
+msgid "no_quantify_b_s: %d\n"
+msgstr "no_quantify_b_s: %d\n"
+
+#: main.cc:137
+#, c-format
+msgid "no_smaller_than: %d (1/%d)\n"
+msgstr "no_smaller_than: %d (1/%d)\n"
+
+#: main.cc:140
+#, c-format
+msgid "no_tuplets: %d\n"
+msgstr "no_tuplets: %d\n"
+
+#: midi-parser.cc:64
+msgid "zero length string encountered"
+msgstr "streng med længde nul mødtes"
+
+#: midi-score-parser.cc:44
+msgid "MIDI header expected"
+msgstr "forventede MIDI-rubrik"
+
+#: midi-score-parser.cc:49
+msgid "invalid header length"
+msgstr "ugyldig rubriklængde"
+
+#: midi-score-parser.cc:52
+msgid "invalid MIDI format"
+msgstr "ugyldigt MIDI-format"
+
+#: midi-score-parser.cc:55
+msgid "invalid number of tracks"
+msgstr "ugyldigt antal spor"
+
+#: midi-score-parser.cc:58
+msgid "can't handle non-metrical time"
+msgstr "kan ikke håndtere ikke-metrisk tid"
+
+#: midi-track-parser.cc:68
+#, c-format
+msgid "Junking note-end event: channel = %d, pitch = %d"
+msgstr "Stryger nodeslutshændelse: kanal = %d, tone = %d"
+
+#: midi-track-parser.cc:124
+msgid "invalid running status"
+msgstr "ugyldig kørselstatus"
+
+#: midi-track-parser.cc:328
+msgid "unimplemented MIDI meta-event"
+msgstr "uimplementeret MIDI-metahændelse"
+
+#: midi-track-parser.cc:333
+msgid "invalid MIDI event"
+msgstr "ugyldig MIDI-hændelse"
+
+#: midi-track-parser.cc:348
+msgid "MIDI track expected"
+msgstr "forventede MIDI-spor"
+
+#: midi-track-parser.cc:353
+msgid "invalid track length"
+msgstr "ugyldig sporlængde"
index 39fcd09fbc4c1b8b6ddbf6c0d17a76723db349fa..96f56982681f6dcdfb2f09bb3e11d74940535336 100644 (file)
        (volta . ((font-family . number) (font-relative-size . -2)))
        (tuplet . ((font-family . roman) (font-shape . italic) (font-relative-size . -1)))
 
-       (timesig . ((font-family . number) (font-relative-size . 0)))
-       (timesig-symbol . ((font-family . music) (font-relative-size . 0)))
+       (timesig . ((font-family . number)))
+       (timesig-symbol . ((font-family . music)))
        
        (mmrest . ((font-family . number) (font-relative-size . 1)))
-       (mmrest-symbol . ((font-family . music) (font-relative-size . 0)))
+       (mmrest-symbol . ((font-family . music)))
 
        (mark . ((font-family . number) (font-relative-size . 1)))
        (script . ((font-family . roman) (font-relative-size . -1)))
index 1034493cfe0ac947f789ab4861c617b3fbc34638..96a29680f72fd7f83f99b69532265a69bdf9aeca 100644 (file)
@@ -188,7 +188,9 @@ class LatexPaper:
                elif name[-5:] == 'paper':
                        self.m_papersize = name
                else:
-                       self._set_dimen('m_geo_'+name, value)
+                       pass 
+                       # what is _set_dimen ?? /MB
+                       #self._set_dimen('m_geo_'+name, value)
        def __setattr__(self, name, value):
                if type(value) == type("") and \
                   dimension_conversion_dict.has_key (value[-2:]):
index a7d59a36f0b9945b71d00fa272ed3aceff9cee94..1cf59b1171348ba86c1f508011fbae7647f86123 100644 (file)
@@ -203,9 +203,15 @@ else {last =0}}
     then
         AC_STEPMAKE_WARN("Guile version "$need_guile_version" or newer is needed")
     fi
+    changequote(<<, >>)dnl
+    GUILE_MAJOR_VERSION=`expr $guile_version : '\([0-9]*\)'`
+    GUILE_MINOR_VERSION=`expr $guile_version : '[0-9]*\.\([0-9]*\)'`
+    changequote([, ])dnl
     GUILE_FLAGS
     AC_PATH_PROG(GUILE, guile, error)
     AC_SUBST(GUILE)
+    AC_DEFINE_UNQUOTED(GUILE_MAJOR_VERSION, $GUILE_MAJOR_VERSION)
+    AC_DEFINE_UNQUOTED(GUILE_MINOR_VERSION, $GUILE_MINOR_VERSION)
 ])
 
 AC_DEFUN(AC_STEPMAKE_INIT, [
@@ -429,17 +435,20 @@ dnl    fi
 AC_DEFUN(AC_STEPMAKE_KPATHSEA, [
 
     kpathsea_b=yes
+    #FIXME --with-xxx is meant for specifying a PATH too,
+    # so this should read: --enable-kpathsea,
+    # or --with-kpathsea-include=PATH --with-kpathsea-lib=PATH
     AC_ARG_WITH(kpathsea,
     [  --with-kpathsea         use kpathsea lib.  Default: on],
-    [kpathsea_b=$enableval])
+    [kpathsea_b=$with_kpathsea])
 
-    if test "$kpathsea_b" = "yes"; then        
+    if test "$kpathsea_b" != "no"; then        
        AC_HAVE_HEADERS(kpathsea/kpathsea.h)
        AC_CHECK_LIB(kpathsea, kpse_find_file)
        AC_CHECK_FUNCS(kpse_find_file,, AC_ERROR(Cannot find kpathsea functions.  You should install kpathsea; see INSTALL.txt.  Rerun ./configure --without-kpathsea only if kpathsea is not available for your platform.))
     fi
     AC_MSG_CHECKING(whether to use kpathsea)
-    if test "$kpathsea_b" = yes; then
+    if test "$kpathsea_b" != no; then
         AC_MSG_RESULT(yes)
        KPATHSEA=1
     else
@@ -711,7 +720,7 @@ AC_DEFUN(AC_STEPMAKE_TEXMF, [
     #
     # For now let people define these in their environments
     #
-    : ${MFPLAIN_MP=`kpsewhich mp mfplain.mp`}
+    : ${MFPLAIN_MP=`kpsewhich --format mp mfplain.mp`}
     AC_MSG_RESULT($MFPLAIN_MP)
 
     AC_MSG_CHECKING(for inimetapost flags)