]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 0.1.44 release/0.1.44
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 5 Feb 1998 23:12:48 +0000 (00:12 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 5 Feb 1998 23:12:48 +0000 (00:12 +0100)
91 files changed:
AUTHORS.txt
Documentation/Rules.make
Documentation/index.pod
Documentation/mutopia.pod
INSTALL.txt
NEWS
VERSION
bin/conflily.sh
bin/convert-mudela.pl
bin/flower.py
bin/foo.sh [new file with mode: 0755]
bin/lilypython.py
bin/ly2dvi.sh
bin/make-patch.py
bin/make-website.py
debian/out/dummy.dep [deleted file]
flower/NEWS
flower/include/path.hh
flower/include/string.hh
flower/path.cc
flower/scalar.cc
flower/string-convert.cc
flower/string.cc
flower/test/main.cc
flower/test/pqtest.cc
flower/test/stringtest.cc
init/engraver.ly
init/lily-init.ly
init/paper16.ly
init/paper20.ly
init/property.ly
input/Makefile
input/beams.ly
input/cadenza.ly
input/collisions.ly
input/denneboom.ly
input/font-body.ly
input/font.ly
input/font16.ly
input/gourlay.ly
input/keys.ly
input/kortjakje.ly
input/multi.ly
input/pedal.ly
input/rhythm.ly
input/scales.ly
input/scripts.ly
input/sleur.ly
input/slurs.ly
input/spacing.ly
input/stem.ly
input/toccata-fuga-E.ly
input/twinkle-pop.ly
input/twinkle.ly
lily/VERSION
lily/beam-grav.cc
lily/general-script-def.cc
lily/include/plet-engraver.hh
lily/include/plet-spanner.hh
lily/include/text-def.hh
lily/lexer.l
lily/main.cc
lily/parser.y
lily/plet-engraver.cc
lily/plet-spanner.cc
lily/text-def.cc
make/Rules.make
make/Variables.make
make/lelievijver.lsm
make/lilypond.lsm
make/lilypond.spec
mi2mu/mudela-item.cc
mi2mu/mudela-staff.cc
mi2mu/mudela-stream.cc
mutopia/J.S.Bach/Makefile
mutopia/J.S.Bach/preludes-1.ly [new file with mode: 0644]
mutopia/J.S.Bach/preludes-2.ly [new file with mode: 0644]
mutopia/J.S.Bach/preludes-3.ly.m4 [new file with mode: 0644]
mutopia/J.S.Bach/preludes-4.ly [new file with mode: 0644]
mutopia/J.S.Bach/scsii-menuetto.ly
mutopia/J.S.Bach/scsii-menuetto.tex [deleted file]
mutopia/J.S.Bach/wtk1-fugue1.ly
mutopia/J.S.Bach/wtk1-fugue2.ly
mutopia/J.S.Bach/wtk1-prelude1.ly
mutopia/Makefile
mutopia/gallina.ly
mutopia/out/dummy.dep [deleted file]
mutopia/standchen-16.ly
mutopia/standchen-20.ly
mutopia/standchen.ly
mutopia/standje.ly

index 05b01d95ed332d88310a502f4d87cf2c3f047a46..d20b99bb41baa45604aa5c1ae21da532033685b1 100644 (file)
@@ -61,7 +61,7 @@ CONTRIBUTORS
 
 
 
-2/Feb/98                 LilyPond 0.1.43                        1
+29/Jan/98                LilyPond 0.1.44                        1
 
 
 
@@ -127,6 +127,6 @@ AUTHORS(1)            LilyPond documentation           AUTHORS(1)
 
 
 
-2/Feb/98                 LilyPond 0.1.43                        2
+29/Jan/98                LilyPond 0.1.44                        2
 
 
index 88ab6fb34a9f0cb3eaca6b23ea49ecb605b5edd4..fc9a6198f1ebefd3792ba251beee5455c976d677 100644 (file)
@@ -43,18 +43,6 @@ $(outdir)/%.gz: $(outdir)/%
        gzip -c9 $< > $@
 
 name-stem= $(notdir $(basename $<))
-$(outdir)/%.dvi: $(depth)/input/%.ly $(depth)/VERSION
-       (cd $(outdir); \
-       lilypond -I/  ../$< )
-       (cd $(outdir); \
-       if [ -f ../$(basename $< ).tex ]; \
-       then \
-               latex ../$(basename $< ) ;\
-       else \
-               tex $(name-stem) ;\
-       fi)
-
-
 
 $(outdir)/%.gif: $(outdir)/%.ps
        sh $(depth)/bin/ps-to-gifs.sh $<
index 865b5e2dcfd3766633766a75538cdb1f2df6668d..1bbba2ad3750cd51443b3f1ebbf76eed27fe7ab0 100644 (file)
@@ -29,12 +29,16 @@ and the ftp site.
 
 =head2 Examples
 
+=over 4
+
+=item *
 <a href=examples_output.html
 >
 short examples of what LilyPond can do: MIDI, PS, .gif and input.
 </a
 >
 
+=item *
 <a href=mutopiaexamples_output.html 
 >
 examples of what LilyPond can do
@@ -42,6 +46,7 @@ with real music: MIDI, PS, .gif and input
 </a
 >
 
+=back
 
 =head2 NEWS! 
 
index ed95d6ff0b2ce6a9a75cb9665ee96cc42e6b61fb..8b179a78636348653210e979e33bbe3d08d03670 100644 (file)
@@ -14,9 +14,9 @@ and mudela.
 Music publishers make lots of money out of selling sheet music which
 is in the public domain (the composers died a long time ago). It is
 usually prohibited to xerox the sheet music.  Publishers have two
-arguments to justify this policy: the high prices are there to guarantee
-diversity (keeping lots of stock is expensive), and to encourage new
-work being composed.
+arguments to justify this policy: the high prices are there to
+guarantee diversity (keeping lots of it in stock is expensive), and to
+encourage new work being composed.
 
 This is bad. Storing a Mudela file takes almost no space at all, and
 if sheet music could be had for free, then it would be much easier
@@ -34,8 +34,6 @@ We also need an archive of public domain sheet music; this is what we
 call The Mutopia Project.
 
 
-
-
 =head1 STATUS
 
 This project is still in its vapourware stage, so don't ask questions
@@ -49,6 +47,7 @@ Just as an aside, the LilyPond package includes the following music:
 
 J.S. Bach, Das Wohltemperierte Clavier I: C major Prelude & Fugue, C
 minor fugue.  Solo cello suites: suite II, menuetto (alto version).
+Six small preludes: some preludes.
 
 =item *
 
index 4e5b6815288d3fe71f7468f3f797757381ee4fa2..c014f4300e74e6589c926d77a4c1be433c3da449 100644 (file)
@@ -61,7 +61,7 @@ RECOMMENDED
 
 
 
-2/Feb/98                 LilyPond 0.1.43                        1
+28/Jan/98                LilyPond 0.1.44                        1
 
 
 
@@ -127,7 +127,7 @@ CONFIGURING and COMPILING
 
 
 
-2/Feb/98                 LilyPond 0.1.43                        2
+28/Jan/98                LilyPond 0.1.44                        2
 
 
 
@@ -193,7 +193,7 @@ INSTALL(1)            LilyPond documentation           INSTALL(1)
 
 
 
-2/Feb/98                 LilyPond 0.1.43                        3
+28/Jan/98                LilyPond 0.1.44                        3
 
 
 
@@ -259,7 +259,7 @@ EXAMPLE
 
 
 
-2/Feb/98                 LilyPond 0.1.43                        4
+28/Jan/98                LilyPond 0.1.44                        4
 
 
 
@@ -325,7 +325,7 @@ MUSIXTEX
 
 
 
-2/Feb/98                 LilyPond 0.1.43                        5
+28/Jan/98                LilyPond 0.1.44                        5
 
 
 
@@ -391,6 +391,6 @@ AUTHORS
 
 
 
-2/Feb/98                 LilyPond 0.1.43                        6
+28/Jan/98                LilyPond 0.1.44                        6
 
 
diff --git a/NEWS b/NEWS
index 107512ee2db75453bca21d847ad4bfde8cbc599b..ce79217d60d50f5799a5fa8f58e7623b75e52369 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,25 @@
+
+pl 44
+       - ly2dvi 0.6.hwn1 
+       - ly2dvi 0.6 (JAF)
+       - use ly2dvi for website
+
+pl 44.jcn2
+       - fingers default to above note
+       - preludes-2.ly
+       - parser: fingerings
+       - preludes-1.ly
+       - bf: denneboom.ly
+       - preludes-3.ly.m4, standje.ly, preludes-4.ly
+       - make rule for macro ly-files
+       - pletvisibility (init/property.ly): 
+         * default no bracket with beams
+         * invisible plet bracket feature
+       - finger dir in text-def
+
+*******
+feb 2
+
 pl 43
        - bf: broken Plet_spanners
        - more GNITting
@@ -5,6 +27,7 @@ pl 43
        - some NeXTStep patches from tiggr
        - don't do overstrike/bold chars in textfiles
 
+
 pl 42.jcn2
        - bit hesitating start of mutopia
        - bf: don't try to typeset unterminated plet
diff --git a/VERSION b/VERSION
index 901ee9191cc6fb6048fd90c4504edc897f162cad..d0da0ec0d1da8593f797b7126693e3176ced8b0d 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,6 +1,6 @@
 TOPLEVEL_MAJOR_VERSION = 0
 TOPLEVEL_MINOR_VERSION = 1
-TOPLEVEL_PATCH_LEVEL = 43
+TOPLEVEL_PATCH_LEVEL = 44
 TOPLEVEL_MY_PATCH_LEVEL = 
 
 # use the above to send patches, always empty for released version:
index 520af8b24c81f46578cd72cf2926b2555830746a..a89f9e7711d9d23e93b0c878f85f84ad27794d65 100644 (file)
@@ -27,7 +27,7 @@ ln -sf $lelie/current/mi2mu/out/mi2mu bin/out/mi2mu
 
 if [ "x$LILYINCLUDE" = "x" ]; then
        echo you should make add the following to your login script
-       echo "export LILYINCLUDE=$lelie/current/init:$lelie/current/input:$lelie/current/mutopia:$lelie/current/mutopia/j.s.bach"
+       echo "export LILYINCLUDE=$lelie/current/init:$lelie/current/input:$lelie/current/mutopia:$lelie/current/mutopia/out:$lelie/current/input:$lelie/current/mutopia/J.S.Bach:$lelie/current/mutopia/J.S.Bach/out"
        echo "export PATH=$PATH:$lelie/current/bin/out/"
        echo "export MFINPUTS=$MFINPUTS:$lelie/current/mf"
 fi
index e10af3b07777d4ee4aef28f0b155abc1d594b434..06578f3157fe4dfd2f3ede34960a8eeae71ac9f6 100644 (file)
@@ -159,6 +159,12 @@ sub convert_0_1_7_to_0_1_8
     s/\\plet *([1-9][0-9]*) *\/ *([2-9][0-9]*) *;/\\[$1\/$2/;    
 }  
 
+sub convert_0_1_8_to_0_1_9
+{
+# sticky plet shorthand...
+#  print "introduced plet and finger shorthands...\n";
+}
+
 ###############################################################
 
 sub    last_conversion
@@ -207,6 +213,7 @@ my %minor_conversions = ("0.0.50" => \&no_conv,
                         "0.1.6" => \&convert_0_1_5_to_0_1_6
                         ,"0.1.7" => \&convert_0_1_6_to_0_1_7
                         ,"0.1.8" => \&convert_0_1_7_to_0_1_8
+                        ,"0.1.9" => \&convert_0_1_8_to_0_1_9
                         );
 
  
index 5625599e7ac3971ae146f048eea3d3dee62f95a4..c7af8dd307e498ddd0ab2dc1912597fec20ba0a9 100644 (file)
@@ -33,3 +33,42 @@ class File:
     def __del__ (self):
        self.close ();
 
+
+
+import fnmatch
+import os
+
+_debug = 0
+
+_prune = ['(*)']
+
+
+def my_find(patterns, dir = os.curdir):
+        list = []
+        names = os.listdir(dir)
+        names.sort()
+        for name in names:
+                if name in (os.curdir, os.pardir):
+                        continue
+                fullname = os.path.join(dir, name)
+               for pat in patterns:
+                   if fnmatch.fnmatch(name, pat):
+                        list.append(fullname)
+                if os.path.isdir(fullname) and not os.path.islink(fullname):
+                        for p in _prune:
+                                if fnmatch.fnmatch(name, p):
+                                        if _debug: print "skip", `fullname`
+                                        break
+                        else:
+                                if _debug: print "descend into", `fullname`
+                               found = my_find(patterns, fullname)
+                               if found:
+                                   list = list + found
+        return list
+
+def multiple_find(pats, dirnames):
+    from find import find
+    l = []
+    for d in dirnames:
+       l = l + my_find(pats,  d)
+    return l
diff --git a/bin/foo.sh b/bin/foo.sh
new file mode 100755 (executable)
index 0000000..36ac368
--- /dev/null
@@ -0,0 +1 @@
+#! /bin/bash
index 5b68b9773928fbf3afdcc82fd17f6823269572d0..a9055e5c278f10e5214231571f1140d17199534c 100644 (file)
@@ -13,6 +13,7 @@ import pwd
 import regex
 import regsub
 from string import *
+from flower import *
 import sys
 import os
 import getopt
index 9b69a21d80c91d008de426e264d116d9c2ec513e..ab82f00919faad41955e1cad182d319ee332af9d 100644 (file)
@@ -8,14 +8,26 @@
 #  Original LaTeX file made by Mats Bengtsson, 17/8 1997
 #
 
-VERSION="0.5"
-IDENTIFICATION="lytodvi.sh $VERSION" 
+VERSION="0.6.hwn1"
+NAME=ly2dvi.sh
+IDENTIFICATION="$NAME $VERSION" 
 NOW=`date`
 echo "$IDENTIFICATION" 1>&2
 
 # NEWS
-# 0.5.hwn1
-#      - do tee of output.
+    
+# 0.6.hwn1
+#      - handle LILYINCLUDE
+#       - --output
+#
+# 0.6
+#      - Source rc-files, if present. Files are:
+#        /usr/local/share/lilyrc /etc/lilyrc $HOME/.lilyrc ./.lilyrc
+#      - tee output from Lilypond
+#      - Handles margins for A4 paper (equal on both sides)
+#      - new option -s (--separate) for one LaTeX run per file,
+#        else all files are run together
+
 # 0.5
 #      - More useful ("two-level") debug.
 #      - The Q&D hack to find file names and not handling \include
@@ -103,14 +115,26 @@ Usage: $0 [options] file[s]
 
 Options:
   -D, --debug           set debug mode
+  -o, --output          set output directory
   -h, --help            this help text
   -k, --keep            keep LaTeX file
   -l, --language=       give LaTeX language (babel)
   -p, --papersize=      give LaTeX papersize (eg. a4paper)
+  -s, --separate        run all files separately through LaTeX
 
   files may be (a mix of) input to or output from lilypond(1)
 EOF
 }
+
+#
+# RC-files ?
+#
+for D in /usr/local/share/ /etc/ $HOME/. ./.
+do
+  RCfile=$D"lilyrc"
+  [ -f $RCfile ] && . $RCfile
+done
+
 #
 # Keywords defined in titledefs.tex
 #
@@ -136,13 +160,16 @@ fi
 # debugging
 #
 debug_echo=true
-
+#
+# All files in one LaTeX run
+#
+SEPFILE=N
 #
 # Find command line options and switches
 #
 # "x:" x takes argument
 #
