]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 0.1.42 release/0.1.42
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 27 Jan 1998 18:26:37 +0000 (19:26 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 27 Jan 1998 18:26:37 +0000 (19:26 +0100)
101 files changed:
AUTHORS.text
Documentation/Makefile
Documentation/faq.pod
Documentation/internals.pod
Documentation/language.pod
Documentation/lilypond.pod
Documentation/links.pod
Documentation/literature.pod
Documentation/ly2dvi.pod [new file with mode: 0644]
Documentation/other-packages.pod
Documentation/out/dummy.dep [new file with mode: 0644]
INSTALL.text
NEWS
TODO
VERSION
bin/clean-fonts.sh
bin/convert-mudela.pl
bin/ly2dvi.sh
bin/make-website.py
bin/out/dummy.dep [new file with mode: 0644]
flower/TODO
flower/include/dictionary.hh
flower/include/libc-extension.hh
flower/include/out/dummy.dep [new file with mode: 0644]
flower/out/dummy.dep [new file with mode: 0644]
flower/test/out/dummy.dep [new file with mode: 0644]
init/english.ly [deleted file]
init/engraver.ly
init/feta20.ly
init/italian.ly [new file with mode: 0644]
init/lily-init.ly
init/out/dummy.dep [new file with mode: 0644]
init/table20.ly
input/beams.ly
input/cadenza.ly
input/collisions.ly
input/coriolan-alto.ly
input/font-body.ly
input/font.ly
input/font16.ly
input/gallina.ly
input/gourlay.ly
input/keys.ly
input/kortjakje.ly
input/multi.ly
input/out/dummy.dep [new file with mode: 0644]
input/pedal.ly
input/rhythm.ly
input/scales.ly
input/scripts.ly
input/scsii-menuetto.ly
input/sleur.ly
input/slurs.ly
input/spacing.ly
input/standchen-16.ly
input/standchen-20.ly
input/standchen.ly
input/standje.ly
input/stem.ly
input/toccata-fuga-E.ly
input/twinkle-pop.ly
input/twinkle.ly
input/wtk1-fugue1.ly
input/wtk1-fugue2.ly
input/wtk1-prelude1.ly
lib/include/out/dummy.dep [new file with mode: 0644]
lib/out/dummy.dep [new file with mode: 0644]
lily/VERSION
lily/beam-grav.cc
lily/include/beam-grav.hh
lily/include/lily-proto.hh
lily/include/lookup.hh
lily/include/musical-request.hh
lily/include/my-lily-parser.hh
lily/include/out/dummy.dep [new file with mode: 0644]
lily/include/plet-swallow-engraver.hh [new file with mode: 0644]
lily/include/text-def.hh
lily/include/text-spanner.hh
lily/lexer.l
lily/midi-def.cc
lily/musical-request.cc
lily/my-lily-lexer.cc
lily/my-lily-parser.cc
lily/out/dummy.dep [new file with mode: 0644]
lily/parser.y
lily/plet-swallow-engraver.cc [new file with mode: 0644]
lily/text-spanner.cc
make/Targets.make
make/lelievijver.lsm
make/lilypond.lsm
make/lilypond.spec
make/out/dummy.dep [new file with mode: 0644]
mf/Makefile
mf/out/dummy.dep [new file with mode: 0644]
mi2mu/include/out/dummy.dep [new file with mode: 0644]
mi2mu/mudela-item.cc
mi2mu/mudela-stream.cc
mi2mu/out/dummy.dep [new file with mode: 0644]
out/dummy.dep [new file with mode: 0644]
tex/lily-ps-defs.tex
tex/out/dummy.dep [new file with mode: 0644]

index ed25a63d4327294a2c4dac7f4603d9707e9a4a6c..b2cc8a8a41541dddbb627e25eedfa8a1e8ddd826 100644 (file)
@@ -61,7 +61,7 @@ C\bC\bC\bCO\bO\bO\bON\bN\bN\bNT\bT\bT\bTR\bR\bR\bRI\bI\bI\bIB\bB\bB\bBU\bU\bU\bUT\bT\bT\bTO\bO\bO\bOR\bR\bR\bRS\bS
 
 
 
-5/Jan/98                 LilyPond 0.1.41                        1
+5/Jan/98                 LilyPond 0.1.42                        1
 
 
 
@@ -127,6 +127,6 @@ AUTHORS(1)            LilyPond documentation           AUTHORS(1)
 
 
 
-5/Jan/98                 LilyPond 0.1.41                        2
+5/Jan/98                 LilyPond 0.1.42                        2
 
 
index 4da45d58b02c1682923e0857be468a3e0adebc59..132c161c0b2acc4aa594dde752a69dc13b9ef5e2 100644 (file)
@@ -59,6 +59,8 @@ include $(depth)/make/Rules.make
 
 localclean:
        rm -f $(TEXTFILES) $(HTMLFILES) $(GROFFFILES)
+       rm -f $(outdir)/*  # clean the make-website stuff
+       rm -f $(outdir)/docxx/*  # clean the make-website stuff 
 
 MAN1FILES = lilypond convert-mudela mi2mu mudela-book
 MAN1GROFF = $(addprefix $(outdir)/, $(addsuffix .1,$(MAN1FILES)))
index efe7fd548c829d611464aad33ea163fb93ddff1a..76ad9e5ddb8806fc6c12339a0115c926e15df5fa 100644 (file)
@@ -55,18 +55,24 @@ content in Mudela)
 We're not sure on leaving out this feature. If you think this is a
 good idea, please let us know.
 
-Be warned we will I<not> allow you to leave out the C<#> if the note
-already has an accidental, or if the key has a C-sharp. We won't allow
 
-       c# c    % no way! 
+Q: Why do I have to type the accidentals to the note if I specified them?
 
-in stead of:
+A: Take this example
 
        cis cis
-       #c #c
 
-Why, you might ask? Because independently of how it was written, you
-would say that you are playing and reading "two C-sharp" notes.
+Independently of how it was written and what the current key was, you
+would say that you are playing and reading "two C-sharp" notes.  We
+have tried to make the language somewhat context-free.  Of course
+sheet music is not context-free.  Unfortunately, sheet music is also 2
+dimensional, and ASCII is not.
+
+Technically it would be feasible to have the Interpreting phase do
+tricky things to add (or leave out) the accidentals, but we think that
+it is impractical: it hampers the readability and portability of your
+source, since you need LilyPond to fill in the details and actually
+make sense of it.
 
 
 Q: What is C<cis> anyway
@@ -225,7 +231,7 @@ Q: Can I join in on LilyPond development?  How do I do this?
 
 A: LilyPond development is open for anyone who wants to join.  We try
 to use a Bazaar style development model for LilyPond, see
-http://locke.ccil.org/~esr/writing/cathedral.html.  This means:
+http://locke.ccil.org/~esr/writings/cathedral.html.  This means:
 frequent releases, everyone can send in a patch or do suggestions and
 all development discussions are public.
 
@@ -257,20 +263,20 @@ or
 
        diff -urN old-directory/ new-directory/ > patch 
 
-Alternatively, you can use bin/make-patch.py
+Alternatively, you can use F<bin/make-patch.py>.  Don't forget to put
+in your name and e-mail address.
 
 Q: How do I learn the C++ code?
 
 A: The entry point is in C<main()>. Good luck. :-)
 
-Seriously, read, reread and reread lilygut and CodingStyle, and
+Seriously, read, reread and reread internals and CodingStyle, and
 just start anywhere. 
 
 Anywhere? Well, most of the comment doco are in the header files, so
 your best bet would be C<less lily/include/*.hh>. Some of the most
 important data-structures are to be found in:
 
-       - p-col.hh
        - *request.hh
        - engraver.hh
        - performer.hh
@@ -323,6 +329,7 @@ A: Your \score should include a \midi block, eg.
                        \output "myfile.mid";
                        \tempo 4=70;
                }
+       }
 
 The B<-M> option was added to LilyPond because processing the \paper
 block is so slow.
index 4d174f1e630f54d2602ad5ce23484cb54562c9d3..c3653bc51d487abb8490e349692ce238efb3a19d 100644 (file)
@@ -1,6 +1,6 @@
 =head1 NAME
 
-LilyGuts - doco to the internals of GNU LilyPond
+LilyPond internals - doco to the internals of GNU LilyPond
 
 =head1 DESCRIPTION
 
index f56947f09b90e8662408d7819c612055bc36079e..0757778d80af44387618db93da86c735efd115fe 100644 (file)
@@ -15,12 +15,8 @@ take out an old version of lilypond]
 
 =head1 Decisions (Sat 1997-3-15, dommelpijpje no21)
 
-
-
-
        \extract{ \from 2:3*4 \to 5 oboe }
 
-
 =head1 THOUGHTS
 
 =head2 Typing
index f735161a52e3d1508ed285d2a2b9d741fc96757c..20a0e0b436df64cc8052d85ca37660c0376420e7 100644 (file)
@@ -227,7 +227,7 @@ Lots of them.  See F<TODO> and F<BUGS>
 
 =over 4
 
-=item lilygut
+=item internals
 
 On technical details of LilyPond
 
index e6444f8ef5893150adfd8ac0d75b33dfd5c890da..80757ffed3074924aec66eb56020deaba87d4a6c 100644 (file)
@@ -88,7 +88,9 @@ mailing list have been setup:
 
 A moderated list for information on the GNU Music project, to
 subscribe: send mail with subject "subscribe" to
-info-gnu-music-request@gnu.org
+info-gnu-music-request@gnu.org.  As this list is moderated, normal
+people should ask to drl@gnu.org or hanwen@stack.nl to forward
+announces instead of sending it to info-gnu-music@gnu.org
 
 =item help-gnu-music@gnu.org
 
index 9e8f12f4b2882e5cf222d7e66e1381e3d85c43b2..4e6be197364723c3c056193dce2be79537181a5a 100644 (file)
@@ -29,10 +29,10 @@ Association of the United States Inc., 1993.
 Ted Ross. ``Teach yourself the art of music engraving and processing''
 (3rd edition). Hansen House, Miami Beach, FLorida.
 
-[This is about engraving, i.e. the real thing with metal plates.  It
-contains directions on good typesetting, but the sections reproduction
-technicalities and history are interesting.  Especially the section on
-Music Typewriters is amusing HWN]
+[This is about engraving, i.e.  professional typesetting.  It contains
+directions on good typesetting, but the sections on reproduction
+technicalities, how to use pens and history are interesting.
+Especially the section on Music Typewriters is amusing HWN]
 
 Gardner Read. ``Modern Rhythmic Notation.'' Indiana University Press,
 1978.
@@ -307,10 +307,6 @@ DARMS,
 
 enigma, 
 
-SCORE,
-
-
-
 =head1 AUTHORS
 
 References and comments contributed by Han-Wen Nienhuys (HWN), Miguel
diff --git a/Documentation/ly2dvi.pod b/Documentation/ly2dvi.pod
new file mode 100644 (file)
index 0000000..6a47673
--- /dev/null
@@ -0,0 +1,44 @@
+=head1 NAME
+
+ly2dvi - convert mudela to DVI
+
+=head1 SYNOPSIS
+
+       ly2dvi file[.ly]
+
+=head1 DESCRIPTION
+
+ly2dvi is a script that will setup LaTeX and TeX for you to ...
+
+=head1 OPTIONS
+
+=over 5
+
+=item B<--help>
+
+give help
+
+=item .....
+
+=back
+
+=head1 SOMETHING
+
+=head1 ENVIRONMENT
+
+=head1 FILES
+
+F</etc/papersize> contains ...
+
+=head1 SEE ALSO
+
+lilypond(1), 
+
+=head1 AUTHOR
+
+JAF
+
+=head1 BUGS
+
+Does not handle margins properly
+
index d1aad66d5cd207e7584c3eea224805347e7da413..7a4b44ac52b7806f9e84d641b5bd3d91f81f8f7e 100644 (file)
@@ -130,7 +130,18 @@ name.)
 
 =item Finale
 
-=item Score
+=item Score, http://www.ymusic.com/Score
+
+Werner Lemberg <sx0005@sx2.hrz.uni-dortmund.de>
+writes to me: I consider SCORE as the best program for
+typesetting classical music. [..]  the price is quite high (about US$
+1000) [..]  It has a graphical interface but to get all out of the
+program you have to learn a 400 page manual almost by heart because
+you'll change most features by inputting parameters (up to 20 for some
+items) on a command line. Expect three months to master SCORE :-)
+
+
+
 
 =item Personal Composer
 
@@ -152,10 +163,10 @@ Shareware.
 
 =item Amadeus, Jerker.Elsgard@abc.se
 
-Professional and expensive (DM 4000,--) engraving.  Designed as a
-batch program (like LilyPond).  It is aimed at publishers. Its history
-is more than fifteen years and Amadeus has been running under
-different Unix clones.  It uses MIDI-keyboard input
+Jerker Elsgard writes: professional and expensive (DM 4000,--)
+engraving.  Designed as a batch program (like LilyPond).  It is aimed
+at publishers. Its history is more than fifteen years and Amadeus has
+been running under different Unix clones.  It uses MIDI-keyboard input
 
 =back
 
diff --git a/Documentation/out/dummy.dep b/Documentation/out/dummy.dep
new file mode 100644 (file)
index 0000000..e69de29
index d0d7ea26261f6eb3b72b0e5d66e02cf7b5aa6162..53587f1d31430231c9baa7343b7b2c904b72a6fd 100644 (file)
@@ -61,7 +61,7 @@ R\bR\bR\bRE\bE\bE\bEC\bC\bC\bCO\bO\bO\bOM\bM\bM\bMM\bM\bM\bME\bE\bE\bEN\bN\bN\bND\bD\bD\bDE\bE\bE\bED\bD\bD\bD
 
 
 
-11/Jan/98                LilyPond 0.1.41                        1
+11/Jan/98                LilyPond 0.1.42                        1
 
 
 
@@ -127,7 +127,7 @@ C\bC\bC\bCO\bO\bO\bON\bN\bN\bNF\bF\bF\bFI\bI\bI\bIG\bG\bG\bGU\bU\bU\bUR\bR\bR\bRI\bI\bI\bIN\bN\bN\bNG\bG\bG\bG a\b
 
 
 
-11/Jan/98                LilyPond 0.1.41                        2
+11/Jan/98                LilyPond 0.1.42                        2
 
 
 
@@ -193,7 +193,7 @@ INSTALL(1)            LilyPond documentation           INSTALL(1)
 
 
 
-11/Jan/98                LilyPond 0.1.41                        3
+11/Jan/98                LilyPond 0.1.42                        3
 
 
 
@@ -259,7 +259,7 @@ E\bE\bE\bEX\bX\bX\bXA\bA\bA\bAM\bM\bM\bMP\bP\bP\bPL\bL\bL\bLE\bE\bE\bE
 
 
 
-11/Jan/98                LilyPond 0.1.41                        4
+11/Jan/98                LilyPond 0.1.42                        4
 
 
 
@@ -325,7 +325,7 @@ M\bM\bM\bMU\bU\bU\bUS\bS\bS\bSI\bI\bI\bIX\bX\bX\bXT\bT\bT\bTE\bE\bE\bEX\bX\bX\bX
 
 
 
-11/Jan/98                LilyPond 0.1.41                        5
+11/Jan/98                LilyPond 0.1.42                        5
 
 
 
@@ -391,6 +391,6 @@ A\bA\bA\bAU\bU\bU\bUT\bT\bT\bTH\bH\bH\bHO\bO\bO\bOR\bR\bR\bRS\bS\bS\bS
 
 
 
-11/Jan/98                LilyPond 0.1.41                        6
+11/Jan/98                LilyPond 0.1.42                        6
 
 
diff --git a/NEWS b/NEWS
index b00a6f01e37128a11be406571a2fe032633d7ab6..a9c9c7c770f6b49f89ae3c364f89d1075f1d066c 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,27 @@
+pl 42
+       - ly2dvi 0.5 (JAF)
+       - italian.ly (thanks, Paolo)
+       - bf: first \mudelapaper output (BS)
+       - bf: cathedral + bazaar URL (thanks, Barrie)
+       - bf: libc-extension.hh (AO)
+
+pl 41.jcn4
+       - plet brackets (always) in ps (only)
+       - Plet_spanner derives from bow
+       - bf: mf/Makefile: let %.tex %.ly depend on %.mf,
+         iso non-distributed %.log
+       - mi2mu mudela 0.1.8
+       - bit better plet number placement
+       - handier plet syntax: [2/3 c8 c c ]1/1 and \[2/3 c2 c c \]
+       - Plet_swallow_engraver for lyrics
+       - bit better plet number placement (NOT)
+       - new plet syntax: combined beam and plet open
+       - more standje.ly 
+       - new plet syntax: start: \plet2/3 stop: \telp1/1
+       - Plet_req, Plet_engraver; removed plet stuff from beam
+
+******
+jan 20
 pl 41
        - warn for score with multiple Music blocks
        - bf: \plet (MB)
diff --git a/TODO b/TODO
index f62af6ca905ef31f5153a3577a48817c8e6a523e..3219d2897dd744530d0bd4fc2a137b614379ad40 100644 (file)
--- a/TODO
+++ b/TODO
@@ -7,6 +7,12 @@ Most of the items are marked in the code as well, with full explanation.
 grep for TODO and ugh/ugr
 
 0.2:
+       * use kpsepath to find all TeX dirs
+       - configure.in 
+       - clean-fonts.sh
+       
+       * check for abs()
+
        * forced breakpoints
 
        * --metafont
@@ -28,6 +34,9 @@ grep for TODO and ugh/ugr
        * LILYSOURCEDIR
        
        * documentation
+       - info?
+       - LaTeX?
+       - more manpages?
 
        * naming Mozarella, Madeira, Muella?
 
@@ -37,6 +46,7 @@ grep for TODO and ugh/ugr
 
 STUFF
 
+
        * give Items/Spanners access to unbroken originals      
 
        * scoping for properties
@@ -169,6 +179,8 @@ languages:
        - text
        - slur start/end
 
+       * cautionary accidental
+
        * Output an output format independent (ofi) typeset file; and 
          make ofi2 TeX, MusixTex, Display PostScript, PostScript,
          Ascii... interpreters. (difficult)
diff --git a/VERSION b/VERSION
index 11280fe443032637a2848cec9cfe8a358e7fc375..5617d6b5ef193772f1706c8170c87777b3a0b99f 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,6 +1,6 @@
 TOPLEVEL_MAJOR_VERSION = 0
 TOPLEVEL_MINOR_VERSION = 1
-TOPLEVEL_PATCH_LEVEL = 41
+TOPLEVEL_PATCH_LEVEL = 42
 TOPLEVEL_MY_PATCH_LEVEL = 
 
 # use the above to send patches, always empty for released version:
index 3421ca41e8133144ff836bd1a2f9807d65acfd44..fc72545334403fa9cec5d540e7b70b37fa3dddb5 100644 (file)
@@ -7,10 +7,7 @@ case  $# in
     WHAT=$1;;
 esac
 
-if [ X$LILYPOND_SOURCEDIR = X ];
-then
-    LILYPOND_SOURCEDIR=..
-fi
+# should use kpsepath 
 
 if [ -d /var/lib/texmf ]; then
     TEXDIR=/var/lib/texmf
index 7c26746870d0c2641ba6720b5df605cae491937c..e10af3b07777d4ee4aef28f0b155abc1d594b434 100644 (file)
@@ -153,6 +153,12 @@ sub convert_0_1_6_to_0_1_7
     }
 }  
 
+sub convert_0_1_7_to_0_1_8
+{
+    s/\\plet *1 *\/ *1 *;/\\]/;    
+    s/\\plet *([1-9][0-9]*) *\/ *([2-9][0-9]*) *;/\\[$1\/$2/;    
+}  
+
 ###############################################################
 
 sub    last_conversion
@@ -200,6 +206,7 @@ my %minor_conversions = ("0.0.50" => \&no_conv,
                         "0.1.5" => \&convert_0_1_4_to_0_1_5,
                         "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
                         );
 
  
index 9468401c62549d881d416d08f2b7b11df9e6a742..9b69a21d80c91d008de426e264d116d9c2ec513e 100644 (file)
@@ -8,12 +8,58 @@
 #  Original LaTeX file made by Mats Bengtsson, 17/8 1997
 #
 
-VERSION="0.3.hwn1"
+VERSION="0.5"
 IDENTIFICATION="lytodvi.sh $VERSION" 
 NOW=`date`
 echo "$IDENTIFICATION" 1>&2
 
 # NEWS
+# 0.5.hwn1
+#      - do tee of output.
+# 0.5
+#      - More useful ("two-level") debug.
+#      - The Q&D hack to find file names and not handling \include
+#        is replaced by grabbing output file names from Lilypond.
+#      = Detects multiple output files - adds them when running
+#        LaTeX.
+#      - Works with multiple input files - no matter if they are
+#        (a mix of) input to or output from Lilypond.
+#
+#TODO
+#      - Still no margins handling.
+#      - We have to discuss how to handle multiple output files
+#        from Lilypond - 'ly2dvi standchen' gives a rather odd
+#        result....
+
+# 0.4.1
+#      - Always exit after printing help info
+# 0.4
+#      - Changes to ensure for more strict grep'ing of parameters
+#        Thanks to from G.B.Stott@bolton.ac.uk
+#      - More efficient use of sed -e 's///' -e 's///'
+#        Thanks to Johan Vromans <jvromans@squirrel.nl> and GBS
+#      - Ask tex for location of titledefs.tex (Thanks to JV)
+#      - Accept only exact match of "\def\mudelacomposer{"
+#        (or whatever mudela* defined in titledefs.tex)
+#      - Even more efficient use of sed (Thanks to JV)
+#      - Default file name for single output file implemented.
+#      - Moved help into function - finally included from 0.1.jcn1
+#
+#TODO
+#      - Still doesn't handle \include
+#      - The Q&D for finding output file name from the sequence of
+#        \paper \output \midi \output really needs to be looked at.
+#        I have improved it a lot, but it's only capable of finding
+#        one (the last) file name.
+#        Well, I have to rewrite this entirely to handle \include,
+#        then I can fix it.
+#      - Still no margins handling.
+#
+#WARNING
+#      - Some lines of output from lilypond do NOT start
+#        at first character position, therefore I have removed "^"
+#        in sed'ing and grep'ing.
+
 # 0.3.hwn1
 #      - add "Creator: " line to output
 #
@@ -48,23 +94,39 @@ echo "$IDENTIFICATION" 1>&2
 #      - moved help into function
 
 #
-# Exit value, when needed
+# print usage
 #
-EXIT=0
+help() {
+  cat << EOF
+Generate dvi file from mudela or lilypond output
+Usage: $0 [options] file[s]
+
+Options:
+  -D, --debug           set debug mode
+  -h, --help            this help text
+  -k, --keep            keep LaTeX file
+  -l, --language=       give LaTeX language (babel)
+  -p, --papersize=      give LaTeX papersize (eg. a4paper)
 
+  files may be (a mix of) input to or output from lilypond(1)
+EOF
+}
 #
 # Keywords defined in titledefs.tex
-#   Isn't there a way to ask LaTeX for the location of titledefs.tex?
 #
-TF=/usr/lib/texmf/tex/lilypond/titledefs.tex
+TF=`kpsewhich -n tex tex titledefs.tex`
+if [ -n $TF ]
+then
+  TF=/usr/lib/texmf/tex/lilypond/titledefs.tex
+fi
 MU_DEF=""
 if [ -f $TF ]
 then
   MU_DEF=`egrep "^.newcommand...mudela" $TF | \\
-    sed -e s/^.newcommand...//g | sed -e "s/\\}.*$//"`
+    sed -e 's/^.newcommand...//' -e 's/\\}.*$//'`
 fi
 
-if [ "$MU_DEF" = "" ]
+if [ -z "$MU_DEF" ]
 then
   MU_DEF="mudelatitle mudelasubtitle mudelacomposer \
           mudelaarranger mudelainstrument"
@@ -73,7 +135,6 @@ fi
 #
 # debugging
 #
-# debug_echo=echo
 debug_echo=true
 
 #
@@ -93,10 +154,15 @@ do
   $debug_echo "arg: \`$OPTARG'"
   case $O in
     D  )
-      set -x
+      if [ $debug_echo = echo ]
+      then
+        set -x
+      fi
+      debug_echo=echo
       ;;
     h  )
-      HELP=Y
+      help;
+      exit 0
       ;;
     k  )
       KEEP=Y
@@ -108,14 +174,16 @@ do
       PSZ=$OPTARG
       ;;
     \? )
-      HELP=Y
+      help;
+      exit -1
       ;;
     # a long option!
     -)
       $debug_echo "long option: \`$OPTARG'"
       case "$OPTARG" in
         h*|-h*)
-          HELP=Y
+          help;
+         exit 0
           ;;
         k*|-k*)
           KEEP=Y
@@ -127,12 +195,16 @@ do
           PSZ=`echo $OPTARG | sed -e s/"^.*="//`
           ;;
         D*|-D*)
-          set -x;
+          if [ $debug_echo = echo ]
+          then
+            set -x
+          fi
+          debug_echo=echo
           ;;
         *|-*)
           echo $0": illegal option -- "$OPTARG;
-          EXIT=-1;
-          HELP=Y
+          help;
+          exit -1
           ;;
       esac
   esac
@@ -141,269 +213,165 @@ shift `expr $OPTIND - 1`
 #
 # Input file name
 #
-if [ "$HELP" != "Y" ]
+if [ "$1" = "" ]
 then
-  if [ "$1" = "" ]
-  then
-    cat << EOF
-
-$0 - no input file name given
-EOF
-    EXIT=1
-    HELP=Y
-  fi
+  help
+  $debug_echo $IDENTIFICATION": No input file name given"
+  exit 1
 fi
-GF=$1
 #
-# Check if input file exists...
-#
-if [ "$HELP" != "Y" ]
-then
+for GF in $*
+do
+  #
+  # Check if input file exists...
+  #
   if [ ! -f $GF ]
   then
-    GF=$1.ly
+    GF=$GF.ly
     if [ ! -f $GF ]
     then
-      cat << EOF
-
-$0 - input file $GF not found
-EOF
-      EXIT=2
-      HELP=Y
+      $debug_echo $IDENTIFICATION": Input file "$GF" not found"
+      exit 2
     fi
   fi
-fi
-
-#
-# print usage
-#
-#help() {
-if [ "$HELP" = "Y" ]
-then
-  cat << EOF
-Generate dvi file from mudela or lilypond output
-Usage: $0 [options] file
-
-Options:
-  -D, --debug           set debug mode
-  -h, --help            this help text
-  -k, --keep            keep LaTeX file
-  -l, --language=       give LaTeX language (babel)
-  -p, --papersize=      give LaTeX papersize (eg. a4paper)
-
-  file may be input to or output from lilypond(1)
-EOF
-  exit $EXIT
-fi
-#}
-
-#
-# More files?
-#
-shift 1
-
-#
-# Check whether input file is the input to or output from lilypond
-#
-L1=`head -1 $GF` 
-OP=`echo $L1 | grep "^% Creator: GNU LilyPond"`
-if [ "$OP" != "" ]
-then
   #
-  # OK - it's the output from lilypond.
-  # Get lilypond source file name
+  # Check whether the file is input to or output from lilypond
   #
-  OF=$GF
-  IFL=`grep mudelafilename $OF`
-  if [ "$IFL" != "" ]
+  L1=`head -1 $GF` 
+  OP=`echo $L1 | grep "^% Creator: GNU LilyPond"`
+  if [ -n "$OP" ]
   then
-    IF=`echo $IFL | sed -e s/^.*{// | sed -e s/"}*.$"//`
     #
-    # Check if source file exists
+    # OK - it's the output from lilypond.
+    #
+    # Get lilypond source file name
     #
-    if [ ! -f $IF ]
+    OF=$GF
+    IFL=`grep mudelafilename $OF`
+    if [ "$IFL" != "" ]
     then
-      cat << EOF
-
-$0 - mudela file not found.
-
-EOF
+      IF=`echo $IFL | sed -e 's/.*{//' -e 's/}*.$//'`
+      #
+      # Check if source file exists
+      #
+      if [ ! -f $IF ]
+      then
+        $debug_echo $IDENTIFICATION": Mudela file not found."
+        TW=15.5cm
+      fi
+    else
+      $debug_echo $IDENTIFICATION": Mudela file name not found."
       TW=15.5cm
     fi
   else
-    cat << EOF
-
-$0 - mudela file name not found.
+    #
+    # I have to assume this is the lilypond input file
+    # Find output file name, if defined
+    #
+    IF=$GF
+    #
+    # Run lilypond
+    # Grab output file names
+    #
+    $debug_echo "lilypond "$IF
 
-EOF
-    TW=15.5cm
+    lilypond $IF 2>&1  | tee /tmp/lilylog.$$
+    OF=`cat /tmp/lilylog.$$| egrep '^TeX output to ' | \\
+        sed -e 's/TeX output to//' -e 's/\.\.\.//'`
+    $debug_echo "==> "$OF
   fi
-else
-  #
-  # I have to assume this is the lilypond input file
-  # Find output file name, if defined
-  #
-  IF=$GF
-  OFS=`egrep "paper|midi|output" $IF`
-  OF1=`echo $OFS | sed -e s/".midi.*$"// | sed -e s/"^.*paper"//`
-  if [ "$OF1" = "" ]
-  then
-    OF1=`echo $OFS | sed -e s/"^.*paper"// | sed -e s/".midi.*$"//`
-  fi
-  if [ "$OF1" = "" ]
-  then
-    OF=lelie.tex
-  else
-    OF2=`echo $OF1 | grep output`
-    if [ "$OF2" = "" ]
-    then
-      OF=lelie.tex
-    else
-      OF=`echo $OF2 | sed -e "s/\\";.*$//" | sed -e "s/^.*\\"//"`
-    fi
-    if [ "$OF2" = "" ]
-    then
-      OF=lelie.tex
-    fi
-  fi
-  #
-  # Remove the output file, to avoid being misled by an old one
-  #
-#  if [ -f $OF ]
-#  then
-#    rm $OF
-#  fi
-  #
-  # Run lilypond - exit if unsuccessfull
-  #
-  lilypond $IF || exit 3
   #
   # Check if output file is generated
   #
-  if [ ! -f $OF ]
-  then
-    cat << EOF
-
-$0 - hmm, I could not find the output file $OF
-
-EOF
-    exit 4
-  fi
-fi
-#
-# Find textwidth 
-#
-if [ "$IF" != "" ]
-then
-  if [ -f $IF ]
-  then
-    TWL=`grep linewidth $IF`
-    TWS=`echo $TWL | grep -v "^%"`
-    if [ "$TWS" != "" ]
+  for File in $OF
+  do
+    $debug_echo "--- "$File
+    if [ ! -f $File ]
     then
-      TW=`echo $TWS | sed -e s/^.*=//  | sed -e s/";.*$"// | \\
-          sed -e s/.mm/mm/ | sed -e s/.cm/cm/  | sed -e s/.p/p/`
-      case $TW in
-        *mm)
-          ;;
-        *cm)
-          ;;
-        *pt)
-          ;;
-        *)
-          TW=$TW"pt"
-          ;;
-      esac
-    else
-      TW=15.5cm
+      $debug_echo $IDENTIFICATION": hmm, I could not find the output file "$File
+      exit 4
     fi
-  fi
-fi
-#
-# LaTeX file name
-#
-if [ "$KEEP" != "Y" ]
-then
-  if [ "$TMP" = "" ]
-  then
-    TMP=/tmp
-  fi
-  if [ ! -d $TMP ]
-  then
-    cat << EOF
-
-$0 - temporary directory $TMP not found, set to /tmp
-
-EOF
-    TMP=/tmp
-  fi
-#
-  BN=`basename $OF .tex`
-  FN=$BN.$$
-  LF=$TMP/$FN.tex
-else
-  BN=`basename $OF .tex`
-  FN=$BN.$$
-  LF=$FN.tex
-fi
-#
-# Find if a paper size is defined
-#
-if [ "$PSZ" = "" ]
-then
-  PSZ=`egrep ".def.mudelapapersize" $OF | \\
-        sed -e s/.def.mudelapapersize//  | \\
-        sed -e s/^{// | sed -e s/}.*$//`
-fi
-
-if [ "$PSZ" != "" ]
-then
-  PAPER="["$PSZ"]"
-fi
-
-#
-# Find if a language is defined
-#
-if [ "$LNG" = "" ]
-then
-  LNG=`egrep ".def.mudelalanguage" $OF | \\
-        sed -e s/.def.mudelalanguage//  | \\
-        sed -e s/^{// | sed -e s/}.*$//`
-fi
-if [ "$LNG" != "" ]
-then
-  LLNG="\usepackage["$LNG"]{babel}"
-else
-  LLNG="%"
-fi
-
-#
-# Find if a textwidth is defined
-#
-TWN=`egrep ".def.mudelapaperlinewidth" $OF | \\
-        sed -e s/.def.mudelapaperlinewidth//  | \\
-        sed -e s/^{// | sed -e s/}.*$//`
-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
+    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
 
@@ -418,28 +386,31 @@ $LLNG
 \input titledefs
 \begin{document}
 EOF
-#
-# Include \def\mudela-definitions
-#
-for L in $MU_DEF
-do
-  LL=`grep ".def."$L $OF`
-  if [ "$LL" != "" ]
-  then
-    LLL=`echo $LL | sed -e s/^.def.$L// | \\
-         sed -e s/^{// | sed -e s/}.*$//`
-    if [ "$LLL" != "" ]
-    then
-      echo '\'$L'{'$LLL'}%'                                    >> $LF
-    fi
-  fi
-done
-#
-cat << EOF >> $LF
+      #
+      # 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
-\input{$OF}
 EOF
-for EX in $*; do echo "\input{"$EX"}%" >> $LF; done
+    fi
+    cat << EOF >> $LF
+\input{$File}
+EOF
+  done
+done
 cat << EOF >> $LF
 \vfill\hfill{(\LilyIdString)}
 \end{document}
@@ -448,14 +419,6 @@ EOF
 # Run LaTeX
 #
 latex $LF || exit 5
-#latex $LF
-cat << EOF
-
-
-Take care - LaTeX exit value check temporarily omitted!
-
-
-EOF
 #
 # Rename dvi file
 #
@@ -475,7 +438,7 @@ fi
 #
 cat << EOF
 
-$0 - dvi file name is $BN.dvi
+$IDENTIFICATION: dvi file name is $BN.dvi
 
 EOF
 # OK - finished
index e0f8480ac123a083c79eef264cb7efdb20b3af0c..8effeebe407a3e045599235e96ab6806b4bf012d 100644 (file)
@@ -80,21 +80,22 @@ def my_system(cmds):
 base="lilypond/";
 
 examples=["twinkle-pop", 
-                "wtk1-fugue2",
-                "standchen-16", 
-                "standchen-20", 
-                "wtk1-prelude1",
-                "toccata-fuga-E", 
-                "scsii-menuetto",
-                "cadenza", 
-                "gallina",
-                "twinkle", 
-                "collisions",
-                "font16",
-                "font20",
-                #"scales", 
-                "rhythm", 
-                "multi"]
+         "wtk1-fugue2",
+         "standchen-16", 
+         "standchen-20", 
+         "standje",
+         "wtk1-prelude1",
+         "toccata-fuga-E", 
+         "scsii-menuetto",
+         "cadenza", 
+         "gallina",
+         "twinkle", 
+         "collisions",
+         "font16",
+         "font20",
+         #"scales", 
+         "rhythm", 
+         "multi"]
 
 def gen_html():
     print 'generating HTML'
diff --git a/bin/out/dummy.dep b/bin/out/dummy.dep
new file mode 100644 (file)
index 0000000..e69de29
index 5468633cf782e4479e2a0a48a0b156293cffee06..e572af795433ff55f004f69d4651dd4bd138d547 100644 (file)
@@ -3,7 +3,6 @@
        * Unicode support in strings
 
        * write a decent Dictionary
-       - write a String_hash template
        - write a Pointer_hash template
 
        * Array::slice() upper too
index 11bb27329bbba3ca0590e00fef7fdf37aadf7495..87af9f9f7ae2ede0fefb692f4dd715a6c01e689e 100644 (file)
 #include "string.hh"
 #include "assoc.hh"
 
+/**
+  UGH:  write a String_hash template, 
+
+  SEE:
+  
+       #include <search.h>
+
+       ENTRY *hsearch(ENTRY item, ACTION action);
+
+       int     hcreate (unsigned nel);
+
+       void    hdestroy (void);
+
+  (should be frobnified to allow multiple hashes)
+ */
 template<class T>
 class Dictionary : public Assoc<String, T>
 {
index 3f94a03a0e40aca04a242ad663b0929e2e59f127..975950d4bb659216367e7544b30d5684831c1c9e 100644 (file)
@@ -16,7 +16,7 @@ char* strnlwr (char* start_l ,int n);
 char* strnupr (char* start_l, int n);
 
 #if !HAVE_MEMMEM               // GNU extension.
-char *memmem (Byte const * haystack, int haystack_len,
+Byte *memmem (Byte const * haystack, int haystack_len,
             Byte const *needle, int needle_len);
 #endif HAVE_MEMMEM
 
diff --git a/flower/include/out/dummy.dep b/flower/include/out/dummy.dep
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/flower/out/dummy.dep b/flower/out/dummy.dep
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/flower/test/out/dummy.dep b/flower/test/out/dummy.dep
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/init/english.ly b/init/english.ly
deleted file mode 100644 (file)
index d876d29..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-
-%
-% f = flat, s = sharp.
-%
-english_names = notenames {
-       "cff" 0 -2 "cf" 0 -1    "c" 0 0         "cs" 0 1 "css" 0 2
-       "dff" 1 -2 "df" 1 -1    "d" 1 0         "ds" 1 1 "dss" 1 2
-       "eff" 2 -2 "ef" 2 -1    "e" 2 0         "es" 2 1 "ess" 2 2
-       "fff" 3 -2 "ff" 3 -1    "f" 3 0         "fs" 3 1 "fss" 3 2
-       "gff" 4 -2 "gf" 4 -1    "g" 4 0         "gs" 4 1 "gss" 4 2
-       "aff" 5 -2 "af" 5 -1    "a" 5 0         "as" 5 1 "ass" 5 2
-       "bff" 6 -2 "bf" 6 -1    "b" 6 0         "bs" 6 1 "bss" 6 2
-}
index e8869c0de93cd3740fd23cfb30ad638bf152668f..7553bd0cdefddf391db41386eb63cad4d2a0a701 100644 (file)
@@ -29,6 +29,7 @@ Voice = \translator {
        \consists "Script_engraver";
        \consists "Rhythmic_column_engraver";
        \consists "Slur_engraver";
+       \consists "Plet_engraver";
        \accepts "Thread";
 }
 
@@ -68,6 +69,7 @@ Lyric_voice =
        \consists "Lyric_engraver";
        \consists "Line_group_engraver";
        \consists "Beam_req_swallow_translator";
+       \consists "Plet_swallow_engraver";
 }
 
 Lyrics = \translator {
index dcf020e14576bd1c780127b938aa2f9876590c7f..b11fd20be05374713d88622e891dab775bc765f3 100644 (file)
@@ -4,10 +4,10 @@
 % input from out/feta20.log
 % name=\symboltables {
     "rests"     = \table {
-        "0"    "\\wholerest"   -0.00\pt        7.50\pt -3.12\pt        0.00\pt 
-        "1"    "\\halfrest"    -0.00\pt        7.50\pt -0.00\pt        3.12\pt 
-        "0o"   "\\outsidewholerest"    -3.12\pt        10.62\pt        -3.12\pt        0.50\pt 
-        "1o"   "\\outsidehalfrest"     -3.12\pt        10.62\pt        -0.50\pt        3.12\pt 
+        "0"    "\\wholerest"   -0.00\pt        7.50\pt -3.13\pt        0.00\pt 
+        "1"    "\\halfrest"    -0.00\pt        7.50\pt -0.00\pt        3.13\pt 
+        "0o"   "\\outsidewholerest"    -3.13\pt        10.62\pt        -3.13\pt        0.50\pt 
+        "1o"   "\\outsidehalfrest"     -3.13\pt        10.62\pt        -0.50\pt        3.13\pt 
         "2"    "\\quartrest"   -0.00\pt        5.40\pt 3.75\pt 18.00\pt        
         "3"    "\\eighthrest"  -0.00\pt        6.67\pt 5.00\pt 14.21\pt        
         "4"    "\\sixteenthrest"       -0.00\pt        7.76\pt -0.00\pt        14.21\pt        
@@ -23,7 +23,7 @@
         "2"    "\\sharpsharp"  -0.00\pt        5.00\pt -2.50\pt        2.50\pt 
         }
     "dots"      = \table {
-        "dot"  "\\dot" -0.00\pt        2.25\pt -1.12\pt        1.12\pt 
+        "dot"  "\\dot" -0.00\pt        2.25\pt -1.13\pt        1.13\pt 
         "repeatcolon"  "\\repeatcolon" -0.00\pt        2.25\pt -2.50\pt        2.50\pt 
         }
     "balls"     = \table {
diff --git a/init/italian.ly b/init/italian.ly
new file mode 100644 (file)
index 0000000..dd807ab
--- /dev/null
@@ -0,0 +1,49 @@
+%{
+ Common italian names for notes. "b" means flat (bemolle), "d" means sharp (diesis)
+ Adapted from dutch.ly.
+
+ English: a   b   c   d   e   f   g
+ Italian: la  si  do  re  mi  fa  sol
+
+ For french naming just change 'do' in 'ut'.
+%}
+
+% contributed by Paolo Zuliani <zuliap@easynet.it>
+
+\notenames {
+       dobb    = \melodic_request { -1 0 -2 }
+       dob     = \melodic_request { -1 0 -1 }
+       do              = \melodic_request { -1 0 0 }
+       dod     = \melodic_request { -1 0 1 }
+       dodd    = \melodic_request { -1 0 2 }
+       rebb    = \melodic_request { -1 1 -2 }
+       reb     = \melodic_request { -1 1 -1 }
+       re              = \melodic_request { -1 1 0 }
+       red     = \melodic_request { -1 1 1 }
+       redd    = \melodic_request { -1 1 2 }
+       mibb    = \melodic_request { -1 2 -2 }
+       mib             = \melodic_request { -1 2 -1 }
+       mi              = \melodic_request { -1 2 0 }
+       mid     = \melodic_request { -1 2 1 }
+       midd    = \melodic_request { -1 2 2 }
+       fabb    = \melodic_request { -1 3 -2 }
+       fab     = \melodic_request { -1 3 -1 }
+       fa              = \melodic_request { -1 3 0 }
+       fad     = \melodic_request { -1 3 1 }
+       fadd    = \melodic_request { -1 3 2 }
+       solbb   = \melodic_request { -1 4 -2 }
+       solb    = \melodic_request { -1 4 -1 }
+       sol     = \melodic_request { -1 4 0 }
+       sold    = \melodic_request { -1 4 1 }
+       soldd   = \melodic_request { -1 4 2 }
+       labb    = \melodic_request { -1 5 -2 }
+       lab     = \melodic_request { -1 5 -1 }
+       la              = \melodic_request { -1 5 0 }
+       lad     = \melodic_request { -1 5 1 }
+       ladd    = \melodic_request { -1 5 2 }
+       sibb    = \melodic_request { -1 6 -2 }
+       sib     = \melodic_request { -1 6 -1 }
+       si              = \melodic_request { -1 6 0 }
+       sid     = \melodic_request { -1 6 1 }
+       sidd    = \melodic_request { -1 6 2 }
+}
index 8b19863c64e07d670e62f3eb3ee7aebc8a7308cf..97c252cbd925a42dfa25e6770c03f2a9fe20c88b 100644 (file)
@@ -1,6 +1,6 @@
 % Toplevel initialisation file. 
        
-\version "0.1.7";
+\version "0.1.8";
   
 breve = \duration { -1 0 }
 longa = \duration { -2 0 }
diff --git a/init/out/dummy.dep b/init/out/dummy.dep
new file mode 100644 (file)
index 0000000..e69de29
index b641adb469482a77cc21fe79007ce268a2f1d83e..73f43265040523c48998b70c98b6fd7b00926bd1 100644 (file)
@@ -12,6 +12,7 @@ table_twenty =
     % index TeXstring,         xmin xmax ymin ymax
 
      "style" = \table {
+               "bold"  "\setbold{%}"   0.0\pt  7.50\pt 0.0\pt  8.0\pt
                "roman" "\settext{%}"   0.0\pt  7.5\pt  0.0\pt  10.0\pt
                "italic"        "\setitalic{%}" 0.0\pt  0.0\pt  0.0\pt  10.0\pt
                "dynamic"       "\setdynamic{%}"        0.0\pt  0.0\pt  0.0\pt  10.0\pt
@@ -19,7 +20,6 @@ table_twenty =
      }
 
      "dynamics" = \table {
-
        "mf" "\dynmf"
        "fff" "\dynfff"
        "ff" "\dynff"
@@ -31,7 +31,6 @@ table_twenty =
        "fp" "\dynfp"
        "sf" "\dynsf"
        "sfz" "\dynsfz"
-
        }
      "align" = \table {
                "-1"    "\leftalign{%}"
index 64db731f8ee575d73c0a10fda9e7a97071396c07..e821fb164bed6d4ef45670f5ecf29fc97374e4e5 100644 (file)
@@ -7,7 +7,7 @@ copyright =      "PD";
 
 TestedFeatures =        "beams and beamflags";
 }
-\version "0.1.7";
+\version "0.1.8";
 
 \score{
        \melodic { \multi 3 < 
index 1b46d347408ad6ef1f657dde46b980d8d26955a5..a4e49199f6eb8ed1af2860556862848403d7b245 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.7";
+\version "0.1.8";
 
 
 cad = \melodic  {
index cf6c5ad39db9eedf0a24700a54f57b339941fc62..ac8d5db146d2f44b95bcdf71d0f0c180d192c2f1 100644 (file)
@@ -5,7 +5,7 @@ enteredby =      "HWN,JCN";
 copyright =     "public domain";
 Tested =        "test the Collision resolution ";
 }
-\version "0.1.7";
+\version "0.1.8";
 
 
 
index 9585e1fb7d5fb3c46100bc671586fd7f2a2642db..317c4e9953206d2eda212af8558a1a9bccad9a0c 100644 (file)
@@ -16,7 +16,7 @@ TestedFeatures:
 % (maybe even sooner :-)
 %
 
-\version "0.1.7";
+\version "0.1.8";
 
 alto1 = \melodic{
        \meter 4/4; 
index cfb563d364236be8f74ed2fb9fa9e865c468d35a..a7dd41d9647e09a09cc729b4986ca50cbaf34a41 100644 (file)
@@ -1,4 +1,4 @@
-\version "0.1.7";
+\version "0.1.8";
 FontBody=      \melodic{ 
                \octave c';
                \bar "|:";
index 7ec3ada7238a2fd966da20d07c414f6a6d674aae..c683dc73627df09497f56fe64ee003c12c3e4de1 100644 (file)
@@ -7,9 +7,9 @@ description = "This file tests the Feta music font";
 % "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "0.1.7";
+\version "0.1.8";
 
-\include "font-body.ly";
+\include "font-body.ly"
 \score{
        \paper{ 
            % don't change this.
index 42b4cfe103541f5f95dc7e7ad72f519e2dac9bbf..d836e27edb6b6315677435c93068b25eeb031704 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.7";
+\version "0.1.8";
 \include "font-body.ly"
 
 \score{
index 4f47a5cf1c69f4091d86b93a9519c06b0d8f8ca9..a45ce1d52ff29412e5a13c949aab8aa9ef6f5639 100644 (file)
@@ -38,7 +38,7 @@ part of the basso continuo --HWN
 
 %} 
 
-\version "0.1.7";
+\version "0.1.8";
 
 vi1=\melodic{
   \meter 4/4;
index 70569448a880c69aefed81d56be68e1a048977e7..26542f3b700120a3a934c0ad96654780d1bfe093 100644 (file)
@@ -1,50 +1,10 @@
-\header{
-enteredby      jcn
-copyright      PD
-TestedFeatures  This file tests some nasty Gourlay spacings
-}
-
-\version "0.1.6";
-
-\score{
-% huh?
-%      \multi 2 \melodic < \octave c'';
-       \melodic \multi 2 < \octave c'';
-               { \stemup; d2 d     | d d | d4 d2. | }
-               \octave c';
-               % huh, plet broken?
-%              { \stemdown; g4 g g g | \plet 2/3; g2 g2 g2 \plet 1/1; | g4. g8 g2 | }
-               { \stemdown; g4 g g g | g2*2/3 g2*2/3 g2*2/3 | g4. g8 g2 | }
-               >
-       \paper{
-           linewidth = 20.\cm;
-       }
-}
-
-\score{
-% huh?
-%      \multi 2 \melodic < \octave c'';
-       \melodic \multi 2 < \octave c'';
-               { \stemup; d2 d     | d d | d4 d2. | }
-               \octave c';
-               % huh, plet broken?
-%              { \stemdown; g4 g g g | \plet 2/3; g2 g2 g2 \plet 1/1; | g4. g8 g2 | }
-               { \stemdown; g4 g g g | g2*2/3 g2*2/3 g2*2/3 | g4. g8 g2 | }
-               >
-       \paper{
-           linewidth = 4.\cm;
-           \output "lelie1.tex";
-       }
-
-}
-
 \header{
 enteredby =     "jcn";
 copyright =     "PD";
 TestedFeatures =        "This file tests some nasty Gourlay spacings";
 }
 
-\version "0.1.7";
+\version "0.1.8";
 
 %{
 
@@ -56,9 +16,7 @@ This is taken from [Gourlay]'s paper on breaking lines
        \melodic \multi 2 < \octave c'';
                { \stemup; d2 d     | d d | d4 d2. | }
                \octave c';
-               % huh, plet broken?
-%              { \stemdown; g4 g g g | \plet 2/3; g2 g2 g2 \plet 1/1; | g4. g8 g2 | }
-               { \stemdown; g4 g g g | g2*2/3 g2*2/3 g2*2/3 | g4. g8 g2 | }
+              { \stemdown; g4 g g g | \[2/3 g2 g2 g2 \] | g4. g8 g2 | }
                >
        \paper{
            linewidth = 4.\cm;
index 05ec062c27b545543883bab011c377a22fcc261e..67ee8f5a91b8aa10f8dc4e02dde2a879f09f9700 100644 (file)
@@ -1,4 +1,4 @@
-\version "0.1.7";
+\version "0.1.8";
 
 
 blah = \melodic{
index b3707432802e59ed96b5341847ef0a626ce0c96a..25ed78778436ac91303bc754af4acff3dd66a5a5 100644 (file)
@@ -11,7 +11,7 @@ copyright =    "public domain";
 Tested Features: example file with comments
 
 %}
-\version "0.1.7";
+\version "0.1.8";
 
 
 % the % is a comment.
index d63ddb0ab52c41b5f74fe8d6dbee3b1abe437349..0d8a890cca033fa5c20d0ba71b4bbd02e5fabc7e 100644 (file)
@@ -10,7 +10,7 @@ Tested Features: \multi
 %}
 
 
-\version "0.1.7";
+\version "0.1.8";
 
 \score{
        \melodic 
diff --git a/input/out/dummy.dep b/input/out/dummy.dep
new file mode 100644 (file)
index 0000000..e69de29
index 33c736c3e835d69249ee931d634b37953f9b3b6c..d2a9c01c2a20b8122fe9b9a869054235e80eb99d 100644 (file)
@@ -24,7 +24,7 @@
 % \lbheel \lbheel \lfheel \lftoe
 % \rbheel \rbtoe \rfheel \rftoe
 
-\version "0.1.7";
+\version "0.1.8";
 
 \score{
                \melodic {
index 8b6ecb031a5104e708c7d95890df04296d1de92e..11569bf0f140dccab510806b9d298ab969502718 100644 (file)
@@ -7,7 +7,7 @@ TestedFeatures =         "multiple meters, beaming, unsynced bars, userdefd engravers";
 
 
 
-\version "0.1.7";
+\version "0.1.8";
 
 ritme = \melodic{ %\octave ;
        \partial 8;
index a6b2b48367fdf7408b682684488e28de32c79703..3e715106f91fe67a3ff8e5693c02e999802d18bc 100644 (file)
@@ -12,7 +12,7 @@ copyright =    "public domain";
 % scales with accents.
 %
 
-\version "0.1.7";
+\version "0.1.8";
 blah =         \melodic {
                \meter 6/8;     
                \octave  'c ;
index ad6503efb70c53ef8bc9d8d6bc5ca676ddc9f727..7198bc1b83bba16e8f0dc02bcf88e806d0ced6bb 100644 (file)
@@ -1,5 +1,5 @@
        
-\version "0.1.7";
+\version "0.1.8";
 
 
 blah =         \melodic {
index 363390eb8c4060d2698b7117f05ce3829b04f915..91c488de41f4e86fd09347bfaf88030aed56c8a8 100644 (file)
@@ -15,7 +15,7 @@ copyright =    "public domain";
  Tested Features:breaking algorithm, chords, multivoice, accents
 %}
 
-\version "0.1.7";
+\version "0.1.8";
 
 %% Stuff from MPP version
 % \lefttitle{Menuetto}
index bcb6e45846f080e25b3db265ab5d156d379a3560..d6e30d3b2ff7a67d678ae74423018abfd99c6bd1 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.7";
+\version "0.1.8";
 
 shortlong = \melodic{
        c4()c( c c  |
index caf87a3f4c1b4271146fcd5218427a5baeb155b2..ef66c1e9e8fe22cc1181a6054bdf42ce1aaa6693 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "0.1.7";
+\version "0.1.8";
 
 \score{
        \melodic{\octave c';
index 10bb206640a726013553b73f7a77dd8a251bd7b0..f92428fbcfaf42c7b7e06fd23c0645982d116178 100644 (file)
@@ -6,7 +6,7 @@ copyright =      "public domain";
 TestedFeatures =        "This file tests various spacings";
 }
 
-\version "0.1.7";
+\version "0.1.8";
 
 multipart = \melodic{ 
     \multi 3 < 
index d8966dfbde1151f3b12ecf82cbcc1bf008d6b074..8c0bda8e20417c0835e116f2948d0186640b6e5f 100644 (file)
@@ -9,6 +9,6 @@ description = "A schubert song in 16 pt";
 copyright =     "public domain";
 } 
 
-\version "0.1.7";
+\version "0.1.8";
 
 \include "standchen.ly"
index ba4a3a043a6f1bbc0808e710764a0e75995f8c3a..0f9dbee368d2865d3416627477e22fe54c457689 100644 (file)
@@ -8,7 +8,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 description = "A schubert song in 20 pt";
 } 
-\version "0.1.7";
+\version "0.1.8";
 
 % fool make-website
 % \include "standchen.ly";
index 04cbe817cb02c470b56247ecb57fd284f1e1d1f7..73792caa2d4b0d3d1e99c58193c68981ff9b2ea5 100644 (file)
@@ -14,7 +14,7 @@ multiple \paper{}s in one \score
 %}
 
 \include "paper20.ly"
-\version "0.1.7";
+\version "0.1.8";
 
 commands = \melodic{
        \skip 2.*4;
@@ -54,9 +54,8 @@ melodie = \melodic{
 %%8
        f2 r4 |
 %%9
-
        < { a'4.()  g' [2/3 g'( f' )e' ]1/1 }
-       { cis'4. e'_"dolce" \plet 2/3; e' \plet 1/1; } > |
+       { cis'4. e'_"dolce" \[2/3 e' \] } > |
 %%10
        < f'2. d'2. > |
 %%11
@@ -68,10 +67,7 @@ melodie = \melodic{
 %%14
        a2 r 
        < { d'()  c'4. g [2/3 bes a g ]1/1 }
-       { f \p ()  e4._"dolce" bes 
-               \plet 2/3; g
-               \plet 1/1; 
-       } > |
+       { f \p ()  e4._"dolce" bes \[2/3 g \] } > |
 %%16
        < a2. f2. > |
 %%17
@@ -351,16 +347,16 @@ tekstI = \lyric{
        _ _ _
        _ _ _
 % 5
-       [2/3 Lei- se8 ]1/1 fleh-4. en8 
-       [2/3 mei- ne8 ]1/1 Lie- der8 _8
-       Durch4. die8 [2/3 Nacht zu8 ]1/1 
+       \[2/3 Lei- se8 \] fleh-4. en8 
+       \[2/3 mei- ne8 \] Lie- der8 _8
+       Durch4. die8 \[2/3 Nacht zu8 \] 
        dir;2 _    
        _ _ _ 
        _ _ _
 % 11
-       [2/3 In den8 ]1/1 stil-4. len8 
-       [2/3 Hain her-8 ]1/1 nie-4. der,8
-       Lieb4. chen,8 [2/3 komm zu8 ]1/1 
+       \[2/3 In den8 \] stil-4. len8 
+       \[2/3 Hain her-8 \] nie-4. der,8
+       Lieb4. chen,8 \[2/3 komm zu8 \] 
        mir!2 _
        _ _ _ 
        _ _ _
@@ -368,7 +364,7 @@ tekstI = \lyric{
 % 17
        Fl\"us-8. ternd16 schlan-4. ke8 
        Wip-8. fel16 rau-4. schen8
-       [2/3 In des8 ]1/1 Mon-4. des8 
+       \[2/3 In des8 \] Mon-4. des8 
        Licht;2.
        _ _ _ 
        _ _ _
@@ -376,7 +372,7 @@ tekstI = \lyric{
 % 23
        Des8. Ver-16 r\"a-4. ters8 
        feind-8. lich16 Lau-4. schen8
-       [2/3 F\"urch- te,8 ]1/1 Hol-4. de,8 
+       \[2/3 F\"urch- te,8 \] Hol-4. de,8 
        nicht.2.
        _ _ _ 
        _ _ _
@@ -396,7 +392,7 @@ tekstI = \lyric{
        mich!2 _
        Be-8. bend16 harr' ich8 _8
        dir8. ent-16 ge- gen!8 _8
-       [2/3 Komm, be-8 ]1/1 gl\"u4. cke8 
+       \[2/3 Komm, be-8 \] gl\"u4. cke8 
        mich!2.
        _ _ _ _ _ _
 % 47
@@ -418,17 +414,17 @@ tekstII = \lyric{
        _ _ _
        _ _ _
 % 5
-       [2/3 H\"orst die8 ]1/1 Nach-4. ti-8 
-       [2/3 gal- len8 ]1/1 schla- gen?8 _8
-       Ach!4. sie8 [2/3 fleh- en8 ]1/1 
+       \[2/3 H\"orst die8 \] Nach-4. ti-8 
+       \[2/3 gal- len8 \] schla- gen?8 _8
+       Ach!4. sie8 \[2/3 fleh- en8 \] 
        dich,2 _
        _ _ _ 
        _ _ _
 
 % 11
-       [2/3 Mit der8 ]1/1 T\"o-4. ne8
-       [2/3 s\"u\ss- en8 ]1/1 Kla-4. gen8
-       Fleh-4. en8 [2/3 sie f\"ur8 ]1/1
+       \[2/3 Mit der8 \] T\"o-4. ne8
+       \[2/3 s\"u\ss- en8 \] Kla-4. gen8
+       Fleh-4. en8 \[2/3 sie f\"ur8 \]
        mich.2 _
        _ _ _ 
        _ _ _
@@ -436,7 +432,7 @@ tekstII = \lyric{
 % 17
        Sie-8. ver-16 stehn4. des8
        Bus-8. ens16 Seh-4. nen,8
-       [2/3 Ken- nen8 ]1/1 Lieb-4. es-8 
+       \[2/3 Ken- nen8 \] Lieb-4. es-8 
        schmerz,2.
        _ _ _ 
        _ _ _
@@ -444,7 +440,7 @@ tekstII = \lyric{
 % 23
        R\"uh-8. ren16 mit4. den8 
        Sil-8. ber-16 t\"o-4. nen8
-       [2/3 Jed- es8 ]1/1 wei-4. che8 
+       \[2/3 Jed- es8 \] wei-4. che8 
        Herz.2.
        _ _ _ 
        _ _ _
index 5d3481ece6afd88c8db042b31ccdd170baa41d8a..e6d29fd9943d268af93e10e1e17a4e1433694943 100644 (file)
@@ -1,5 +1,5 @@
 \header{
-filename =      "standchen.ly";
+filename =      "standje.ly";
 title =         "St\"andchen (Serenade) \"Leise flehen meine Lieder\"";
 opus =  "D. 957 No. 4";
 composer =      "Franz Schubert (1797-1828)"
@@ -9,49 +9,45 @@ copyright =    "public domain";
 } 
 
 %{
- Tested Features: multivoice, accents, lyrics, chords, piano music,
+ Tested Features@ multivoice, accents, lyrics, chords, piano music,
 multiple \paper{}s in one \score 
 %}
 
-\version "0.1.7";
+\version "0.1.8";
 
 $vocal_verse1 = \melodic{
        \octave c';
        % ugh: treble/bass
 %      \clef treble;
        \clef violin;
-       % ugh: '3' of plet should hang over middle note
-       % ugh: barcheck fails if i write 'g8' below:
-%      [2/3 g8( )as]1/1 \plet 2/3; g8 \plet 1/1; c'4. g8 |
-       % anyway, for typping this plet stuff sucks
-       [2/3 g8( )as]1/1 \plet 2/3; g \plet 1/1; c'4. g8 |
-       [2/3 f8( )g]1/1 \plet 2/3; f \plet 1/1; c'4 f8 r |
-       g4.-> f8 [2/3 f( )es]1/1 \plet 2/3; d \plet 1/1; |
+       [2/3 g8( )as] g \] c'4. g8 |
+       [2/3 f8( )g] f \] c'4 f8 r |
+       g4.-> f8 [2/3 f( )es] d \] |
        es2 r4 |
        % ugh: a whole should be a measure
        %r1 |
        r2. |
        r2. |
-       [2/3 g8( )as]1/1 \plet 2/3; g \plet 1/1; es'4. g8 |
-       [2/3 f8( )g]1/1 \plet 2/3; f \plet 1/1; d'4. c'8 |
-       bes4. as8 [2/3 as( )g]1/1 \plet 2/3; f \plet 1/1; |
+       [2/3 g8( )as] g \] es'4. g8 |
+       [2/3 f8( )g] f \] d'4. c'8 |
+       bes4. as8 [2/3 as( )g] f \] |
        g2 r4 |
        r2. |
        r2. |
        g8. b16 es'4. d'8 |
        c'8. g16 es4. c8 |
-       %  [as32\grace( bes32\grace] )
-       [2/3 as8( )g]1/1 \plet 2/3; as \plet 1/1; c'4. as8 |
+       % [as3 2\grace( bes3 2\grace] )
+       [2/3 as8( )g] as \] c'4. as8 |
        g2. |
-       %[f32\grace( g] )
-       [2/3 f8( )e]1/1 \plet 2/3; f \plet 1/1; as4. f8 |
+       %[f3 2\grace( g] )
+       [2/3 f8( )e] f \] as4. f8 |
        es!2. |
        g8. b16 es'4. d'8 |
        c'8. g16 e4. c8 |
-       % [a32\grace b] )
-       [2/3 a!8( ) gis]1/1 \plet 2/3; a \plet 1/1; c'4. a8 |
+       % [a3 2\grace b] )
+       [2/3 a!8( ) gis] a \] c'4. a8 |
        g!2. |
-       [2/3 d'8\f cis']1/1 \plet 2/3; d \plet 1/1; f'4. b8 |
+       [2/3 d'8\f cis'] d \] f'4. b8 |
        c'2. |
        r2. |
        r2. |
@@ -59,32 +55,32 @@ $vocal_verse1 = \melodic{
 
 $lyric_verse1 = \lyric{
 % 5
-       [2/3 Lei-4 se8 ]1/1 fleh-4. en8  |
-       [2/3 mei-4 ne8 ]1/1 Lie-4 der8 _8 |
-       Durch4. die8 [2/3 Nacht4 zu8 ]1/1  |
+       \[2/3 Lei-4 se8 \] fleh-4. en8 |
+       \[2/3 mei-4 ne8 \] Lie-4 der8 _8 |
+       Durch4. die8 \[2/3 Nacht4 zu8 \] |
        dir;2 _4 |
        _4 _ _ |
        _ _ _ |
 % 11
-       [2/3 In4 den8 ]1/1 stil-4. len8 |
-       [2/3 Hainr4 her-8 ]1/1 nie-4. der,8 |
-       Lieb4. chen,8 [2/3 komm4 zu8 ]1/1 |
+       \[2/3 In4 den8 \] stil-4. len8 |
+       \[2/3 Hainr4 her-8 \] nie-4. der,8 |
+       Lieb4. chen,8 \[2/3 komm4 zu8 \] |
        mir!2 _4 |
-       _4 _ _  |
+       _4 _ _ |
        _ _ _ |
 % 17
        Fl\"us-8. ternd16 schlan-4. ke8 |
        Wip-8. fel16 rau-4. schen8 |
-       [2/3 In4 des8 ]1/1 Mon-4. des8 |
+       \[2/3 In4 des8 \] Mon-4. des8 |
        Licht;2. |
-       _4 _ _  |
        _4 _ _ |
-% 23
+       _4 _ _ |
+% 23 
        Des8. Ver-16 r\"a-4. ters8 |
        feind-8. lich16 Lau-4. schen8 |
-       [2/3 F\"urch-4 te,8 ]1/1 Hol-4. de,8 |
+       \[2/3 F\"urch-4 te,8 \] Hol-4. de,8 |
        nicht,2. |
-       [2/3 f\"urch-4 te,8 ]1/1 Hol-4. de,8 |
+       \[2/3 f\"urch-4 te,8 \] Hol-4. de,8 |
        nicht.2. |
        _4 _ _ 
        _ _ _
@@ -94,8 +90,8 @@ $treble_intro = \melodic{
        \octave c';
        \clef violin;
        % ugh: i'd like to type this!
-        %r8 [<'g-. c-.> <c-. es-.> <'g-. c-.> <c-. es-.> <'g-. c-.>] |
-        r8 <['g-. c-.> <c-. es-.> <'g-. c-.> <c-. es-.> <'g-. c-.]> |
+       %r8 [<'g-. c-.> <c-. es-.> <'g-. c-.> <c-. es-.> <'g-. c-.>] |
+       r8 <['g-. c-.> <c-. es-.> <'g-. c-.> <c-. es-.> <'g-. c-.]> |
        r8 <['as-. c-.> <c-. es-.> <'as-. c-.> <c-. es-.> <'as-. c-.]> |
        r8 <['as-. c-.> <c-. d-.> <'as-. c-.> <c-. d-.> <'as-. c-.]> |
        r8 <['g-. 'b-.> <'b-. d-.> <'g-. 'b-.> <'b-. d-.> <'g-. 'b-.]> |
@@ -107,28 +103,33 @@ $treble_verse1 = \melodic{
        \clef violin;
        r8 <['g c> <c es> <'g c> <c es> <'g c]> |
        r8 <['f c> <c d> <'f c> <c d> <'f c]> |
-       r8 <['f 'g b> <'g b d> <'f 'g b> <'g b d> <'f 'g b]> |
+       r8 <['f 'g 'b> <'g 'b d> <'f 'g 'b> <'g 'b d> <'f 'g 'b]> |
        r8 <['es 'g c> <'g c es> <'es 'g c> <'g c es> <'es 'g c]> |
        <g'4.( b> <)f'8 d'> <[2/3 f' d'> <es' c'> <d' b]1/1> |
+       <c'2. e'> |
        r8 <['g c> <c es> <'g c> <c es> <'g c]> |
-       r8 <['g c> <c es> <'g c> <c es> <'g c]> |
-       r8 <['g c> <c es> <'g c> <c es> <'g c]> |
-       r8 <['g c> <c es> <'g c> <c es> <'g c]> |
-       r8 <['g c> <c es> <'g c> <c es> <'g c]> |
-       r8 <['g c> <c es> <'g c> <c es> <'g c]> |
-       r8 <['g c> <c es> <'g c> <c es> <'g c]> |
-       r8 <['g c> <c es> <'g c> <c es> <'g c]> |
-       r8 <['g c> <c es> <'g c> <c es> <'g c]> |
-       r8 <['g c> <c es> <'g c> <c es> <'g c]> |
-       r8 <['g c> <c es> <'g c> <c es> <'g c]> |
-       r8 <['g c> <c es> <'g c> <c es> <'g c]> |
-       r8 <['g c> <c es> <'g c> <c es> <'g c]> |
-       r8 <['g c> <c es> <'g c> <c es> <'g c]> |
-       r8 <['g c> <c es> <'g c> <c es> <'g c]> |
-       r8 <['g c> <c es> <'g c> <c es> <'g c]> |
-       r8 <['g c> <c es> <'g c> <c es> <'g c]> |
-       r8 <['g c> <c es> <'g c> <c es> <'g c]> |
-       r8 <['g c> <c es> <'g c> <c es> <'g c]> |
+       r8 <['f c> <c d> <'f c> <c d> <'f c]> |
+       r8 <['f 'as 'bes> <'as 'bes d> <'f 'g 'bes> <'g 'bes d> <'f 'g 'bes]> |
+       r8 <['es 'g 'bes> <'g 'bes es> <'es 'g 'bes> <'g 'bes es]> 
+       <{ es'( | )bes4. as8}{ c'( | )d4.( )f8 } > 
+       < [2/3 f as> <es g> <d f]1/1> |
+       <es2. g> |
+       r8 <['f 'g> <'g 'b> <'f 'g> <'g 'b> <'f 'g]> |
+       r8 <['es 'g> <'g c> <'es 'g> <'g c> <'es 'g]> |
+       r8\pp <['es 'as c> <'as c es> <'es 'as c> <'as c es> <'es 'as c]> |
+       r8 <['es 'g 'bes> <'g 'bes 'es> <'es 'g 'bes> <'g 'bes 'es> <'es 'g 'bes]> |
+       % [as3 2\grace( bes )
+       [2/3 as8(( g )as]1/1 c'4.-> ) as8 |
+       g2. |
+       r8 <['f 'g> <'g 'b> <'f 'g> <'g 'b> <'f 'g]> |
+       r8 <['e 'g> <'g c> <'e 'g> <'g c> <'e 'g]> |
+       r8 <['f 'a c> <'a c f> <'f 'a c> <'a c f> <'f 'a c]> |
+       r8 <['e 'g c> <'g c e> <'e 'g c> <'g c e> <'e 'g c]> |
+       <{[2/3 f'8\f( e f']1/1 a'4. )f'8 } {\[2/3 f e f \] a4. f8 } > |
+       <e2 e'> r4 |
+%      <{as!2\mf( [c'8. )as16]} {f2 as8( )f}> |
+       as!2\mf( [c'8. )as16] |
+       <e4. g> <[e8-.( g-.> <e8-. g-.> <)e8-. g-.]> |
 }
 
 $bass_intro = \melodic{
@@ -144,10 +145,10 @@ $bass_verse1 = \melodic{
        \octave c;
        \clef bass;
        <'c2 c> r4 |
+       <'as2 as> r4 |
+       <'g2 g> r4 |
        <'c2 c> r4 |
-       <'c2 c> r4 |
-       <'c2 c> r4 |
-       <'c2 c> r4 |
+       <'g8 g> <[g' d''> <d'' f''> <g' d''> <d'' f''> <g' d'']> |
        <'c2 c> r4 |
        <'c2 c> r4 |
        <'c2 c> r4 |
@@ -170,23 +171,29 @@ $bass_verse1 = \melodic{
 }
                
                
-global= \melodic {\meter 3/4; \key bes es as; }
+global= \melodic {\meter 3 /4; \key bes es as; }
 
                
 \score{
        \melodic<
-               \type Lyrics { \skip 4 * 12; \$lyric_verse1 }
-               \type Staff 
-               { \skip 4 * 12; \$vocal_verse1 }
+               \type Lyrics { 
+                       \meter 3 /4; \skip 4 * 12; \$lyric_verse1
+               }
+               \type Staff { < 
+                       \global 
+                       { \skip 4 * 12; \$vocal_verse1 }
+               > }
                
                % i want a (grand) staff!!!
                
                \type Grandstaff < 
-                       < { \$treble_intro \$treble_verse1 }
-                         \global 
+                       < 
+                               \global
+                               { \$treble_intro \$treble_verse1 }
                        >
-                       < \global
-                         { \$bass_intro \$bass_verse1 }
+                       < 
+                               \global
+                               { \$bass_intro \$bass_verse1 }
                        >
                >
        >
index 5442943342475a3d42a7592a5b77a1b0a7e6fc2e..ee58946ea120af104d61d52b86fd7983012f1fc2 100644 (file)
@@ -8,7 +8,7 @@ of beams";
        
 }
 
-\version "0.1.7";
+\version "0.1.8";
 
 beamintervals = \melodic{
                \meter 7/4;
index 1bb3e31ba6408c28ab541f3e84555ed0ddf29323..124d0e385590b961741581166c936f9855adaac2 100644 (file)
@@ -20,7 +20,7 @@ copyright =    "public domain";
 %}
 
 
-\version "0.1.7";
+\version "0.1.8";
 
 toccata_commands = \melodic{
        \meter 4/4;
index fae537bf46d8ab7cc69c13a48468fb9396f4ce99..4d11d3a6e2e980f522586635e9425d3c9e700532 100644 (file)
@@ -12,7 +12,7 @@ copyright =    "public domain";
 Tested Features                lyrics and chords
 %}
 
-\version "0.1.7";
+\version "0.1.8";
 
 melodie = \melodic {
         \clef"violin";
index e6814ce34810b25f494e7cdd513c99d850705e70..050bfda51830a9ff9fcb24fecb64c5ba490e4df4 100644 (file)
@@ -15,7 +15,7 @@ copyright =    "public domain";
 Tested Features: lyrics, interleaving lyrics and staffs
 %}
 
-\version "0.1.7";
+\version "0.1.8";
 
 melody = \melodic{
        \clef violin;
index 646c75ff3043c26ffe6ed5fcc701fc7cf6f5cffe..e48c55b1892d6e6dc65d208ac2eb4e9258e0b396 100644 (file)
@@ -11,7 +11,7 @@ copyright =    "Public Domain";
 %{
        
 %}
-\version "0.1.7";
+\version "0.1.8";
 
 
 global = 
index 50a2166a0028d5e0a5b96217d782cc0602f76f6c..2d90c2ad90df1e2867187a419bc6c483e1e69c43 100644 (file)
@@ -12,7 +12,7 @@ copyright =    "Public Domain";
  Tested Features: stem direction, multivoice, forced accidentals.
 %}
 
-\version "0.1.7";
+\version "0.1.8";
 
                                     % should add \need{dutch.ini} for
                                     % correct parsing of note names
index 5ed120b09da92f05807a21fcc84a9e016533c909..dea0195fa0a512da2d7578a2439ad253f19b4aae 100644 (file)
@@ -8,7 +8,7 @@ enteredby =      "Shay Rojansky";
 copyright =     "Public Domain";
 }
 
-\version "0.1.7";
+\version "0.1.8";
 
 global = 
     \melodic {
diff --git a/lib/include/out/dummy.dep b/lib/include/out/dummy.dep
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/lib/out/dummy.dep b/lib/out/dummy.dep
new file mode 100644 (file)
index 0000000..e69de29
index 0c90d98cb4c53b3cc43223d9d7695792b0b65e83..e0d3c8cadf39d981ae8d1f8dec1f8281ad7ea94e 100644 (file)
@@ -1,4 +1,4 @@
 MAJOR_VERSION = 0
 MINOR_VERSION = 1
-PATCH_LEVEL = 41
+PATCH_LEVEL = 42
 MY_PATCH_LEVEL =
index 2d931e150fd1a8481c41a2357ffd7fc7b56c68d9..6592166fa2de3ebd3dcd38eedb870b8017d9321b 100644 (file)
@@ -12,8 +12,6 @@
 #include "beam.hh"
 #include "musical-request.hh"
 #include "grouping.hh"
-#include "text-spanner.hh"
-#include "text-def.hh"
 #include "p-col.hh"
 
 Beam_engraver::Beam_engraver()
@@ -21,7 +19,6 @@ Beam_engraver::Beam_engraver()
   span_reqs_drul_[LEFT] = span_reqs_drul_[RIGHT] =0;
   beam_p_ =0;
   current_grouping_p_ =0;
-  plet_spanner_p_ =0;
 }
 
 bool
@@ -50,61 +47,39 @@ Beam_engraver::do_try_request(Request*r)
 void
 Beam_engraver::do_process_requests()
 {
-  if ( !beam_p_ && span_reqs_drul_[LEFT])
-    {
-      current_grouping_p_ = new Rhythmic_grouping;
-      beam_p_ = new Beam;
-      if (span_reqs_drul_[LEFT]->nplet)
-       {
-         plet_spanner_p_ = new Text_spanner;
-         Text_def *defp = new Text_def;
-         plet_spanner_p_->set_support (beam_p_);
-       
-         defp->align_i_ = 0;
-         defp->text_str_ = span_reqs_drul_[LEFT]->nplet;
-         defp->style_str_="italic";
-         plet_spanner_p_->spec_p_  = defp;
-         announce_element (Score_elem_info(plet_spanner_p_,0));
-       }
-
-      Scalar prop = get_property ("beamslopedamping");
-      if (prop.isnum_b ()) 
-       {
-         beam_p_->damping_i_ = prop;
-       }
-
-      prop = get_property ("beamquantisaton");
-      if (prop.isnum_b ()) 
-       {
-         beam_p_->quantisation_ = (Beam::Quantise)(int)prop;
-       }
-     
-      announce_element (Score_elem_info (beam_p_, span_reqs_drul_[LEFT]));
-    }
+  if (beam_p_ || !span_reqs_drul_[LEFT])
+    return;
+
+  current_grouping_p_ = new Rhythmic_grouping;
+  beam_p_ = new Beam;
+
+  Scalar prop = get_property ("beamslopedamping");
+  if (prop.isnum_b ()) 
+    beam_p_->damping_i_ = prop;
+
+  prop = get_property ("beamquantisaton");
+  if (prop.isnum_b ()) 
+    beam_p_->quantisation_ = (Beam::Quantise)(int)prop;
+  announce_element (Score_elem_info (beam_p_, span_reqs_drul_[LEFT]));
 }
 
 void
 Beam_engraver::do_pre_move_processing()
 {
-  if (beam_p_ && span_reqs_drul_[RIGHT]) 
-    {
-      Rhythmic_grouping const * rg_C = get_staff_info().rhythmic_C_;
-      rg_C->extend (current_grouping_p_->interval());
-      beam_p_->set_grouping (*rg_C, *current_grouping_p_);
-      typeset_element (beam_p_);
-      beam_p_ = 0;
-
-      delete current_grouping_p_;
-      current_grouping_p_ = 0;
-
-      span_reqs_drul_[RIGHT] =
-       span_reqs_drul_[LEFT] = 0;
-      if (plet_spanner_p_)
-       {
-         typeset_element (plet_spanner_p_);
-         plet_spanner_p_ =0;
-       }
-    }
+  if (!beam_p_ || !span_reqs_drul_[RIGHT]) 
+    return;
+
+  Rhythmic_grouping const * rg_C = get_staff_info().rhythmic_C_;
+  rg_C->extend (current_grouping_p_->interval());
+  beam_p_->set_grouping (*rg_C, *current_grouping_p_);
+  typeset_element (beam_p_);
+  beam_p_ = 0;
+
+  delete current_grouping_p_;
+  current_grouping_p_ = 0;
+
+  span_reqs_drul_[RIGHT] = span_reqs_drul_[LEFT] = 0;
 }
 
 void
index 027fd92679433b8de6452cfdf3742acd4b891a2d..81b68adfc19b7edfb3b851a7e34907a25dd551d5 100644 (file)
@@ -20,7 +20,6 @@ class Beam_engraver : public Engraver
 {
   Drul_array<Beam_req *> span_reqs_drul_;
   Beam *beam_p_;
-  Text_spanner *plet_spanner_p_;
   Rhythmic_grouping *current_grouping_p_;
 
 public:
index 42be8366c2b58a4b942d3067fd4e04e37f3b7586..48d8e9872378572662707e05f3458e5c3dba7539 100644 (file)
@@ -41,6 +41,7 @@ struct Beam;
 struct Beam_engraver;
 struct Beam_req;
 struct Blank_req;
+struct Bow;
 struct Box;
 struct Break_align_item;
 struct Bracket_req;
@@ -152,6 +153,9 @@ struct Paper_score;
 struct Paper_def;
 struct Partial_measure_req;
 struct Plet;
+struct Plet_engraver;
+struct Plet_req;
+struct Plet_spanner;
 struct Pulk_voice;
 struct Pulk_voices;
 struct Rational;
index 39dc5ae9b05b559717da761a36864662ac904a09..e5cf3f10e94f2f12b485a723b04d23db3b97bc86 100644 (file)
@@ -51,6 +51,7 @@ struct Lookup {
     
   Atom dots () const;
   Atom slur (Real &dy, Real &dx, Direction dir) const;
+  Atom plet (Real &dy, Real &dx, Direction dir) const;
   Atom tex_slur (int dy, Real &dx, Direction dir) const;
   Atom ps_slur (Real dy, Real dx, Real dir) const;
   Atom half_slur (int dy, Real &dx, Direction dir, int xpart) const;
index f53fc44de1d96a4ccddd804e1b1c88a2e9d59873..28fa8d04aa45c86caba4551572f370807d25045f 100644 (file)
@@ -37,6 +37,7 @@ public:
   virtual Dynamic_req* dynamic() { return 0; }
   virtual Absolute_dynamic_req * absdynamic() { return 0; }
   virtual Tie_req * tie() { return 0; }
+  virtual Plet_req* plet() { return 0; }
   virtual Span_dynamic_req * span_dynamic() { return 0; }
   virtual Abbreviation_req* abbrev() { return 0; }
   REQUESTMETHODS(Musical_req, musical);
@@ -174,12 +175,9 @@ public:
   
 };
 
-/** Start / stop a beam at this note.  if #nplet# is set, the staff
-will try to put an appropriate number over the beam */
+/** Start / stop a beam at this note */
 class Beam_req  : public Span_req  {
 public:
-  int nplet;
-
   /* *************** */
   REQUESTMETHODS(Beam_req,beam);
 
@@ -213,6 +211,16 @@ public:
 
 };
 
+/// a plet (bracket with) number
+class Plet_req : public Span_req  {
+public:
+  int plet_i_;
+
+  REQUESTMETHODS(Plet_req,plet);
+
+  Plet_req ();
+};
+
 class Musical_script_req : public Musical_req,  public Script_req {
 public:
   REQUESTMETHODS(Musical_script_req, musicalscript);
index b0666e160ade4a26948cad5e9cb0f85e0a4d58fb..b5cbd87154e8fdc594b257008156cd84faa26378 100644 (file)
@@ -66,7 +66,7 @@ public:
   void parser_error (String);
   void clear_notenames();
 
-  Request* get_parens_request (char c);
+  Array<Request*>* get_parens_request (int t);
     
   void set_debug();
   void set_yydebug (bool);
diff --git a/lily/include/out/dummy.dep b/lily/include/out/dummy.dep
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/lily/include/plet-swallow-engraver.hh b/lily/include/plet-swallow-engraver.hh
new file mode 100644 (file)
index 0000000..be36120
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+  plet-swallow-engraver.hh -- declare Swallow_engraver
+
+  source file of the GNU LilyPond music typesetter
+
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+
+#ifndef PLET_SWALLOW_ENGRAVER_HH
+#define PLET_SWALLOW_ENGRAVER_HH
+
+#include "swallow-grav.hh"
+
+/**
+  This engraver swallows plets silently.
+ */
+class Plet_swallow_engraver : public Swallow_engraver 
+{
+public:
+  TRANSLATOR_CLONE(Plet_swallow_engraver);
+  DECLARE_MY_RUNTIME_TYPEINFO;
+
+protected:
+  virtual bool do_try_request (Request*);
+};
+
+#endif // PLET_SWALLOW_ENGRAVER_HH
index 78dd152e9af861c113537210d5310b4c80718eb2..48faa16f15c53ee98fcc667d39955220f9821993 100644 (file)
@@ -14,7 +14,8 @@
 
 class Text_def : public General_script_def {
 protected:
-    virtual Atom get_atom (Paper_def* p, Direction dir_) const;
+//     huh? move to public
+//    virtual Atom get_atom (Paper_def* p, Direction dir_) const;
     DECLARE_MY_RUNTIME_TYPEINFO;
     VIRTUAL_COPY_CONS(Text_def,General_script_def);
 public:
@@ -29,6 +30,7 @@ public:
     String style_str_;
     
     virtual void do_print() const;
+    virtual Atom get_atom (Paper_def* p, Direction dir_) const;
     virtual ~Text_def() {};
     virtual bool do_equal_b (const General_script_def*) const;
     Text_def();
index 9a6665625aa7fcf2bf680a22f59145e7263dca39..ab81d9099ebde543ce227da6ba5cfa6e1eb7fbce 100644 (file)
@@ -12,7 +12,7 @@
 #include "text-def.hh"
 
 /** a spanner which puts texts on top of other spanners.  Use for
-  triplets, eentweetjes, ottava, etc.  */
+  triplets, volta, ottava, etc.  */
 class Text_spanner : public Spanner {
 public:
   Directional_spanner * support_span_l_;
index f2d6c9214e3a699ab344ff417555878fc4c1f86a..851e21c2e1d4d881c790e6b4a79e9cc4c3b60791 100644 (file)
@@ -82,6 +82,8 @@ RESTNAME      [rs]
 NOTECOMMAND    \\{A}+
 LYRICS         ({AA}|{TEX})[^0-9 \t\n\f]*
 ESCAPED                [nt\\'"]
+PLET           \\\[
+TELP           \\\]
 
 %%
 
@@ -285,6 +287,14 @@ ESCAPED            [nt\\'"]
        return c;
 }
 
+<lyrics,notes>{PLET}   {
+       return yylval.i = PLET;
+}
+
+<lyrics,notes>{TELP}   {
+       return yylval.i = TELP;
+}
+
 <INITIAL,notes>.       {
        return yylval.c = YYText ()[0];
 }
index e7da659d1982c1270d1beea7466ae6a78a961b8a..0e85a4849fbdf75ff4169f920b187f22d08f7f11 100644 (file)
@@ -53,7 +53,7 @@ void
 Midi_def::set_tempo (Moment one_beat_mom, int beats_per_minute_i)
 {
   Moment beats_per_second = Moment (beats_per_minute_i) / Moment (60);
-  whole_in_seconds_mom_ = 1/(beats_per_second * one_beat_mom);
+  whole_in_seconds_mom_ = Moment(1)/Moment(beats_per_second * one_beat_mom);
 }
 
 void
index 0e3dd06ce8ab1289d11ead88df9a8b878bcf40fd..bf2fe3590b9cddb92c3705be72f0b6c659993e79 100644 (file)
@@ -263,7 +263,6 @@ IMPLEMENT_IS_TYPE_B1(Beam_req,Span_req);
 
 Beam_req::Beam_req()
 {
-  nplet = 0;
 }
 
 void
@@ -286,12 +285,23 @@ Abbreviation_beam_req::do_print () const
 }
 
 IMPLEMENT_IS_TYPE_B1(Slur_req,Span_req);
-
 void
 Slur_req::do_print() const
 {
 }
 
+IMPLEMENT_IS_TYPE_B1(Plet_req,Span_req);
+
+Plet_req::Plet_req ()
+{
+  plet_i_ = 0;
+}
+
+void
+Plet_req::do_print () const
+{
+}
+
 /* *************** */
 
 bool
index 7bddf702d1d28da498fdb864bc3de9f599a0f0e5..2a8760ee525c1eee49843062d259a071ad760f18 100644 (file)
@@ -48,7 +48,6 @@ static Keyword_ent the_key_tab[]={
   {"output", OUTPUT},
   {"partial", PARTIAL},
   {"paper", PAPER},
-  {"plet", PLET},
   {"property", PROPERTY},
   {"pt", PT_T},
   {"score", SCORE},
index 1c1f31860bb89e33b89f6a5d1fcfbe4a55634112..aaaf7201b2c5a1fdc39f4e25ff3621a7ab1bdef1 100644 (file)
@@ -225,79 +225,101 @@ My_lily_parser::get_note_element (Note_req *rq, Duration * duration_p)
   return v;
 }
 
-Request*
-My_lily_parser::get_parens_request (char c)
+Array<Request*>*
+My_lily_parser::get_parens_request (int t)
 {
-  Request* req_p=0;
-  switch (c)
+  Array<Request*>& reqs = *new Array<Request*>;
+  switch (t)
     {
-
     case '~':
-      req_p = new Tie_req;
+      reqs.push (new Tie_req);
       break;
+    case BEAMPLET:
+    case MAEBTELP:
+      {
+       Plet_req* p = new Plet_req;
+       p->plet_i_ = plet_.type_i_;
+       reqs.push (p);
+      }
+      /* fall through */
     case '[':
     case ']':
       {
        if (!abbrev_beam_type_i_)
          {
-           Beam_req*b = new Beam_req;
-           int p_i=plet_.type_i_ ; // ugh . Should junk?
-           if (p_i!= 1)
-             b->nplet = p_i;
-           req_p = b;
+           reqs.push (new Beam_req);
          }
        else
          {
            Abbreviation_beam_req* a = new Abbreviation_beam_req;
            a->type_i_ = abbrev_beam_type_i_;
-           if (c==']')
+           if (t==']')
              abbrev_beam_type_i_ = 0;
-           req_p = a;
+           reqs.push (a);
          }
       }
-    break;
+      break;
 
     case '>':
     case '!':
     case '<':
-      req_p = new Span_dynamic_req;
+      reqs.push (new Span_dynamic_req);
       break;
 
+    case PLET:  
+    case TELP:
+      {
+       Plet_req* p = new Plet_req;
+       p->plet_i_ = plet_.type_i_;
+       reqs.push (p);
+      }
+      break;
     case ')':
     case '(':
-      req_p = new Slur_req;
+      {
+       reqs.push (new Slur_req);
+      }
       break;
     default:
       assert (false);
       break;
     }
 
-  switch (c)
+  switch (t)
     {
+    case BEAMPLET:
+      reqs.top ()->span()->spantype = Span_req::START;
+      /* fall through */
     case '<':
     case '>':
     case '(':
     case '[':
-      req_p->span()->spantype = Span_req::START;
+    case PLET:
+      reqs[0]->span ()->spantype = Span_req::START;
       break;
+    case MAEBTELP:
+      reqs.top ()->span()->spantype = Span_req::STOP;
+      /* fall through */
     case '!':
     case ')':
     case ']':
-      req_p->span()->spantype = Span_req::STOP;
+      reqs[0]->span ()->spantype = Span_req::STOP;
       break;
 
     default:
       break;
     }
 
-  if (req_p->musical()->span_dynamic ())
-    {
-      Span_dynamic_req* s_l= (req_p->musical()->span_dynamic ()) ;
-      s_l->dynamic_dir_ = (c == '<') ? UP:DOWN;
-    }
+  for (int i = 0; i < reqs.size (); i++)
+    if (reqs[i]->musical ()->span_dynamic ())
+      {
+       Span_dynamic_req* s_l= (reqs[i]->musical ()->span_dynamic ()) ;
+       s_l->dynamic_dir_ = (t == '<') ? UP:DOWN;
+      }
 
-  req_p->set_spot (here_input());
-  return req_p;
+  // ugh? don't we do this in the parser too?
+  reqs[0]->set_spot (here_input());
+  return &reqs;
 }
 
 void
diff --git a/lily/out/dummy.dep b/lily/out/dummy.dep
new file mode 100644 (file)
index 0000000..e69de29
index 051fb72c50cb5804fda24deb383f80616c2cc209..8dea7f982aa7d068316d02f25cb9186eb9823680 100644 (file)
@@ -12,7 +12,7 @@
 #include <iostream.h>
 
 // mmm
-#define MUDELA_VERSION "0.1.7"
+#define MUDELA_VERSION "0.1.8"
 
 #include "scalar.hh"
 #include "translation-property.hh"
@@ -113,6 +113,8 @@ yylex (YYSTYPE *s,  void * v_l)
 
 %token ALIAS
 %token BAR
+%token BEAMPLET
+%token MAEBTELP
 %token CADENZA
 %token CLEAR
 %token CLEF
@@ -141,6 +143,7 @@ yylex (YYSTYPE *s,  void * v_l)
 %token PAPER
 %token PARTIAL
 %token PLET
+%token TELP
 %token PT_T
 %token SCORE
 %token SCRIPT
@@ -189,9 +192,9 @@ yylex (YYSTYPE *s,  void * v_l)
 %type <outputdef> output_def
 %type <header>         mudela_header mudela_header_body
 %type <box>    box
-%type <c>      open_request_parens close_request_parens
+%type <i>      open_request_parens close_request_parens
 %type <c>      open_abbrev_parens
-%type <c>      open_plet_parens close_plet_parens
+%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
@@ -217,7 +220,7 @@ yylex (YYSTYPE *s,  void * v_l)
 %type <real>   dim real
 %type <real>   unit
 %type <request> abbrev_command_req
-%type <request>        post_request pre_request command_req verbose_command_req
+%type <request>        post_request command_req verbose_command_req
 %type <request>        script_req  dynamic_req
 %type <score>  score_block score_body
 %type <script> script_definition script_body mudela_script gen_script_def
@@ -737,6 +740,13 @@ post_requests:
                $2->set_spot (THIS->here_input ());
                THIS->post_reqs.push ($2);
        }
+       | post_requests close_request_parens    {
+               Array<Request*>& r = *THIS->get_parens_request ($2);
+               for (int i = 0; i < r.size (); i++ )
+                       r[i]->set_spot (THIS->here_input ());
+               THIS->post_reqs.concat (r);
+               delete &r;
+       }
        ;
 
 
@@ -744,9 +754,6 @@ post_request:
        POST_REQUEST_IDENTIFIER {
                $$ = (Request*)$1->request ();
        }
-       |close_request_parens   {
-               $$ = THIS->get_parens_request ($1);
-       }
        | script_req
        | dynamic_req
        | abbrev_type   {
@@ -820,7 +827,17 @@ dynamic_req:
 
 close_plet_parens:
        ']' INT '/' INT {
-               $$ = ']';
+               $$ = MAEBTELP;
+               THIS->plet_.type_i_ = $4;
+               THIS->plet_.iso_i_ = $2;
+       }
+       | TELP {
+               $$ = TELP;
+               THIS->plet_.type_i_ = 1;
+               THIS->plet_.iso_i_ = 1;
+       }
+       | TELP INT '/' INT {
+               $$ = TELP;
                THIS->plet_.type_i_ = $4;
                THIS->plet_.iso_i_ = $2;
        }
@@ -836,15 +853,14 @@ close_request_parens:
        | ']'   {
                $$ = ']';
        }
-       | close_plet_parens {
-               $$ = ']';
-       }
        | E_SMALLER {
                $$ = '<';
        }
        | E_BIGGER {
                $$ = '>';
        }
+       | close_plet_parens {
+       }
        ;
 
 open_abbrev_parens:
@@ -861,7 +877,12 @@ open_abbrev_parens:
 
 open_plet_parens:
        '[' INT '/' INT {
-               $$ = '[';
+               $$ = BEAMPLET;
+               THIS->plet_.type_i_ = $4;
+               THIS->plet_.iso_i_ = $2;
+       }
+       | PLET INT '/' INT {
+               $$ = PLET;
                THIS->plet_.type_i_ = $4;
                THIS->plet_.iso_i_ = $2;
        }
@@ -956,24 +977,19 @@ script_dir:
        ;
 
 pre_requests:
-       | pre_requests pre_request {
-               THIS->pre_reqs.push ($2);
-               $2->set_spot (THIS->here_input ());
+       {
        }
-       ;
-
-pre_request:
-       open_request_parens     {
-               $$ = THIS->get_parens_request ($1);
+       | pre_requests open_request_parens {
+               Array<Request*>& r = *THIS->get_parens_request ($2);
+               for (int i = 0; i < r.size (); i++ )
+                       r[i]->set_spot (THIS->here_input ());
+               THIS->pre_reqs.concat (r);
+               delete &r;
        }
        ;
 
 voice_command:
-       PLET     INT '/' INT {
-               THIS->plet_.type_i_ = $4;
-               THIS->plet_.iso_i_ = $2;
-       }
-       | DURATION STRING {
+       DURATION STRING {
                THIS->set_duration_mode (*$2);
                delete $2;
        }
diff --git a/lily/plet-swallow-engraver.cc b/lily/plet-swallow-engraver.cc
new file mode 100644 (file)
index 0000000..1f837ad
--- /dev/null
@@ -0,0 +1,21 @@
+/*
+  plet-swallow-engraver.cc -- implement Plet_swallow_engraver
+
+  source file of the GNU LilyPond music typesetter
+
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+#include "musical-request.hh"
+#include "plet-swallow-engraver.hh"
+
+IMPLEMENT_IS_TYPE_B1(Plet_swallow_engraver,Swallow_engraver);
+ADD_THIS_TRANSLATOR(Plet_swallow_engraver);
+
+bool
+Plet_swallow_engraver::do_try_request (Request* req_l)
+{
+  if (req_l && req_l->musical () && req_l->musical ()->plet ())
+    return true;
+  return false;
+}
index f100b72ae7dd8862245b7b7d47672794c4d2ff80..9a4406b24af1dc54a51be76b1175d3ea84018542 100644 (file)
@@ -24,6 +24,7 @@ Text_spanner::set_support (Directional_spanner*d)
   support_span_l_ =d;
   add_dependency (d);
 }
+
 void
 Text_spanner::do_add_processing ()
 {
index 4ea4098ba5fa0dcd1e0e3d6343a899720df13ed1..60dce8dcdd2f747ec27c146ff064dc8f1fbe5556 100644 (file)
@@ -153,7 +153,10 @@ doosdist:
 
 
 localdist: $(DISTFILES)
-       if [ -d out ]; then mkdir $(distdir)/$(localdir)/out; fi
+       if [ -d out ]; then \
+               mkdir $(distdir)/$(localdir)/out; \
+               touch $(distdir)/$(localdir)/out/dummy.dep; \
+       fi
        $(LN) $(DISTFILES) $(distdir)/$(localdir)
 ifdef SUBDIRS
        set -e; for i in $(SUBDIRS); do mkdir $(distdir)/$(localdir)/$$i; \
index 99db45d95621880d1eb1f804dc47356e01995e9c..ca2db8749dfe9efe33af4bee4ceb66b00129d227 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Titel: LilyPond
-Versie: 0.1.41
-Inschrijf datum: 19JAN98
+Versie: 0.1.42
+Inschrijf datum: 27JAN98
 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.41.tar.gz 
+       395k lilypond-0.1.42.tar.gz 
 Oorspronkelijke plek: pcnov095.win.tue.nl /pub/lilypond/
-       395k lilypond-0.1.41.tar.gz 
+       395k lilypond-0.1.42.tar.gz 
 Copi"eer politie: GPL
 End
index 38a1ff5d743ee8b379e59d42db7628063a6856a3..7847e952cf9ca2dd691ae04f285d389804236bc8 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Title: LilyPond
-Version: 0.1.41
-Entered-date: 19JAN98
+Version: 0.1.42
+Entered-date: 27JAN98
 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.41.tar.gz 
+       470k lilypond-0.1.42.tar.gz 
 Original-site: pcnov095.win.tue.nl /pub/lilypond/development/
-       470k lilypond-0.1.41.tar.gz 
+       470k lilypond-0.1.42.tar.gz 
 Copying-policy: GPL
 End
index 1ba3275d60e1a7259ce74064ae418f3b155b4914..506988b49d1e50272026654d0551e2830c2c369b 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
-Version: 0.1.41
+Version: 0.1.42
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: alpha.gnu.org:/gnu/lilypond/development/lilypond-0.1.41.tar.gz
+Source0: alpha.gnu.org:/gnu/lilypond/development/lilypond-0.1.42.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.text Documentation/out/CodingStyle.text Documentation/out/INSTALL.text Documentation/out/MANIFESTO.text Documentation/out/convert-mudela.text Documentation/out/faq.text Documentation/out/gnu-music.text Documentation/out/index.text Documentation/out/internals.text Documentation/out/language.text Documentation/out/lilypond.text Documentation/out/links.text Documentation/out/literature.text Documentation/out/mi2mu.text Documentation/out/mudela-book.text Documentation/out/mutopia.text Documentation/out/other-packages.text BUGS TODO NEWS DEDICATION ANNOUNCE README
+%doc Documentation/out/AUTHORS.text Documentation/out/CodingStyle.text Documentation/out/INSTALL.text Documentation/out/MANIFESTO.text Documentation/out/convert-mudela.text Documentation/out/faq.text Documentation/out/gnu-music.text Documentation/out/index.text Documentation/out/internals.text Documentation/out/language.text Documentation/out/lilypond.text Documentation/out/links.text Documentation/out/literature.text Documentation/out/ly2dvi.text Documentation/out/mi2mu.text Documentation/out/mudela-book.text Documentation/out/mutopia.text Documentation/out/other-packages.text BUGS TODO NEWS DEDICATION ANNOUNCE README
 %doc input/beams.ly input/cadenza.ly input/collisions.ly input/coriolan-alto.ly input/font-body.ly input/font.ly input/font11.ly input/font13.ly input/font16.ly input/font20.ly input/font26.ly input/gallina.ly input/gallina.tex 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/scsii-menuetto.ly input/scsii-menuetto.tex input/sleur.ly input/slurs.ly input/spacing.ly input/standchen-16.ly input/standchen-16.tex input/standchen-20.ly input/standchen-20.tex input/standchen.ly input/standje.ly input/stem.ly input/toccata-fuga-E.ly input/twinkle-pop.ly input/twinkle.ly input/wtk1-fugue1.ly input/wtk1-fugue2.ly input/wtk1-prelude1.ly Documentation/mudela-course.doc Documentation/mudela-man.doc 
 %doc Documentation/out/lelie_logo.gif
 /usr/bin/convert-mudela
diff --git a/make/out/dummy.dep b/make/out/dummy.dep
new file mode 100644 (file)
index 0000000..e69de29
index 00b46f2f99312eb24aae464f6dd1c3ec1a469fa3..b4d3a3e71171946a784af19a729fa9f6f82aa5e3 100644 (file)
@@ -41,8 +41,8 @@ $(outdir)/%.log: %.mf
        mv $(@F) $@
        rm $(basename $< ).*gf
 
-$(lyout)/%.ly $(texout)/%.tex: $(outdir)/%.log
-       $(PYTHON) $(depth)/bin/mf-to-table.py --ly $(lyout)/$(<F:.log=.ly) --tex $(texout)/$(<F:.log=.tex) $<
+$(lyout)/%.ly $(texout)/%.tex: $(outdir)/%.mf
+       $(PYTHON) $(depth)/bin/mf-to-table.py --ly $(lyout)/$(<F:.mf=.ly) --tex $(texout)/$(<F:.mf=.tex) $<
 
 localinstall:
        $(INSTALL) -d $(MFDIR)/public/lilypond
diff --git a/mf/out/dummy.dep b/mf/out/dummy.dep
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/mi2mu/include/out/dummy.dep b/mi2mu/include/out/dummy.dep
new file mode 100644 (file)
index 0000000..e69de29
index d70200e3c5bd00ad682bd00c16acad43cec0b616..a7feee56dd2dd8b70c62b4dca7801722ec635ea0 100644 (file)
@@ -197,11 +197,10 @@ Mudela_note::str ()
   //ugh
   String str;
   if (dur.plet_b ())
-       str += String ("\\plet ")
+       str += String ("\\[")
            + String_convert::i2dec_str (dur.plet_.iso_i_, 0, 0)
            + "/"
-           + String_convert::i2dec_str (dur.plet_.type_i_, 0, 0)
-           + "; ";
+           + String_convert::i2dec_str (dur.plet_.type_i_, 0, 0);
 
   str += name_str;
 
@@ -210,7 +209,7 @@ Mudela_note::str ()
   str += Duration_convert::dur2_str (tmp);
 
   if (dur.plet_b ())
-       str += String (" \\plet 1/1;");
+       str += String (" \\]");
 
   /* 
     note of zero duration is nonsense, 
index ed1350645bc490a407263fa3c66cd7fba5bd63bd..02e4858a44fd04f82e746d8f1431f7c29a3b3c78 100644 (file)
@@ -81,7 +81,7 @@ Mudela_stream::header()
   *os_p_ << filename_str_g;
   *os_p_ << "\n\n";
   // ugh
-  *os_p_ << "\\version \"0.1.7\";\n";
+  *os_p_ << "\\version \"0.1.8\";\n";
 }
 
 void
diff --git a/mi2mu/out/dummy.dep b/mi2mu/out/dummy.dep
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/out/dummy.dep b/out/dummy.dep
new file mode 100644 (file)
index 0000000..e69de29
index 92d9825afe4b35a6b99f419ec5cb10b6cb7e688d..503d559f64da806d634f9f36364abc36017776aa 100644 (file)
@@ -97,6 +97,26 @@ def
  /lily_distance {
         1 copy mul exch 1 copy mul add sqrt
  } bind def
+ /draw_plet
+        {
+                staffrulethickness setlinewidth
+                /dir exch def
+                /plet_dy exch def
+                /plet_dx exch def
+               staffheight 2 div /plet_gap exch def
+               staffheight 4 div dir mul /plet_h exch def
+%
+               plet_dy plet_dx lily_distance /plet_w exch def
+               plet_dy plet_dx atan rotate
+               0 0 moveto
+                0 plet_h lineto 
+               plet_w plet_gap sub 2 div plet_h lineto
+               plet_w plet_gap add 2 div plet_h moveto
+               plet_w plet_h lineto
+               plet_w 0 lineto
+               stroke
+        }
+        bind def
  staffheight 2 div
  /slurhtlimit exch def
  /slurratio 0.3333 def
diff --git a/tex/out/dummy.dep b/tex/out/dummy.dep
new file mode 100644 (file)
index 0000000..e69de29