-switches="Dhkl:p:\?"
+switches="Do:hkl:p:s\?"
 options=""
 #
 # ugh, "\-" is a hack to support long options
@@ -170,9 +197,15 @@ do
     l  )
       LNG=$OPTARG
       ;;
+    o  )
+      OUTPUTDIR=$OPTARG
+      ;;
     p  )
       PSZ=$OPTARG
       ;;
+    s  )
+      SEPFILE=Y
+      ;;
     \? )
       help;
       exit -1
@@ -181,6 +214,13 @@ do
     -)
       $debug_echo "long option: \`$OPTARG'"
       case "$OPTARG" in
+        D*|-D*)
+          if [ $debug_echo = echo ]
+          then
+            set -x
+          fi
+          debug_echo=echo
+          ;;
         h*|-h*)
           help;
          exit 0
@@ -194,12 +234,11 @@ do
         p*|-p*)
           PSZ=`echo $OPTARG | sed -e s/"^.*="//`
           ;;
-        D*|-D*)
-          if [ $debug_echo = echo ]
-          then
-            set -x
-          fi
-          debug_echo=echo
+       o*|-o*)
+             OUTPUTDIR=$OPTARG
+             ;;
+        s*|-s*)
+         SEPFILE=Y
           ;;
         *|-*)
           echo $0": illegal option -- "$OPTARG;
@@ -220,20 +259,200 @@ then
   exit 1
 fi
 #
-for GF in $*
+startFile(){
+#
+# LaTeX file name
+#
+if [ "$KEEP" != "Y" ]
+then
+  if [ "$TMP" = "" ]
+  then
+    TMP=/tmp
+  fi
+  if [ ! -d $TMP ]
+  then
+    $debug_echo $IDENTIFICATION": temporary directory "$TMP" not found, set to /tmp"
+    TMP=/tmp
+  fi
+#
+  BN=`basename $File .tex`
+  FN=$BN.$$
+  LF=$TMP/$FN.tex
+else
+  BN=`basename $File .tex`
+  FN=$BN.$$
+  LF=$FN.tex
+fi
+#
+# Find:
+#   paper size (PSZ, overridden by command line option -p)
+#   language   (LNG, overridden by command line option -l)
+#   textwidth
+#
+eval `sed -n \\
+  -e 's/\\\\def\\\\mudelapapersize{\([^}]*\).*$/fPSZ=\1;/p' \\
+  -e 's/\\\\def\\\\mudelalanguage{\([^}]*\).*$/fLNG=\1;/p' \\
+  -e 's/\\\\def\\\\mudelapaperlinewidth{\([^}]*\).*$/TWN=\1;/p' \\
+    $File`
+if [ "$PSZ" = "" ]
+then
+  PSZ=$fPSZ
+fi
+if [ "$PSZ" != "" ]
+then
+  PAPER="["$PSZ"]"
+fi
+#
+if [ "$LNG" = "" ]
+then
+  LNG=$fLNG
+fi
+if [ "$LNG" != "" ]
+then
+  LLNG="\usepackage["$LNG"]{babel}"
+else
+  LLNG="%"
+fi
+
+#
+# Find textwidth
+#
+if [ "$TWN" != "" ]
+then
+  TW=$TWN
+  case $TW in
+    *mm)
+      ;;
+    *cm)
+      ;;
+    *pt)
+      ;;
+    *)
+      TW=$TW"pt"
+      ;;
+  esac
+  $debug_echo "Text width = "$TW
+fi
+TWp=`echo $TW | sed -e 's/\..*$//'`
+PWp=600;                               # Width of A4 paper!
+MARG=`expr $PWp - $TWp`
+MARG=`expr $MARG / 2`"pt"
+#
+# Geometry: /var/lib/texmf/latex/geometry/geometry.dvi
+#
+#
+# Write LaTeX file
+#
+cat << EOF > $LF
+% Creator: $IDENTIFICATION
+% Automatically generated from  $IF, $NOW
+
+\documentclass$PAPER{article}
+\nonstopmode
+$LLNG
+\usepackage{geometry}
+\usepackage[T1]{fontenc}
+%\addtolength{\oddsidemargin}{-1cm}
+%\addtolength{\topmargin}{-1cm}
+\setlength{\textwidth}{$TW}
+\geometry{width=$TW, left=$MARG, top=1cm}
+\input lilyponddefs
+\input titledefs
+\begin{document}
+EOF
+#
+# Include \def\mudela-definitions
+#
+for L in $MU_DEF
 do
-  #
-  # Check if input file exists...
-  #
-  if [ ! -f $GF ]
+  LL=`egrep '^\\\\def.'$L'{' $OF`
+  if [ "$LL" != "" ]
   then
-    GF=$GF.ly
-    if [ ! -f $GF ]
+    LLL=`echo $LL | sed -e 's/}.*$//' -e 's/.*{//'`
+    if [ "$LLL" != "" ]
     then
-      $debug_echo $IDENTIFICATION": Input file "$GF" not found"
-      exit 2
+      echo '\'$L'{'$LLL'}%'                                >> $LF
     fi
   fi
+done
+#
+cat << EOF >> $LF
+\makelilytitle
+EOF
+}
+#
+# Conclusion
+#
+endFile(){
+cat << EOF >> $LF
+\vfill\hfill{(\LilyIdString)}
+\end{document}
+EOF
+#
+# Run LaTeX
+#
+latex $LF || exit 5
+#
+# Rename dvi file
+#
+if [ -f $FN.dvi ]
+then
+    RESULT=$BN.dvi
+    if [ x$OUTPUTDIR != x ]; then
+       RESULT="$OUTPUTDIR/$RESULT"
+    fi
+    cp $FN.dvi $RESULT
+fi
+#
+# Clean up
+#
+if [ "$KEEP" != "Y" ]
+then
+  rm $LF $FN.*
+fi
+#
+# Output some info
+#
+cat << EOF
+
+$IDENTIFICATION: dvi file name is $RESULT
+
+EOF
+}
+
+    # ugh. GF is side-effect.
+findInput() {
+    # should check for LILYINCLUDE
+    for lypath in `echo $LILYINCLUDE| sed 's/:/ /g'`
+    do
+       if [ x$lypath = x ]
+       then
+           lypath="."
+       fi
+
+       if [ -f "$lypath/$1" ]
+       then
+           GF="$lypath/$1"
+           return          
+       fi
+
+        if [ -f "$lypath/$1.ly" ]
+       then
+               GF="$lypath/$1.ly"
+               return
+       fi
+    done
+    $debug_echo $IDENTIFICATION": Input file "$GF" not found"
+    echo $NAME": Input file "$GF" not found"   1>&2
+    exit 2
+}
+#
+# Loop through all files
+#
+for GF in $*
+do
+    findInput $GF
+
   #
   # Check whether the file is input to or output from lilypond
   #
@@ -276,169 +495,47 @@ do
     $debug_echo "lilypond "$IF
 
     lilypond $IF 2>&1  | tee /tmp/lilylog.$$
-    OF=`cat /tmp/lilylog.$$| egrep '^TeX output to ' | \\
+    OF=`egrep '^TeX output to ' /tmp/lilylog.$$ | \\
         sed -e 's/TeX output to//' -e 's/\.\.\.//'`
+    rm /tmp/lilylog.$$
     $debug_echo "==> "$OF
   fi
   #
-  # Check if output file is generated
+  # "Spin through" all the files
   #
   for File in $OF
   do
     $debug_echo "--- "$File
+    #
+    # Check if output file is generated
+    #
     if [ ! -f $File ]
     then
       $debug_echo $IDENTIFICATION": hmm, I could not find the output file "$File
       exit 4
     fi
+    #
+    # Is this the first file?
+    #
     if [ -z "$FFile" ]
     then
       FFile=$File
-      #
-      # LaTeX file name
-      #
-      if [ "$KEEP" != "Y" ]
-      then
-        if [ "$TMP" = "" ]
-        then
-          TMP=/tmp
-        fi
-        if [ ! -d $TMP ]
-        then
-          $debug_echo $IDENTIFICATION": temporary directory "$TMP" not found, set to /tmp"
-          TMP=/tmp
-        fi
-      #
-        BN=`basename $FFile .tex`
-        FN=$BN.$$
-        LF=$TMP/$FN.tex
-      else
-        BN=`basename $FFile .tex`
-        FN=$BN.$$
-        LF=$FN.tex
-      fi
-      #
-      # Find:
-      #   paper size (PSZ, overridden by command line option -p)
-      #   language   (LNG, overridden by command line option -l)
-      #   textwidth
-      #
-      eval `sed -n \\
-        -e 's/\\\\def\\\\mudelapapersize{\([^}]*\).*$/fPSZ=\1;/p' \\
-        -e 's/\\\\def\\\\mudelalanguage{\([^}]*\).*$/fLNG=\1;/p' \\
-        -e 's/\\\\def\\\\mudelapaperlinewidth{\([^}]*\).*$/TWN=\1;/p' \\
-          $OF`
-      if [ "$PSZ" = "" ]
-      then
-        PSZ=$fPSZ
-      fi
-      if [ "$PSZ" != "" ]
-      then
-        PAPER="["$PSZ"]"
-      fi
-      #
-      if [ "$LNG" = "" ]
-      then
-        LNG=$fLNG
-      fi
-      if [ "$LNG" != "" ]
-      then
-        LLNG="\usepackage["$LNG"]{babel}"
-      else
-        LLNG="%"
-      fi
-
-      #
-      # Find textwidth
-      #
-      if [ "$TWN" != "" ]
-      then
-        TW=$TWN
-        case $TW in
-          *mm)
-            ;;
-          *cm)
-            ;;
-          *pt)
-            ;;
-          *)
-            TW=$TW"pt"
-            ;;
-        esac
-        $debug_echo "Text width = "$TW
-      fi
-
-      #
-      # Write LaTeX file
-      #
-      cat << EOF > $LF
-% Creator: $IDENTIFICATION
-% Automatically generated from  $IF, $NOW
-
-\documentclass$PAPER{article}
-\nonstopmode
-$LLNG
-\usepackage[T1]{fontenc}
-\addtolength{\oddsidemargin}{-1cm}
-\addtolength{\topmargin}{-1cm}
-\setlength{\textwidth}{$TW}
-\input lilyponddefs
-\input titledefs
-\begin{document}
-EOF
-      #
-      # Include \def\mudela-definitions
-      #
-      for L in $MU_DEF
-      do
-        LL=`egrep '^\\\\def.'$L'{' $OF`
-        if [ "$LL" != "" ]
-        then
-          LLL=`echo $LL | sed -e 's/}.*$//' -e 's/.*{//'`
-          if [ "$LLL" != "" ]
-          then
-            echo '\'$L'{'$LLL'}%'                                >> $LF
-          fi
-        fi
-      done
-      #
-      cat << EOF >> $LF
-\makelilytitle
-EOF
+      startFile
     fi
     cat << EOF >> $LF
 \input{$File}
 EOF
+    if [ $SEPFILE = Y ]
+    then
+      FFile=""
+      endFile
+    fi
   done
 done
-cat << EOF >> $LF
-\vfill\hfill{(\LilyIdString)}
-\end{document}
-EOF
-#
-# Run LaTeX
-#
-latex $LF || exit 5
-#
-# Rename dvi file
-#
-if [ -f $FN.dvi ]
+if [ $SEPFILE = N ]
 then
-  cp $FN.dvi $BN.dvi
+  endFile
 fi
 #
-# Clean up
-#
-if [ "$KEEP" != "Y" ]
-then
-  rm $LF $FN.*
-fi
-#
-# Output some info
-#
-cat << EOF
-
-$IDENTIFICATION: dvi file name is $BN.dvi
-
-EOF
 # OK - finished
+#
index 207066d31a4d80e68da6687de9192f3b1a86234a..047f8e37b7eacc7648e450fc3968259f7d5beecd 100644 (file)
@@ -61,44 +61,6 @@ usage \n\
 Patches do not contain automatically generated files, \n\
 i.e. you should rerun configure\n\n'
 
-import fnmatch
-import os
-
-_debug = 0
-
-_prune = ['(*)']
-
-
-def my_find(patterns, dir = os.curdir):
-        list = []
-        names = os.listdir(dir)
-        names.sort()
-        for name in names:
-                if name in (os.curdir, os.pardir):
-                        continue
-                fullname = os.path.join(dir, name)
-               for pat in patterns:
-                   if fnmatch.fnmatch(name, pat):
-                        list.append(fullname)
-                if os.path.isdir(fullname) and not os.path.islink(fullname):
-                        for p in _prune:
-                                if fnmatch.fnmatch(name, p):
-                                        if _debug: print "skip", `fullname`
-                                        break
-                        else:
-                                if _debug: print "descend into", `fullname`
-                               found = my_find(patterns, fullname)
-                               if found:
-                                   list = list + found
-        return list
-
-def multiple_find(pats, dirnames):
-    from find import find
-    l = []
-    for d in dirnames:
-       l = l + my_find(pats,  d)
-    return l
-
 pats = ['*.lsm', 'configure', '*.txt', 'lilypond.spec']
 def remove_automatic(dirnames):
     files = []
index 8604c5c8928fcc074aac9d4066a254915507fd2b..d7ee588e5a27ec43ddf5d9b2d39ffd8a29b478ec 100644 (file)
@@ -4,7 +4,7 @@
 # 
 # source file of the GNU LilyPond music typesetter
 # 
-# (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+# (c) 1997, 1998 Han-Wen Nienhuys <hanwen@stack.nl>
 # 
 
 """ 
@@ -30,7 +30,7 @@ import glob
 
 depth = ''
 makewebsite_id = "<!make_website!>";
-id_str = "make-website 0.7";
+id_str = "make-website 0.8";
 tar = "tar";
 make = "make";
 mailaddress = "unknown"
@@ -38,11 +38,14 @@ fullname = "unknown"
 footstr = ""
 lilyversion= ''
 
+include_path=[ 'input', 'mutopia' , 'mutopia/J.S.Bach', 
+              'mutopia/J.S.Bach/out' ]
+
 def set_vars():
     __main__.lilyversion =  version_tuple_to_str(lilydirs.version_tuple())
     os.environ["TEXINPUTS"] = os.environ["TEXINPUTS"] + ":%s/input/:" % depth;
-    os.environ["LILYINCLUDE"] = "%s/input/:%s/mutopia/:%s/mutopia/J.S.Bach" \
-                               % ((depth, ) *3);
+    
+    os.environ["LILYINCLUDE"] = join (':', __main__.include_path)
     os.environ["LILYTOP"] = depth;
     __main__.mailaddress= os.environ['MAILADDRESS']
     pw = pwd.getpwuid (os.getuid());
@@ -92,9 +95,9 @@ examples=["twinkle-pop",
          "multi"]
 
 mutopia_examples = [ "wtk1-fugue2",
-                    "standchen-16", 
-                    "standchen-20", 
                     "standje",
+                    "preludes-1",
+                    "preludes-2",
                     "wtk1-prelude1",
                     "gallina",   
                     "scsii-menuetto"]
@@ -107,9 +110,19 @@ def gen_html():
 
 def gen_examples(inputs):
     print 'generating examples:\n'
-    list = map(lambda x: 'out/%s.ps.gz out/%s.gif out/%s.ly.txt' % (x,x,x), inputs)
+    outputs = []
+    for i in inputs:
+       located = multiple_find ([i + '.ly'], include_path) [0]
+
+       outputs.append (located)
+       if not file_exist_b(i + '.dvi'):
+           my_system (['ly2dvi %s' % located])
+       if not file_exist_b(i + '.ly.txt'):
+           os.link (located, i + ".ly.txt")
+    list = map(lambda x: 'out/%s.ps.gz out/%s.gif' % (x,x), inputs)
     my_system (['make -C .. ' + join(' ', list)])
 
+    return outputs
 
 def gen_list(inputs, filename):
     print "generating HTML list %s\n" % filename;
@@ -122,7 +135,9 @@ def gen_list(inputs, filename):
      'files have been scaled to eliminate aliasing.\n');
 
     for ex in inputs:
+       print '%s, ' % ex
        header  = read_mudela_header(ex + '.ly.txt')
+       
        def read_dict(s, default, h =header):
                try:
                    ret = h[s]
@@ -251,20 +266,23 @@ def edit_html():
                       '<TITLE>LilyPond WWW: \\1</TITLE>', s)
        dump_file (f,s)
 
+
+def do_examples (examples, filename):
+    located_files = gen_examples (examples)
+    gen_list (examples, filename)
 def main():
     identify();
 
     os.chdir (lilydirs.topdir + 'Documentation/out')
     __main__.depth = "../../";
+    __main__.include_path = map(lambda p: __main__.depth + '/' + 
+                               p, __main__.include_path)
 
     set_vars();
     gen_html();
     copy_files();
-    gen_examples(examples);
-    gen_list(examples, 'examples_output.html');
-
-    gen_examples(mutopia_examples);
-    gen_list(mutopia_examples, 'mutopiaexamples_output.html');
+    do_examples (examples, 'examples_output.html');
+    do_examples (mutopia_examples, 'mutopiaexamples_output.html');
     gen_manuals();
     #set_images();
     edit_html();
diff --git a/debian/out/dummy.dep b/debian/out/dummy.dep
deleted file mode 100644 (file)
index e69de29..0000000
index 1e795d59c381c63103f80f2582bce4eb085d1cd2..06f5939f5908e72848e78cd3a82a86fb1920e675 100644 (file)
@@ -1,3 +1,6 @@
+pl 37
+       - various String/File_path mucking
+
 pl 36
        - memmem fix: bugfree and *really* conforming to /usr/include/string.h
 
index caa6bbb752e159560d0183e58c1d2c4a7d624f7a..74a2dfa0918b25121cd6e9c28396b0c560f0b693 100644 (file)
@@ -31,7 +31,7 @@ public:
 
   /// add to end of path.
   Array<String>::push;
-  void add (String str) { push (str); }
+  void add (String str);
   void parse_path (String);
 };
 
index fcec32ae89953e4b0776ce91ecbf1d02a036d7c5..613202bb8c50201335fef4847b77e70596b427e0 100644 (file)
@@ -171,11 +171,6 @@ public:
   /// the length of the string
   int length_i () const;
 
-  // ***** depreciated
-  int len () const {
-    return length_i ();
-  }
-
   /// convert to an integer
   int value_i () const;
 
index a499d0abf4ee3d6572dffb8dbc145a8bf9d44c03..b9ed1c5320373920fc4e5fa7f23f8dc8e21e3ec5 100644 (file)
@@ -26,7 +26,7 @@ split_path (String path,
   if (di >= 0)
     {
       drive = path.left_str (di + 1);
-      path = path.right_str (path.len() - di -1);
+      path = path.right_str (path.length_i () - di -1);
     }
   else
     drive = "";
@@ -35,7 +35,7 @@ split_path (String path,
   if (di >=0)
     {
       dirs = path.left_str (di + 1);
-      path = path.right_str (path.len()-di -1);
+      path = path.right_str (path.length_i ()-di -1);
     }
   else
     dirs = "";
@@ -44,7 +44,7 @@ split_path (String path,
   if (di >= 0)
     {
       filebase = path.left_str (di);
-      extension =path.right_str (path.len()-di);
+      extension =path.right_str (path.length_i ()-di);
     }
   else
     {
@@ -77,7 +77,6 @@ File_path::parse_path (String p)
   */
 String
 File_path::find (String nm) const
-
 {
   fdebug << _("looking for ") << nm << ": ";
   if (!nm.length_i() || (nm == "-") )
@@ -85,8 +84,10 @@ File_path::find (String nm) const
   for (int i=0; i < size(); i++)
     {
       String path  = elem(i);
-      if (path.length_i() )
-       path += "/";
+      String sep (DIRSEP);
+      String right(path.right_str (1));
+      if (path.length_i () && right != sep)
+       path += DIRSEP;
 
       path += nm;
 
@@ -102,3 +103,9 @@ File_path::find (String nm) const
   fdebug << "\n";
   return "";
 }
+
+void
+File_path::add (String s)
+{
+   push (s); 
+}
index 9d7ef229570c1076470645444e05224af8cdc226..f28e7699ed0a5718d70289f78ffa726f8a73e2e1 100644 (file)
@@ -22,7 +22,7 @@ Scalar::operator Rational ()
   if (p == -1)
     return int (*this);
   
-  String s2 = right_str (len()-p-1);
+  String s2 = right_str (length_i ()-p-1);
   String s1 = left_str (p);
 
   return Rational (s1.value_i (), s2.value_i ());
@@ -32,12 +32,12 @@ bool
 Scalar::isnum_b () const
 {
   int conv = false;
-  if (len ())
+  if (length_i ())
     {
       long l =0;
       conv = sscanf (strh_.ch_C (), "%ld", &l);
     }
-  return len() && conv;
+  return length_i () && conv;
 }
 
 Scalar::operator Real()
@@ -58,7 +58,7 @@ Scalar::operator int()
 
 Scalar::operator bool () const
 {
-  if (!len ())
+  if (!length_i ())
     return false;
   if (*this == "0")
     return false;
index 23ab488cf3d776e80496dbf9351abd1e61dd5850..659bf769212913a715044ce70f9c506db5c0a31b 100644 (file)
@@ -275,12 +275,12 @@ String_convert::precision_str (double x, int n)
   String str = double_str (abs (x), format.ch_C ());
 
   int exp = str.right_str (3).value_i ();
-  str = str.left_str (str.len () - 4);
+  str = str.left_str (str.length_i () - 4);
 
-  while (str[str.len () - 1] == '0')
-    str = str.left_str (str.len () - 1);
-  if (str[str.len () - 1] == '.')
-    str = str.left_str (str.len () - 1);
+  while (str[str.length_i () - 1] == '0')
+    str = str.left_str (str.length_i () - 1);
+  if (str[str.length_i () - 1] == '.')
+    str = str.left_str (str.length_i () - 1);
 
   if (exp == 0)
     return (sign (x) > 0 ? str : "-" + str);
@@ -289,9 +289,9 @@ String_convert::precision_str (double x, int n)
   int dot = 1 + exp;
   if (dot <= 0)
     str = "0." + String ('0', -dot) + str;
-  else if (dot >= str.len ())
-    str += String ('0', dot - str.len ());
-  else if (( dot > 0) && (dot < str.len ()))
+  else if (dot >= str.length_i ())
+    str += String ('0', dot - str.length_i ());
+  else if (( dot > 0) && (dot < str.length_i ()))
     str = str.left_str (dot) + '.' + str.cut (dot, INT_MAX);
   else
     assert (0);
index 504ba9811be61876f4e24226512138f2c83ad28a..9f5fca9dad2178726f8cc34ce18f7294369aef5d 100644 (file)
@@ -155,11 +155,12 @@ String::compare_i (String const& s1, String const& s2)
   if (p1 == p2)
     return 0;
 
-  int i1 = s1.length_i();
-  int i2 = s2.length_i();
-
-  int result=  memcmp (p1, p2, i1 <? i2);
-  return result ? result : i1-i2;
+  /*
+    don't forget the terminating '\0'
+   */
+  int f = (s1.length_i() <? s2.length_i());
+  int cmp_length = 1+ f;
+  return memcmp (p1, p2, cmp_length);
 }
 
 \f
index 5d2e6db18fd7d4abe572b3cde7c46b22ead6c422..8cd10797c50e6682b9ee7474cf6a58a547d8a38f 100644 (file)
@@ -5,16 +5,16 @@ Array< fptr > *test_arr_p;
 
 void reg_test (fptr f)
 {
 if (!test_arr_p)
-    test_arr_p = new Array<fptr>;
 test_arr_p->push(f);
+ if (!test_arr_p)
+  test_arr_p = new Array<fptr>;
test_arr_p->push (f);
 }
 
 int
-main()
+main ()
 {
 if (test_arr_p) {
-    for (int i=0; i < test_arr_p->size(); i++)
-      (*test_arr_p)[i] ();
 }
+ if (test_arr_p) {
+  for (int i=0; i < test_arr_p->size (); i++)
+    (*test_arr_p)[i] ();
+ }
 }
index 66838d41802372f8955919195b08ea5cdb48c424..ea28bcb0fa27a380e9dd6759e97275d7ec118ff0 100644 (file)
@@ -2,25 +2,25 @@
 #include "pqueue.hh"
 #include <stdlib.h>
 
-int compare(int i, int j)
+int compare (int i, int j)
 {
   return i-j;
 }
 
 void
-pqtest()
+pqtest ()
 {
   PQueue<int> pq;
 
-  for (int i=0; i < 10; i++) {
-    int r = rand()/10000;
-    pq.insert(r);
+  for  (int i=0; i < 10; i++) {
+    int r = rand ()/10000;
+    pq.insert (r);
     cout << "adding: " << r<< endl;
   }
-  while (pq.size()) {
+  while  (pq.size ()) {
     cout << "getting : "<< flush;
-    cout << pq.get() << "\n";
+    cout << pq.get () << "\n";
   }
 }
 
-ADD_TEST(pqtest);
+ADD_TEST (pqtest);
index 79ec1e443a7f5a7c9fcb6540858093b50e679ce6..4597ff3b8558c6476976971f920cefe1e9778eda 100644 (file)
@@ -8,18 +8,18 @@
 #include "flower-test.hh"
 
 void
-ctors()
+ctors ()
 {
   cout << "constructors"<<endl;
   {
-    String str( "hai" );
+    String str ("hai");
     cout << str << endl;
   }
   {
-    String fromi(10);
+    String fromi (10);
     cout << fromi<< endl;
   }
-  {String fromf(1.32e-2, "%g");
+  {String fromf (1.32e-2, "%g");
   cout << fromf<< endl;
   }
   {
@@ -27,40 +27,47 @@ ctors()
     cout << def << endl;
   }
   {
-    String fromc('c');
+    String fromc ('c');
     cout << fromc<< endl;       
   }
 }
 void
-cmp()
+cmp ()
 {
+  
+  String path  = "";
+  String sep ('/');
+  String right(path.right_str (1));
+  cout << "cmp ('', '/'): " << String::compare_i (sep,right) << endl;
+  
   Array<String> a;
-  a.push("abcd");
-  a.push("zxy");
-  a.push("abc");
-  a.push("");
-  a.sort(String::compare_i);
+  a.push ("abcd");
+  a.push ("zxy");
+  a.push ("abc");
+  a.push ("");
+  a.push  ("a");
+  a.sort (String::compare_i);
   cout << "compares: "<<endl;
-  for (int i=0; i < a.size(); i++)
+  for  (int i=0; i < a.size (); i++)
     cout << a[i] << endl;
 }
 
 
 void
-searching()
+searching ()
 {
   String hay = "foobarbazblub";
 
   char c =   'b';
   String cstr =c;
   String set = "bar";
-  cout << "hay = \"" << hay << "\" len="<< hay.length_i()<<endl;
-  cout << "index_i('"<< c<<"') " << c << "= " << hay.index_i(c) <<endl;
-  cout << "last_index_i('"<< c<<"') " << c << "= " << hay.index_last_i(c) <<endl;    
-  //    cout << "last index of cstr " << c << ": " << hay.index_last_i(cstr) <<endl;    
-  //    cout << "index_last_i(\""<<set<<"\"): " << hay.index_last_i(set) <<endl;
-  cout << "index_i(\""<<set<<"\"): " << hay.index_i(set) <<endl;    
-  cout << "index_any(\"" << set << "\"): " << cstr << ": " << hay.index_any_i(cstr) <<endl;
+  cout << "hay = \"" << hay << "\" len="<< hay.length_i ()<<endl;
+  cout << "index_i ('"<< c<<"') " << c << "= " << hay.index_i (c) <<endl;
+  cout << "last_index_i ('"<< c<<"') " << c << "= " << hay.index_last_i (c) <<endl;    
+  //    cout << "last index of cstr " << c << ": " << hay.index_last_i (cstr) <<endl;    
+  //    cout << "index_last_i (\""<<set<<"\"): " << hay.index_last_i (set) <<endl;
+  cout << "index_i (\""<<set<<"\"): " << hay.index_i (set) <<endl;    
+  cout << "index_any (\"" << set << "\"): " << cstr << ": " << hay.index_any_i (cstr) <<endl;
 
     
     
@@ -68,25 +75,25 @@ searching()
 
 
 void
-kutenpeer()
+kutenpeer ()
 {
-  String str( "hai" );
-  for (int i=-1; i < str.length_i()+2; i++) {
-    cout<<" left_str(" << i<<"): " << str.left_str( i ) << endl;
-    cout<<" right_str( "<<i<<"): " << str.right_str( i ) << endl;
+  String str ("hai");
+  for  (int i=-1; i < str.length_i ()+2; i++) {
+    cout<<" left_str (" << i<<"): " << str.left_str (i) << endl;
+    cout<<" right_str ("<<i<<"): " << str.right_str (i) << endl;
   }
   str = "blonde haren";
   cout << str<<endl;
-  cout << "mid(2,6)="<<str.cut(2,6)<<endl;
-  cout << "nomid(2,6)="<<str.nomid_str(2,6)<<endl;
+  cout << "mid (2,6)="<<str.cut (2,6)<<endl;
+  cout << "nomid (2,6)="<<str.nomid_str (2,6)<<endl;
 }
 
 bool
-test_empty_b( String str )
+test_empty_b (String str)
 {
   cout << "`" << str << "' is ";
 
-  if ( str == String( "" ) ) {
+  if  (str == String ("")) {
     cout << "empty" << endl;
     return true;
   }
@@ -96,42 +103,42 @@ test_empty_b( String str )
 }
 
 void
-stringtest()
+stringtest ()
 {
-  ctors();
-  cmp();
-  searching();
-  kutenpeer();
-  String str( "hai" );
+  ctors ();
+  cmp ();
+  searching ();
+  kutenpeer ();
+  String str ("hai");
   cout <<  str << endl;
   cout << "left" << endl;
   str += " daar";
   cout << str << endl;
 
-  //    str = String( "Hallo" ) + " daaR" + '!'; // no go on doze-s gcc2.7.2?
-  str = String( "Hallo" ) + " daaR" + "!";
+  //    str = String ("Hallo") + " daaR" + '!'; // no go on doze-s gcc2.7.2?
+  str = String ("Hallo") + " daaR" + "!";
   cout << str << endl;
 
-  cout << "up: " << str.upper_str() << " down: " << str.lower_str()<<endl;
+  cout << "up: " << str.upper_str () << " down: " << str.lower_str ()<<endl;
     
-  if ( test_empty_b( str ) )
+  if  (test_empty_b (str))
     cout << "failed";
 
   String fn = "";
-  if ( !test_empty_b( fn ) )
+  if  (!test_empty_b (fn))
     cout << "failed";
 
     
   fn = "";
   fn += "";
-  delete fn.copy_byte_p();
-  delete str.copy_byte_p();
+  delete fn.copy_byte_p ();
+  delete str.copy_byte_p ();
 
-  cout << String_convert::bin2hex_str( String( (char)0xff ) ) << endl;
-  cout << "-1:" << String_convert::i2hex_str( -1, 2, '0' );
+  cout << String_convert::bin2hex_str (String ( (char)0xff)) << endl;
+  cout << "-1:" << String_convert::i2hex_str (-1, 2, '0');
   cout << endl;
 
 }
 
 
-ADD_TEST(stringtest);
+ADD_TEST (stringtest);
index 7553bd0cdefddf391db41386eb63cad4d2a0a701..6b8b41f49b4a1a07f07ed4e226d23c2739fade87 100644 (file)
@@ -24,12 +24,12 @@ Voice = \translator {
        \consists "Dynamic_engraver";
        \consists "Rest_engraver";
        \consists "Stem_engraver";
+       \consists "Plet_engraver";
        \consists "Beam_engraver";
        \consists "Abbreviation_beam_engraver";
        \consists "Script_engraver";
        \consists "Rhythmic_column_engraver";
        \consists "Slur_engraver";
-       \consists "Plet_engraver";
        \accepts "Thread";
 }
 
index 97c252cbd925a42dfa25e6770c03f2a9fe20c88b..c609918c57c42a3227e97c2049bf8b160cbebf3b 100644 (file)
@@ -1,6 +1,6 @@
 % Toplevel initialisation file. 
        
-\version "0.1.8";
+\version "0.1.9";
   
 breve = \duration { -1 0 }
 longa = \duration { -2 0 }
index ecca65ae4509d2ffa8762a287dc2e6072a92d07d..69cac7239525fea9c25dbff5d465cdb98384f0b6 100644 (file)
@@ -13,7 +13,7 @@ paper sizes.
 %}
 paper_sixteen = \paper {
        linewidth = 15.5 \cm;
-       indent = 5.\mm;
+       indent = 10.\mm;
        rulethickness = 0.4\pt;
        barsize = 16.0 \pt;
        interline = 4.\pt;
index 62322672deded78965e59e56e2b042b3015fe57f..d9302be296e6a37844de153ddb850d549ec35ccb 100644 (file)
@@ -4,7 +4,7 @@
 
 paper_twenty = \paper {
        linewidth = 15.0 \cm;
-       indent = 10.\mm;
+       indent = 12.\mm;
        rulethickness = 0.4\pt;
        barsize = 20.0 \pt;
        interline = 5.\pt;
index 4faeb4c6b5158ee0cfa44e38b15c53fd84deee3b..372567863cb05a1fe35b19a76357c967c1eb39b8 100644 (file)
@@ -12,6 +12,10 @@ name                 value   effect                  shorthand
 ydirection             -1      force stem down         \stemdown
 ydirection             0       stem direction free     \stemboth
 ydirection             1       force stem up           \stemup
+pletvisibility         0       show nothing
+pletvisibility         1       show number
+pletvisibility         2       show number, and bracket-if-no-beam
+pletvisibility         4       show number, and bracket
 
 [Score?]
 beamslopedamping       0       no damping              \beamslopeproportional  
index 894dba5c00e303431930cb3322316be4ec5d4ff7..45c1320de0647d00f69863e772e0b5b74dbbdec2 100644 (file)
@@ -16,6 +16,10 @@ include ./$(depth)/make/Include.make
 # 
 LYFILES = $(wildcard *.ly)
 TEXFILES = $(wildcard *.tex)
+M4FILES = $(wildcard *.m4)
 DISTFILES = Makefile TODO $(LYFILES) $(TEXFILES) $(wildcard *.m4)
 #
 
+OUTFILES = $(addprefix $(outdir)/,$(M4FILES:%.m4=%))
+
+all: $(OUTFILES)
index e821fb164bed6d4ef45670f5ecf29fc97374e4e5..953bd7c02ab8914d2a4a2e923a9a562f1ff47b6f 100644 (file)
@@ -7,7 +7,7 @@ copyright =      "PD";
 
 TestedFeatures =        "beams and beamflags";
 }
-\version "0.1.8";
+\version "0.1.9";
 
 \score{
        \melodic { \multi 3 < 
index a4e49199f6eb8ed1af2860556862848403d7b245..e05e2b6ad8ed4b46202597e2dfe82f96aa834b3e 100644 (file)
@@ -13,7 +13,7 @@ Tested Features: cadenza mode
 Ugh.. Wish we had grace notes....  It adds another dimension to this
 piece of music.  %}
 
-\version "0.1.8";
+\version "0.1.9";
 
 
 cad = \melodic  {
index ac8d5db146d2f44b95bcdf71d0f0c180d192c2f1..475f2e238b2019ad4676120b206072426d58eedd 100644 (file)
@@ -5,7 +5,7 @@ enteredby =      "HWN,JCN";
 copyright =     "public domain";
 Tested =        "test the Collision resolution ";
 }
-\version "0.1.8";
+\version "0.1.9";
 
 
 
index 1027b2af77a57484a06ded61242a61decec64960..4eef4dbf42330a1b1076bc439557e4bb1f806a17 100644 (file)
@@ -5,50 +5,102 @@ copyright =   "public domain";
 TestedFeatures = "This file tests silly line shapes";
 }
 
-\version "0.1.8";
+\include "paper13.ly"
 
-boom = \lyric{
-       \meter 1/4;
-       O4 den- ne- boom, o den- ne- boom.
-       Wat zijn uw tak- ken won- der- schoon
-       O den- ne- boom, o den- ne- boom.
-       Wat zijn uw tak- ken won- der- schoon
-       Ik heb u laatst in 't bos zien staan
-       toen zat- en er geen kaarsjes aan.
-       O, Den- ne- boom, o den- ne- boom.
-       Wat zijn uw tak- ken wonder- schoon
+\version "0.1.9";
 
-       O den- ne- boom, o den- ne- boom.
-       Wat zijn uw tak- ken won- der- schoon
-       O den- ne- boom, o den- ne- boom.
-       Wat zijn uw tak- ken won- der- schoon
-       U gloeit in bar- re winter- tijd, 
-% ugh
-%      als sneeuw op aar- de licht ge- spreid.
-%      O, Den- ne- boom, o den- ne- boom.
-%      Wat zijn uw tak- ken wonder- schoon
+oden = \lyric{ 
+       _8 O8 den-8. ne-16 boom,4 _8 o8 den-8. ne-16 boom.4.
+       Wat8 zijn uw tak-4 ken won-8. der-16 schoon4.
 }
 
-ugh = \melodic{
+ikheb = \lyric{
+       Ik8 heb u laatst4. in_'t8 bos8. zien16 staan4.
+       toen8 zat- en er4. geen8 kaars-8. jes16 aan.4
+}
+
+ugloeit = \lyric{
+       U8 gloeit in bar-4. re8 win-8. ter-16 tijd,4.
+       als8 sneeuw op aar-4. de8 licht8. ge-16 spreid.4
+}
+
+oboom = \melodic{
        \octave c';
-       \meter 1/4;
-       c d e f | c d e f | c d e f | c d e f |
-       c d e f | c d e f | c d e f | c d e f |
-       c d e f | c d e f | c d e f | c d e f |
-       c d e f | c d e f | c d e f | c d e f |
-       c d e f | c d e f | c d e f | c d e f |
-       c d e f | c d e f | c d e f | c d e f |
-       c d e f | c d e f | c d e
+       r8 'g8 |
+       c8. c16 c4 r8 d8 | 
+       e8. e16 e4 r8 e8 d  e  | 
+       f4 'b d8. c16 c4
+}
+
+bos = \melodic{
+       \octave c';
+       r8 g8 g e |
+       a4 r8 g8 g8. f16 f4 r8 f8 f d |
+       g4 r8 f8 f8. e16 e4 
+}
+
+global = \melodic{
+       \meter 3/4;
+       \partial 4;
+       \skip 4*1;
+       \skip 4*3;
+       \meter 4/4;
+       \skip 4*4;
+       \meter 6/4;
+       \skip 4*12;
+       \meter 5/4;
+       \skip 4*5;
+       \meter 3/4;
+       \skip 4*3;
+       \meter 4/4;
+       \skip 4*4;
+       \meter 6/4;
+       \skip 4*5;
+
+       \bar "|.";
 }
 
 \score{
-%      <
-%              \type Lyrics \boom
-               \ugh
-%      >
+       <
+% {
+               \lyric \type Lyrics <
+                       \multi 2 < 
+% huh?
+%                              \global
+                               {
+                                       \oden
+                                       \ikheb
+                                       \oden
+                                       
+%                                      _4
+%                                      \oden
+%                                      \ugloeit
+%                                      \oden
+                               }
+                               \global
+                       >
+               >
+% }
+               \melodic \type Staff < 
+                       \multi 2 < 
+                               \global
+                               {
+                                       \oboom
+                                       \bos
+                                       \oboom
+
+%                                      r4
+%                                      \oboom
+%                                      \bos
+%                                      \oboom
+                               }
+                       >
+               > 
+       >
        \paper{
-               \indent = 20. \mm;
-               \shape = 72.5 \mm 15. \mm
+%              \paper_thirteen
+               indent = 20. \mm;
+               \shape = 70. \mm 20. \mm
                         65. \mm 30. \mm
                         57.5 \mm 45. \mm
                         50. \mm 60. \mm
@@ -57,12 +109,43 @@ ugh = \melodic{
                         27.5 \mm 105. \mm
                         20. \mm 120. \mm
                         10. \mm 140. \mm
-                         0. \mm 160. \mm
-                        72.5 \mm 15. \mm
-%                       72.5 \mm 15. \mm
-                        60. \mm 40. \mm
+%                        0. \mm 160. \mm
+                        65. \mm 30. \mm
                         ;
-
+%{
+               \shape = % 72.5 \mm 15. \mm
+                        % 50. \mm 60. \mm
+                        70. \mm 30. \mm
+                        60. \mm 60. \mm
+                        50. \mm 80. \mm
+                        70. \mm 40. \mm
+                        50. \mm 80. \mm
+                        30. \mm 120. \mm
+                        60. \mm 60. \mm
+                        30. \mm 120. \mm
+                        20. \mm 140. \mm
+                        0. \mm 180. \mm
+                        70. \mm 30. \mm
+                        70. \mm 30. \mm
+                        70. \mm 30. \mm
+                        ;
+               \shape = 80. \mm 20. \mm
+                       70. \mm 40. \mm
+                       60. \mm 60. \mm
+                       50. \mm 80. \mm
+                       40. \mm 100. \mm
+                       30. \mm 120. \mm
+                       20. \mm 140. \mm
+                       10. \mm 160. \mm
+%                      00. \mm 180. \mm
+                       75. \mm 30. \mm
+                       ;
+%}
                gourlay_maxmeasures = 30.;
+%              arithmetic_basicspace = 1.2;
+%              arithmetic_multiplier = 2.8\pt;
+       }
+       \midi{
+               \tempo 4 = 90;
        }
 }
index a7dd41d9647e09a09cc729b4986ca50cbaf34a41..cd6938ef44913e700cb3f70266864102a3233991 100644 (file)
@@ -1,4 +1,4 @@
-\version "0.1.8";
+\version "0.1.9";
 FontBody=      \melodic{ 
                \octave c';
                \bar "|:";
index c683dc73627df09497f56fe64ee003c12c3e4de1..0e92c3145d471483e8d24ea66caf6154c4b805ca 100644 (file)
@@ -7,7 +7,7 @@ description = "This file tests the Feta music font";
 % "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "0.1.8";
+\version "0.1.9";
 
 \include "font-body.ly"
 \score{
index d836e27edb6b6315677435c93068b25eeb031704..9ba966fdf2b476cd4c16497a9de0a4864c89a600 100644 (file)
@@ -7,7 +7,7 @@ description = "This file tests the Feta music font";
 % "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "0.1.8";
+\version "0.1.9";
 \include "font-body.ly"
 
 \score{
index 26542f3b700120a3a934c0ad96654780d1bfe093..4d66ace0dd953ce1ea9474ecf7c3881d3bd88052 100644 (file)
@@ -4,7 +4,7 @@ copyright =      "PD";
 TestedFeatures =        "This file tests some nasty Gourlay spacings";
 }
 
-\version "0.1.8";
+\version "0.1.9";
 
 %{
 
index 67ee8f5a91b8aa10f8dc4e02dde2a879f09f9700..fc17241fbd4d4ef6012acafbad6a1ce664a40e82 100644 (file)
@@ -1,4 +1,4 @@
-\version "0.1.8";
+\version "0.1.9";
 
 
 blah = \melodic{
index 25ed78778436ac91303bc754af4acff3dd66a5a5..f011d7bf27b6575fb513516661f965021935c689 100644 (file)
@@ -11,7 +11,7 @@ copyright =    "public domain";
 Tested Features: example file with comments
 
 %}
-\version "0.1.8";
+\version "0.1.9";
 
 
 % the % is a comment.
index 0d8a890cca033fa5c20d0ba71b4bbd02e5fabc7e..5bfcd1038bac128a1785d37ea5d35b7eaebc2897 100644 (file)
@@ -7,10 +7,21 @@ copyright =    "public domain";
 %{
 Tested Features: \multi
 
+
+WARNING: the \multi construct is not very intuitive.  You better try
+the
+
+       \type Grandstaff <
+               \type Staff = treble {.. }
+               \type Staff = bass {.. }
+       >               
+
+construct to get multiple staffs, it's cleaner
+
 %}
 
 
-\version "0.1.8";
+\version "0.1.9";
 
 \score{
        \melodic 
index d2a9c01c2a20b8122fe9b9a869054235e80eb99d..d82a03e7102d027e36a5ce2b22ff0b6214fe2882 100644 (file)
@@ -24,7 +24,7 @@
 % \lbheel \lbheel \lfheel \lftoe
 % \rbheel \rbtoe \rfheel \rftoe
 
-\version "0.1.8";
+\version "0.1.9";
 
 \score{
                \melodic {
index 11569bf0f140dccab510806b9d298ab969502718..5b5289306ac1a32a5dd0dec0a431dfb26d9e6436 100644 (file)
@@ -7,7 +7,7 @@ TestedFeatures =         "multiple meters, beaming, unsynced bars, userdefd engravers";
 
 
 
-\version "0.1.8";
+\version "0.1.9";
 
 ritme = \melodic{ %\octave ;
        \partial 8;
index 3e715106f91fe67a3ff8e5693c02e999802d18bc..793e2205859eeb09a4d6e62ac820a0241053d39c 100644 (file)
@@ -12,7 +12,7 @@ copyright =    "public domain";
 % scales with accents.
 %
 
-\version "0.1.8";
+\version "0.1.9";
 blah =         \melodic {
                \meter 6/8;     
                \octave  'c ;
index 7198bc1b83bba16e8f0dc02bcf88e806d0ced6bb..7e9bc76163462f9962ff925d0b88120f2d5ca77e 100644 (file)
@@ -1,5 +1,5 @@
        
-\version "0.1.8";
+\version "0.1.9";
 
 
 blah =         \melodic {
index d6e30d3b2ff7a67d678ae74423018abfd99c6bd1..1226a9b7c05e1dbfeec74874c94d8a8ac6bd09b1 100644 (file)
@@ -5,7 +5,7 @@ TestedFeatures =         "This file tests Feta embedded slurs"
         "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "0.1.8";
+\version "0.1.9";
 
 shortlong = \melodic{
        c4()c( c c  |
index ef66c1e9e8fe22cc1181a6054bdf42ce1aaa6693..3d45dea955525af4d161e5f77b68b8bcea8d3085 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "0.1.8";
+\version "0.1.9";
 
 \score{
        \melodic{\octave c';
index f92428fbcfaf42c7b7e06fd23c0645982d116178..9da213e905acfff0fd016b4cddbc762f6bd0ae1b 100644 (file)
@@ -6,7 +6,7 @@ copyright =      "public domain";
 TestedFeatures =        "This file tests various spacings";
 }
 
-\version "0.1.8";
+\version "0.1.9";
 
 multipart = \melodic{ 
     \multi 3 < 
index ee58946ea120af104d61d52b86fd7983012f1fc2..7bf1a4f42fdf8962303474ee2cd381289bfa8205 100644 (file)
@@ -8,7 +8,7 @@ of beams";
        
 }
 
-\version "0.1.8";
+\version "0.1.9";
 
 beamintervals = \melodic{
                \meter 7/4;
index 124d0e385590b961741581166c936f9855adaac2..1c5c9c42c3e0447b2ff0bb56949ff489c7bc1461 100644 (file)
@@ -20,7 +20,7 @@ copyright =    "public domain";
 %}
 
 
-\version "0.1.8";
+\version "0.1.9";
 
 toccata_commands = \melodic{
        \meter 4/4;
index 4d11d3a6e2e980f522586635e9425d3c9e700532..0984052f5308ac5b654a00ee4df41827cd3fded1 100644 (file)
@@ -12,7 +12,7 @@ copyright =    "public domain";
 Tested Features                lyrics and chords
 %}
 
-\version "0.1.8";
+\version "0.1.9";
 
 melodie = \melodic {
         \clef"violin";
index 050bfda51830a9ff9fcb24fecb64c5ba490e4df4..2575f80979a571616cc41cd093308a06fde0af36 100644 (file)
@@ -15,7 +15,7 @@ copyright =    "public domain";
 Tested Features: lyrics, interleaving lyrics and staffs
 %}
 
-\version "0.1.8";
+\version "0.1.9";
 
 melody = \melodic{
        \clef violin;
index 486f034e1b0968f0488c94060ba4a263b3b19a71..5602a9c7721383831d13227f4c3cd4b1f3d3aa49 100644 (file)
@@ -1,4 +1,4 @@
 MAJOR_VERSION = 0
 MINOR_VERSION = 1
-PATCH_LEVEL = 43
+PATCH_LEVEL = 44
 MY_PATCH_LEVEL =
index 6592166fa2de3ebd3dcd38eedb870b8017d9321b..ecb00ee0834b09984235b4f151f958f05c6b7349 100644 (file)
@@ -28,8 +28,7 @@ Beam_engraver::do_try_request(Request*r)
   if (!mus_l)
     return false;
 
-  Beam_req * b = mus_l->beam();
-
+  Beam_req* b = mus_l->beam ();
   if (!b)
     return false;
 
index 2a014cc54205a282802c9ec460833bfe96b41061..66370135f8b66d4a3869f46788a2d73fd5b7286d 100644 (file)
@@ -10,6 +10,7 @@
 #include "general-script-def.hh"
 #include "debug.hh"
 #include "atom.hh"
+
 Direction
 General_script_def::staff_dir() const
 {
index 3a4e4d31c6228f170ce2120e50e2a5384c9eb463..16d0beab3594314e51a0bf47100e2e9b6013812d 100644 (file)
@@ -33,6 +33,8 @@ protected:
   
 private:
   Drul_array<Plet_req*> span_reqs_drul_;
+  Drul_array<Moment> beam_mom_drul_;
+  Drul_array<Moment> span_mom_drul_;
   Plet_spanner* plet_spanner_p_;
 };
 
index 4f2fa66eab3acae6db2637ca154ac5fabbdb44af..8caa2d01473131321cc95d8d67baf0b469fafac1 100644 (file)
@@ -22,6 +22,7 @@ public:
  
   Text_def* tdef_p_;
   Drul_array<Stem *> stem_l_drul_;
+  int visibility_i_;
  
 protected:
   virtual Molecule* brew_molecule_p () const;
index 48faa16f15c53ee98fcc667d39955220f9821993..185ea715c799928ffe233bfa14235b760cf56234 100644 (file)
@@ -30,6 +30,7 @@ public:
     String style_str_;
     
     virtual void do_print() const;
+    virtual Direction staff_dir() const;
     virtual Atom get_atom (Paper_def* p, Direction dir_) const;
     virtual ~Text_def() {};
     virtual bool do_equal_b (const General_script_def*) const;
index ab97828bc16aa720d4f8b27a8e0dbb7a60b6a866..c7df7be95ebf466b81bc027c7dd06418b72f07a7 100644 (file)
@@ -73,7 +73,9 @@ NATIONAL  [\001-\006\021-\027\031\036\200-\377]
 TEX            {AA}|-|{PUNCT}|{ACCENT}|{NATIONAL}
 WORD           {A}{AN}*
 ALPHAWORD      {A}+
-INT            -?{N}+
+DIGIT          {N}
+UNSIGNED       {N}+
+INT            -?{UNSIGNED}
 REAL           ({INT}\.{N}*)|(-?\.{N}+)
 KEYWORD                \\{WORD}
 WHITE          [ \n\t\f]
@@ -188,9 +190,14 @@ TELP               \\\]
                return scan_escaped_word (YYText ()+1);
        }
 
-       {INT}           {
+       {DIGIT}         {
                yylval.i = String_convert::dec2_i (String (YYText ()));
-               return INT;
+               return DIGIT;
+       }
+
+       {UNSIGNED}              {
+               yylval.i = String_convert::dec2_i (String (YYText ()));
+               return UNSIGNED;
        }
 
        \" {
@@ -223,9 +230,9 @@ TELP                \\\]
        \" {
                start_quote ();
        }
-       {INT}           {
+       {UNSIGNED}              {
                yylval.i = String_convert::dec2_i (String (YYText ()));
-               return INT;
+               return UNSIGNED;
        }
        {NOTECOMMAND}   {
                return scan_escaped_word (YYText ()+1);
@@ -272,9 +279,9 @@ TELP                \\\]
        return REAL;
 }
 
-{INT}  {
+{UNSIGNED}     {
        yylval.i = String_convert::dec2_i (String (YYText ()));
-       return INT;
+       return UNSIGNED;
 }
 
 [{}]   {
index 85968ddb1429b31108efae2129d93e4c7b79c468..6f3b7b07e40717072b92d15df5a62458cdeea883 100644 (file)
@@ -166,12 +166,13 @@ main (int argc, char **argv)
   debug_init ();               // should be first
 
 
+  
+  path.add ("");
   // must override (come before) "/usr/local/share/lilypond"!
   char const *env_sz = getenv ("LILYINCLUDE");
   if (env_sz)
     path.parse_path (env_sz);
 
-  path.add ("");
   path.add (String (DIR_DATADIR) + "/init/");
 
   path.push (DIR_DATADIR);
index 2480a041e6f0f0ecd026e4dd2b4f7a12fb0f2bb1..159978d3dcd8fb0e5c6b3289e498110f9534e509 100644 (file)
@@ -12,7 +12,7 @@
 #include <iostream.h>
 
 // mmm
-#define MUDELA_VERSION "0.1.8"
+#define MUDELA_VERSION "0.1.9"
 
 #include "scalar.hh"
 #include "translation-property.hh"
@@ -168,7 +168,7 @@ yylex (YYSTYPE *s,  void * v_l)
 %token E_EXCLAMATION E_SMALLER E_BIGGER E_CHAR
 
 %type <i>      dots
-%token <i>     INT
+%token <i>     DIGIT
 %token <melreq>        NOTENAME_ID
 %token <id>    DURATION_IDENTIFIER
 %token <id>    IDENTIFIER
@@ -188,6 +188,7 @@ yylex (YYSTYPE *s,  void * v_l)
 %token <real>  REAL
 %token <string>        DURATION RESTNAME
 %token <string>        STRING
+%token <i>     UNSIGNED
 %token <i>     POST_QUOTES
 %token <i>     PRE_QUOTES
 
@@ -199,7 +200,7 @@ yylex (YYSTYPE *s,  void * v_l)
 %type <i>      open_plet_parens close_plet_parens
 %type <music>  simple_element music_elt full_element lyrics_elt command_elt
 %type <i>      abbrev_type
-%type <i>      int
+%type <i>      int unsigned
 %type <i>      script_dir
 %type <id>     identifier_init
 %type <duration> explicit_steno_duration notemode_duration
@@ -222,12 +223,13 @@ yylex (YYSTYPE *s,  void * v_l)
 %type <real>   dim real
 %type <real>   unit
 %type <request> abbrev_command_req
-%type <request>        post_request command_req verbose_command_req
+%type <request>        post_request structured_post_request
+%type <request> command_req verbose_command_req
 %type <request>        script_req  dynamic_req
 %type <score>  score_block score_body
 %type <intarr> shape_array
 %type <script> script_definition script_body mudela_script gen_script_def
-%type <textdef> text_def
+%type <textdef> text_def finger
 %type <string> script_abbreviation
 %type <symbol> symboldef
 %type <symtable>       symtable symtable_body
@@ -323,6 +325,7 @@ add_declaration:
            $4->set_spot (THIS->pop_spot ());
        }
        ;
+
 identifier_init:
        score_block {
                $$ = new Score_id ($1, SCORE_IDENTIFIER);
@@ -354,11 +357,9 @@ identifier_init:
        }
        | int   {
                $$ = new Int_id (new int ($1), INT_IDENTIFIER);
-
        }
        | post_request {
                $$ = new Request_id ($1, POST_REQUEST_IDENTIFIER);
-
        }
        | melodic_request {
                $$ = new Request_id ($1, MELODIC_REQUEST_IDENTIFIER);
@@ -541,7 +542,7 @@ midi_body: /* empty */              {
        ;
 
 tempo_request:
-       TEMPO entered_notemode_duration '=' int         {
+       TEMPO entered_notemode_duration '=' unsigned    {
                $$ = new Tempo_req;
                $$->dur_ = *$2;
                delete $2;
@@ -636,7 +637,7 @@ scalar:
 
 Chord:
        '<' Chord_body '>'      { $$  = $2; }
-       | MULTI INT Chord {
+       | MULTI unsigned Chord {
                $$ = $3;
                $$->multi_level_i_=$2;
        }
@@ -709,7 +710,7 @@ verbose_command_req:
                $$ = new Bar_req (*$2);
                delete $2;
        }
-       | METER int '/' int     {
+       | METER unsigned '/' unsigned   {
                Meter_change_req *m = new Meter_change_req;
                m->set ($2,$4);
                $$ = m;
@@ -725,7 +726,7 @@ verbose_command_req:
        | tempo_request {
                $$ = $1;
        }
-       | CADENZA int   {
+       | CADENZA unsigned      {
                $$ = new Cadenza_req ($2);
        }
        | PARTIAL duration_length       {
@@ -751,7 +752,7 @@ post_requests:
        {
                assert (THIS->post_reqs.empty ());
        }
-       | post_requests post_request {
+       | post_requests structured_post_request {
                $2->set_spot (THIS->here_input ());
                THIS->post_reqs.push ($2);
        }
@@ -764,13 +765,18 @@ post_requests:
        }
        ;
 
+structured_post_request:
+       script_req
+       | post_request
+       ;
 
 post_request:
        POST_REQUEST_IDENTIFIER {
                $$ = (Request*)$1->request ();
        }
-       | script_req
-       | dynamic_req
+       | dynamic_req {
+               $$ = $1;
+       }
        | abbrev_type   {
                Abbreviation_req* a = new Abbreviation_req;
                a->type_i_ = $1;
@@ -819,7 +825,7 @@ melodic_request:
        ;
 
 explicit_duration:
-       DURATION '{' int int '}'        {
+       DURATION '{' int unsigned '}'   {
                $$ = new Duration;
                $$-> durlog_i_ = $3;
                $$-> dots_i_ = $4;
@@ -827,7 +833,7 @@ explicit_duration:
        ;
 
 dynamic_req:
-       ABSDYNAMIC '{' int '}'  {
+       ABSDYNAMIC '{' unsigned '}'     {
                Absolute_dynamic_req *ad_p = new Absolute_dynamic_req;
                ad_p ->loudness_ = (Dynamic_req::Loudness)$3;
                $$ =ad_p;
@@ -841,7 +847,7 @@ dynamic_req:
        ;
 
 close_plet_parens:
-       ']' INT '/' INT {
+       ']' unsigned '/' unsigned {
                $$ = MAEBTELP;
                THIS->plet_.type_i_ = $4;
                THIS->plet_.iso_i_ = $2;
@@ -855,7 +861,7 @@ close_plet_parens:
                THIS->default_duration_.plet_.iso_i_ = 1;
                THIS->default_duration_.plet_.type_i_ = 1;
        }
-       | TELP INT '/' INT {
+       | TELP unsigned '/' unsigned {
                $$ = TELP;
                THIS->plet_.type_i_ = $4;
                THIS->plet_.iso_i_ = $2;
@@ -885,10 +891,10 @@ close_request_parens:
        ;
 
 open_abbrev_parens:
-       '[' ':' INT {
+       '[' ':' unsigned {
                $$ = '[';
                if (!Duration::duration_type_b ($3))
-                       THIS->parser_error ("Not a duration");
+                       THIS->parser_error ("1:Not a duration");
                else if ($3 < 8)
                        THIS->parser_error ("Can't abbreviate");
                else
@@ -897,14 +903,14 @@ open_abbrev_parens:
        ;
 
 open_plet_parens:
-       '[' INT '/' INT {
+       '[' unsigned '/' unsigned {
                $$ = BEAMPLET;
                THIS->plet_.type_i_ = $4;
                THIS->plet_.iso_i_ = $2;
                THIS->default_duration_.plet_.type_i_ = $4;
                THIS->default_duration_.plet_.iso_i_ = $2;
        }
-       | PLET INT '/' INT {
+       | PLET unsigned '/' unsigned {
                $$ = PLET;
                THIS->plet_.type_i_ = $4;
                THIS->plet_.iso_i_ = $2;
@@ -945,22 +951,29 @@ script_body:
        ;
 
 script_req:
-       script_dir gen_script_def               {
+       script_dir gen_script_def       {
                Musical_script_req *m = new Musical_script_req;
                $$ = m;
-               m-> scriptdef_p_ = $2;
-               m-> set_spot (THIS->here_input ());
-               m-> dir_  = $1;
+               m->scriptdef_p_ = $2;
+               m->set_spot (THIS->here_input ());
+               if (!m->dir_)
+                 m->dir_  = $1;
        }
        ;
 
 gen_script_def:
-       text_def        { $$ = $1;
+       text_def        { 
+               $$ = $1;
                ((Text_def*) $$)->align_i_ = CENTER; /* UGH */
        }
-       | mudela_script { $$ = $1;
+       | mudela_script { 
+               $$ = $1;
                $$-> set_spot (THIS->here_input ());
        }
+       | finger {
+               $$ = $1;
+               ((Text_def*)$$)->align_i_ = CENTER;
+       }
        ;
 
 text_def:
@@ -974,6 +987,16 @@ text_def:
        }
        ;
 
+finger:
+        DIGIT {
+               Text_def* t  = new Text_def;
+               $$ = t;
+               t->text_str_ = String ($1);
+               t->style_str_ = "finger";
+               $$->set_spot (THIS->here_input ());
+       }
+       ;
+
 script_abbreviation:
        '^'             { $$ = get_scriptdef ('^'); }
        | '+'           { $$ = get_scriptdef ('+'); }
@@ -997,8 +1020,8 @@ mudela_script:
 
 script_dir:
        '_'     { $$ = -1; }
-       |'^'    { $$ = 1; }
-       |'-'    { $$ = 0; }
+       | '^'   { $$ = 1; }
+       | '-'   { $$ = 0; }
        ;
 
 pre_requests:
@@ -1077,10 +1100,10 @@ notemode_duration:
        ;
 
 explicit_steno_duration:
-       int             {
+       unsigned                {
                $$ = new Duration;
                if (!Duration::duration_type_b ($1))
-                       THIS->parser_error ("Not a duration");
+                       THIS->parser_error ("2:Not a duration");
                else {
                        $$->durlog_i_ = Duration_convert::i2_type ($1);
                        $$->set_plet (THIS->default_duration_);
@@ -1092,10 +1115,10 @@ explicit_steno_duration:
        | explicit_steno_duration '.'   {
                $$->dots_i_ ++;
        }
-       | explicit_steno_duration '*' int  {
+       | explicit_steno_duration '*' unsigned  {
                $$->plet_.iso_i_ = $3;
        }
-       | explicit_steno_duration '/' int {
+       | explicit_steno_duration '/' unsigned {
                $$->plet_.type_i_ = $3;
        }
        ;
@@ -1105,9 +1128,9 @@ abbrev_type:
        ':'     {
                $$ =0;
        }
-       | ':' int {
+       | ':' unsigned {
                if (!Duration::duration_type_b ($2))
-                       THIS->parser_error ("Not a duration");
+                       THIS->parser_error ("3:Not a duration");
                else if ($2 < 8)
                        THIS->parser_error ("Can't abbreviate");
                $$ = $2;
@@ -1149,10 +1172,21 @@ pitch_list:                     {
        }
        ;
 
+unsigned:
+       UNSIGNED        {
+               $$ = $1;
+       }
+       | DIGIT {
+               $$ = $1;
+       };
+
 int:
-       INT                     {
+       unsigned {
                $$ = $1;
        }
+       | '-' unsigned {
+               $$ = -$2;
+       }
        | INT_IDENTIFIER        {
                int *i_p = $1->intid ();
                $$ = *i_p;
@@ -1160,7 +1194,6 @@ int:
        }
        ;
 
-
 real:
        REAL            {
                $$ = $1;
index 41f154ed92e2641d8061a05c22feda6a6e0e1fbb..d94a858634ecc83f7647a0a17145fc6245995f32 100644 (file)
@@ -9,6 +9,8 @@
 #include "plet-engraver.hh"
 #include "plet-spanner.hh"
 #include "text-def.hh"
+#include "beam.hh"
+#include "score-column.hh"
 #include "stem.hh"
 
 IMPLEMENT_IS_TYPE_B1 (Plet_engraver,Engraver);
@@ -16,6 +18,8 @@ ADD_THIS_TRANSLATOR (Plet_engraver);
 
 Plet_engraver::Plet_engraver ()
 {
+  beam_mom_drul_[LEFT] = span_mom_drul_[LEFT] = INT_MAX;
+  beam_mom_drul_[RIGHT] = span_mom_drul_[LEFT] = -INT_MAX;
   plet_spanner_p_ = 0;
   span_reqs_drul_[RIGHT] = span_reqs_drul_[LEFT] = 0;
 }
@@ -44,6 +48,17 @@ Plet_engraver::do_try_request (Request* req_l)
   if (!mus_l)
     return false;
 
+  Beam_req* b = mus_l->beam ();
+  if (b)
+    {
+      if (b->spantype)
+        {
+          Direction d = (Direction)(((int)(b->spantype - 1)) * 2 - 1);
+          beam_mom_drul_[d] = get_staff_info ().musical_l ()->when ();
+       }
+      return false;
+    }
+    
   Plet_req* p = mus_l->plet ();
   if (!p)
     return false;
@@ -56,6 +71,7 @@ Plet_engraver::do_try_request (Request* req_l)
     return false;
 
   span_reqs_drul_[d] = p;
+  span_mom_drul_[d] = get_staff_info ().musical_l ()->when ();
   return true;
 }
 
@@ -68,6 +84,7 @@ Plet_engraver::do_removal_processing ()
       plet_spanner_p_->unlink ();
       delete plet_spanner_p_;
       plet_spanner_p_ = 0;
+      span_reqs_drul_[RIGHT] = span_reqs_drul_[LEFT] = 0;
     }
 }
 
@@ -89,7 +106,19 @@ Plet_engraver::do_pre_move_processing ()
   if (!plet_spanner_p_ || !span_reqs_drul_[RIGHT]) 
     return;
 
-  typeset_element (plet_spanner_p_);
+  Scalar prop = get_property ("pletvisibility");
+  if (prop.isnum_b ()) 
+    plet_spanner_p_->visibility_i_ = prop;
+
+  if ((beam_mom_drul_[LEFT] <= span_mom_drul_[LEFT])
+     && (beam_mom_drul_[RIGHT] >= span_mom_drul_[RIGHT]))
+     plet_spanner_p_->visibility_i_ &= ~2;
+
+  if (plet_spanner_p_->visibility_i_)
+    typeset_element (plet_spanner_p_);
+  else
+    plet_spanner_p_->unlink ();
+
   plet_spanner_p_ = 0;
   span_reqs_drul_[RIGHT] = span_reqs_drul_[LEFT] = 0;
 }
index e68bc00079e91aa5e147eab2140748942655ed54..6eebc48f04ca0815f3e0f8e851bf275b4d54253f 100644 (file)
@@ -24,6 +24,7 @@ Plet_spanner::Plet_spanner ()
 {
   stem_l_drul_[RIGHT] =0;
   stem_l_drul_[LEFT] =0;
+  visibility_i_ = 3;
 
   tdef_p_ = new Text_def;
   tdef_p_->align_i_ = CENTER;
@@ -35,6 +36,7 @@ Plet_spanner::Plet_spanner (Plet_spanner const& c)
 {
   tdef_p_ = new Text_def (*c.tdef_p_);
   stem_l_drul_ = c.stem_l_drul_;
+  visibility_i_ = c.visibility_i_;
 }
 
 Plet_spanner::~Plet_spanner ()
@@ -46,6 +48,7 @@ Molecule*
 Plet_spanner::brew_molecule_p () const
 {
   Molecule* mol_p = new Molecule;
+
   Real w = width ().length ();
   
   Real dy_f = dy_f_drul_[RIGHT] - dy_f_drul_[LEFT];
@@ -55,14 +58,18 @@ Plet_spanner::brew_molecule_p () const
   Atom a = paper ()->lookup_l ()->plet (dy_f, w, dir_);
 
   a.translate (Offset (dx_f_drul_[LEFT], dy_f_drul_[LEFT]));
-  mol_p->add (a);
+
+  if (visibility_i_ >= 2)
+      mol_p->add (a);
 
   Real interline_f = paper ()->interline_f ();
   Real numy_f = (dir_ > 0 ? 0 : -interline_f) + dir_ * interline_f / 2;
   Atom num (tdef_p_->get_atom (paper (), CENTER));
   num.translate (Offset (width ().length ()/ 2 + dx_f_drul_[LEFT], 
     dy_f_drul_[LEFT] + dy_f / 2 + numy_f));
-  mol_p->add (num);
+
+  if (visibility_i_ >= 1)
+    mol_p->add (num);
 
   return mol_p;
 }
index 1e75aa83aec358037dd75034f44dc5464b33d715..b81f2f5f967b5b6610765076be035dd58ba607a1 100644 (file)
 #include "text-def.hh"
 #include "dimen.hh"
 
+Direction
+Text_def::staff_dir () const
+{
+  if (style_str_ == "finger")
+    return UP;
+  return DOWN;
+}
+
 Interval
 Text_def::width (Paper_def * p) const
 {
index bf8ac3e004ae988c5a4e7e2f611e81760e238af2..a5ea5760d527ad5fe08cb230a03587c6b4062662 100644 (file)
@@ -37,6 +37,9 @@ $(outdir)/%.cc: %.l
 # could be faster:
 #      $(FLEX) -8 -Cf -t $< > $@
 
+$(outdir)/%: %.m4
+       $(M4) $< > $@
+
 # outdirs:
 #
 # ?$(outdir)/%.dep:
index 0d2d6795b5b9022c18170d999dd5f352ccc44936..884f2ffb2c05df65b8ee88371be3d6a5c8691540 100644 (file)
@@ -156,6 +156,11 @@ LDFLAGS = $(ILDFLAGS) $(USER_LDFLAGS) $(EXTRA_LDFLAGS) $(MODULE_LDFLAGS) -L$(dep
 LOADLIBES = $(EXTRA_LIBES) $(MODULE_LIBES) -lg++ # need lg++ for win32, really!
 #
 
+# macro compiler:
+#
+M4 = m4
+# 
+
 # librarian:
 #
 AR = ar
index ba47e4015d53491da18b2f1efc1567a769eff88e..5d89631bc93f85b2ad1158dc970227376e563b74 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Titel: LilyPond
-Versie: 0.1.43
-Inschrijf datum: 02FEB98
+Versie: 0.1.44
+Inschrijf datum: 06FEB98
 Beschrijving: LilyPond is de muziek typesetter van het GNU Project.  
                Het programma genereert muziek in zichtbare of 
                hoorbare vorm uit uit een muzikale definitie file: 
@@ -16,8 +16,8 @@ Auteur: hanwen@stack.nl (Han-Wen Nienhuys)
        jan@digicash.com (Jan Nieuwenhuizen)
 Onderhouden door: hanwen@stack.nl (Han-Wen Nienhuys)
 Voornaamste plek: sunsite.unc.edu /pub/Linux/apps
-       395k lilypond-0.1.43.tar.gz 
+       395k lilypond-0.1.44.tar.gz 
 Oorspronkelijke plek: pcnov095.win.tue.nl /pub/lilypond/
-       395k lilypond-0.1.43.tar.gz 
+       395k lilypond-0.1.44.tar.gz 
 Copi"eer politie: GPL
 End
index ee44737807c7eadcf9757d0d432e3dd068ca0174..1e5b6dd7c83dc8431711927fc6c06d2fa3ebf93a 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Title: LilyPond
-Version: 0.1.43
-Entered-date: 02FEB98
+Version: 0.1.44
+Entered-date: 06FEB98
 Description: LilyPond is the GNU Project music typesetter.  The program
                generates visual or auditive output from a music 
                definition file: it can typeset formatted sheet music 
@@ -15,8 +15,8 @@ Author: hanwen@stack.nl (Han-Wen Nienhuys)
        jan@digicash.com (Jan Nieuwenhuizen)
 Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
 Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
-       470k lilypond-0.1.43.tar.gz 
+       470k lilypond-0.1.44.tar.gz 
 Original-site: pcnov095.win.tue.nl /pub/lilypond/development/
-       470k lilypond-0.1.43.tar.gz 
+       470k lilypond-0.1.44.tar.gz 
 Copying-policy: GPL
 End
index 109c14796ff29c811d864dc32cc9646d6937478e..61a40557f2971e3c0f2f54b89f4bf6a31cd8dba3 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
-Version: 0.1.43
+Version: 0.1.44
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: alpha.gnu.org:/gnu/lilypond/development/lilypond-0.1.43.tar.gz
+Source0: alpha.gnu.org:/gnu/lilypond/development/lilypond-0.1.44.tar.gz
 Summary: A program for typesetting music.
 URL: http://www.stack.nl/~hanwen/lilypond
 Packager: Han-Wen Nienhuys <hanwen@stack.nl>
@@ -30,7 +30,7 @@ strip lily/out/lilypond mi2mu/out/mi2mu
 make -C Documentation gifs
 make prefix="$RPM_BUILD_ROOT/usr" install
 %files
-%doc Documentation/out/AUTHORS.txt Documentation/out/CodingStyle.txt Documentation/out/INSTALL.txt Documentation/out/MANIFESTO.txt Documentation/out/convert-mudela.txt Documentation/out/faq.txt Documentation/out/gnu-music.txt Documentation/out/index.txt Documentation/out/internals.txt Documentation/out/language.txt Documentation/out/lilypond.txt Documentation/out/links.txt Documentation/out/literature.txt Documentation/out/ly2dvi.txt Documentation/out/mi2mu.txt Documentation/out/mudela-book.txt Documentation/out/mutopia.txt Documentation/out/other-packages.txt BUGS TODO NEWS DEDICATION ANNOUNCE README
+%doc Documentation/out/ANNOUNCE.txt Documentation/out/AUTHORS.txt Documentation/out/CodingStyle.txt Documentation/out/DEDICATION.txt Documentation/out/INSTALL.txt Documentation/out/MANIFESTO.txt Documentation/out/NEWS.txt Documentation/out/TODO.txt Documentation/out/cadenza.ly.txt Documentation/out/collisions.ly.txt Documentation/out/convert-mudela.txt Documentation/out/faq.txt Documentation/out/font16.ly.txt Documentation/out/font20.ly.txt Documentation/out/gallina.ly.txt Documentation/out/gnu-music.txt Documentation/out/index.txt Documentation/out/internals.txt Documentation/out/language.txt Documentation/out/lilypond.txt Documentation/out/links.txt Documentation/out/literature.txt Documentation/out/ly2dvi.txt Documentation/out/mi2mu.txt Documentation/out/mudela-book.txt Documentation/out/multi.ly.txt Documentation/out/mutopia.txt Documentation/out/other-packages.txt Documentation/out/preludes-1.ly.txt Documentation/out/preludes-2.ly.txt Documentation/out/rhythm.ly.txt Documentation/out/scsii-menuetto.ly.txt Documentation/out/standje.ly.txt Documentation/out/toccata-fuga-E.ly.txt Documentation/out/twinkle-pop.ly.txt Documentation/out/twinkle.ly.txt Documentation/out/wtk1-fugue2.ly.txt Documentation/out/wtk1-prelude1.ly.txt BUGS TODO NEWS DEDICATION ANNOUNCE README
 %doc input/beams.ly input/cadenza.ly input/collisions.ly input/coriolan-alto.ly input/denneboom.ly input/font-body.ly input/font.ly input/font11.ly input/font13.ly input/font16.ly input/font20.ly input/font26.ly input/gourlay.ly input/keys.ly input/kortjakje.ly input/multi.ly input/pedal.ly input/rhythm.ly input/scales.ly input/scripts.ly input/sleur.ly input/slurs.ly input/spacing.ly input/stem.ly input/toccata-fuga-E.ly input/twinkle-pop.ly input/twinkle.ly Documentation/mudela-course.doc Documentation/mudela-man.doc 
 %doc Documentation/out/lelie_logo.gif
 /usr/bin/convert-mudela
index a7feee56dd2dd8b70c62b4dca7801722ec635ea0..136e03a7d69e0bcda710f368107a84f222754aaa 100644 (file)
@@ -192,10 +192,10 @@ Mudela_note::str ()
     = mudela_column_l_->mudela_score_l_->mudela_key_l_->notename_str (pitch_i_);
 
   if (simple_plet_b_s)
-       return name_str + Duration_convert::dur2_str (dur) + " ";
+    return name_str + Duration_convert::dur2_str (dur) + " ";
 
-  //ugh
   String str;
+  //ugh
   if (dur.plet_b ())
        str += String ("\\[")
            + String_convert::i2dec_str (dur.plet_.iso_i_, 0, 0)
index 86972df41b19a6e74466da2a64d0a57e64b291e4..8507335f9dea1d5c663869610af3e9c70eee2f90 100644 (file)
@@ -100,6 +100,8 @@ Mudela_staff::output (Mudela_stream& mudela_stream_r)
   mudela_stream_r << _("% midi copyright:") << copyright_str_ << "\n";
   mudela_stream_r << _("% instrument:") << instrument_str_ << "\n";
 
+  // don't use last duration mode
+  mudela_stream_r << "\\duration 4;\n";
   if  (mudela_voice_p_list_.size() == 1)
     mudela_voice_p_list_.top()->output (mudela_stream_r);
   else
index 02e4858a44fd04f82e746d8f1431f7c29a3b3c78..d54b9cea57bcabb1d6ef22e681a9a196bab57df5 100644 (file)
@@ -81,7 +81,7 @@ Mudela_stream::header()
   *os_p_ << filename_str_g;
   *os_p_ << "\n\n";
   // ugh
-  *os_p_ << "\\version \"0.1.8\";\n";
+  *os_p_ << "\\version \"0.1.9\";\n";
 }
 
 void
index a96c8f6bb232a40a0a57c04efee860c4a1f288a6..5de850e7e8b331bceb71fbc4cedc1025314c9836 100644 (file)
@@ -1,13 +1,15 @@
-# mutopia/j.s.bach/Makefile
+# mutopia/J.S.Bach/Makefile
 
-
-# descent order into subdirectories:
-#
-SUBDIRS = 
 # subdir level:
 #
 depth = ../..
 #
+
+# descent order into subdirectories:
+#
+SUBDIRS = 
+# 
+
 # generic stuff/Makefile
 #
 include ./$(depth)/make/Include.make
@@ -18,6 +20,10 @@ include ./$(depth)/make/Include.make
 # 
 LYFILES = $(wildcard *.ly)
 TEXFILES = $(wildcard *.tex)
-DISTFILES = Makefile $(LYFILES) $(TEXFILES) $(wildcard *.m4)
+M4FILES = $(wildcard *.m4)
+DISTFILES = Makefile $(LYFILES) $(TEXFILES) $(M4FILES)
 #
 
+OUTFILES = $(addprefix $(outdir)/,$(M4FILES:%.m4=%))
+
+all: $(OUTFILES)
diff --git a/mutopia/J.S.Bach/preludes-1.ly b/mutopia/J.S.Bach/preludes-1.ly
new file mode 100644 (file)
index 0000000..1fd3aad
--- /dev/null
@@ -0,0 +1,113 @@
+\header{
+filename =      "preludes-1.ly";
+title =         "1";
+composer =      "Johann Sebastian Bach (1685-1750)";
+enteredby =     "jcn";
+copyright =     "public domain";
+}
+
+rh = \melodic{
+       \octave c'';
+       \textstyle "italic";
+       r16\p_"legato"\< ['g-1( c-3 )e-5] r ['g-1( c )e]
+       r [g( c )d] r ['b-1( d-2 \!)g-5] |
+       r\mf ['a( d-2 ) g-5] r ['a(\< d )f-4]
+       r ['a( d )e-3] r [c-1( e-2 \!)a-5] |
+       r\f ['b e a-5] r ['b e-3 g-5] 
+       r [c-1 e-3 f-4] r ['g d-3 f-5] |
+       r ['g-"poco a poco dim." d-4 e] r ['g c-2 e]
+       r ['a-1 c-3 d-4] r ['e 'b-3 d-5] |
+       r ['e 'b c-4] r ['e 'a-2 c]
+       r ['f-1 'a-3 'bes-4] r ['c 'g-3 'bes-5] |
+       r ['c 'g 'a-4] r ['c 'f-2 'a] 
+       r ['d 'f-2 'b-5] r ['e 'g-2 c-5] |
+       r\p ['d 'g c-5] r ['d 'g 'b-4]
+       r ['c 'g-3 'b-5] r ['c 'fis-2 'a-4] |
+       r [''b 'd 'a-5] r [''b 'd 'g-4]
+       r [''a 'c 'g-5] r [''a 'c 'f!-4] |
+       % ugh, arpeggio
+       \multi 2 <
+               { \stemup; 'f4 r s }
+               { \stemdown; <''g4 'd> r s }
+       >
+       \stemboth;
+       % ugh beam across staffs, slur starts at lower staff
+       r16 [''g-1( ''b 'd] |
+       \stemup;
+       )''b s4 ['g16-1( 'b-2 d] )'b s s s [f-2 g-3 b-5 f-2] |
+       \stemboth;
+       [e-1\f c'-5( g-3 f-2] [e-1 c'-5 g-3 e-2] 
+       [)d c'-5( f-3 e-2] [d-1 b-5 f-3 d-2] |
+       [)c b-5( e-3 d-2] [c-1 a-5 e-3 c-2] 
+       [)'b-1 a-5( d-3 c-2] ['b-1 g-5 d-3 'b-2] |
+       [)'a g-5 c-4 'b] ['a-"poco a poco dim." fis-5 c-2 'a-1]
+       ['b-2 f d-4 c] ['b f d-4 'b-2] |
+       ['g e c-3 'b] ['a e-5 c-3 'a-1]
+       ['fis-2 d 'b-3 'a] ['g-1 d-5 'b-4 'g-2] |
+       ['e c-5 'a-4 'g-3] ['fis-2 c-5 'a-4 'fis-2] 
+       ['d c-5 'b-4 'a] ['b-4 'g-2 d-5 'f-1] |
+       ['g-4 'e-2 'f-1 d-5] [c-4 'b 'a 'g]
+       [f-5 d-3 es-4 c-2] ['fis-1 es-4 d-3 c-2] |
+       ['b-1 d-5 'b-3 'g-1] ['as-4-"cresc. e rall." 'f-2 'g-3 'd-1]
+       ['es-2 'fis-3 'a-4 c-5] 
+       \multi 2 < 
+               { \stemup; r [c8 'b16] }
+               { \stemdown; ['d8 'f-2] }
+       >
+       \stemboth; |
+       <c1\mf 'g 'e>
+       \bar "|.";
+}
+
+lh = \melodic{
+       \octave c;
+       \clef bass;
+       \textstyle "roman";
+       c4-5 e-3 [g32-1 fis-2 g8.-1] 'g4 |
+       d-5 f-3 [a32-1 gis a8.] 'a4 |
+       % ugh grouping32: 4..4
+       e-5 e'-1 a-4 [e32-3 b c' b] [c' b a b] |
+       c'4 e-4 fis [a32-1 gis fis gis] [ ais gis fis gis] |
+       a4 c-4 d [d32 e f e] [f e d e] |
+       % ugh tril sign
+       % f4-1 e d-3\tr c |
+       f4-1 e d-3 c |
+       % g( )'g g\pr-"(#)"( )'g |
+       g( )'g g-"(\\textsharp)"( )'g |
+       % g\pr-"(\\textsharp)"( )'g g\pr-"(\\textsharp)"( )'g |
+       g-"(\\textsharp)"( )'g g-"(\\textsharp)"( )'g |
+       % ugh, f should be at upper staff
+       g r r16 ['g-5( 'b-4 d] )f-1 s s s |
+       s [g-5( b-4 d'-2] )f'-1 s s s s \clef violin; [g'-4 b'-2 d''-1] 
+       s s s s \clef bass; |
+       \multi 2 <
+               { \stemup; g1 ~ g ~ g ~ g ~ g ~ g ~ g }
+               { \stemdown; 'g1 ~ 'g ~ 'g ~ 'g ~ 'g ~ 'g ~ 'g }
+       >
+       <c1 'c>
+       \bar "|.";
+}
+
+global  = \melodic{
+       \meter 4/4;
+}
+
+\score{
+       % Moderato
+       % it would be nice to shut-off fingering...
+       \melodic \type Grandstaff < 
+               <
+                       \global 
+                       \rh
+               >
+               <
+                       \global 
+                       \lh
+               >
+       >
+       \paper{
+       }
+       \midi{
+               \tempo 4 = 70;
+       }
+}
diff --git a/mutopia/J.S.Bach/preludes-2.ly b/mutopia/J.S.Bach/preludes-2.ly
new file mode 100644 (file)
index 0000000..98c4b59
--- /dev/null
@@ -0,0 +1,118 @@
+\header{
+filename =      "preludes-2.ly";
+title =         "2";
+composer =      "Johann Sebastian Bach (1685-1750)";
+enteredby =     "jcn";
+copyright =     "public domain";
+}
+
+rh = \melodic{
+       \octave c'';
+       \textstyle "italic";
+       r8\mf ['c-1( 'e-2 'g-4] ['e-2 'c-1 'bes-5 'g-3] |
+       [)'a-4\< 'c-1( 'f-2 'a-4] ['f 'c c-5 'a-3] |
+       [)'b-4 'g-1( 'b-2 d-4] ['b-2 'g f-5 \!d-3] |
+       \multi 2 <
+               {\stemup; )e2-4\f r4 e-5 }
+               {\stemdown; <c2 'g> r4 <c 'g> }
+       >
+       \stemboth; |
+       \multi 2 < 
+                { \stemup; d2-4 r4 d-4 }
+                { \stemdown; <c2 'a> r4 <c 'a> }
+       >
+       \stemboth; |
+       \multi 2 < 
+                { \stemup; d8 }
+                { \stemdown; <'b8 'g> }
+       >
+       \stemboth;
+       ['g8-1\mf( 'b-2 d-4] 
+       \multi 2 <
+               { \stemup; )'b4 e-5 }
+               { \stemdown; 'g4 'b }
+       >
+       \stemboth; |
+       \multi 2 <
+               { \stemup; c2 r4 < {c-5 ~ c8} {'a4 ~ 'a8} > }
+               { \stemdown; c2 r4 'e4 ~ 'e8 }
+       >
+       ['d-1\p( 'fis-2 'a-4] ['fis-2 'd-1 c-5 'a-3] |
+       [)'b-4\< 'g-1( 'b-2 d-4] [ 'b-2 'g-1 f!-5 d-3] |
+       [)e-4 'g-1( c-2 e-4] [c-2 'g g-5 e-3] |
+       [)fis-4 'a-1( c-2 fis-4] [c 'a a-5 \!fis-3] |
+       \multi 2 <
+               { \stemup; )g2-5\f }
+               { \stemdown; <d2 'b> }
+       >
+       \stemboth;
+       r4 b4-2( |
+       [c8-1 e-2 g c'] [g-2 e-1 bes-4 g-2] |
+       [)a16->-3 g-2 f-1 e-3] [d c 'b!-3 'a-2] 
+       ['b-3\< 'g-1 'a 'b] [c-1 d e \!f] |
+       g4-5\ff
+       \multi 2 <
+               { \stemup; c2-5 'b4-4 }
+               { \stemdown; 'g2 'd4 }
+       >
+       \stemboth;
+       \multi 2 <
+               { \stemup;  c1^5 }
+               { \stemdown; 'e1_1}
+       >
+       \stemboth;
+       \bar "|.";
+}
+
+lh = \melodic{
+       \octave c;
+       \clef bass;
+       \multi 2 <
+               { \stemup; c1 ~ c ~ c }
+               { \stemdown; 'c1 ~ 'c ~ 'c }
+       >
+       \stemboth; |
+       r8 [c-5( e-3 f-1] [e-3 c-5 c' e-4] |
+       [)fis-3 d-5( fis-3 a-1] [fis-3 d-5 d' fis-4] |
+       )g2-3 r4 g-2( |
+       [)a8 'a-5( c-4 e-2] [c-4 'a-5 g e-3] |
+       )fis2 r4 d-4 |
+       % [g32-1( fis-2 g8.-1] ) 'g4 g( )'g\mr |
+       
+       % my edition has  mordents on every g here
+       [g32-1( fis-2 g8.-1] ) 'g4 g( )'g |
+       % 'g( )g\mr 'g( )g\mr |
+       g( )'g g( )'g |
+       g( )'g g( )'g |
+       [g8 'g-5( 'b-4 d-2] ['b-4 'g-5 f!-1 d-3] |
+       [)e-2 c-4 e-2 g-1] [e-3 c-5 c' e-4] |
+       \textstyle "finger";
+       f1^"3\\_1" ~ |
+       [f8 d-3 e-2 c-4] g4-1 'g^"5\\_2" |
+       <c1 'c1>
+       \bar "|.";
+}
+
+global  = \melodic{
+       \meter 4/4;
+}
+
+\score{
+       % Moderato
+       % it would be nice to shut-off fingering...
+       \melodic \type Grandstaff < 
+               <
+                       \global 
+                       \rh
+               >
+               <
+                       \global 
+                       \lh
+               >
+       >
+       \paper{
+       }
+       \midi{
+               \tempo 4 = 110;
+       }
+}
diff --git a/mutopia/J.S.Bach/preludes-3.ly.m4 b/mutopia/J.S.Bach/preludes-3.ly.m4
new file mode 100644 (file)
index 0000000..3b99653
--- /dev/null
@@ -0,0 +1,153 @@
+\header{
+filename =      "preludes-3.ly";
+title =         "3";
+composer =      "Johann Sebastian Bach (1685-1750)";
+enteredby =     "jcn";
+copyright =     "public domain";
+}
+
+define(comma, r16 [$1$4 $2 $3] [$2 $1 $2 $6$1] r $1$7 r $5$1 |)
+define(s, `comma(translit($*,` ', `,'))')
+define(t, r16 [$1$4 $2 $3] [$2 $1 $2 $6$1] r $1$7 r $5$1 |)
+
+rh = \melodic{
+       \octave c';
+       \textstyle "italic";
+%#     s(`c' `es' `g' `\p(\<' `\!' `)\!' `\>')
+       t(c,es,g,`\p(\<',\!,`)\!',\>)
+%#     s(c es g `(' `' `)')
+       t(c,es,g,`(',`',`)')
+%#     s(c f as `(' `' `)')
+       t(c,f,as,`(',`',`)')
+       s(c f as)
+       s('b d f \< \!)
+       s('b d f)
+       s('g c es \> \!)
+       s('g c es)
+       s('g c es \< \!)
+       s('g c es)
+       s('a c es)
+       s('a c es)
+       s('a 'bes d \> \!)
+       s('g 'bes d)
+       s('bes d g)
+       s('a es g \mf)
+       s('a c fis)
+       s('a c fis)
+       s('bes d g)
+       s(c fis a -"poco\\_a\\_poco\\_cresc.")
+       s(d g bes)
+       s(d fis c')
+       s(cis g bes)
+       s(c es a !-"dim.")
+       s('bes e g)
+       s('a c g)
+       s('a c fis)
+       s('g 'bes e)
+       s('fis a es)
+       s('g 'bes d -"dim.")
+       s('g 'a c)
+       s('fis a c)
+       s('fis a c)
+       r16\p ['g 'a c] ['b 'g 'b 'g] r 'g r 'g
+       s('a c fis -"poco\\_cresc.")
+       s(c fis a)
+       s('b d g)
+       s('b d f -"dim.")
+       s('g c es)
+       s('fis c es)
+       s('fis c es)
+       r16 ['g(\< 'b d] ['b 'g 'b d] [es c 'a )\!fis] |
+       \multi 2 <
+               {\stemup; g2.-\fermata\mf}
+               {\stemdown; <'b2. d>}
+       >
+       \stemboth;
+       \bar "|.";
+}
+
+lh = \melodic{
+       \octave c;
+       \clef bass;
+       % c4 r [g8-.(\ped )es-.\*] |
+       c4 r [g8-.( )es-.] |
+       c4 r [g8-.( )es-.] |
+       c4 r [as8-.( )f-.] |
+
+       c4 r [as8-.( )f-.] |
+       c4 r [as8-.( )f-.] |
+       c4 r [as8-.( )f-.] |
+
+       c4-- r [es8 c] |
+       'bes!4-- r [es8 c] |
+       'as!4-- r [es8 c] |
+
+       'g4-- r [es8 c] |
+       'fis4-- r [es8 c] |
+       'fis4 r [fis8 d] |
+
+       'g4 r [d8 'bes] |
+       'g4 r ['bes8 'g] |
+       'es4 r [g8 es] |
+
+       c4 r [c8 'a] |
+       'd4 r [d8 'a] |
+       'd4 r [d8 'a] |
+       'd4 r [d8 'bes] |
+
+       'd4 r [es8 c] |
+       'd4 r [es8 d] |
+       'd4 r [a8 fis] |
+
+       'd4 r [g8 es] |
+       'd4 r [fis8 d] |
+       'd4 r [e8 cis] |
+       'd4 r [es8 c] |
+
+       'd4 r [d8 'a] |
+       'd4 r [cis8 'bes] |
+       'd4 r [c!8 'a] |
+
+       'd4 r ['bes8 g] |
+       'd4 r [es8 c] |
+       'd4 r [d8 c] |
+
+       'g4 r [es8 c] |
+       'g4 r [d8 'b] |
+       'g4 r [es8 c] |
+       
+       'g4 r [es8 c] |
+       'g4 r [g8 d] |
+       'g4 r [as8 f] |
+       'g4 r [es8 c] |
+
+       'g4 r [es8 c] |
+       'g4 r [es8 c] |
+       'g4 r r |
+       'g2.-\fermata 
+       \bar "|.";
+}
+
+global  = \melodic{
+       \meter 3/4;
+       \key bes es as;
+}
+
+\score{
+       % Semplice e non troppo legato
+       \melodic \type Grandstaff < 
+               <
+                       \global 
+                       \rh
+               >
+               <
+                       \global
+                       \lh
+               >
+       >
+       \paper{
+       }
+       \midi{
+               \tempo 4 = 90;
+       }
+}
diff --git a/mutopia/J.S.Bach/preludes-4.ly b/mutopia/J.S.Bach/preludes-4.ly
new file mode 100644 (file)
index 0000000..2d28e33
--- /dev/null
@@ -0,0 +1,72 @@
+\header{
+filename =      "preludes-4.ly";
+title =         "4";
+composer =      "Johann Sebastian Bach (1685-1750)";
+enteredby =     "jcn";
+copyright =     "public domain";
+}
+
+rh = \melodic{
+       \octave c'';
+       \textstyle "italic";
+       % ugh, start in multi, because of slurring an tieing over bars
+       \multi 2 < 
+               { 
+                       r16\p_"legato" 
+                       ['d-1( 'fis-3 'd-1] ['a-2 'b-3 cis-4 'a-3]
+                       [d-3 cis-2 d-1 e-2] [d-1 fis-3 e-2 d-1] |
+                       \textstyle "finger";
+                       \stemup; 
+                       )cis4-2 fis-5 ~ [fis8 fis-4] e4-3 ~ | 
+                       e( )d8-2 s s4 s4 |
+                       r8 d4-> cis8-1 ~ cis 'b4-1 'b8 |
+               }
+               { 
+%                      s1
+                       \stemdown; 
+                       r8 'a4 'a8 'b4.-"2\\_1" cis8 ~ | 
+                       cis16\< ['a( cis 'a] [d-2 e fis d-1]
+                       [g-3 fis g a-4] [a-3 b a \!g] |
+                       )fis4-"2\\_3" [e8-2 a-5] <fis4-4 d-2> <gis-5 e-3> |
+               } 
+       >
+       \stemboth;
+       \bar "|.";
+}
+
+lh = \melodic{
+       \octave c;
+       \clef bass;
+       s1 | s1 | s1 | s1
+%      \multi 2 <
+%              { \stemup; }
+%              { \stemdown; }
+%      >
+%      \stemboth; |
+       \bar "|.";
+}
+
+global  = \melodic{
+       \meter 4/4;
+       \key fis cis;
+}
+
+\score{
+       % Allegretto
+       % it would be nice to shut-off fingering...
+       \melodic \type Grandstaff < 
+               <
+                       \global 
+                       \rh
+               >
+               <
+                       \global 
+                       \lh
+               >
+       >
+       \paper{
+       }
+       \midi{
+               \tempo 4 = 110;
+       }
+}
index 91c488de41f4e86fd09347bfaf88030aed56c8a8..68e2e76afada890d095aee56bd4f7ef0339c548c 100644 (file)
@@ -1,6 +1,6 @@
 \header{
 filename =      "scsii-menuetto.ly";
-title =         "Cello Suite II";
+title =         "Cello Suite II, Menuetto I";
 subtitle = "Part V";
 instrument = "Menuetto I";             % duh
 description =   "Cello suite transcribed for Viola";
@@ -15,7 +15,7 @@ copyright =    "public domain";
  Tested Features:breaking algorithm, chords, multivoice, accents
 %}
 
-\version "0.1.8";
+\version "0.1.9";
 
 %% Stuff from MPP version
 % \lefttitle{Menuetto}
@@ -165,10 +165,10 @@ IImenuetto = \melodic{
                arithmetic_basicspace = 3.2;
                % how can multiplier have dim?
                arithmetic_mulitplier = 9.\pt;
-               \output "scsii-menuetto.out";
+               %\output "scsii-menuetto.out";
        }
        \midi{ 
                \tempo 4 = 120;
-               \output "scsii-menuetto.midi";
+               %\output "scsii-menuetto.midi";
        }
 }
diff --git a/mutopia/J.S.Bach/scsii-menuetto.tex b/mutopia/J.S.Bach/scsii-menuetto.tex
deleted file mode 100644 (file)
index d6628ae..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-\documentclass{article}         %UGH
-\usepackage{a4}
-\advance\oddsidemargin-15mm
-\evensidemargin\oddsidemargin
-\advance\textwidth30mm
-\begin{document}
-\input lilyponddefs
-\input titledefs
-\def\interscoreline{\vskip6pt}
-\title{Solo Cello Suites\normalsize\\[2ex]Suite II}
-% \subtitle{Suite II}
-\composer{J.\ S.\ Bach}
-% \lefttitle{Menuetto}
-% \tempo{Moderato}
-% \metron{4=120}
-\instrument{Menuetto I} % heu
-\makelilytitle
-\input scsii-menuetto.out
-\end{document}
index e48c55b1892d6e6dc65d208ac2eb4e9258e0b396..5469e62b5ccac7f111222c01ddc61c7d1257749a 100644 (file)
@@ -11,7 +11,7 @@ copyright =    "Public Domain";
 %{
        
 %}
-\version "0.1.8";
+\version "0.1.9";
 
 
 global = 
index 2d90c2ad90df1e2867187a419bc6c483e1e69c43..56b5484e9fe0bfe5a0a27764a0735ab5016e4132 100644 (file)
@@ -12,7 +12,7 @@ copyright =    "Public Domain";
  Tested Features: stem direction, multivoice, forced accidentals.
 %}
 
-\version "0.1.8";
+\version "0.1.9";
 
                                     % should add \need{dutch.ini} for
                                     % correct parsing of note names
index dea0195fa0a512da2d7578a2439ad253f19b4aae..b842f1931b2c2523eb665f96f768445d8ded3ecb 100644 (file)
@@ -8,7 +8,7 @@ enteredby =      "Shay Rojansky";
 copyright =     "Public Domain";
 }
 
-\version "0.1.8";
+\version "0.1.9";
 
 global = 
     \melodic {
index 7c3cb7d7e71191d6205033164dcb2ec00313e021..d9bffc37b0f12c6e7995ad9d10a75001f34387a2 100644 (file)
@@ -16,6 +16,10 @@ include ./$(depth)/make/Include.make
 # 
 LYFILES = $(wildcard *.ly)
 TEXFILES = $(wildcard *.tex)
+M4FILES = $(wildcard *.m4)
 DISTFILES = Makefile TODO $(LYFILES) $(TEXFILES) $(wildcard *.m4)
 #
 
+OUTFILES = $(addprefix $(outdir)/,$(M4FILES:%.m4=%))
+
+all: $(OUTFILES)
index a45ce1d52ff29412e5a13c949aab8aa9ef6f5639..d936c18b37cc62da8e21b06af2fa51c275a55804 100644 (file)
@@ -38,7 +38,7 @@ part of the basso continuo --HWN
 
 %} 
 
-\version "0.1.8";
+\version "0.1.9";
 
 vi1=\melodic{
   \meter 4/4;
@@ -227,7 +227,7 @@ bc=\melodic{
   >
   \paper{
     %linewidth=18.\cm;
-     \output "gallina.out";
+     %\output "gallina.out";
     gourlay_maxmeasures=7.;
   }
   \midi{ 
diff --git a/mutopia/out/dummy.dep b/mutopia/out/dummy.dep
deleted file mode 100644 (file)
index e69de29..0000000
index 8c0bda8e20417c0835e116f2948d0186640b6e5f..82d94001bdef16028d8626367c4cbec1cf3215c4 100644 (file)
@@ -9,6 +9,6 @@ description = "A schubert song in 16 pt";
 copyright =     "public domain";
 } 
 
-\version "0.1.8";
+\version "0.1.9";
 
 \include "standchen.ly"
index 0f9dbee368d2865d3416627477e22fe54c457689..a724709a38a3aaf40172a3787174523b8d7a62a9 100644 (file)
@@ -8,7 +8,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 description = "A schubert song in 20 pt";
 } 
-\version "0.1.8";
+\version "0.1.9";
 
 % fool make-website
 % \include "standchen.ly";
index 73792caa2d4b0d3d1e99c58193c68981ff9b2ea5..e50751350ac7be8bc9e0b69ba31db9a30d8dac15 100644 (file)
@@ -14,7 +14,7 @@ multiple \paper{}s in one \score
 %}
 
 \include "paper20.ly"
-\version "0.1.8";
+\version "0.1.9";
 
 commands = \melodic{
        \skip 2.*4;
index 9311a3709ca7b8288b8ebc09264f86ea26ab9e7a..4ac80c2032e75ed973b3841bc077a6132d774efe 100644 (file)
@@ -1,6 +1,6 @@
 \header{
 filename =      "standje.ly";
-title =         "St\"andchen (Serenade) \"Leise flehen meine Lieder\"";
+title =         "St\\\"andchen (Serenade) ``Leise flehen meine Lieder''";
 opus =  "D. 957 No. 4";
 composer =      "Franz Schubert (1797-1828)"
         "Text by Ludwig Rellstab (1799-1860)";
@@ -13,7 +13,7 @@ copyright =    "public domain";
 multiple \paper{}s in one \score 
 %}
 
-\version "0.1.8";
+\version "0.1.9";
 
 $vocal_verse1 = \melodic{
        \octave c';
@@ -82,6 +82,50 @@ $lyric_verse1 = \lyric{
        nicht.2. |
 }
        
+$lyric_verse2 = \lyric{
+% 5
+       \[2/3 H\"orst4 die8 \] Nach-4. ti-8 
+       \[2/3 gal-4 len8 \] schla-4 gen?8 _8
+       Ach!4. sie8 \[2/3 fleh-4 en8 \] 
+       dich,2 _4
+       _4 _ _ 
+       _4_ _
+
+% 11
+       \[2/3 Mit4 der8 \] T\"o-4. ne8
+       \[2/3 s\"u\ss-4 en8 \] Kla-4. gen8
+       Fleh-4. en8 \[2/3 sie4 f\"ur8 \]
+       mich.2 _4
+       _4_ _ 
+       _4_ _
+
+% 17
+       Sie-8. ver-16 stehn4. des8
+       Bus-8. ens16 Seh-4. nen,8
+       \[2/3 Ken-4 nen8 \] Lieb-4. es-8 
+       schmerz,2.
+       \[2/3 Ken-4 nen8 \] Lieb-4. es-8 
+       schmerz,2.
+
+% 23
+       R\"uh-8. ren16 mit4. den8 
+       Sil-8. ber-16 t\"o-4. nen8
+       \[2/3 Jed-4 es8 \] wei-4. che8 
+       Herz.2.
+}
+
+$lyric_through1 = \lyric{
+% 37
+       La\ss8. auch16 dir8. die16 Brust8. be-16 |
+       we- gen, |
+       Lieb-4. chen,8 h\"o-8. re16 |
+       mich!2 _ |
+       Be-8. bend16 harr' ich8 _8 |
+       dir8. ent-16 ge- gen!8 _8 |
+       \[2/3 Komm, be-8 \] gl\"u4. cke8 |
+       mich!2. |
+}
+
 $treble_intro = \melodic{
        \octave c';
        \clef violin;
@@ -127,14 +171,11 @@ $treble_verse1 = \melodic{
 
 $treble_eentje = \melodic{
        \octave c';
-%      <{as!2\mf( [c'8. )as16]} {f2 as8( )f}> |
-%      as!2\mf( [c'8. )as16] |
-%      <e4. g> <[e8-.( g-.> <e8-. g-.> <)e8-. g-.]> |
-       <f2\mf as!(> <[as8.( c'> <)f )as16]> |
+       <f2\mf as!(> <[as8.->( c'> <)f16 )as]> |
        <e4. g> <[e8-. g-.(> <e-. g-.> <e-. )g-.]> |
        <f4. g> <['b8-. g-.(> <d-. g-.> <f-. )g-.]> |
        <e2 g\pp> <e4 g> |
-       <f2\mf a(> <[as8.( c'> <)f )a16]> |
+       <f2\mf a(> <[as8.( c'> <)f16 )a]> |
        <e4. g> <[e8-. g-.(> <e-. g-.> <e-. )g-.]> |
        <f4. g> <['b8-. g-.(> <d-. g-.> <f-. )g-.]> |
        <e2. g> |
@@ -178,8 +219,16 @@ $bass_verse1 = \melodic{
        'c8 <[c e g> <e g c'> <c e g> <e g c'> <c e g]> |
 }
 
-$bass_eentje1 = \melodic{
+$bass_eentje = \melodic{
        \octave c;
+       <'c8 c> <[c f as!> <f as c'> <c f as> <f as c'> <c f as]> |
+       'c8 <[c e g> <e g c'> <c e g> <e g c'> <c e g]> |
+       <''g8 'g> <[d g> <g b> <d g> <g b> <d g]> |
+       'c8 <[e g> <g c'> <e g> <g c'> <e g]> |
+       <'c8 c> <[c f a> <f a c'> <c f a> <f a c'> <c f a]> |
+       'c8 <[c e g> <e g c'> <c e g> <e g c'> <c e g]> |
+       <''g8 'g> <[d g> <g b> <d g> <g b> <d g]> |
+       'c8 <[e g> <g c'> <e g> <g c'> <e g]> |
 }
                
 global= \melodic {\meter 3 /4; \key bes es as; }
@@ -191,14 +240,16 @@ global= \melodic {\meter 3 /4; \key bes es as; }
                        \meter 3 /4; 
                        \skip 4 * 12; 
                        \$lyric_verse1
-%                      \skip 4 * 24; 
+                       \skip 4 * 24; 
+                       \$lyric_verse2
                }
                \type Staff { < 
                        \global 
                        { 
                                \skip 4 * 12; 
                                \$vocal_verse1 
-%                              \skip 4 * 24; 
+                               \skip 4 * 24; 
+                               \$vocal_verse1
                        }
                > }
                
@@ -208,7 +259,8 @@ global= \melodic {\meter 3 /4; \key bes es as; }
                                { 
                                        \$treble_intro 
                                        \$treble_verse1 
-%                                      \$treble_eentje
+                                       \$treble_eentje
+                                       \$treble_verse1 
                                }
                        >
                        < 
@@ -216,7 +268,8 @@ global= \melodic {\meter 3 /4; \key bes es as; }
                                { 
                                        \$bass_intro 
                                        \$bass_verse1 
-%                                      \$bass_eentje
+                                       \$bass_eentje
+                                       \$bass_verse1 
                                }
                        >
                >