]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 0.1.47 release/0.1.47
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 6 Mar 1998 01:15:37 +0000 (02:15 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 6 Mar 1998 01:15:37 +0000 (02:15 +0100)
97 files changed:
AUTHORS.txt
BUGS
Documentation/INSTALL.pod
Documentation/Makefile
Documentation/Rules.make
Documentation/introduction.doc [new file with mode: 0644]
Documentation/other-packages.pod
INSTALL.txt
NEWS
TODO
VERSION
bin/convert-mudela.pl
bin/convert-mudela.py [new file with mode: 0644]
bin/cvm.py [new file with mode: 0644]
bin/genheader.py
bin/ly2dvi.sh
bin/make-docxx.sh
bin/make-website.py
bin/mudela-book.pl
configure
configure.in
debian/out/dummy.dep [new file with mode: 0644]
flower/dictionary.cc [new file with mode: 0644]
flower/include/full-storage.icc
flower/include/interval.hh
flower/include/interval.tcc
flower/interval.cc
flower/string.cc
flower/test/main.cc
init/feta11.ly
init/feta13.ly
init/feta16.ly
init/feta19.ly
init/feta20.ly
init/feta23.ly
init/feta26.ly
init/paper16.ly
init/script.ly
init/simple-init.ly [new file with mode: 0644]
input/font-body.ly
input/praeludium-fuga-E.ly [new file with mode: 0644]
input/toccata-fuga-E.ly [deleted file]
lily/Makefile
lily/VERSION
lily/abbrev.cc [new file with mode: 0644]
lily/clef-grav.cc
lily/clef-item.cc
lily/debug.cc
lily/identifier.cc
lily/include/abbrev.hh [new file with mode: 0644]
lily/include/direction.hh
lily/include/engraver.hh
lily/include/lily-proto.hh
lily/include/linespace.hh
lily/include/minmax.tcc [new file with mode: 0644]
lily/include/spring-spacer.hh
lily/include/stem-grav.hh
lily/include/stem.hh
lily/include/timing-translator.hh
lily/midi-item.cc
lily/musical-request.cc
lily/parser.y
lily/score-elem.cc
lily/score.cc
lily/spring-spacer.cc
lily/stem-grav.cc
lily/stem.cc
lily/symtable.cc
lily/tex-stream.cc
lily/timing-translator.cc
make/Rules.make
make/Variables.make
make/lelievijver.lsm
make/lilypond.lsm
make/lilypond.spec
mf/Makefile
mf/TODO
mf/feta-generic.mf
mf/feta-schrift.mf
mf/grayimagen.mf [new file with mode: 0644]
mf/mf.dep [deleted file]
mutopia/J.S.Bach/preludes-1.ly
mutopia/J.S.Bach/preludes-2.ly
mutopia/J.S.Bach/preludes-3.ly.m4
mutopia/J.S.Bach/preludes-4.ly
mutopia/J.S.Bach/preludes-5.ly
mutopia/J.S.Bach/preludes-6.ly
mutopia/out/dummy.dep [new file with mode: 0644]
tex/feta11.tex
tex/feta13.tex
tex/feta16.tex
tex/feta19.tex
tex/feta20.tex
tex/feta23.tex
tex/feta26.tex
tex/lily-ps-defs.tex
tex/lilyponddefs.tex

index 415b79c60d1563f81741fe95c2a94c83becd66e7..a57e2b1cb2f48b4e457d45ad66fa8762fc042582 100644 (file)
@@ -61,7 +61,7 @@ CONTRIBUTORS
 
 
 
-29/Jan/98                LilyPond 0.1.46                        1
+29/Jan/98                LilyPond 0.1.47                        1
 
 
 
@@ -127,6 +127,6 @@ AUTHORS(1)            LilyPond documentation           AUTHORS(1)
 
 
 
-29/Jan/98                LilyPond 0.1.46                        2
+29/Jan/98                LilyPond 0.1.47                        2
 
 
diff --git a/BUGS b/BUGS
index 810766b46ed396d25b94e59c66651af9b86f0fe7..10c0b999d26629d4bb5068a11231c3532d012c28 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -8,6 +8,10 @@ and before. Glibc upto 2.0.5 also has problems with memmem (), but
 these should not affect LilyPond.
 
 
+[IRIX (5.3?)]
+
+coredump from strstream::strstream () upon the first read of a file
+
 [Linux Intel]
 
 LilyPond occasionally crashes while parsing the initialisation files.
index d724945a9a70d87fd20a97c6bbd79bdd112464b4..33e6b0d44fe2a201e024257070323ebd8d5e5430 100644 (file)
@@ -25,15 +25,15 @@ For compilation you need.
 =item *
 
 A GNU system: GNU LilyPond is known to run on these GNU systems: Linux
-(PPC, intel), FreeBSD, AIX, NeXTStep, Digital Unix and Solaris.
+(PPC, intel), FreeBSD, AIX, NeXTStep, IRIX, Digital Unix and Solaris.
 
 If you have the Cygnus WINDOWS32 port of the GNU utils, it will even
 work in Windows NT/95, but we don't promise to support it.
 
 =item *
 
-GNU C++ v2.7 or better, with libg++ installed.  Version 2.7.2
-or better recommended. 
+GNU C++ v2.7 or better, with libg++ installed.  If you use gcc 2.8 or
+egcs then you should install a matching libg++  (ie. 2.8) version.
 
 =item *
 
@@ -197,10 +197,10 @@ contain all files generated during compilation).
 =head2 Building for multiple hosts
 
 LilyPond does not follow the GNU standards when it comes to
-configuring and making Makefiles. In LilyPond, F<make> generates I<all>
-output in output directories (called F<out/>, by default). 
-You can have multiple compiles from the same source-tree, by
-overriding the setting for the output directory.
+configuring and making Makefiles. In LilyPond, F<make> generates
+I<all> output in output directories (called F<out/>, by default).  You
+can have multiple compiles from the same source-tree, by overriding
+the setting for the output directory.
 
 Example: on my system, I do debugging and lots compiling. For this I
 use the configuration as follows:
@@ -218,8 +218,9 @@ and I want to do profiling. For that I use
 
 These two commands build two entirely separate versions of
 LilyPond. In Real Life, you would probably also want to have two
-different prefixes. On my machine this is no problem; I never do 
-C<make install>. My prefix dirs are linked back to my source directory.
+different prefixes. On my machine this is no problem; I never do
+C<make install>. My prefix dirs are linked back to my source
+directory.
 
 
 =head1 INSTALLING
index 48df92b09df5f5ec6701420b9cdbe7c31e8468aa..d6a4cf732e55abb5e39def924a50d2d6ab0c7924 100644 (file)
@@ -58,7 +58,7 @@ include $(depth)/make/Rules.make
 #
 
 localclean:
-       rm -f `find $(outdir)`
+       rm -f `find $(outdir) -type f`
 
 
 
index fc9a6198f1ebefd3792ba251beee5455c976d677..c32f9214ffa28332977e4f784ee5816936c811f7 100644 (file)
@@ -24,14 +24,19 @@ $(outdir)/%.txt: $(outdir)/%.1
 $(depth)/%.txt: $(outdir)/%.txt
        cp $< $@
 
-do_pod2html=$(pod2html) $<
+do_pod2html=$(pod2html) --infile $< --outfile=$@
+# do this for perl 5.003
+#      do_pod2html=$(pod2html) $<
+#      mv $(notdir $@) $(outdir)/
+
 
 # do this for perl 5.004
 #       $ make do_pod2html='$(pod2html) --infile $< --outfile=$@' html
-#
+
+
 $(outdir)/%.html: %.pod $(depth)/VERSION
        $(do_pod2html) 
-       mv $(notdir $@) $(outdir)/
+#
 
 $(outdir)/%.5: %.pod
        $(pod2groff)
diff --git a/Documentation/introduction.doc b/Documentation/introduction.doc
new file mode 100644 (file)
index 0000000..0b40054
--- /dev/null
@@ -0,0 +1,191 @@
+% -*-latex-*-
+
+% this document should be run through the mudela-book script after lilypond
+% has been installed.  The rules have been precooked into the
+% Documentation/Rules.make file; do 
+%
+%   make out/introduction.dvi
+%
+% or
+%
+%   mudela-book --outdir=out/ --outname=introduction.mudtex introduction.doc
+%   latex '\nonstopmode \input out/introduction.mudtex'
+
+
+\documentclass{article}
+\usepackage{a4wide}
+\title{Introduction to GNU LilyPond}
+\author{Jan Nieuwenhuizen}
+\date{March 2, 1998}
+
+% ugh: trick to get examples not generate par
+% these are for 16pt
+\def\mudelapaperlinewidth{-28.452756}%
+\def\mudelapaperindent{28.452756}%
+\def\mudelapaperrulethickness{0.400000}%
+\def\mudelapaperbarsize{16.000000}%
+\def\mudelapaperinterline{4.000000}%
+\def\mudelapapernotewidth{5.930000}%
+\def\mudelapaperwholewidth{8.640000}%
+\def\mudelapaperunitspace{22.000000}%
+\def\mudelapaperbasicspace{4.000000}%
+\def\mudelapapergeometric{0.000000}%
+\def\mudelapaperarithmetic_basicspace{2.000000}%
+\def\mudelapaperarithmetic_multiplier{4.800000}%
+\def\mudelapaperinterbeam{3.140000}%
+\def\mudelapapergourlay_energybound{100000.000000}%
+\def\mudelapapergourlay_maxmeasures{14.000000}%
+
+% ful of pars, needs the above
+\input lilyponddefs
+% generates par
+\musixsixteendefs
+\def\musixsixteendefs{}
+% generates par
+\turnOnPostScript%
+\def\turnOnPostScript{}
+% 
+
+\begin{document}
+\maketitle
+
+\def\interexample{\hskip15mm$\Longrightarrow$\hskip15mm}
+\def\preexample{}
+\def\postexample{\par\medskip}
+
+% ugh, howto?
+% \def\frag{\vbox to 2\mudelapaperbarsize pt{\vss}
+% \def\interexample{\vss}\hskip15mm$\Longrightarrow$\hskip15mm}
+% \def\preexample{\vbox to 2\mudelabarsize pt{\vss}
+% \def\postexample{\vss}\par\medskip}
+
+\def\file#1{{\texttt{#1}}}
+\setcounter{secnumdepth}{-1}
+
+\emph{\Large ***Under construction***}
+
+\section{Introduction}
+This document should provide a gentle introduction to 
+LilyPond's input language, Mudela.
+For completeness and nifty features see 
+\verb+input/*.ly+
+and
+\verb+lily/parser.y, lily/lexer.l+.
+
+
+\section{Notes: pitches and durations}
+
+\begin[fragment,verbatim]{mudela}
+c
+\end{mudela}
+
+\begin[fragment,verbatim]{mudela}
+c d e f g a b
+\end{mudela}
+
+Durations are entered as reciproce values
+\begin[fragment,verbatim]{mudela}
+a1 | a2 a | a4 a a a
+\end{mudela}
+and default to the last previously used duration.
+
+Now we can write a little tune
+\begin[fragment,verbatim]{mudela}
+c d e c | c d e c | e f g2 | e4 f g2
+\end{mudela}
+note the explicit duration change for 
+the quarter e in the last measure.
+
+Same for notes with flags
+\begin[fragment,verbatim]{mudela}
+a8 a16 a32 a64 a128
+\end{mudela}
+
+\begin[fragment,verbatim]{mudela}
+c c' c''
+\end{mudela}
+
+\begin[fragment,verbatim]{mudela}
+a 'a ''a
+\end{mudela}
+
+\section{Slurs and Ties}
+
+A tie connects two adjacent noteheads
+
+\begin[fragment,verbatim]{mudela}
+c' ~ c
+\end{mudela}
+
+Whereas a slur rather connects `chords', 
+and tries to avoid crossing stems.
+
+\begin[fragment,verbatim]{mudela}
+c'( )c
+\end{mudela}
+
+A (legato) slur can span several notes
+\begin[fragment,verbatim]{mudela}
+c'( d e )c
+\end{mudela}
+
+\section{Beams and plets}
+
+\begin[fragment,verbatim]{mudela}
+[a8 a] [a16 a a a]
+\end{mudela}
+
+% [2/3 a8 a a]1/1
+\begin[fragment,verbatim]{mudela}
+[/3 a8 a a]/1
+\end{mudela}
+
+\begin[fragment,verbatim]{mudela}
+\[/3 a4 a8\]
+\end{mudela}
+
+\section{Commands}
+
+\begin[fragment,verbatim]{mudela}
+\clef "bass"; 'c
+\end{mudela}
+
+\begin[fragment,verbatim]{mudela}
+\meter 3/4; c g g |
+\end{mudela}
+
+\begin[fragment,verbatim]{mudela}
+\key fis cis;
+'g 'a 'b cis d e fis g'
+\end{mudela}
+
+\section{Example}
+
+A Mudela file needs some red tape
+
+\begin[verbatim]{mudela}
+\score{
+       \melodic{
+               \octave c';
+               c d e c
+       }
+}
+\end{mudela}
+
+\section{Lyrics}
+
+% this nesting syntax sucks
+\begin[verbatim]{mudela}
+\score{
+       < 
+               \melodic \type Staff = bla < \melodic{\octave c'; c d e c} >
+% huh?
+%              \lyric \type Lyrics = bli < \lyric{Fre- re Ja- que} >
+        >
+}
+\end{mudela}
+
+\section{Variables}
+
+\end{document}
+
index b04410aa3e6e535aa6f2299b8497fdc69afd099c..56cd0f9c831cb5059e601a25b1479f535d89ed68 100644 (file)
@@ -11,7 +11,7 @@ packages. Feel free to add info (and mail it to me).
 
 =over 4
 
-=item Rosegarden, http://www.bath.ac.uk/~masjpf/rose.html
+=item Rosegarden, http://www.bath.ac.uk/~masjpf/rose.html.
 
 A Notation editor/Sequencer for X. Also outputs musictex.
 
@@ -171,6 +171,8 @@ clones.  It uses MIDI-keyboard input
 
 =head2 Unknown
 
+=over 4
+
 =item MusE, [no WWW address known]
 
 A-R Music Engraving, by A-R Editions, Inc. Professional engraving on
@@ -189,12 +191,24 @@ Dominique Montel (a professional music typesetter) is now working
 together with computer scientists on his own software for music
 publishing, called "Berlioz".
 
+=back
+
 =head2 Other stuff
 
+=over 4
+
 =item Sonata, http://www.adobe.com/type/browser/F/F_SONA.html
 
 The music font by Adobe.
 
+=item Haskore, http://haskell.systemscz.cs.yale.edu/haskore/onlinetutorial/index.html
+
+A programming system for music, based on Haskell, a functional
+programming language.  It outputs MIDI, CSound, NeXTStep MusicKit and
+CMN.
+
 
 
+=back
+
 
index 966420ae5a2d75bbb27bd6c5e85f54ff9b87f45a..1e8ba2b80f4331aad9bfd6395defb40e14a6ad9c 100644 (file)
@@ -25,14 +25,15 @@ PREREQUISITES
 
        o    A GNU system: GNU LilyPond is known to run on these
             GNU systems: Linux (PPC, intel), FreeBSD, AIX,
-            NeXTStep, Digital Unix and Solaris.
+            NeXTStep, IRIX, Digital Unix and Solaris.
 
             If you have the Cygnus WINDOWS32 port of the GNU
             utils, it will even work in Windows NT/95, but we
             don't promise to support it.
 
-       o    GNU C++ v2.7 or better, with libg++ installed.
-            Version 2.7.2 or better recommended.
+       o    GNU C++ v2.7 or better, with libg++ installed.  If
+            you use gcc 2.8 or egcs then you should install a
+            matching libg++  (ie. 2.8) version.
 
        o    GNU make.
 
@@ -60,8 +61,7 @@ RECOMMENDED
 
 
 
-
-28/Jan/98                LilyPond 0.1.46                        1
+6/Mar/98                 LilyPond 0.1.47                        1
 
 
 
@@ -127,7 +127,7 @@ CONFIGURING and COMPILING
 
 
 
-28/Jan/98                LilyPond 0.1.46                        2
+6/Mar/98                 LilyPond 0.1.47                        2
 
 
 
@@ -193,7 +193,7 @@ INSTALL(1)            LilyPond documentation           INSTALL(1)
 
 
 
-28/Jan/98                LilyPond 0.1.46                        3
+6/Mar/98                 LilyPond 0.1.47                        3
 
 
 
@@ -259,7 +259,7 @@ EXAMPLE
 
 
 
-28/Jan/98                LilyPond 0.1.46                        4
+6/Mar/98                 LilyPond 0.1.47                        4
 
 
 
@@ -325,7 +325,7 @@ MUSIXTEX
 
 
 
-28/Jan/98                LilyPond 0.1.46                        5
+6/Mar/98                 LilyPond 0.1.47                        5
 
 
 
@@ -391,6 +391,6 @@ AUTHORS
 
 
 
-28/Jan/98                LilyPond 0.1.46                        6
+6/Mar/98                 LilyPond 0.1.47                        6
 
 
diff --git a/NEWS b/NEWS
index 13e1992ee0ccaf105fb5619b0e51607aee789bb9..60d9a467b54ab82ff7124d8a7d770e9fdbfa519e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,17 @@
+pl 47
+       - Abbreviation now a separate item.
+       - bf'd some gcc 2.8 warnings.
+       - bf'd spurious space in autodep.
+       - more clefs (MB)
+
+pl 46.jcn1
+       - start mudela introduction
+       - plet-fraction abbrev by guessing; /3 -> 2/3 etc.
+       - bf's: preludes-*
+
+*******
+feb 27
+
 pl 46
        - span-bar at upstep.
        - bf: \score { \score_identifier }
diff --git a/TODO b/TODO
index ae2a8a6eb31cd25d28038abb65de883455307a99..e966bc71f18f1a67e553dd9271736e29397ef1e3 100644 (file)
--- a/TODO
+++ b/TODO
@@ -42,6 +42,24 @@ grep for TODO and ugh/ugr
 
        * bf: abbrevs over whole note
 
+       * spanner that is not spanned gives assert ().
+
+* the warning about the negative slur/tie length appears twice
+which is irritating.
+
+* The `3' in the meter key is a one or two pixels too thin (at 600dpi)
+in the middle:
+* better hshift (dots, distance, head dependent)
+
+* tie/slur dir & curvature
+
+* stem len adjustable
+
+* mindist for spanners
+
+       
+
 STUFF
 
 
@@ -81,6 +99,8 @@ STUFF
 
 3RD PARTY BUGS:
 
+       * gdb on RedHat 5
+
        * xdvi: PS magnifying glass.
 
        * Rational infty(HUGE_VAL) on glibc / w32
diff --git a/VERSION b/VERSION
index 4bdb5e852183a89bf47210dfa21e9e3deb6dcc80..cab5f19d385771ed66905adec4217bc7df390bc0 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,6 +1,6 @@
 TOPLEVEL_MAJOR_VERSION = 0
 TOPLEVEL_MINOR_VERSION = 1
-TOPLEVEL_PATCH_LEVEL = 46
+TOPLEVEL_PATCH_LEVEL = 47
 TOPLEVEL_MY_PATCH_LEVEL = 
 
 # use the above to send patches, always empty for released version:
index 06578f3157fe4dfd2f3ede34960a8eeae71ac9f6..3be80d97daba3aa3c70f0fe79b327c0131cca6b0 100644 (file)
@@ -336,7 +336,7 @@ sub do_one_arg
 identify;
 
 
-GetOptions ("help", "output=s", "from=i", "to=i", "minor=i", "edit", "show-rules");
+GetOptions ("help", "output=s", "from=s", "to=s", "minor=i", "edit", "show-rules");
 
 if ($opt_help) {
     usage();
diff --git a/bin/convert-mudela.py b/bin/convert-mudela.py
new file mode 100644 (file)
index 0000000..9654db9
--- /dev/null
@@ -0,0 +1,318 @@
+#!@PYTHON@ -w
+# -*-perl-*-
+
+version = "0.2";
+
+################################################################
+
+sub no_conv
+{
+}
+sub convert_0_0_52_to_0_0_53
+{
+
+    s/include \"/$1\\include \"/g;
+}
+
+  
+sub convert_0_0_54_to_0_0_55
+{
+    s/%{/% {/g;
+}
+
+  
+sub convert_0_0_53_to_0_0_54
+{
+    print STDERR "Not smart enough to convert \\transpose\n"    if (/\\transpose/) ;
+}
+
+# we-re not at 58 yet, but this is at least one of the rules
+sub convert_0_0_55_to_0_0_56
+{
+    s/\"\|\|\"/\"|.\"/g;
+}
+
+sub convert_0_0_56_to_0_0_57
+{
+    s/\(([ \]\[|\t-\.>]|\\[<!>a-z]+)*\)/\~ $1/g;
+}
+
+sub convert_0_0_57_to_0_0_58
+{
+    s/\[ *([^\[\]]*)\] *([1-9]*) *\/ *([1-9]*)/[$2\/$3 $1]1\/1/g;
+}
+
+sub convert_0_0_58_to_0_0_59
+{
+    die "Not smart enough to convert 0.0.58 to 0.0.59\n";
+}
+
+sub convert_0_0_59_to_0_0_60
+{
+    s/(\\unitspace [0-9.mcptin\\ ]+|\\geometric [0-9.]+|\\width [0-9.mcp\\tin]+)/$1;/g;
+    s/(\\output \"[^\"]+\")/$1;/;
+    s/(\\tempo  [0-9: ]+)/$1;/;
+}
+
+sub convert_0_0_60_to_0_0_61
+{
+    s/(\\unitspace|\\geometric|\\width)/$1=/g;
+   
+}
+
+sub convert_0_1_0_to_0_1_1
+{
+    s/\\tempo (.*):(.*);/\\tempo $1 = $2;/g
+}
+
+sub convert_0_1_2_to_0_1_3
+{
+    s/\\stem *(\\up|1) *;/\\stemup/g;
+    s/\\stem *(\\down|-1) *;/\\stemdown/g;
+    s/\\stem *0 *;/\\stemboth/g;
+    s/\\hshift ([^;]+) *;/\\property Voice.hshift = $1/g;
+}
+
+my $header_b = 0;
+
+sub generic_conversion_scan
+{
+    if (/\\header *\{/)
+    {
+       $header_b = 1;
+    }
+    if ($header_b && /^ *\}/)
+    {
+       $header_b = 0;
+    }
+}
+sub convert_0_1_4_to_0_1_5
+{
+    s/([<{]) *\\id "Piano" (.+);/\\type Grandstaff = $3 $1/;    
+    s/([<{]) *\\id (.+) (.+);/\\type $2 = $3 $1/;
+}
+
+       
+sub convert_0_1_5_to_0_1_6
+{
+    s/< *\\multi (.*);/\\multi $1 </;
+}
+
+sub convert_0_1_6_to_0_1_7
+{
+    if ($header_b) 
+    {
+       s/^([a-zA-z]+)[ \t]+(.*)$/$1 =\t \"$2\";/;
+       s/^([ \t])+(.*)$/$1 \"$2\";/;
+    }
+}  
+
+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 convert_0_1_8_to_0_1_9
+{
+# sticky plet shorthand...
+#  print "introduced plet and finger shorthands...\n";
+}
+
+###############################################################
+
+sub    last_conversion
+{
+    my @v = &versions;
+    return pop @v;
+}
+sub identify
+{
+    
+    print STDERR "This is convert-mudela " . $convert_mudela_version . 
+       " (up to mudela version ", last_conversion,     ")\n";
+}
+  
+  
+ sub usage
+  {
+     print STDERR "Usage: convert-mudela [options] [mudela-file]...\n"
+     . "Convert old mudela source from mudela-file or stdin\n\n"
+     . "Options:\n"
+     . "  -e, --edit             perform in-place conversion\n"
+     . "  -f, --from=PATHLEVEL   use source version 0.0.PATCHLEVEL\n"
+     . "  -h, --help             print this help\n"
+     . "  -o, --output=FILE      name output file\n"
+     . "  -s, --show-rules       print all known conversion rules\n"
+     . "  -t, --to=VERSION       convert to version VERSION\n"
+  }
+      
+
+my %minor_conversions = ("0.0.50" => \&no_conv,
+                        "0.0.52" => \&convert_0_0_50_to_0_0_52,
+                        "0.0.53" => \&convert_0_0_52_to_0_0_53,
+                        "0.0.54" => \&convert_0_0_53_to_0_0_54,
+                        "0.0.55" => \&convert_0_0_54_to_0_0_55,
+                        "0.0.56" => \&convert_0_0_55_to_0_0_56,
+                        "0.0.57" => \&convert_0_0_56_to_0_0_57,
+                        "0.0.58" => \&convert_0_0_57_to_0_0_58,
+                        "0.0.59" => \&convert_0_0_58_to_0_0_59,
+                        "0.0.60" => \&convert_0_0_59_to_0_0_60,
+                        "0.0.61" => \&convert_0_0_60_to_0_0_61,
+                        "0.1.1" => \&convert_0_1_0_to_0_1_1,
+                        "0.1.2" => \&no_conv,
+                        "0.1.3" => \&convert_0_1_2_to_0_1_3,
+                        "0.1.4" => \&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
+                        ,"0.1.9" => \&convert_0_1_8_to_0_1_9
+                        );
+
+
+sub versions 
+{
+    return (sort { cmpver; } (keys %minor_conversions));
+}
+
+
+sub show_rules
+{
+    my (@v) = versions;
+
+    print "Rules: ", join(", ", @v), "\n";
+    
+}
+
+sub do_conversion
+{
+    my ($from,$to) = @_;
+
+    my @applicable_conversion;
+    my @mudela_levels;
+    
+    my @v = versions;
+    foreach $ver (@v) {
+       if (version_compare($ver, $from) > 0 && version_compare($ver,$to) <= 0 ){ 
+           push @applicable_conversion, $minor_conversions{$ver};
+           push @mudela_levels, $ver;
+       }
+    }
+    
+    print STDERR "Applying following rules: ", join(", ", @mudela_levels) , "\n";
+
+    while (<INLY>) {
+       generic_conversion_scan;
+       foreach $subroutine (@applicable_conversion) {
+       
+           &$subroutine;
+           
+       }
+       version_string_conv $from, $to;
+       print OUTLY;
+    }
+}
+
+sub get_auto_from
+{
+    my ($fn)=@_;
+    my ($ver);
+    open INLY, $fn || die "Can't open";
+
+    while (<INLY>) {
+       s/^.*\\version \"([^\"]*)\".*$//;
+       if (defined ($1)) {
+           print STDERR "Guessing version: ", $1, ".. ";
+           $ver = $1;
+           last;
+       }
+    }
+    if (!defined($ver)){
+       print STDERR "can't determine mudela version in $fn.\n";
+       my $u;
+       return $u;
+    }
+    close INLY;
+    return $ver;
+}   
+
+sub  set_files 
+{
+    $infile = "-";
+    $outfile = "-";
+    $outfile = $opt_output if (defined($opt_output));
+
+    if ($ARGV [0])  {
+       $infile = $ARGV[0];
+    } 
+    if (!(-f $infile) && !($infile =~ /\.ly$/s)) {
+       $infile .= ".ly";
+    }
+    if ($opt_edit && $infile ne "-") {
+       $opt_edit = 1;
+       $outfile = "$infile.NEW";
+       $infile = "$infile";
+    }
+    print STDERR "Input ", (($infile eq "-") ?"STDIN" : $infile), " .. ";
+
+}
+
+sub do_one_arg
+{
+    set_files;
+
+    local ($from_version, $to_version);
+    $from_version = $opt_from;
+    $to_version = $opt_to;
+    
+    ($from_version = get_auto_from $infile) unless defined($opt_from);
+    return if (!defined($from_version));
+    
+    ($to_version =  last_conversion) unless (defined($opt_to));
+
+    die "can't open \`$infile\'" unless open INLY,$infile ;
+    die "can't open \`$outfile\'" unless open OUTLY, ">$outfile";
+    
+    do_conversion $from_version, $to_version;
+    close INLY;
+    close OUTLY;
+
+    if ($opt_edit) {
+       rename $infile, "$infile~";
+       rename $outfile, "$infile";
+    }
+}
+
+## "main"
+
+identify;
+
+
+GetOptions ("help", "output=s", "from=i", "to=i", "minor=i", "edit", "show-rules");
+
+if ($opt_help) {
+    usage();
+    $opt_help = 0;     # to extinguish typo check.
+    exit 0;
+}
+
+if ($opt_show_rules) { 
+    show_rules ;
+    $opt_show_rules = 0;       # to extinguish typo check.
+    exit 0;
+}
+
+local ( $infile,$outfile);
+my $processed_one=0;
+
+while (defined($ARGV[0])) {
+    do_one_arg;
+    shift @ARGV;
+    $processed_one = 1;
+}
+do_one_arg unless ($processed_one);
+
+    
diff --git a/bin/cvm.py b/bin/cvm.py
new file mode 100644 (file)
index 0000000..9654db9
--- /dev/null
@@ -0,0 +1,318 @@
+#!@PYTHON@ -w
+# -*-perl-*-
+
+version = "0.2";
+
+################################################################
+
+sub no_conv
+{
+}
+sub convert_0_0_52_to_0_0_53
+{
+
+    s/include \"/$1\\include \"/g;
+}
+
+  
+sub convert_0_0_54_to_0_0_55
+{
+    s/%{/% {/g;
+}
+
+  
+sub convert_0_0_53_to_0_0_54
+{
+    print STDERR "Not smart enough to convert \\transpose\n"    if (/\\transpose/) ;
+}
+
+# we-re not at 58 yet, but this is at least one of the rules
+sub convert_0_0_55_to_0_0_56
+{
+    s/\"\|\|\"/\"|.\"/g;
+}
+
+sub convert_0_0_56_to_0_0_57
+{
+    s/\(([ \]\[|\t-\.>]|\\[<!>a-z]+)*\)/\~ $1/g;
+}
+
+sub convert_0_0_57_to_0_0_58
+{
+    s/\[ *([^\[\]]*)\] *([1-9]*) *\/ *([1-9]*)/[$2\/$3 $1]1\/1/g;
+}
+
+sub convert_0_0_58_to_0_0_59
+{
+    die "Not smart enough to convert 0.0.58 to 0.0.59\n";
+}
+
+sub convert_0_0_59_to_0_0_60
+{
+    s/(\\unitspace [0-9.mcptin\\ ]+|\\geometric [0-9.]+|\\width [0-9.mcp\\tin]+)/$1;/g;
+    s/(\\output \"[^\"]+\")/$1;/;
+    s/(\\tempo  [0-9: ]+)/$1;/;
+}
+
+sub convert_0_0_60_to_0_0_61
+{
+    s/(\\unitspace|\\geometric|\\width)/$1=/g;
+   
+}
+
+sub convert_0_1_0_to_0_1_1
+{
+    s/\\tempo (.*):(.*);/\\tempo $1 = $2;/g
+}
+
+sub convert_0_1_2_to_0_1_3
+{
+    s/\\stem *(\\up|1) *;/\\stemup/g;
+    s/\\stem *(\\down|-1) *;/\\stemdown/g;
+    s/\\stem *0 *;/\\stemboth/g;
+    s/\\hshift ([^;]+) *;/\\property Voice.hshift = $1/g;
+}
+
+my $header_b = 0;
+
+sub generic_conversion_scan
+{
+    if (/\\header *\{/)
+    {
+       $header_b = 1;
+    }
+    if ($header_b && /^ *\}/)
+    {
+       $header_b = 0;
+    }
+}
+sub convert_0_1_4_to_0_1_5
+{
+    s/([<{]) *\\id "Piano" (.+);/\\type Grandstaff = $3 $1/;    
+    s/([<{]) *\\id (.+) (.+);/\\type $2 = $3 $1/;
+}
+
+       
+sub convert_0_1_5_to_0_1_6
+{
+    s/< *\\multi (.*);/\\multi $1 </;
+}
+
+sub convert_0_1_6_to_0_1_7
+{
+    if ($header_b) 
+    {
+       s/^([a-zA-z]+)[ \t]+(.*)$/$1 =\t \"$2\";/;
+       s/^([ \t])+(.*)$/$1 \"$2\";/;
+    }
+}  
+
+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 convert_0_1_8_to_0_1_9
+{
+# sticky plet shorthand...
+#  print "introduced plet and finger shorthands...\n";
+}
+
+###############################################################
+
+sub    last_conversion
+{
+    my @v = &versions;
+    return pop @v;
+}
+sub identify
+{
+    
+    print STDERR "This is convert-mudela " . $convert_mudela_version . 
+       " (up to mudela version ", last_conversion,     ")\n";
+}
+  
+  
+ sub usage
+  {
+     print STDERR "Usage: convert-mudela [options] [mudela-file]...\n"
+     . "Convert old mudela source from mudela-file or stdin\n\n"
+     . "Options:\n"
+     . "  -e, --edit             perform in-place conversion\n"
+     . "  -f, --from=PATHLEVEL   use source version 0.0.PATCHLEVEL\n"
+     . "  -h, --help             print this help\n"
+     . "  -o, --output=FILE      name output file\n"
+     . "  -s, --show-rules       print all known conversion rules\n"
+     . "  -t, --to=VERSION       convert to version VERSION\n"
+  }
+      
+
+my %minor_conversions = ("0.0.50" => \&no_conv,
+                        "0.0.52" => \&convert_0_0_50_to_0_0_52,
+                        "0.0.53" => \&convert_0_0_52_to_0_0_53,
+                        "0.0.54" => \&convert_0_0_53_to_0_0_54,
+                        "0.0.55" => \&convert_0_0_54_to_0_0_55,
+                        "0.0.56" => \&convert_0_0_55_to_0_0_56,
+                        "0.0.57" => \&convert_0_0_56_to_0_0_57,
+                        "0.0.58" => \&convert_0_0_57_to_0_0_58,
+                        "0.0.59" => \&convert_0_0_58_to_0_0_59,
+                        "0.0.60" => \&convert_0_0_59_to_0_0_60,
+                        "0.0.61" => \&convert_0_0_60_to_0_0_61,
+                        "0.1.1" => \&convert_0_1_0_to_0_1_1,
+                        "0.1.2" => \&no_conv,
+                        "0.1.3" => \&convert_0_1_2_to_0_1_3,
+                        "0.1.4" => \&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
+                        ,"0.1.9" => \&convert_0_1_8_to_0_1_9
+                        );
+
+
+sub versions 
+{
+    return (sort { cmpver; } (keys %minor_conversions));
+}
+
+
+sub show_rules
+{
+    my (@v) = versions;
+
+    print "Rules: ", join(", ", @v), "\n";
+    
+}
+
+sub do_conversion
+{
+    my ($from,$to) = @_;
+
+    my @applicable_conversion;
+    my @mudela_levels;
+    
+    my @v = versions;
+    foreach $ver (@v) {
+       if (version_compare($ver, $from) > 0 && version_compare($ver,$to) <= 0 ){ 
+           push @applicable_conversion, $minor_conversions{$ver};
+           push @mudela_levels, $ver;
+       }
+    }
+    
+    print STDERR "Applying following rules: ", join(", ", @mudela_levels) , "\n";
+
+    while (<INLY>) {
+       generic_conversion_scan;
+       foreach $subroutine (@applicable_conversion) {
+       
+           &$subroutine;
+           
+       }
+       version_string_conv $from, $to;
+       print OUTLY;
+    }
+}
+
+sub get_auto_from
+{
+    my ($fn)=@_;
+    my ($ver);
+    open INLY, $fn || die "Can't open";
+
+    while (<INLY>) {
+       s/^.*\\version \"([^\"]*)\".*$//;
+       if (defined ($1)) {
+           print STDERR "Guessing version: ", $1, ".. ";
+           $ver = $1;
+           last;
+       }
+    }
+    if (!defined($ver)){
+       print STDERR "can't determine mudela version in $fn.\n";
+       my $u;
+       return $u;
+    }
+    close INLY;
+    return $ver;
+}   
+
+sub  set_files 
+{
+    $infile = "-";
+    $outfile = "-";
+    $outfile = $opt_output if (defined($opt_output));
+
+    if ($ARGV [0])  {
+       $infile = $ARGV[0];
+    } 
+    if (!(-f $infile) && !($infile =~ /\.ly$/s)) {
+       $infile .= ".ly";
+    }
+    if ($opt_edit && $infile ne "-") {
+       $opt_edit = 1;
+       $outfile = "$infile.NEW";
+       $infile = "$infile";
+    }
+    print STDERR "Input ", (($infile eq "-") ?"STDIN" : $infile), " .. ";
+
+}
+
+sub do_one_arg
+{
+    set_files;
+
+    local ($from_version, $to_version);
+    $from_version = $opt_from;
+    $to_version = $opt_to;
+    
+    ($from_version = get_auto_from $infile) unless defined($opt_from);
+    return if (!defined($from_version));
+    
+    ($to_version =  last_conversion) unless (defined($opt_to));
+
+    die "can't open \`$infile\'" unless open INLY,$infile ;
+    die "can't open \`$outfile\'" unless open OUTLY, ">$outfile";
+    
+    do_conversion $from_version, $to_version;
+    close INLY;
+    close OUTLY;
+
+    if ($opt_edit) {
+       rename $infile, "$infile~";
+       rename $outfile, "$infile";
+    }
+}
+
+## "main"
+
+identify;
+
+
+GetOptions ("help", "output=s", "from=i", "to=i", "minor=i", "edit", "show-rules");
+
+if ($opt_help) {
+    usage();
+    $opt_help = 0;     # to extinguish typo check.
+    exit 0;
+}
+
+if ($opt_show_rules) { 
+    show_rules ;
+    $opt_show_rules = 0;       # to extinguish typo check.
+    exit 0;
+}
+
+local ( $infile,$outfile);
+my $processed_one=0;
+
+while (defined($ARGV[0])) {
+    do_one_arg;
+    shift @ARGV;
+    $processed_one = 1;
+}
+do_one_arg unless ($processed_one);
+
+    
index 4a68b3b80d32c320b145a07342fb400c47255ede..57f0e9fb8f93176193f3433af8c4ef2fc17b552c 100644 (file)
@@ -47,7 +47,7 @@ def project_str():
     if regex.search('flower', cwd) <> -1:
        PROJECT = "the Flower Library"
     elif regex.search('mf$', cwd) <> -1:
-       PROJECT = "the Feta (Font-En-Tja) music font"
+       PROJECT = "the Feta (defintively not an abbreviation for Font-En-Tja) music font"
     else:
        PROJECT = "the GNU LilyPond music typesetter"
     return PROJECT
index 2698d77d17951dc0ac5c2cd5b655e0bbe1ad2bf5..005a311196f7135bf23bcea57187971a36e1ae07 100644 (file)
@@ -14,6 +14,10 @@ IDENTIFICATION="$NAME $VERSION"
 NOW=`date`
 echo "$IDENTIFICATION" 1>&2
 
+# TODO
+
+# should detect crashing lilypond
+
 # NEWS
     
 # 0.6.hwn1.jaf
index ba04446924c754cfa11e1e4a5d353559d1f38d06..b274731309e4e2ec4093275de632767ea6eb4e33 100644 (file)
@@ -5,4 +5,4 @@ then
 fi
 p1=`find $LILYTOP -name '*.hh' |egrep -v out/` 
 p2=`find $LILYTOP -name '*.cc' |egrep -v out/`
-doc++ -d docxx/ -S -k -p $BANNEROPT $p1 $p2
+doc++ -f -d docxx/ -S -k -p $BANNEROPT $p1 $p2
index 15da0c6e43d93f25b3b714dc0d85403c63a53ac2..a2243a78f913e0e884e98bfa06cdcf80e1f8c7ca 100644 (file)
@@ -95,7 +95,7 @@ def my_system(cmds):
 base="lilypond/";
 
 examples=["twinkle-pop", 
-         "toccata-fuga-E", 
+         "praeludium-fuga-E", 
          "cadenza", 
          "twinkle", 
          "collisions",
@@ -123,8 +123,11 @@ def gen_examples(inputs):
     print 'generating examples:\n'
     outputs = []
     for i in inputs:
-       located = multiple_find ([i + '.ly'], include_path) [0]
-
+       try:
+               located = multiple_find ([i + '.ly'], include_path) [0]
+       except IndexError:
+               print 'continuing dazed & confused (%s) ' % i
+               continue
        outputs.append (located)
        if not file_exist_b(i + '.dvi'):
            my_system (['ly2dvi %s' % located])
@@ -275,6 +278,7 @@ def edit_html():
        s = regsub.sub ('</BODY>', footstr('index.html') + makewebsite_id + '</BODY>', s)
        s = regsub.sub('<TITLE>\(.*\)</TITLE>$', 
                       '<TITLE>LilyPond WWW: \\1</TITLE>', s)
+
        dump_file (f,s)
 
 
index bf65dd7806e80896244491bf2adfb05b309baebf..a5ed477aeaa819352910c619018d44a4a7328abe 100644 (file)
@@ -83,7 +83,7 @@ sub open_mudela
        print BOOK "\\begin{verbatim}\n";
     }
     if ($fragment_b) {
-       print MUDELA "\\score { \\melodic {";
+       print MUDELA "\\score { \\melodic {\\octave c';";
     }
 
 }
index eba42b2cdaf7a665765ab68cf314d467327e77f5..3cd69740dd1098b34b938d64c3f37e7d3c78459e 100755 (executable)
--- a/configure
+++ b/configure
@@ -12,7 +12,7 @@ ac_help=
 ac_default_prefix=/usr/local
 # Any additions from configure.in:
 ac_help="$ac_help
-  enable-printing         turn on debug printing"
+  enable-printing         turn on debug printing. Default: off"
 ac_help="$ac_help
   enable-checking         set runtime checks (assert calls). Default: on"
 ac_help="$ac_help
index 31fb7264115e4ec58678cbdfdb0850ee0f67e1f1..53928a8cd416fed23766a3d3472c72dca4e89139 100644 (file)
@@ -27,7 +27,7 @@ profile_b=no
 AC_LANG_CPLUSPLUS
 
 AC_ARG_ENABLE(printing,
-    [  enable-printing         turn on debug printing],
+    [  enable-printing         turn on debug printing. Default: off],
     [printing_b=$enableval])
 
        
diff --git a/debian/out/dummy.dep b/debian/out/dummy.dep
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/flower/dictionary.cc b/flower/dictionary.cc
new file mode 100644 (file)
index 0000000..d8e5028
--- /dev/null
@@ -0,0 +1,37 @@
+
+#if 0
+
+
+/**
+   neuk. hsearch_* is te dom.
+ */
+template<class T>
+class Dictionary<T>
+{
+  hsearch_data * hash_p_;
+  
+public:
+  Dictionary ();
+  ~Dictionary ();
+  Dictionary (Dictionary const&);
+  T &elem (String s);
+  T const &elem (String s) const;
+  bool elt_b (String s) const;
+  void add (String, T);
+  void clear ();
+}
+
+Dictionary::Dictionary ()
+{
+  hash_p_ = new hsearch_data;
+  hash_p_->table = 0;
+
+  int start_size = 51;
+  int retval = hcreate_r (start_size, hash_p_);
+
+  assert (retval);
+}
+
+
+
+#endif
index a8ad166711c53e39a65d1f089489a3bf65373eb1..359edb6b4ceca3d4780ef7cad25d397b190be7a4 100644 (file)
@@ -27,6 +27,7 @@ Full_storage::valid (int i, int j) const
 
 INLINE
 Full_storage::Full_storage (Full_storage const&s)
+  : Matrix_storage (s)
 {
   init();
   (*this) = s;
index 2fd76090a327ec3187352016d1c7fc94718ed6dd..d236759219e1f66887b988b4111cfb1739bda840 100644 (file)
@@ -83,6 +83,7 @@ struct Interval_t {
     return *this;
   }
   String str() const;    
+  void print () const;
   bool elt_b (T r);
 };
 
index 1a483b5f188a58a8f527a3429767e283b0b310ba..88dc1a7016716b10d8de1710664d7522761297b1 100644 (file)
 #include <math.h>
 #include "interval.hh"
 #include "string.hh"
+#include "flower-debug.hh"
 
+template<class T>
+void
+Interval_t<T>::print () const
+{
+  fdebug << str ();
+}
 
 template<class T>
 int
index f425bfd2951c22244d831b6d0870d9e59128faa5..7d2c0098393d7d5c5e29c7a660dd094e172d20b8 100644 (file)
@@ -14,6 +14,8 @@
 
 template INTERVAL__INSTANTIATE(Real);
 
+
+
 Real
 Interval_t<Real>::infinity() 
 {
index 9f5fca9dad2178726f8cc34ce18f7294369aef5d..0e479de3e55bb37bc364c85c28d50a048cc0dc1e 100644 (file)
@@ -6,6 +6,10 @@
 
  */
 
+#ifndef _GNU_SOURCE // we want memmem
+#define _GNU_SOURCE
+#endif
+
 #include <stdlib.h>
 #include <stdio.h>
 
index 8cd10797c50e6682b9ee7474cf6a58a547d8a38f..26aaf3cff991479ce3e9a1e80772ba3952cbcbed 100644 (file)
@@ -13,8 +13,9 @@ void reg_test (fptr f)
 int
 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 0ecd6c7adad63da38fdcc60b018e93305b17eae9..f874201e801ac312ec7d419370d7d7d73f64fedb 100644 (file)
@@ -4,8 +4,8 @@
 % input from out/feta11.log
 % name=\symboltables {
     "rests"     = \table {
-        "0"    "\\wholerest"   -0.00\pt        4.13\pt -1.72\pt        0.00\pt 
-        "1"    "\\halfrest"    -0.00\pt        4.13\pt -0.00\pt        1.72\pt 
+        "0"    "\\wholerest"   -0.00\pt        4.12\pt -1.72\pt        0.00\pt 
+        "1"    "\\halfrest"    -0.00\pt        4.12\pt -0.00\pt        1.72\pt 
         "0o"   "\\outsidewholerest"    -1.72\pt        5.84\pt -1.72\pt        0.28\pt 
         "1o"   "\\outsidehalfrest"     -1.72\pt        5.84\pt -0.28\pt        1.72\pt 
         "2"    "\\quartrest"   -0.00\pt        2.97\pt 2.06\pt 9.90\pt 
@@ -16,8 +16,8 @@
         "7"    "\\hundredtwentyeighthrest"     -0.00\pt        5.75\pt -0.00\pt        16.06\pt        
         }
     "accidentals"       = \table {
-        "1"    "\\sharp"       -0.00\pt        3.03\pt -4.13\pt        4.13\pt 
-        "0"    "\\natural"     -0.00\pt        1.83\pt -4.13\pt        4.13\pt 
+        "1"    "\\sharp"       -0.00\pt        3.03\pt -4.12\pt        4.12\pt 
+        "0"    "\\natural"     -0.00\pt        1.83\pt -4.12\pt        4.12\pt 
         "-1"   "\\flat"        -0.33\pt        2.20\pt -1.38\pt        5.50\pt 
         "-2"   "\\flatflat"    -0.33\pt        3.99\pt -1.38\pt        5.50\pt 
         "2"    "\\sharpsharp"  -0.00\pt        2.75\pt -1.38\pt        1.38\pt 
         "downbow"      "\\downbow"     -2.06\pt        2.06\pt -0.00\pt        3.67\pt 
         "turn" "\\turn"        -3.01\pt        3.01\pt -1.46\pt        1.46\pt 
         "trill"        "\\trill"       -2.75\pt        2.75\pt -0.00\pt        6.19\pt 
-        "pedalheel"    "\\pedalheel"   -1.38\pt        1.38\pt -1.38\pt        1.83\pt 
-        "pedaltoe"     "\\pedaltoe"    -1.38\pt        1.38\pt -0.00\pt        4.13\pt 
+        "upedalheel"   "\\upedalheel"  -1.38\pt        1.38\pt -1.38\pt        1.83\pt 
+        "dpedalheel"   "\\dpedalheel"  -1.38\pt        1.38\pt -1.83\pt        1.38\pt 
+        "upedaltoe"    "\\upedaltoe"   -1.38\pt        1.38\pt -0.00\pt        4.12\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -1.38\pt        1.38\pt -4.12\pt        0.00\pt 
         "flageolet"    "\\flageolet"   -1.47\pt        1.47\pt -1.47\pt        1.47\pt 
         }
     "flags"     = \table {
index 2cec6814a74816f8abe63e5f1c442cacd40ec8bb..4be008a65751f87fd5934cfa95be99df4f46a6f7 100644 (file)
     "accidentals"       = \table {
         "1"    "\\sharp"       -0.00\pt        3.58\pt -4.88\pt        4.88\pt 
         "0"    "\\natural"     -0.00\pt        2.17\pt -4.88\pt        4.88\pt 
-        "-1"   "\\flat"        -0.39\pt        2.60\pt -1.63\pt        6.50\pt 
-        "-2"   "\\flatflat"    -0.39\pt        4.71\pt -1.63\pt        6.50\pt 
-        "2"    "\\sharpsharp"  -0.00\pt        3.25\pt -1.63\pt        1.63\pt 
+        "-1"   "\\flat"        -0.39\pt        2.60\pt -1.62\pt        6.50\pt 
+        "-2"   "\\flatflat"    -0.39\pt        4.71\pt -1.62\pt        6.50\pt 
+        "2"    "\\sharpsharp"  -0.00\pt        3.25\pt -1.62\pt        1.62\pt 
         }
     "dots"      = \table {
         "dot"  "\\dot" -0.00\pt        1.46\pt -0.73\pt        0.73\pt 
-        "repeatcolon"  "\\repeatcolon" -0.00\pt        1.46\pt -1.63\pt        1.63\pt 
+        "repeatcolon"  "\\repeatcolon" -0.00\pt        1.46\pt -1.62\pt        1.62\pt 
         }
     "balls"     = \table {
         "-1"   "\\brevisball"  -0.00\pt        6.50\pt -1.79\pt        1.79\pt 
-        "-1l"  "\\brevisledger"        -1.63\pt        8.13\pt -0.33\pt        0.33\pt 
+        "-1l"  "\\brevisledger"        -1.62\pt        8.12\pt -0.33\pt        0.33\pt 
         "-2"   "\\longaball"   -0.00\pt        6.50\pt -1.79\pt        1.79\pt 
-        "-2l"  "\\longaledger" -1.63\pt        8.13\pt -0.33\pt        0.33\pt 
+        "-2l"  "\\longaledger" -1.62\pt        8.12\pt -0.33\pt        0.33\pt 
         "0"    "\\wholeball"   -0.00\pt        6.44\pt -1.79\pt        1.79\pt 
         "0l"   "\\wholeledger" -1.61\pt        8.04\pt -0.33\pt        0.33\pt 
         "1"    "\\halfball"    -0.00\pt        4.48\pt -1.79\pt        1.79\pt 
     "scripts"   = \table {
         "ufermata"     "\\ufermata"    -4.31\pt        4.31\pt -0.24\pt        4.71\pt 
         "dfermata"     "\\dfermata"    -4.31\pt        4.31\pt -4.71\pt        0.24\pt 
-        "sforzato"     "\\sforzatoaccent"      -2.92\pt        2.92\pt -1.63\pt        1.63\pt 
+        "sforzato"     "\\sforzatoaccent"      -2.92\pt        2.92\pt -1.62\pt        1.62\pt 
         "staccato"     "\\staccato"    -0.49\pt        0.49\pt -0.49\pt        0.49\pt 
         "ustaccatissimo"       "\\ustaccatissimo"      -0.65\pt        0.65\pt -0.20\pt        3.25\pt 
         "dstaccatissimo"       "\\dstaccatissimo"      -0.65\pt        0.65\pt -3.25\pt        0.20\pt 
         "tenuto"       "\\tenuto"      -2.92\pt        2.92\pt -0.20\pt        0.20\pt 
-        "umarcato"     "\\umarcato"    -1.63\pt        1.63\pt -0.00\pt        3.58\pt 
-        "dmarcato"     "\\dmarcato"    -1.63\pt        1.63\pt -3.58\pt        0.00\pt 
-        "open" "\\ouvert"      -1.30\pt        1.30\pt -1.63\pt        1.63\pt 
+        "umarcato"     "\\umarcato"    -1.62\pt        1.62\pt -0.00\pt        3.58\pt 
+        "dmarcato"     "\\dmarcato"    -1.62\pt        1.62\pt -3.58\pt        0.00\pt 
+        "open" "\\ouvert"      -1.30\pt        1.30\pt -1.62\pt        1.62\pt 
         "stopped"      "\\plusstop"    -1.79\pt        1.79\pt -1.79\pt        1.79\pt 
         "upbow"        "\\upbow"       -2.11\pt        2.11\pt -0.00\pt        6.76\pt 
         "downbow"      "\\downbow"     -2.44\pt        2.44\pt -0.00\pt        4.33\pt 
         "turn" "\\turn"        -3.55\pt        3.55\pt -1.72\pt        1.72\pt 
         "trill"        "\\trill"       -3.25\pt        3.25\pt -0.00\pt        7.31\pt 
-        "pedalheel"    "\\pedalheel"   -1.63\pt        1.63\pt -1.63\pt        2.17\pt 
-        "pedaltoe"     "\\pedaltoe"    -1.63\pt        1.63\pt -0.00\pt        4.88\pt 
+        "upedalheel"   "\\upedalheel"  -1.62\pt        1.62\pt -1.62\pt        2.17\pt 
+        "dpedalheel"   "\\dpedalheel"  -1.62\pt        1.62\pt -2.17\pt        1.62\pt 
+        "upedaltoe"    "\\upedaltoe"   -1.62\pt        1.62\pt -0.00\pt        4.88\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -1.62\pt        1.62\pt -4.88\pt        0.00\pt 
         "flageolet"    "\\flageolet"   -1.73\pt        1.73\pt -1.73\pt        1.73\pt 
         }
     "flags"     = \table {
@@ -71,7 +73,7 @@
     "clefs"     = \table {
         "alto" "\\altoclef"    -3.25\pt        12.10\pt        -6.50\pt        6.50\pt 
         "alto_change"  "\\caltoclef"   -2.60\pt        9.68\pt -5.20\pt        5.20\pt 
-        "bass" "\\bassclef"    -1.63\pt        11.70\pt        -8.13\pt        3.25\pt 
+        "bass" "\\bassclef"    -1.62\pt        11.70\pt        -8.12\pt        3.25\pt 
         "bass_change"  "\\cbassclef"   -1.30\pt        9.36\pt -6.50\pt        2.60\pt 
         "violin"       "\\violinclef"  -2.83\pt        12.15\pt        -9.75\pt        16.25\pt        
         "violin_change"        "\\cviolinclef" -2.46\pt        9.52\pt -7.80\pt        13.00\pt        
index 520fde4b340c8c5c247773605f6aa428c7e0b8e1..c8bcf1ee2d568a2920ababc6f349907642a84112 100644 (file)
         "downbow"      "\\downbow"     -3.00\pt        3.00\pt -0.00\pt        5.33\pt 
         "turn" "\\turn"        -4.38\pt        4.38\pt -2.12\pt        2.12\pt 
         "trill"        "\\trill"       -4.00\pt        4.00\pt -0.00\pt        9.00\pt 
-        "pedalheel"    "\\pedalheel"   -2.00\pt        2.00\pt -2.00\pt        2.67\pt 
-        "pedaltoe"     "\\pedaltoe"    -2.00\pt        2.00\pt -0.00\pt        6.00\pt 
+        "upedalheel"   "\\upedalheel"  -2.00\pt        2.00\pt -2.00\pt        2.67\pt 
+        "dpedalheel"   "\\dpedalheel"  -2.00\pt        2.00\pt -2.67\pt        2.00\pt 
+        "upedaltoe"    "\\upedaltoe"   -2.00\pt        2.00\pt -0.00\pt        6.00\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -2.00\pt        2.00\pt -6.00\pt        0.00\pt 
         "flageolet"    "\\flageolet"   -2.13\pt        2.13\pt -2.13\pt        2.13\pt 
         }
     "flags"     = \table {
index 1b8d266f5cab62dbecc8cc6a8161613db861b53f..146a35974e3f11a936378b4eaa2866f7ea8b0c2e 100644 (file)
@@ -4,8 +4,8 @@
 % input from out/feta19.log
 % name=\symboltables {
     "rests"     = \table {
-        "0"    "\\wholerest"   -0.00\pt        7.13\pt -2.97\pt        0.00\pt 
-        "1"    "\\halfrest"    -0.00\pt        7.13\pt -0.00\pt        2.97\pt 
+        "0"    "\\wholerest"   -0.00\pt        7.12\pt -2.97\pt        0.00\pt 
+        "1"    "\\halfrest"    -0.00\pt        7.12\pt -0.00\pt        2.97\pt 
         "0o"   "\\outsidewholerest"    -2.97\pt        10.09\pt        -2.97\pt        0.48\pt 
         "1o"   "\\outsidehalfrest"     -2.97\pt        10.09\pt        -0.48\pt        2.97\pt 
         "2"    "\\quartrest"   -0.00\pt        5.13\pt 3.56\pt 17.10\pt        
@@ -16,8 +16,8 @@
         "7"    "\\hundredtwentyeighthrest"     -0.00\pt        9.93\pt -0.00\pt        27.75\pt        
         }
     "accidentals"       = \table {
-        "1"    "\\sharp"       -0.00\pt        5.23\pt -7.13\pt        7.13\pt 
-        "0"    "\\natural"     -0.00\pt        3.17\pt -7.13\pt        7.13\pt 
+        "1"    "\\sharp"       -0.00\pt        5.23\pt -7.12\pt        7.12\pt 
+        "0"    "\\natural"     -0.00\pt        3.17\pt -7.12\pt        7.12\pt 
         "-1"   "\\flat"        -0.57\pt        3.80\pt -2.38\pt        9.50\pt 
         "-2"   "\\flatflat"    -0.57\pt        6.89\pt -2.38\pt        9.50\pt 
         "2"    "\\sharpsharp"  -0.00\pt        4.75\pt -2.38\pt        2.38\pt 
         "downbow"      "\\downbow"     -3.56\pt        3.56\pt -0.00\pt        6.33\pt 
         "turn" "\\turn"        -5.20\pt        5.20\pt -2.51\pt        2.51\pt 
         "trill"        "\\trill"       -4.75\pt        4.75\pt -0.00\pt        10.69\pt        
-        "pedalheel"    "\\pedalheel"   -2.38\pt        2.38\pt -2.38\pt        3.17\pt 
-        "pedaltoe"     "\\pedaltoe"    -2.38\pt        2.38\pt -0.00\pt        7.13\pt 
+        "upedalheel"   "\\upedalheel"  -2.38\pt        2.38\pt -2.38\pt        3.17\pt 
+        "dpedalheel"   "\\dpedalheel"  -2.38\pt        2.38\pt -3.17\pt        2.38\pt 
+        "upedaltoe"    "\\upedaltoe"   -2.38\pt        2.38\pt -0.00\pt        7.12\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -2.38\pt        2.38\pt -7.12\pt        0.00\pt 
         "flageolet"    "\\flageolet"   -2.53\pt        2.53\pt -2.53\pt        2.53\pt 
         }
     "flags"     = \table {
index b11fd20be05374713d88622e891dab775bc765f3..13488ac1cac5cf33498a7a6acb4af6b5530db87b 100644 (file)
@@ -4,10 +4,10 @@
 % input from out/feta20.log
 % name=\symboltables {
     "rests"     = \table {
-        "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 
+        "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 
         "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.13\pt        1.13\pt 
+        "dot"  "\\dot" -0.00\pt        2.25\pt -1.12\pt        1.12\pt 
         "repeatcolon"  "\\repeatcolon" -0.00\pt        2.25\pt -2.50\pt        2.50\pt 
         }
     "balls"     = \table {
         "downbow"      "\\downbow"     -3.75\pt        3.75\pt -0.00\pt        6.67\pt 
         "turn" "\\turn"        -5.47\pt        5.47\pt -2.65\pt        2.65\pt 
         "trill"        "\\trill"       -5.00\pt        5.00\pt -0.00\pt        11.25\pt        
-        "pedalheel"    "\\pedalheel"   -2.50\pt        2.50\pt -2.50\pt        3.33\pt 
-        "pedaltoe"     "\\pedaltoe"    -2.50\pt        2.50\pt -0.00\pt        7.50\pt 
+        "upedalheel"   "\\upedalheel"  -2.50\pt        2.50\pt -2.50\pt        3.33\pt 
+        "dpedalheel"   "\\dpedalheel"  -2.50\pt        2.50\pt -3.33\pt        2.50\pt 
+        "upedaltoe"    "\\upedaltoe"   -2.50\pt        2.50\pt -0.00\pt        7.50\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -2.50\pt        2.50\pt -7.50\pt        0.00\pt 
         "flageolet"    "\\flageolet"   -2.67\pt        2.67\pt -2.67\pt        2.67\pt 
         }
     "flags"     = \table {
index bdebc4e99670445a5d74a268f881bc8da4dce82e..e1ad925c23e863d994fa6e91c214cb19589d9b06 100644 (file)
@@ -9,7 +9,7 @@
         "0o"   "\\outsidewholerest"    -3.52\pt        11.95\pt        -3.52\pt        0.56\pt 
         "1o"   "\\outsidehalfrest"     -3.52\pt        11.95\pt        -0.56\pt        3.52\pt 
         "2"    "\\quartrest"   -0.00\pt        6.08\pt 4.22\pt 20.25\pt        
-        "3"    "\\eighthrest"  -0.00\pt        7.50\pt 5.63\pt 15.98\pt        
+        "3"    "\\eighthrest"  -0.00\pt        7.50\pt 5.62\pt 15.98\pt        
         "4"    "\\sixteenthrest"       -0.00\pt        8.73\pt -0.00\pt        15.98\pt        
         "5"    "\\thirtysecondrest"    -0.00\pt        9.85\pt -0.00\pt        21.61\pt        
         "6"    "\\sixtyfourthrest"     -0.00\pt        10.56\pt        -0.00\pt        27.23\pt        
@@ -20,7 +20,7 @@
         "0"    "\\natural"     -0.00\pt        3.75\pt -8.44\pt        8.44\pt 
         "-1"   "\\flat"        -0.68\pt        4.50\pt -2.81\pt        11.25\pt        
         "-2"   "\\flatflat"    -0.68\pt        8.16\pt -2.81\pt        11.25\pt        
-        "2"    "\\sharpsharp"  -0.00\pt        5.63\pt -2.81\pt        2.81\pt 
+        "2"    "\\sharpsharp"  -0.00\pt        5.62\pt -2.81\pt        2.81\pt 
         }
     "dots"      = \table {
         "dot"  "\\dot" -0.00\pt        2.53\pt -1.27\pt        1.27\pt 
         "upbow"        "\\upbow"       -3.66\pt        3.66\pt -0.00\pt        11.70\pt        
         "downbow"      "\\downbow"     -4.22\pt        4.22\pt -0.00\pt        7.50\pt 
         "turn" "\\turn"        -6.15\pt        6.15\pt -2.98\pt        2.98\pt 
-        "trill"        "\\trill"       -5.63\pt        5.63\pt -0.00\pt        12.66\pt        
-        "pedalheel"    "\\pedalheel"   -2.81\pt        2.81\pt -2.81\pt        3.75\pt 
-        "pedaltoe"     "\\pedaltoe"    -2.81\pt        2.81\pt -0.00\pt        8.44\pt 
+        "trill"        "\\trill"       -5.62\pt        5.62\pt -0.00\pt        12.66\pt        
+        "upedalheel"   "\\upedalheel"  -2.81\pt        2.81\pt -2.81\pt        3.75\pt 
+        "dpedalheel"   "\\dpedalheel"  -2.81\pt        2.81\pt -3.75\pt        2.81\pt 
+        "upedaltoe"    "\\upedaltoe"   -2.81\pt        2.81\pt -0.00\pt        8.44\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -2.81\pt        2.81\pt -8.44\pt        0.00\pt 
         "flageolet"    "\\flageolet"   -3.00\pt        3.00\pt -3.00\pt        3.00\pt 
         }
     "flags"     = \table {
@@ -69,9 +71,9 @@
         "d6"   "\\dsixtyfourthflag"    -0.28\pt        7.68\pt -0.28\pt        24.83\pt        
         }
     "clefs"     = \table {
-        "alto" "\\altoclef"    -5.63\pt        20.94\pt        -11.25\pt       11.25\pt        
+        "alto" "\\altoclef"    -5.62\pt        20.94\pt        -11.25\pt       11.25\pt        
         "alto_change"  "\\caltoclef"   -4.50\pt        16.75\pt        -9.00\pt        9.00\pt 
-        "bass" "\\bassclef"    -2.81\pt        20.25\pt        -14.06\pt       5.63\pt 
+        "bass" "\\bassclef"    -2.81\pt        20.25\pt        -14.06\pt       5.62\pt 
         "bass_change"  "\\cbassclef"   -2.25\pt        16.20\pt        -11.25\pt       4.50\pt 
         "violin"       "\\violinclef"  -4.90\pt        21.02\pt        -16.88\pt       28.12\pt        
         "violin_change"        "\\cviolinclef" -4.26\pt        16.48\pt        -13.50\pt       22.50\pt        
index ac951291abd8f7ec2476797f63d525e5ff7e6243..eeafb7884800da4617ca4a139c05fad75654bb02 100644 (file)
         "downbow"      "\\downbow"     -4.88\pt        4.88\pt -0.00\pt        8.67\pt 
         "turn" "\\turn"        -7.11\pt        7.11\pt -3.44\pt        3.44\pt 
         "trill"        "\\trill"       -6.50\pt        6.50\pt -0.00\pt        14.62\pt        
-        "pedalheel"    "\\pedalheel"   -3.25\pt        3.25\pt -3.25\pt        4.33\pt 
-        "pedaltoe"     "\\pedaltoe"    -3.25\pt        3.25\pt -0.00\pt        9.75\pt 
+        "upedalheel"   "\\upedalheel"  -3.25\pt        3.25\pt -3.25\pt        4.33\pt 
+        "dpedalheel"   "\\dpedalheel"  -3.25\pt        3.25\pt -4.33\pt        3.25\pt 
+        "upedaltoe"    "\\upedaltoe"   -3.25\pt        3.25\pt -0.00\pt        9.75\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -3.25\pt        3.25\pt -9.75\pt        0.00\pt 
         "flageolet"    "\\flageolet"   -3.47\pt        3.47\pt -3.47\pt        3.47\pt 
         }
     "flags"     = \table {
index 69cac7239525fea9c25dbff5d465cdb98384f0b6..8abf148a52e1841300e35b6ba8b89f12eacce469 100644 (file)
@@ -32,7 +32,9 @@ paper_sixteen = \paper {
        % ( beam_thickness = 0.48 interline for now...)
        % interbeam = interline - (beam_thickness + staffline_thickness) / 2
        % interbeam = 2.84;
-       % ugh: interline *in fact* is rule_thickness + "interline"?
+       % ugh: interline *in fact* is rule_thickness + "interline"? --jcn
+
+       % No --hwn
        interbeam = 3.14;
 
        gourlay_energybound = 100000.;
index 8db8016258fda467ded4ca4a73939e512263b868..7b70c66a4a21f811fbde47b78e5aaeb6197aa7d7 100644 (file)
@@ -13,10 +13,10 @@ staccato = \script { "staccato" 1 -1 0 0 0 }
 tenuto = \script {"tenuto" 0 -1 0 0 0 }
 upbow = \script { "upbow" 0 0 1 0 0 }
 downbow = \script { "downbow" 0 0 1 0 0 }
-lheel = \script { "pedalheel" 0 0 -1  0 0 }
-rheel = \script { "pedalheel" 0 0 1 0 0 }
-ltoe = \script { "pedaltoe" 0 0 -1 0 0 }
-rtoe = \script { "pedaltoe" 0 0 1 0 0 }
+lheel = \script { "upedalheel" 0 0 -1  0 0 }
+rheel = \script { "dpedalheel" 0 0 1 0 0 }
+ltoe = \script { "upedaltoe" 0 0 -1 0 0 }
+rtoe = \script { "dpedaltoe" 0 0 1 0 0 }
 turn = \script { "turn" 0 0 1 0 0 }
 open = \script { "open" 0 0 1 0 0 }
 flageolet = \script { "flageolet"  0 0 1 0 0 }
diff --git a/init/simple-init.ly b/init/simple-init.ly
new file mode 100644 (file)
index 0000000..13c7ce3
--- /dev/null
@@ -0,0 +1,11 @@
+% Toplevel initialisation file. 
+Gourlay = 1.0
+\include "dutch.ly" 
+
+\include "paper16.ly"
+
+default_paper = \paper{
+       \paper_sixteen
+}
+
+
index cd6938ef44913e700cb3f70266864102a3233991..f4314227c241bc141036eaa0be8d4987c3f97ca9 100644 (file)
@@ -25,7 +25,7 @@ FontBody=     \melodic{
                \clef "violin";
                e8_. g'8-> e16^^ g'16_^ 
                e32 _| g'32^| g''32-\ltoe g''32-\lheel
-               e64 g'64 c4... |
+               e64-\rtoe g'64-\rheel c4... |
 
                \octave c'';
                \meter 4/4;
diff --git a/input/praeludium-fuga-E.ly b/input/praeludium-fuga-E.ly
new file mode 100644 (file)
index 0000000..23c66d0
--- /dev/null
@@ -0,0 +1,188 @@
+\header {
+  filename =    "praeludium-fuga-E.ly";
+  title =       "praeludium and fuga in E-major";
+  opus =        "BWV 566";
+  description = "Praeludium 3 bar excerpt, "
+                "2nd fuga transposed subject -- 4 bar excerpt.  "
+                "We try to imitate the Griepenkerl/Keller edition which "
+                "gives the best approximation to Bach's original layout.";
+  composer =    "Johann Sebastian Bach (1685-1750)";
+  enteredby =   "JCN, WL";
+  copyright =   "public domain";
+}
+
+%{
+ Tested Features:
+ purpose of this file is testing: 
+   * real-life collisions
+   * multi-voice input --- splitting?
+   * organ staff...
+%}
+
+
+\version "0.1.9";
+
+praeludium_commands = \melodic {
+  \meter 4/4;
+  \key fis cis gis dis;             % E-major
+}
+
+doshift = \property Voice.hshift = 1
+noshift = \property Voice.hshift = 0
+
+praeludium_right = \melodic {
+  \$praeludium_commands
+  \octave c';
+  \clef violin;
+
+  % 13 -- how to type -- where to split -- this more neatly?
+  \multi 2 <
+    { \stemup r4 dis'4 e'4. e'8 ~ |
+      \doshift e'4 [d'8 fis'8]
+       \noshift gis'4 ~ [gis'8 fis'16 e'16] |
+      fis'4 ~ [fis'8 e'16 dis'16] e'4 r8 e'8 }
+    { \stemup  r4 bis4 cis'4 cis'4 |
+      \noshift a'4 ~ [a'16 gis'16 a'16 b'16]
+       \doshift dis'4 cis'4 ~ |
+      [cis'8 dis'16 ais16] bis4 cis'4 r8 b8 }
+    { \stemup \property Voice.hshift = 2 s4 gis4 }
+    { \stemdown \property Voice.hshift = 2 r4 fis4
+       \noshift gis4 gis4 |
+      a4. cis'8 gis2 |
+      fis4 gis4 gis4 r8 e8 }
+  > |
+  % 16
+}
+
+praeludium_left = \melodic {
+  \$praeludium_commands
+  \octave c;
+  \clef bass;
+
+  % 13
+  \multi 2 <
+    { \stemup r4 dis'4 cis'4 cis'4 ~ |
+      [cis'8 a8 d'8 cis'8] [bis8 gis8] cis'4 |
+      dis'2 cis'4 r8 cis'8 }
+    { \stemup bis2 }
+    { \stemup \doshift r4 gis4 ~
+       [gis 8 gis8] ~ \stemdown \noshift gis4 |
+      a4. fis8 gis4. a8 ~ |
+      a4 gis4 gis4 r8 gis8 }
+    { \stemup \property Voice.hshift = 2 s4 fis4 e}
+    { \stemdown s4 dis4 cis4 }
+  > |
+  % 16
+}
+
+praeludium_pedal = \melodic {
+  \$praeludium_commands  
+  \octave c;
+  \clef bass;
+
+  % 13
+  r4 'fis4-\ltoe 'e4.-\lheel e8-\rheel | 
+  fis4.-\rtoe fis8-\rtoe fis4-\rtoe [e8-\ltoe a8-\rtoe] | 
+  dis4-\ltoe gis4-\rtoe [cis8-\ltoe 'b!8-\lheel 'ais8-\rtoe 'gis8-\ltoe] |
+  % 16
+}
+
+
+fuga2_commands = \melodic{
+  \meter 3/4;
+  \key fis cis gis dis;             % E-major
+}
+
+fuga2_right = \melodic {
+  \$fuga2_commands
+  \octave c';
+  \clef violin;
+
+  % 15
+  \multi 2 <
+    { \stemup [b8 fis8] b4 }
+    { \stemdown fis2 }
+  >
+   %{ this chord is usually set like this:
+        |
+       x|| 
+        x||
+         x|
+      |x
+      |
+   %}
+   \multi 2 <
+     { \stemup \noshift e'4 }
+     { \stemup \doshift cis'4 }
+     { \stemup \property Voice.hshift = 2 ais4 }
+     { \stemdown fis4 }
+   > |
+  % 16
+  \multi 2 <
+    { \stemup dis'2 dis'4 |
+      cis'2 cis'4 |
+      b4. [cis'8 dis'8 e'8] }
+    { \stemup \doshift [b8 fis8] b2 ~ |
+      [b8 a!16 gis16] a2 ~ |
+      a4 gis2 }
+    { \stemdown fis2. ~ |
+      fis2. ~ |
+      fis4 e2 }
+  > |
+  % 19
+}
+
+fuga2_left = \melodic {
+  \$fuga2_commands  
+  \octave c;
+  \clef bass;
+
+  % 15
+  \multi 2 < 
+    { \stemdown b2 \stemup ais4 |
+      b2 b4 }
+    { \stemdown s2 e4 |
+      fis2 fis4 }
+  >
+  \stemdown cis'2 e'4 |
+  b4. b8 b4 |
+  % 19
+}
+
+fuga2_pedal = \melodic {
+  \$fuga2_commands  
+  \octave c;
+  \clef bass;
+
+  % 15
+  dis4.-\ltoe e8-\rtoe cis4 |
+  'b4.-\lheel [cis8-\ltoe dis8-\rtoe e8-\rheel] |
+  fis4.-\rtoe [e8-\rheel dis8-\rtoe cis8-\ltoe] |
+  dis4-\rtoe e4-\rheel 'e4-\ltoe |
+  % 19
+}
+
+break = \melodic { 
+  %\meter 4/4;
+  r1
+}
+
+
+% these should be two separate scores...
+\score{
+  \type Score <
+    \type Grandstaff <
+      \type Staff = treble {
+        \praeludium_right \break \fuga2_right }
+      \type Staff = bass { 
+        \praeludium_left \break \fuga2_left }
+    > 
+    \type Staff = pedal {
+      \praeludium_pedal \break \fuga2_pedal }
+  >
+
+  \paper{}
+
+  \midi {
+    \tempo 4 = 96; }
+}
diff --git a/input/toccata-fuga-E.ly b/input/toccata-fuga-E.ly
deleted file mode 100644 (file)
index 1c5c9c4..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-\header{
-filename =      "toccata-fuga-E.ly";
-title =         "toccata and fuga in E-major ";
-opus =  "BWV 566";
-description = "toccata 3 bar excerpt, "
-        "2nd fuga      transposed subject --- 4 bar excerpt";
-
-composer =      "Johann Sebastian Bach (1685-1750)";
-enteredby =     "JCN";
-copyright =     "public domain";
-
-}
-
-%{
- Tested Features:
- purpose of this file is testing: 
-     * real-life collisions
-     * multi-voice input --- splitting?
-     * organ staff...
-%}
-
-
-\version "0.1.9";
-
-toccata_commands = \melodic{
-       \meter 4/4;
-       \key fis cis gis dis; % E-major
-}
-
-toccata_right = \melodic{ 
-       \$toccata_commands 
-       % 13 -- how to type -- where to split -- this more neatly ?
-       \octave c';
-       \multi 2 <
-               { \stemup r4 dis'4 e'4.-. e'8( | \property Voice.hshift = 1 )e'4 [d'8 fis'8] \property Voice.hshift = 0 gis'4 [gis'8 fis'16 e'16] | fis'4~  [fis'8 e'16 dis'16] e'4 r8 e'8 }
-               { \stemup \property Voice.hshift = 1 r4 bis4 cis'4-. cis'4 | \property Voice.hshift = 0 a'4~  [a'16 gis'16 a'16 b'16] \property Voice.hshift = 1 dis'4 cis'4~  [cis'8 dis'16 a16] bis4 cis'4 r8 b8 }
-               { \stemdown r4 < gis4 fis4 dis4 > gis4-. gis4 | a4. cis'8 gis2 | fis4 gis4 gis4 r8 e8 }
-       > |
-       % 16
-}
-
-toccata_left = \melodic{ 
-       \$toccata_commands  
-       \octave c;
-       \clef bass;
-       % 13
-       \multi 2 <
-               { \stemup bis2 cis'4-. cis'4~  [cis'8 a8 d'8 cis'8] [bis8 gis8] cis'4 | dis'2 cis'4 r8 cis'8 }
-               { \stemup \property Voice.hshift = 1 r4 gis4. gis8~  gis4 | \stemdown \property Voice.hshift = 0 a4. fis8 gis4. a8~  a4 gis4-. gis4 r8 gis8 }
-               { \stemdown r4 < dis4 fis4 > < cis4 e4 > }
-       > |
-       % 16
-}
-
-toccata_pedal = \melodic{
-       \$toccata_commands  
-       \octave c;
-       \clef bass;
-       % 13
-       r4 'fis4-\ltoe 'e4.-\lheel e8-\rheel | 
-       % 14
-       fis4.-\rtoe fis8-.-\rtoe fis4-\rtoe [e8-\ltoe a8-\rtoe] | 
-       % 15
-       dis4-\ltoe gis4-\rtoe [cis8-\ltoe 'b8-\lheel 'a8-\rtoe 'gis8-\ltoe] |
-       % 16
-}
-
-fuga2_commands = \melodic{
-       \meter 3/4;
-       \key fis cis gis dis; % E-major
-}
-
-fuga2_right = \melodic{
-       \$fuga2_commands  
-       \clef violin;
-       % 15
-       \octave c';
-       \multi 2 <
-               { \stemup [b8 fis8] b4 }
-               { \stemdown fis2 }
-       >
-       %{ this chord is usually set like this:
-            |
-            x|| 
-             x||
-              x|
-           |x
-           |
-       %}
-       \multi 2 <
-               { \stemup \property Voice.hshift = 0 e'4 }
-               { \stemup \property Voice.hshift = 1 cis'4 }
-               { \stemup \property Voice.hshift = 2 ais4 }
-               { \stemdown fis4 }
-       > |
-       % 16
-       \multi 2 <
-               { \stemup dis'2 dis'4 | cis'2 cis'4 | b4~  [b8 cis'8 dis'8 e'8] }
-               { \stemup \property Voice.hshift = 1 [b8 fis8] b2~  [b8 a16 g16] a2 | a4 gis2 }
-               { \stemdown fis2.~  fis2.~  fis4 e2 }
-       > |
-       % 19
-}
-
-fuga2_left = \melodic{
-       \$fuga2_commands  
-       \octave c;
-       \clef bass;
-       % 15
-       b2 
-       \multi 2 < 
-               { \stemup ais4 | bes2. }
-               { \stemdown e4  | fis2 fis4 }
-       >
-       % 17
-       cis'2 e'4 |
-       % 18
-       b4. b8 b4 |
-}
-
-fuga2_pedal = \melodic{
-       \$fuga2_commands  
-       \octave c;
-       \clef bass;
-       % 15
-       dis4.-\ltoe e8-\rtoe cis4 |
-       % 16
-       'b4.-\lheel [c8-\ltoe dis8-\rtoe e8-\rheel] |
-       % 17
-       fis4.-\rtoe [e8-\rheel dis8-\rtoe cis8-\ltoe] |
-       % 18
-       dis4-\rtoe e4-\rheel 'e4-\ltoe |
-}
-
-break = \melodic{ 
-       %\meter 4/4;
-       r1
-}
-
-% these should be two separate scores...
-\score{
-        \type Score <
-               \type Grandstaff <
-                  \type Staff=treble {
-                        \toccata_right \break \fuga2_right 
-                  }
-                  \type Staff=bass { 
-                       \toccata_left \break \fuga2_left 
-                  }
-               > 
-               \type Staff=pedal {  \toccata_pedal \break \fuga2_pedal }
-       >
-       \paper{}
-       \midi{
-               \tempo 4 = 96;
-       }
-}
-
index 16f59f5d5c660768787c8965626f5875ecefe313..be43876df37bd7eb11c9ba0e77df5714bb5f267f 100644 (file)
@@ -38,13 +38,16 @@ EXTRA_DISTFILES = VERSION
 # list of custom libraries:
 #
 MODULE_LIBDEPS= check-flower-deps check-lib-deps 
-MODULE_LIBES= -llily -lflower
+MODULE_LIBES= -llily -lflower  -lmcheck
 
 #
 
 # main target of this module:
 #
+
 default: $(EXECUTABLE)
+
+out/engraver.o: include/engraver.hh
 #
 include ./$(depth)/make/Files.make 
 
index 60de7033458d7d2bd0222d2a2102de125568fcd8..9da9e31cad325fe91dca3b25db10fb4f9e59d9db 100644 (file)
@@ -1,4 +1,4 @@
 MAJOR_VERSION = 0
 MINOR_VERSION = 1
-PATCH_LEVEL = 46
+PATCH_LEVEL = 47
 MY_PATCH_LEVEL =
diff --git a/lily/abbrev.cc b/lily/abbrev.cc
new file mode 100644 (file)
index 0000000..d91899c
--- /dev/null
@@ -0,0 +1,99 @@
+/*   
+  abbrev.cc --  implement Abbreviation
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+  
+ */
+
+#include "abbrev.hh"
+#include "debug.hh"
+#include "beam.hh"
+#include "paper-def.hh"
+#include "lookup.hh"
+#include "stem.hh"
+#include "dimen.hh"
+
+Abbreviation::Abbreviation ()
+{
+  stem_l_ = 0;
+  abbrev_flags_i_ = 1;
+}
+
+void
+Abbreviation::do_print () const
+{
+  DOUT << "abbrev_flags_i_ " << abbrev_flags_i_;
+}
+
+Molecule*
+Abbreviation::brew_molecule_p () const
+{
+  Real dy = paper ()->interbeam_f ();
+  Real w = 1.5 * paper ()->lookup_l ()->ball (2).dim_.x ().length ();
+  Real interline_f = paper ()->interline_f ();
+  Real beamdy = interline_f/2;
+
+  int beams_i = 0;
+  Real slope_f = paper ()->internote_f () / 4;
+
+  if (stem_l_ && stem_l_->beam_l_) {
+    // huh?
+    slope_f = 2 * stem_l_->beam_l_->slope_f_;
+    // ugh, rather calc from Abbreviation_req
+    beams_i = stem_l_->beams_right_i_ >? stem_l_->beams_left_i_;
+  }
+  paper ()->lookup_l ()->beam (slope_f, 20 PT, 1 PT);
+
+  Atom a (paper ()->lookup_l ()->beam (slope_f, w, .48 * interline_f));
+  a.translate (Offset (-w/2, w / 2 * slope_f));
+
+  Molecule *beams= new Molecule; 
+  for (int i = 0; i < abbrev_flags_i_; i++)
+    {
+      Atom b (a);
+      b.translate_axis (dy * i, Y_AXIS);
+      beams->add (b);
+    }
+  beams->translate_axis (-beams->extent ()[Y_AXIS].center (), Y_AXIS);
+
+  if (stem_l_)
+    {
+      /* Try to be in the middle of the open part of the stem and
+        between on the staff.
+
+        (urgh)
+      */
+      Direction sd  = stem_l_->dir_;
+      Interval empty_stem (stem_l_->chord_start_f () * sd ,
+                          (stem_l_->stem_end_f ()* sd) - beams_i * dy);
+      empty_stem *= sd;
+      
+      Interval instaff = empty_stem;
+      instaff.intersect (interline_f * Interval (-2,2));
+      if (instaff.empty_b ())
+       instaff = empty_stem;
+
+      instaff.print (); 
+      beams->translate (Offset(stem_l_->hpos_f () - hpos_f (),
+                         instaff.center ()));
+    }
+  
+  return beams;
+}
+
+void
+Abbreviation::do_substitute_dependent (Score_elem*o, Score_elem*n)
+{
+  if (stem_l_ == o)
+    stem_l_ = n ? (Stem*)n->item () : 0;
+}
+
+
+void
+Abbreviation::set_stem (Stem *s)
+{
+  stem_l_ = s;
+  add_dependency (s);
+}
index 6bb055c2faeea36a0459d67bdbf0e7714389a4d4..589dbf328273522401f73ff49b27339f1cbd3acf 100644 (file)
@@ -30,6 +30,10 @@ Clef_engraver::set_type (String s)
     {
       c0_position_i_= -6;
     }
+  else if (clef_type_str_ == "soprano")
+    {
+      c0_position_i_= -4;
+    }
   else if (clef_type_str_ == "alto")
     {
       c0_position_i_= 0;
index 927d3f2335f15dc7f3c8e3cb024db6aa22a94183..a63d8b72bd5d910910b6a56c1c34f0519d3d6f83 100644 (file)
@@ -38,17 +38,25 @@ void
 Clef_item::read (String t)
 {
   symbol_= t;
-  if (t == "violin")
+  if (t == "violin") {
     y_position_i_ = -2;
-  if (t == "alto")
+  }
+  else if (t == "soprano") {
+    symbol_="alto";
+    y_position_i_ = -4;
+  }
+  else if (t == "alto") {
     y_position_i_ = 0;
-  if (t == "tenor") {
+  }
+  else if (t == "tenor") {
     symbol_="alto";
     y_position_i_ = 2;
   }
-  if (t == "bass")
+  else if (t == "bass") {
     y_position_i_ = 2;
+  }
 }
+
 void
 Clef_item::read (Clef_engraver const &k)
 {
index c369f070ee96c5f93fc5e01ad73ba505a9972613..f90e2e49eb1767375760d4241c25176d231e6000 100644 (file)
@@ -8,7 +8,9 @@
  */
 #include <fstream.h>
 #include <signal.h>
-#include <std/new.h>
+
+// libg++ 2.8.0
+// #include <std/new.h>
 #include <stdlib.h>
 #include "debug.hh"
 #include "dstream.hh"
@@ -59,7 +61,8 @@ debug_init()
 {
   rat_printer = print_rat;
 #ifndef NDEBUG
-  set_new_handler (&mynewhandler);
+  // libg++ 2.8.0 doesn't have set_new_handler
+  // set_new_handler (&mynewhandler);
 #endif
   set_flower_debug (*monitor, check_debug);
 
@@ -74,6 +77,9 @@ bool check_malloc_b = false;
 // #define MEMORY_PARANOID
 
 #ifdef MEMORY_PARANOID
+
+#include <malloc.h>
+
 void *
 operator new (size_t size)
 {
@@ -103,5 +109,10 @@ set_debug (bool b)
   check_debug =b;
   set_flower_debug (*monitor, check_debug);
   check_malloc_b = experimental_features_global_b;
+#ifdef MEMORY_PARANOID
+  if (check_malloc_b)
+    if (mcheck (0))
+      warning ("Can't set mem-checking!");
+#endif
 }
 
index 62f0a3a8408323387db16b0a826d02ddcb73abd2..107bd2417da618b97ad3e08e563afdc1c728d187 100644 (file)
@@ -118,7 +118,8 @@ IMPLEMENT_ID_CLASS(Request_id, Request, request);
 IMPLEMENT_ID_CLASS(Midi_def_id, Midi_def, mididef);
 IMPLEMENT_ID_CLASS(Paper_def_id, Paper_def, paperdef);
 
-Identifier::Identifier (Identifier const&)
+Identifier::Identifier (Identifier const&s)
+  : Input (s)
 {
   assert (false);
 }
diff --git a/lily/include/abbrev.hh b/lily/include/abbrev.hh
new file mode 100644 (file)
index 0000000..9428be7
--- /dev/null
@@ -0,0 +1,27 @@
+/*   
+  abbrev.hh -- declare Abbreviation
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+  
+ */
+
+#ifndef ABBREV_HH
+#define ABBREV_HH
+
+#include "item.hh"
+class Abbreviation : public Item {
+  Stem * stem_l_;
+protected:
+  virtual void do_print () const;
+  virtual Molecule *brew_molecule_p () const;
+  virtual void do_substitute_dependent (Score_elem*, Score_elem*);
+public:
+  int abbrev_flags_i_;
+  Abbreviation ();
+  void set_stem (Stem *);
+};
+
+#endif /* ABBREV_HH */
+
index 032effc64f1da59ce37b1e4514dd7452efa61ec4..d02274f6c1e762923ae9786dc989620aae39b5a4 100644 (file)
@@ -22,5 +22,11 @@ enum Direction
 
 };
 
+/**
+   if d > 0: the max operator
+   if d < 0: the min operator
+ */
+template<class T> minmax (Direction d, T, T);
+
 
 #endif // DIRECTION_HH
index b0f466d3ddeabfb8529caacd4e968b7248e11c18..4efd405f46a74c72597d65a2847782471acf5616 100644 (file)
@@ -64,7 +64,6 @@ public:
   Engraver () {}
 
   DECLARE_MY_RUNTIME_TYPEINFO;
-  void print() const;
   virtual Engraver * engraver_l () { return this; }
 };
 
index 48d8e9872378572662707e05f3458e5c3dba7539..1d39aad2430580677d2001f4ffb21d346169490d 100644 (file)
@@ -12,6 +12,7 @@
 
 
 struct Absolute_dynamic_req;
+struct Abbreviation;
 struct Abbreviation_req;
 struct Abbreviation_beam_req;
 struct Abbreviation_beam_engraver;
index 12058cfc8e3f9c47a5e87f93875626521dfee0c8..396c840a12b5a85e45b43b9668cefcb3338cf12c 100644 (file)
@@ -68,14 +68,6 @@ class Spacing_problem {
 
     void handle_loose_cols();
     void position_loose_cols (Vector &) const;
-   /**
-       add a idealspacing to the problem.
-      
-    One pair of columns can have no, one or more idealspacings,
-    since they can be "summed" if the columns to which #i# refers are
-    not in this problem, the spacing is ignored.
-    */
-    void add_ideal (Idealspacing const *i);
     void print_ideal (Idealspacing const *) const; 
     Vector try_initial_solution() const;
     void calcideal();
diff --git a/lily/include/minmax.tcc b/lily/include/minmax.tcc
new file mode 100644 (file)
index 0000000..5f3fa89
--- /dev/null
@@ -0,0 +1,17 @@
+
+/*   
+  minmax.cc --  implement minmax()
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+  
+ */
+
+template<class T>
+minmax (Direction d, T t1, T t2)
+{
+  if (d > 0) return t1 >? t2;
+  else return t1 <? t2;
+}
+
index 7d30e4493ada5904609b0365de048fd72ec700dd..04c9184f56ada169f9c916f4c682dd0c92f4560f 100644 (file)
@@ -69,14 +69,6 @@ class Spring_spacer : public Line_spacer {
 
   void handle_loose_cols();
   void position_loose_cols (Vector &) const;
-  /**
-    add a idealspacing to the problem.
-      
-    One pair of columns can have no, one or more idealspacings,
-    since they can be "summed" if the columns to which #i# refers are
-    not in this problem, the spacing is ignored.
-    */
-  void add_ideal (Idealspacing const *i);
   Vector try_initial_solution() const;
   void calc_idealspacing();
   void set_fixed_cols (Mixed_qp&) const;
index b5a77589ec8519f0d6c55cc74f85c1aa48631a86..d0695a395f202b88849dd5c32bfa16c735572fb6 100644 (file)
@@ -20,6 +20,7 @@ class Stem_engraver : public Engraver
   Direction dir_;
   int default_abbrev_i_;
   Stem *stem_p_;
+  Abbreviation *abbrev_p_;
   Rhythmic_req *rhythmic_req_l_;
   Abbreviation_req* abbrev_req_l_;
 protected:
index 8020d14f726fad6f2cd5901e2fe5235a0881d599..1a63a17eb06df23b565cbc1ab5b76aba6d2fb288 100644 (file)
@@ -29,7 +29,6 @@
   */
 class Stem : public Item {
 
-  Molecule abbrev_mol () const;
     
   Drul_array<Real> yextent_drul_;
     
@@ -51,8 +50,6 @@ class Stem : public Item {
   Link_array<Rest> rest_l_arr_;
     
 public:
-  /// abbrev flag? + count
-  int abbrev_flag_i_;
 
   /// how many abbrev beam don't reach stem?
   int beam_gap_i_;
@@ -79,7 +76,8 @@ public:
 
   DECLARE_MY_RUNTIME_TYPEINFO;
 
-  Real hpos_f() const;
+  Real hpos_f () const;
+  Real chord_start_f () const;
   
   int type_i () const;
 
index f03459bfc45cace5473205109d6bb6f544643f4d..cd8248aaf0a313f2149d557e59e8f7124aa0a568 100644 (file)
@@ -26,6 +26,7 @@ public:
   Rhythmic_grouping  default_grouping_;
   Link_array<Timing_req> timing_req_l_arr_;
 protected: 
+  virtual void do_print () const;
   virtual void do_creation_processing ();
   virtual bool do_try_request (Request *req_l);
   virtual void do_process_requests();
index 24f297942d2ccc5b61a8f29e271a2a0912a8995d..f688baf6d59988d22d8571ddff7bfdd7893ba6df 100644 (file)
@@ -119,7 +119,7 @@ Midi_header::Midi_header (int format_i, int tracks_i, int clocks_per_4_i)
 char const* const instrument_name_sz_a_[ ] = {
 
   /* default is usually piano */
-  /* 0 */ "piano",
+  /* 0 "piano", */
 
          /* (1-8 piano) */
          /* 1 */ "acoustic grand",
@@ -535,7 +535,8 @@ Midi_track::Midi_track ()
 void 
 Midi_track::add (Moment delta_time_mom, Midi_item* mitem_p)
 {
-  assert (delta_time_mom >= 0);
+  assert (delta_time_mom >= Moment (0));
+
   event_p_list_.bottom ().add (new Midi_event (delta_time_mom, mitem_p));
 }
 
index bf2fe3590b9cddb92c3705be72f0b6c659993e79..bc46309810682d6bad89d9c4e7c7eac3872acbf7 100644 (file)
@@ -198,7 +198,8 @@ Rhythmic_req::do_print() const
 
 
 Moment
-Rhythmic_req::duration() const {
+Rhythmic_req::duration() const
+{
   return duration_.length();
 }
 /* *************** */
index 159978d3dcd8fb0e5c6b3289e498110f9534e509..13cc69a973e6a366512bb923d1f7e85a19b54d5f 100644 (file)
 #include "duration-convert.hh"
 #include "change-translator.hh"
 
+int const GUESS_PLET = 5;
+int guess_plet_a[GUESS_PLET] =
+{ 
+  1,
+  3,
+  2,
+  3,
+  4
+};
+
 #ifndef NDEBUG
 #define YYDEBUG 1
 #endif
     char c;
     const char *consstr;
     int i;
+    int pair[2];
     int ii[10];
 }
 %{
@@ -224,6 +235,7 @@ yylex (YYSTYPE *s,  void * v_l)
 %type <real>   unit
 %type <request> abbrev_command_req
 %type <request>        post_request structured_post_request
+%type <pair>   plet_fraction
 %type <request> command_req verbose_command_req
 %type <request>        script_req  dynamic_req
 %type <score>  score_block score_body
@@ -846,13 +858,26 @@ dynamic_req:
        }
        ;
 
+plet_fraction:
+       unsigned '/' unsigned {
+               $$[0] = $1;
+               $$[1] = $3;
+       }
+       |
+       '/' unsigned {
+               int num = $2 >? 1;
+               $$[0] = guess_plet_a[(num <? GUESS_PLET) - 1];
+               $$[1] = num;
+       }
+       ;
+
 close_plet_parens:
-       ']' unsigned '/' unsigned {
+       ']' plet_fraction {
                $$ = MAEBTELP;
-               THIS->plet_.type_i_ = $4;
-               THIS->plet_.iso_i_ = $2;
-               THIS->default_duration_.plet_.type_i_ = $4;
-               THIS->default_duration_.plet_.iso_i_ = $2;
+               THIS->plet_.type_i_ = $2[1];
+               THIS->plet_.iso_i_ = $2[0];
+               THIS->default_duration_.plet_.type_i_ = $2[1];
+               THIS->default_duration_.plet_.iso_i_ = $2[0];
        }
        | TELP {
                $$ = TELP;
@@ -861,12 +886,12 @@ close_plet_parens:
                THIS->default_duration_.plet_.iso_i_ = 1;
                THIS->default_duration_.plet_.type_i_ = 1;
        }
-       | TELP unsigned '/' unsigned {
+       | TELP plet_fraction {
                $$ = TELP;
-               THIS->plet_.type_i_ = $4;
-               THIS->plet_.iso_i_ = $2;
-               THIS->default_duration_.plet_.type_i_ = $4;
-               THIS->default_duration_.plet_.iso_i_ = $2;
+               THIS->plet_.type_i_ = $2[1];
+               THIS->plet_.iso_i_ = $2[0];
+               THIS->default_duration_.plet_.type_i_ = $2[1];
+               THIS->default_duration_.plet_.iso_i_ = $2[0];
        }
        ;
 
@@ -903,19 +928,19 @@ open_abbrev_parens:
        ;
 
 open_plet_parens:
-       '[' unsigned '/' unsigned {
+       '[' plet_fraction {
                $$ = 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;
+               THIS->plet_.type_i_ = $2[1];
+               THIS->plet_.iso_i_ = $2[0];
+               THIS->default_duration_.plet_.type_i_ = $2[1];
+               THIS->default_duration_.plet_.iso_i_ = $2[0];
        }
-       | PLET unsigned '/' unsigned {
+       | PLET plet_fraction {
                $$ = PLET;
-               THIS->plet_.type_i_ = $4;
-               THIS->plet_.iso_i_ = $2;
-               THIS->default_duration_.plet_.type_i_ = $4;
-               THIS->default_duration_.plet_.iso_i_ = $2;
+               THIS->plet_.type_i_ = $2[1];
+               THIS->plet_.iso_i_ = $2[0];
+               THIS->default_duration_.plet_.type_i_ = $2[1];
+               THIS->default_duration_.plet_.iso_i_ = $2[0];
        }
        ;
 
index beb8797ac9c9fea9946cb43043fd0b524229ca8f..1a6ec4105ef78f8975e9cff4eb42e8009145000d 100644 (file)
@@ -27,7 +27,7 @@ Score_elem::Score_elem()
 }
 
 Score_elem::Score_elem (Score_elem const&s)
-  : Graphical_element (s)
+  :  Directed_graph_node (s), Graphical_element (s)
 {
   /* called from derived ctor, so most info points to the same deps
      as (Directed_graph_node&)s. Nobody points to us, so don't copy
index b62844147539607001d06401a6d49fc8c7650c5a..5dac6960869f16ae5024ca9aefa9f694ae2d8c51 100644 (file)
@@ -30,6 +30,7 @@ Score::Score()
 }
 
 Score::Score (Score const &s)
+  : Input (s)
 {
   music_p_ = (s.music_p_) ? s.music_p_->clone() : 0;
   for (int i=0; i < s.def_p_arr_.size (); i++)
index 2b030e6c71bc555cc0741cb7983883df846c786b..bf5a8094a52ff932d9b016ac27cae99ef30686d6 100644 (file)
@@ -531,15 +531,15 @@ Spring_spacer::calc_idealspacing()
          Real durational_distance = 0;
 
          
-             Moment delta_t =  scol_l (i+1)->when() - scol_l (i)->when () ;
+         Moment delta_t =  scol_l (i+1)->when() - scol_l (i)->when () ;
 
-             Real k=  paper_l()->arithmetic_constant(context_shortest_arr[i]);
-             /*
-               ugh should use shortest_playing distance
-               */
-             if (delta_t)
-               durational_distance =  paper_l()->duration_to_dist (delta_t,k);
-             symbol_distance += -cols[i+1].width_[LEFT];
+         Real k=  paper_l()->arithmetic_constant(context_shortest_arr[i]);
+         /*
+           ugh should use shortest_playing distance
+         */
+         if (delta_t)
+           durational_distance =  paper_l()->duration_to_dist (delta_t,k);
+         symbol_distance += -cols[i+1].width_[LEFT];
  
 
          ideal_arr_[i] = symbol_distance >? durational_distance;
@@ -574,32 +574,32 @@ Spring_spacer::calc_idealspacing()
          dist *= delta_t / shortest_playing_len;
 
          /*
-            According to [Ross] and [Wanske], and from what i've seen:
+           According to [Ross] and [Wanske], and from what i've seen:
             
-            * whitespace at the begin of the bar should be fixed at 
-            (about) one interline.
-            [Ross]:
-            when spacing gets real tight, a smaller fixed value may be 
-            used, so that there are two discrete amounts of whitespace 
-            possible at the begin of a bar; but this is not implemented 
-            right now.
+           * whitespace at the begin of the bar should be fixed at 
+           (about) one interline.
+           [Ross]:
+           when spacing gets real tight, a smaller fixed value may be 
+           used, so that there are two discrete amounts of whitespace 
+           possible at the begin of a bar; but this is not implemented 
+           right now.
             
-            * whitespace at the end of the bar is the normal amount of 
-            "hinterfleish" that would have been used, had there been
-            yet another note in the bar.  
-            [Ross]:
-            some editors argue that the bar line should not take any 
-            space, not to hinder the flow of music spaced around a bar 
-            line.  
-            [Ross] and [Wanske] do not suggest this, however.  Further, 
-            it introduces some spacing problems and think that it is ugly 
-            too.
-            [jcn]
-          */
+           * whitespace at the end of the bar is the normal amount of 
+           "hinterfleish" that would have been used, had there been
+           yet another note in the bar.  
+           [Ross]:
+           some editors argue that the bar line should not take any 
+           space, not to hinder the flow of music spaced around a bar 
+           line.  
+           [Ross] and [Wanske] do not suggest this, however.  Further, 
+           it introduces some spacing problems and think that it is ugly 
+           too.
+           [jcn]
+         */
 
          /* 
             first musical column of bar
-          */
+         */
          if (i && scol_l (i - 1)->breakable_b_)
            {
              // fixed: probably should set minimum (rod/spring)?
@@ -610,7 +610,7 @@ Spring_spacer::calc_idealspacing()
 
          /* 
             last musical column of bar
-          */
+         */
          if (i + 1 < cols.size () && scol_l(i+1)->breakable_b_)
            {
              // hmm, how bout?
@@ -621,8 +621,8 @@ Spring_spacer::calc_idealspacing()
                someone was junking this last "hinterfleisch" whitespace?!
 
                but this seems to be fixed now :-)
-              */
-              // set minimum rod 
+             */
+             // set minimum rod 
              cols[i].width_[RIGHT] += interline_f;
            }
 
index 4cef2a9594ad8ec1003324a7401ca2e4e1e2cc9a..1a552bcf2c03a642a9aaf20bf7e146a9dd2152ca 100644 (file)
 #include "musical-request.hh"
 #include "duration-convert.hh"
 #include "misc.hh"
+#include "abbrev.hh"
 
 Stem_engraver::Stem_engraver()
 {
   abbrev_req_l_ = 0;
   stem_p_ = 0;
+  abbrev_p_ = 0;
   default_abbrev_i_ = 16;
   dir_ = CENTER;
 }
@@ -52,7 +54,10 @@ Stem_engraver::acknowledge_element(Score_elem_info i)
                t = default_abbrev_i_;
              else
                default_abbrev_i_ = t;
-             stem_p_->abbrev_flag_i_ =intlog2 (t) - (durlog_i>? 2);
+
+             abbrev_p_ = new Abbreviation;
+             announce_element (Score_elem_info (abbrev_p_, abbrev_req_l_));
+             abbrev_p_->abbrev_flags_i_ =intlog2 (t) - (durlog_i>? 2);
            }
          announce_element (Score_elem_info (stem_p_, r));
        }
@@ -63,6 +68,12 @@ Stem_engraver::acknowledge_element(Score_elem_info i)
 void
 Stem_engraver::do_pre_move_processing()
 {
+  if (abbrev_p_)
+    {
+      abbrev_p_->set_stem (stem_p_);
+      typeset_element (abbrev_p_);
+      abbrev_p_ = 0;
+    }
   if (stem_p_)
     {
       Scalar prop = get_property ("ydirection");
index 5a74da6df8ffe38f0e51e9653d94b47c1c68de9d..c4c502d268aeaee3685559449ceccb059111234a 100644 (file)
@@ -20,7 +20,7 @@
 #include "beam.hh"
 #include "rest.hh"
 
-const int STEMLEN=7;
+const int STEMLEN = 7;
 
 IMPLEMENT_IS_TYPE_B1 (Stem,Item);
 
@@ -29,7 +29,6 @@ Stem::Stem ()
   /*
     TODO: staff-size
     */
-  abbrev_flag_i_ = 0;
   beam_l_ = 0;
   beams_left_i_ = 0;
   beams_right_i_ = 0;
@@ -60,7 +59,7 @@ void
 Stem::do_print () const
 {
 #ifndef NPRINT
-  DOUT << "flag "<< flag_i_ << "abbrev_flag_i_" << abbrev_flag_i_;
+  DOUT << "flag "<< flag_i_ ;
   if (beam_l_)
     DOUT << "beamed";
 #endif
@@ -78,6 +77,12 @@ Stem::stem_begin_f () const
   return yextent_drul_[Direction(-dir_)];
 }
 
+Real
+Stem::chord_start_f () const
+{
+  return head_positions()[dir_] * paper ()->internote_f ();
+}
+
 Real
 Stem::stem_end_f () const
 {
@@ -158,11 +163,6 @@ Stem::set_default_stemlen ()
   Real len = STEMLEN;
   Real dy = paper ()->interbeam_f ();
 
-  // ugh, should get nice *rule* for this
-  if (abbrev_flag_i_ > 1)
-    len += (abbrev_flag_i_ - 1)* dy / 2;
-
-
   if (!dir_)
     set_default_dir ();
 
@@ -252,11 +252,7 @@ Interval
 Stem::do_width () const
 {
   Interval r (0, 0);
-  if (abbrev_flag_i_)
-    {
-      r = abbrev_mol ().extent ().x ();
-    }
-  else if (beam_l_ || abs (flag_i_) <= 2)
+  if (beam_l_ || abs (flag_i_) <= 2)
     ;  // TODO!
   else
     {
@@ -269,44 +265,6 @@ Stem::do_width () const
 
 
 
-Molecule
-Stem::abbrev_mol () const
-{
-  Real dy = paper ()->interbeam_f ();
-  Real w = 1.5 * paper ()->lookup_l ()->ball (2).dim_.x ().length ();
-  Real interline_f = paper ()->interline_f ();
-  Real beamdy = interline_f/2;
-
-  int beams_i = 0;
-  Real slope_f = paper ()->internote_f () / 4;
-
-  if (beam_l_) {
-    // huh?
-      slope_f = 2 * beam_l_->slope_f_;
-    // ugh, rather calc from Abbreviation_req
-      beams_i = beams_right_i_ >? beams_left_i_;
-  }
-  paper ()->lookup_l ()->beam (slope_f, 20 PT, 1 PT);
-
-  Molecule beams;
-  Atom a (paper ()->lookup_l ()->beam (slope_f, w, .48 * interline_f));
-  a.translate (Offset(- w / 2, stem_end_f () - (w / 2 * slope_f)));
-  
-  // ugh
-  if (!beams_i)
-    a.translate_axis (dy + beamdy - dir_ * dy, Y_AXIS);
-  else
-    a.translate_axis (2 * beamdy - dir_ * (beamdy - dy), Y_AXIS);
-
-  for (int i = 0; i < abbrev_flag_i_; i++)
-    {
-      Atom b (a);
-      b.translate_axis (-dir_ * dy * (beams_i + i), Y_AXIS);
-      beams.add (b);
-    }
-
-  return beams;
-}
 
 const Real ANGLE = 20* (2.0*M_PI/360.0); // ugh!
 
@@ -336,12 +294,8 @@ Stem::brew_molecule_p () const
       Atom fl = p->lookup_l ()->flag (flag_i_, dir_);
       fl.translate_axis(stem_y[dir_]*dy, Y_AXIS);
       mol_p->add(fl);
-      assert (!abbrev_flag_i_);
     }
 
-  if (abbrev_flag_i_)
-    mol_p->add (abbrev_mol ());
-
   if (head_l_arr_.size())
     {
       mol_p->translate_axis (note_delta_f (), X_AXIS);
index d247fa649473b75a63dc8c69d8a9762369ea8b21..0be5fbf742f9082d47959cebb4d8c2be35886a7b 100644 (file)
@@ -19,7 +19,9 @@ Symtables::Symtables()
 {
 }
 
+
 Symtables::Symtables (Symtables const &s)
+  : Dictionary<Symtable*> (s)
 {
   for (Assoc_iter<String, Symtable*>  i (s); i.ok(); i++)
     {
index 02c33a8707a9bc5c860002e49fd6ba1f50e5cc4f..d861e6ecdee72dea2af673b50f155546dbc700bd 100644 (file)
@@ -33,7 +33,7 @@ Tex_stream::header()
   *os << _("% Creator: ") << get_version_str() << "\n";
   *os << _("% Automatically generated, at ");
   time_t t (time (0));
-  *os << ctime (&t)<<"\n";
+  *os << ctime (&t) << "%\n";
 }
 Tex_stream::~Tex_stream()
 {
index c7e4e0303230c1de699b988f95b063e904b182a4..f294431972b42557dfe6cd93a87ebecf3facd15d 100644 (file)
@@ -14,7 +14,7 @@
 
 Timing_translator::Timing_translator ()
 {
-  default_grouping_ = Rhythmic_grouping (MInterval (0,4),4); // ugh
+  default_grouping_ = Rhythmic_grouping (MInterval (0, 1), 4); // ugh
 }
 
 bool
@@ -94,7 +94,6 @@ Timing_translator::do_process_requests()
       else if (tr_l->cadenza())
        {
          time_.set_cadenza (tr_l->cadenza()->on_b_);
-
        }
       else if (tr_l->measuregrouping())
        {
@@ -132,3 +131,12 @@ Timing_translator::do_post_move_processing()
 {
   time_.add (now_moment ()  - time_.when_);
 }
+
+void
+Timing_translator::do_print () const
+{
+#ifndef NPRINT
+  time_.print ();
+  default_grouping_.print ();
+#endif
+}
index a5ea5760d527ad5fe08cb230a03587c6b4062662..6062fbc2d3f5e9295766f049c6be79f056423aa7 100644 (file)
@@ -10,8 +10,6 @@
 # this is supposed to clear all suffixes:
 .SUFFIXES:
 
-# so why does make still consider xx.y : RCS/xx.y,v ?
-# there is no suffix ,v anymore!
 .SUFFIXES: .cc .o .hh .y .l  .dep
 
 
index 884f2ffb2c05df65b8ee88371be3d6a5c8691540..e7564f48a4bc691081827005b58e52ef8dbc95a4 100644 (file)
@@ -153,7 +153,7 @@ CXXFLAGS = $(CFLAGS) $(USER_CXXFLAGS) $(EXTRA_CXXFLAGS) $(MODULE_CXXFLAGS)
 INCLUDES = -Iinclude -I$(outdir) -I$(include-lib) -I$(libout) -I$(include-flower) -I$(flowerout) 
 CXX_OUTPUT_OPTION = $< -o $@
 LDFLAGS = $(ILDFLAGS) $(USER_LDFLAGS) $(EXTRA_LDFLAGS) $(MODULE_LDFLAGS) -L$(depth)/lib/$(OUTDIR_NAME) -L$(depth)/flower/$(OUTDIR_NAME)
-LOADLIBES = $(EXTRA_LIBES) $(MODULE_LIBES) -lg++ # need lg++ for win32, really!
+LOADLIBES = $(EXTRA_LIBES) $(MODULE_LIBES) -lg++ -lstdc++ # need lg++ for win32, really!
 #
 
 # macro compiler:
@@ -181,7 +181,7 @@ LD_COMMAND = $(LD) $(LDFLAGS) -o $@
 
 # dependencies:
 #
-depfile = $(depdir)/$(subst .o,.dep,$(notdir $@)) 
+depfile = $(depdir)/$(subst .o,.dep,$(notdir $@))#
 DODEP=rm -f $(depfile); DEPENDENCIES_OUTPUT="$(depfile) $(outdir)/$(notdir $@)"
 #
 
index adfe9b3f2b174623faafc1375ce0f7e8cce3f13b..72e1d2a8a62b5be70bf0434178b9f47a985edb11 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Titel: LilyPond
-Versie: 0.1.46
-Inschrijf datum: 17FEB98
+Versie: 0.1.47
+Inschrijf datum: 06MAR98
 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.46.tar.gz 
+       395k lilypond-0.1.47.tar.gz 
 Oorspronkelijke plek: pcnov095.win.tue.nl /pub/lilypond/
-       395k lilypond-0.1.46.tar.gz 
+       395k lilypond-0.1.47.tar.gz 
 Copi"eer politie: GPL
 End
index 4e6df5ae07cbfa48d14e62551f7a0ed5276f2eaf..a0620497c170e211a70a10c3172893208ee5f8ef 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Title: LilyPond
-Version: 0.1.46
-Entered-date: 17FEB98
+Version: 0.1.47
+Entered-date: 06MAR98
 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.46.tar.gz 
+       470k lilypond-0.1.47.tar.gz 
 Original-site: pcnov095.win.tue.nl /pub/lilypond/development/
-       470k lilypond-0.1.46.tar.gz 
+       470k lilypond-0.1.47.tar.gz 
 Copying-policy: GPL
 End
index 30bec0b72e666cb2eb240961ff5dc50de1aaf227..1092351059fcdeb6766df330e332fdd1018a9100 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
-Version: 0.1.46
+Version: 0.1.47
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: alpha.gnu.org:/gnu/lilypond/development/lilypond-0.1.46.tar.gz
+Source0: alpha.gnu.org:/gnu/lilypond/development/lilypond-0.1.47.tar.gz
 Summary: A program for typesetting music.
 URL: http://www.stack.nl/~hanwen/lilypond
 Packager: Han-Wen Nienhuys <hanwen@stack.nl>
@@ -31,8 +31,8 @@ strip lily/out/lilypond mi2mu/out/mi2mu
 make -C Documentation gifs
 make prefix="$RPM_BUILD_ROOT/usr" install
 %files
-%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/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/praeludium-fuga-E.ly.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/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/praeludium-fuga-E.ly input/rhythm.ly input/scales.ly input/scripts.ly input/sleur.ly input/slurs.ly input/spacing.ly input/stem.ly input/twinkle-pop.ly input/twinkle.ly Documentation/introduction.doc Documentation/mudela-course.doc Documentation/mudela-man.doc 
 %doc Documentation/out/lelie_logo.gif
 /usr/bin/convert-mudela
 /usr/bin/mudela-book
index 00b46f2f99312eb24aae464f6dd1c3ec1a469fa3..95cb53e788b66975b5d831b7661339aa11ab1dca 100644 (file)
@@ -12,8 +12,8 @@ include ./$(depth)/make/Include.make
 # 
 TEXFILES = $(wildcard *.tex)
 MFFILES = $(wildcard *.mf)
-MFDEPS = mf.dep
-EXTRA_DISTFILES = $(MFFILES) $(TEXFILES) $(MFDEPS) TODO README
+MFDEPS = $(outdir)/mf.dep
+EXTRA_DISTFILES = $(MFFILES) $(TEXFILES) TODO README
 #
 
 FONT_FILES = $(wildcard *[0-9].mf)
@@ -28,7 +28,10 @@ TEXTABLES = $(addprefix $(texout)/, $(FET_FILES:.mf=.tex))
 all: $(LYTABLES) $(TEXTABLES)
 
 localclean:
-       rm -f $(LYTABLES) $(TEXTABLES) $(MFDEPS)
+       rm -f $(LYTABLES) $(TEXTABLES) 
+
+localrealclean: 
+       rm -f $(MFDEPS)
 
 $(outdir)/%.dvi: %.mf
        mf $<
diff --git a/mf/TODO b/mf/TODO
index 4607752e699b1f7cf7d1e22bf320c3e378cebda5..9029d6866844a7955ce3e6e2571a9dc0e83cc516 100644 (file)
--- a/mf/TODO
+++ b/mf/TODO
@@ -2,6 +2,7 @@
        - design decent macro for bulbed endings
        - printer dependencies.
        - y-refpoint for rests should be the 4th staffline (gclef: b')
+       - segno, coda
        - versioning    
        - lo-res fixes.
        - work out sizes of character fonts.
@@ -12,5 +13,4 @@
          * coda signs.
        - 128th flags
        - include important spacing dims in fetalog 
-
        - more sizes, see readme
index 9891168c1ef37785ddbe27667644155f22d5a424..315f49383df4d439caf40d889d5a3daceb293357 100644 (file)
@@ -1,3 +1,11 @@
+% 
+% feta-generic.mf --  implement 
+% 
+% source file of the Feta (defintively not an abbreviation for Font-En-Tja)
+% music font
+% 
+% (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+% 
 
 
 if test = -1:
@@ -28,7 +36,7 @@ else:
 %      input feta-bolletjes;   
 %      input feta-banier;
 %      input feta-eindelijk;
-       input feta-klef;
+%      input feta-klef;
 %      input feta-toevallig;
-%      input feta-schrift;
+       input feta-schrift;
 fi
index 9cc309f3fb4ddb6a16b0e572b08835720685a048..9a08537316b0a06d26ee5ea37ac1658f05e9a806 100644 (file)
@@ -1,7 +1,8 @@
-% 
+% -*- Fundamental -*-  (emacs-20 mf mode mucks
 % feta-schrift.mf --  implement scripts
 % 
-% source file of the Feta (Font-En-Tja) music font
+% source file of the Feta (defintively not an abbreviation for Font-En-Tja)
+% music font
 % 
 % (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
 %      Jan Nieuwenhuizen <jan@digicash.com>
@@ -12,39 +13,39 @@ fet_begingroup("scripts")
 
 
 def draw_fermata =
-       save alpha, radius, crook_thinness, crook_fatness, dot_diam;
-       
+  save alpha, radius, crook_thinness, crook_fatness, dot_diam;
+  
        % [Wanske] and some  Baerenreiter editions
        % suggest ca 80 degrees iso half-circle
-       alpha := 10;
+  alpha := 10;
 
-       radius# = 1.25 interline#;
-       crook_thinness# = 1.5stafflinethickness#;
-       crook_fatness# = 4 stafflinethickness#;
+  radius# = 1.25 interline#;
+  crook_thinness# = 1.5stafflinethickness#;
+  crook_fatness# = 4 stafflinethickness#;
 
-       radius# + crook_fatness#/2 = h#;
-       radius# + crook_thinness#/2 = w#;
-       set_char_box(w#, w#, crook_thinness#/2, h#);
-       
-       define_pixels(radius, crook_thinness, crook_fatness);
-       dot_diam = 4/3 crook_fatness;
+  radius# + crook_fatness#/2 = h#;
+  radius# + crook_thinness#/2 = w#;
+  set_char_box(w#, w#, crook_thinness#/2, h#);
+  
+  define_pixels(radius, crook_thinness, crook_fatness);
+  dot_diam = 4/3 crook_fatness;
 
 
-       penpos1(crook_thinness, 0);
-       penpos2(crook_fatness, -90);
-       z1 = (-radius,0);
-       z2 = (0, radius);
+  penpos1(crook_thinness, 0);
+  penpos2(crook_fatness, -90);
+  z1 = (-radius,0);
+  z2 = (0, radius);
 
-       fill z1l{dir (-alpha-90)}..{dir (90-alpha)}z1r..
-               {right}z2r -- z2l{left} .. cycle;
+  fill z1l{dir (-alpha-90)}..{dir (90-alpha)}z1r..
+  {right}z2r -- z2l{left} .. cycle;
 
-       addto currentpicture also 
-               currentpicture xscaled -1;
+  addto currentpicture also 
+  currentpicture xscaled -1;
 
-       pickup pencircle scaled dot_diam;
-       x4 =0;
-       bot y4 = - crook_thinness/2;
-       draw z4;
+  pickup pencircle scaled dot_diam;
+  x4 =0;
+  bot y4 = - crook_thinness/2;
+  draw z4;
 enddef;
 
 fet_beginchar("fermata up", "ufermata", "ufermata")
@@ -453,7 +454,8 @@ fet_beginchar("Trill (`tr')","trill","trill")
        draw_bulb(-1, z13r, z13l, bulb_size * r_fatness, 1.5);
 fet_endchar;
 
-fet_beginchar("organ-heel", "pedalheel", "pedalheel")
+
+def draw_heel =
        save radius, thickness, wall;
 
        radius# := .5 interline#;
@@ -474,10 +476,21 @@ fet_beginchar("organ-heel", "pedalheel", "pedalheel")
 
        draw z1{down} .. z2{down} .. z3{left};
        addto currentpicture also currentpicture xscaled -1;
+       
+enddef;
+
+
+fet_beginchar("left heel", "upedalheel", "upedalheel")
+       draw_heel;
        labels(1,2,3);
 fet_endchar;
 
-fet_beginchar("organ-toe", "pedaltoe", "pedaltoe")
+fet_beginchar("right heel", "dpedalheel", "dpedalheel")
+       draw_heel;
+       y_mirror_char;
+fet_endchar;
+
+def draw_toe =
        save ht,wd;
 
        thickness := 1.5 stafflinethickness;
@@ -497,8 +510,17 @@ fet_beginchar("organ-toe", "pedaltoe", "pedaltoe")
 
 
        draw z1 -- z2 -- z3;
+
+enddef;
+       
+fet_beginchar("left toe", "upedaltoe", "upedaltoe")
+       draw_toe;
        labels(1,2,3);
 fet_endchar;
+fet_beginchar("right toe", "dpedaltoe", "dpedaltoe")
+       draw_toe;
+       y_mirror_char;
+fet_endchar;
 
 fet_beginchar("Flageolet", "flageolet", "flageolet")
        save height,width,thickness;
diff --git a/mf/grayimagen.mf b/mf/grayimagen.mf
new file mode 100644 (file)
index 0000000..db627b0
--- /dev/null
@@ -0,0 +1,9 @@
+% Gray font for Imagen 8/300; proofsheet resolution is 75 pixels per inch.
+% Each pixel is represented by a 4x4 square, with 4/16 of the dots on.
+
+
+font_identifier "GRAYIMAGEN";
+
+boolean lightweight;
+
+input grayf
diff --git a/mf/mf.dep b/mf/mf.dep
deleted file mode 100644 (file)
index 590fb52..0000000
--- a/mf/mf.dep
+++ /dev/null
@@ -1,99 +0,0 @@
-
-# Automatically generated by mf-deps.py 0.2
-
-out/feta-beams16.log: feta-beams16.mf feta-watzieik.mf feta-params.mf
-out/feta-beams16.dvi: feta-beams16.mf feta-watzieik.mf feta-params.mf
-out/feta-beams16.2602gf: feta-beams16.mf feta-watzieik.mf feta-params.mf
-out/feta-beams16.tfm: feta-beams16.mf feta-watzieik.mf feta-params.mf
-out/feta-beams20.log: feta-beams20.mf feta-watzieik.mf feta-params.mf
-out/feta-beams20.dvi: feta-beams20.mf feta-watzieik.mf feta-params.mf
-out/feta-beams20.2602gf: feta-beams20.mf feta-watzieik.mf feta-params.mf
-out/feta-beams20.tfm: feta-beams20.mf feta-watzieik.mf feta-params.mf
-out/feta-beams26.log: feta-beams26.mf feta-watzieik.mf feta-params.mf
-out/feta-beams26.dvi: feta-beams26.mf feta-watzieik.mf feta-params.mf
-out/feta-beams26.2602gf: feta-beams26.mf feta-watzieik.mf feta-params.mf
-out/feta-beams26.tfm: feta-beams26.mf feta-watzieik.mf feta-params.mf
-out/feta-black16.log: feta-black16.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta-black16.dvi: feta-black16.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta-black16.2602gf: feta-black16.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta-black16.tfm: feta-black16.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta-braces16.log: feta-braces16.mf feta-beugel.mf feta-macros.mf feta-params.mf
-out/feta-braces16.dvi: feta-braces16.mf feta-beugel.mf feta-macros.mf feta-params.mf
-out/feta-braces16.2602gf: feta-braces16.mf feta-beugel.mf feta-macros.mf feta-params.mf
-out/feta-braces16.tfm: feta-braces16.mf feta-beugel.mf feta-macros.mf feta-params.mf
-out/feta-braces20.log: feta-braces20.mf feta-beugel.mf feta-macros.mf feta-params.mf
-out/feta-braces20.dvi: feta-braces20.mf feta-beugel.mf feta-macros.mf feta-params.mf
-out/feta-braces20.2602gf: feta-braces20.mf feta-beugel.mf feta-macros.mf feta-params.mf
-out/feta-braces20.tfm: feta-braces20.mf feta-beugel.mf feta-macros.mf feta-params.mf
-out/feta-din10.log: feta-din10.mf feta-autometric.mf feta-ital-f.mf feta-ital-p.mf feta-ital-m.mf feta-ital-r.mf feta-ital-s.mf feta-ital-z.mf
-out/feta-din10.dvi: feta-din10.mf feta-autometric.mf feta-ital-f.mf feta-ital-p.mf feta-ital-m.mf feta-ital-r.mf feta-ital-s.mf feta-ital-z.mf
-out/feta-din10.2602gf: feta-din10.mf feta-autometric.mf feta-ital-f.mf feta-ital-p.mf feta-ital-m.mf feta-ital-r.mf feta-ital-s.mf feta-ital-z.mf
-out/feta-din10.tfm: feta-din10.mf feta-autometric.mf feta-ital-f.mf feta-ital-p.mf feta-ital-m.mf feta-ital-r.mf feta-ital-s.mf feta-ital-z.mf
-out/feta-nummer10.log: feta-nummer10.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer10.dvi: feta-nummer10.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer10.2602gf: feta-nummer10.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer10.tfm: feta-nummer10.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer12.log: feta-nummer12.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer12.dvi: feta-nummer12.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer12.2602gf: feta-nummer12.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer12.tfm: feta-nummer12.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer3.log: feta-nummer3.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer3.dvi: feta-nummer3.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer3.2602gf: feta-nummer3.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer3.tfm: feta-nummer3.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer4.log: feta-nummer4.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer4.dvi: feta-nummer4.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer4.2602gf: feta-nummer4.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer4.tfm: feta-nummer4.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer5.log: feta-nummer5.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer5.dvi: feta-nummer5.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer5.2602gf: feta-nummer5.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer5.tfm: feta-nummer5.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer6.log: feta-nummer6.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer6.dvi: feta-nummer6.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer6.2602gf: feta-nummer6.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer6.tfm: feta-nummer6.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer7.log: feta-nummer7.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer7.dvi: feta-nummer7.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer7.2602gf: feta-nummer7.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer7.tfm: feta-nummer7.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer8.log: feta-nummer8.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer8.dvi: feta-nummer8.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer8.2602gf: feta-nummer8.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-nummer8.tfm: feta-nummer8.mf feta-nummer-generic.mf feta-autometric.mf feta-macros.mf feta-params.mf feta-nummer.mf
-out/feta-test16.log: feta-test16.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta-test16.dvi: feta-test16.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta-test16.2602gf: feta-test16.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta-test16.tfm: feta-test16.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta-test20.log: feta-test20.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta-test20.dvi: feta-test20.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta-test20.2602gf: feta-test20.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta-test20.tfm: feta-test20.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta11.log: feta11.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta11.dvi: feta11.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta11.2602gf: feta11.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta11.tfm: feta11.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta13.log: feta13.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta13.dvi: feta13.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta13.2602gf: feta13.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta13.tfm: feta13.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta16.log: feta16.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta16.dvi: feta16.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta16.2602gf: feta16.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta16.tfm: feta16.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta19.log: feta19.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta19.dvi: feta19.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta19.2602gf: feta19.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta19.tfm: feta19.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta20.log: feta20.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta20.dvi: feta20.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta20.2602gf: feta20.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta20.tfm: feta20.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta23.log: feta23.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta23.dvi: feta23.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta23.2602gf: feta23.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta23.tfm: feta23.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta26.log: feta26.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta26.dvi: feta26.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta26.2602gf: feta26.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
-out/feta26.tfm: feta26.mf feta-autometric.mf feta-generic.mf feta-macros.mf feta-params.mf feta-eindelijk.mf feta-toevallig.mf feta-puntje.mf feta-bolletjes.mf feta-schrift.mf feta-banier.mf feta-klef.mf
index c627ea5c5dd6b75ccd36ac6b6cd0aa062cafee8d..c46593a660815c8f3e6458b39b4c8c610281d813 100644 (file)
@@ -13,7 +13,7 @@ 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 ['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] 
@@ -76,9 +76,9 @@ lh = \melodic{
        % 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 |
+       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] 
index e0e1f57595a7209406b47a002c98ee8648ca433f..c82b6d784a50b028a3529e0c7c4221fd183b3ddb 100644 (file)
@@ -39,6 +39,7 @@ rh = \melodic{
                { \stemup; c2 r4 < {c-5 ~ c8} {'a4 ~ 'a8} > }
                { \stemdown; c2 r4 'e4 ~ 'e8 }
        >
+       \stemboth;
        ['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] |
@@ -82,10 +83,10 @@ lh = \melodic{
        % [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 |
+       [g32-1( fis-2 g8.-1] ) 'g4 g ~ 'g |
        % 'g( )g\mr 'g( )g\mr |
-       g( )'g g( )'g |
-       g( )'g g( )'g |
+       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";
index 88f575edd37ae5d0c15df1b6659748583f85ba52..e7e85b9185e70551fc49ffb90a0247d2a6e0c311 100644 (file)
@@ -39,7 +39,8 @@ rh = \melodic{
        s('bes d g)
 
 
-       s(c fis a -"poco a poco cresc.")
+%#     s(c fis a -"poco a poco cresc.")
+       t(c,fis,a,-"poco a poco cresc.")
        s(d g bes)
        s(d fis c')
 
@@ -57,7 +58,8 @@ rh = \melodic{
        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('a c fis -"poco cresc.")
+       t('a,c,fis,-"poco cresc.")
        s(c fis a)
        s('b d g)
        s('b d f -"dim.")
@@ -118,7 +120,7 @@ lh = \melodic{
 
        'd4 r ['bes8 'g] |
        'd4 r [es8 c] |
-       'd4 r [d8 c] |
+       'd4 r [d8 a] |
 
        'g4 r [es8 c] |
        'g4 r [d8 'b] |
index 9b54a623dce0c1ea3edf590b0269a512eacd9cd0..4dc6d24caf9f9add8f4480de13d59cf7d22cf564 100644 (file)
@@ -35,6 +35,7 @@ one = \melodic{
        \stemup
        )'fis4\p 
        \skip 4*7; |
+       \textstyle "finger";
        d4.\mf cis8-"4\\_5" ~ cis 'b4-5 'a8-"4\\_5" ~ |
        \textstyle "italic";
        'a 'g4-5 'fis8-4 ~ ['fis16 'fis-4-"dim." 'e-3 'd-2] 
@@ -51,6 +52,7 @@ one = \melodic{
        'b4-5 'a ~ ['a8 'g-5 ~] ['g16 'fis8-4 'e'16-3] |
        ['fis8-4 'e-5~] ['e 'd-5~] 'd4 'cis-4 |
        'd2\p-"rall." ~ ['d16 ''a-2( ''b-3 'cis-4] )'d4-5 |
+       \bar "|.";
 }
 
 two = \melodic{
@@ -58,25 +60,26 @@ two = \melodic{
        \textstyle "finger";
 % ugh: koor
 %      \translator Staff=bass \octave c; \stemup
+       \stemup;
        fis4-1( e8-2 a4 a4 gis8-2 | 
        ) a8
        \translator Staff=treble \octave c''; \stemdown
        'a4 'a8 'b4.-"2\\_1" cis8 ~ | 
        cis8
        \translator Staff=bass \octave c; \stemup
-       a8 ~ [a d'] ~ d' d'4-> c'8 | 
+       a8 ~ [a d'] ~ d' d'4-> cis'8 | 
        d'8
        \translator Staff=treble \octave c''; \stemdown
        d4-> cis8-1 ~ cis 'b4-1 'b8 |
        r8 'a4 'a8
        \translator Staff=bass \octave c; \stemup
        [g'8-1( fis'-2] )e'4-1 ~ | 
-       e'4 d' ~ [d'16 d-1 cis'-2 g-1] cis'4-2 ~ |
-       [c'8 a-3] d'4.-1 d'4-> cis'8-2 |
+       e'4 d' ~ [d'16 d'-1 cis'-2 b-1] cis'4-2 ~ |
+       [cis'8 a-3] d'4.-1 d'4^> cis'8-2 |
        \translator Staff=treble \octave c''; \stemdown
        'd4 
        \stemboth
-       r16 [''b-1\< d-2 ''b~] <'g4-5 'e-3 ''b>
+       r16 [''b-1\< 'd-2 ''b~] <'g4-5 'e-3 ''b>
        r16 ['cis-1 'e-2 \!'cis~] |
        <'a4-5 'f-3 'cis> r16 ['d-1 'fis-2 'd~] <'b4-5 'g-3 'd>
        r16 ['fis-1 'a 'fis~] |
@@ -109,7 +112,8 @@ two = \melodic{
                }
        >
        [g-1 fis-2 g-1 a-2] [g-1 b-3 a-2 g-1 ~] |
-       [g g-1 fis-2 e-1] fis-2 ~ fis2
+       [g g-1 fis-2 e-1] fis4-2 ~ fis2
+       \bar "|.";
 }
 
 three = \melodic{
@@ -133,14 +137,14 @@ three = \melodic{
        [fis-2 g a-2 fis-4] |
        )fis16 ['g( 'b 'g] [d-2 e fis-2 d-4] [)g8-. 'g-.] r16 [cis-4( e cis] |
        [)fis8-. 'fis-.] \stemdown r16 ['b-4( d 'b] [)e8-. 'e-.] 
-       r16 ['a-4 cis a] |
+       r16 ['a-4 cis 'a] |
        \stemboth
        [d-1 e-3 fis-2 d-4] [g-1 fis-2 e-3 d-1] [cis!-3 'a-5 'b cis]
        [d-2 e fis-2 d-4] |
-       [g8 e-3] \stemdown [a 'a] ['b8.-4 'g16-5] a4-4 |
+       [g8 e-3] \stemdown [a 'a] ['b8.-4 'g16-5] 'a4-4 |
        [d8-5 a-2~] [a g-3~] [g g-3] fis4-4 |
        \stemup
-       r16 [g-2 b-1 g-3] [b'8.-1 c'16-1] [b8.-2 bes16-3] [a8-1 g] |
+       r16 [g-2 b-1 g-3] [d'8.-1 c'16-1] [b8.-2 bes16-3] [a8-1 g] |
        \stemdown
        r16 ['a-2 cis!-1 a-2] [d-1 e fis d] [e8-1 d-2] [e-1 'a-2] |
        [d 'a-2~] ['a16 'a-2 'b cis-2] d2 |
@@ -218,6 +222,10 @@ global  = \melodic{
        \paper{
                \paper_twenty
                linewidth= 195.\mm;
+%              arithmetic_basicspace = 2.;
+%              arithmetic_multiplier = 6.\pt;
+               arithmetic_basicspace = 3.;
+               arithmetic_multiplier = 6.\pt;
        }
        \midi{
                \tempo 4 = 110;
index aee8b4c4a56c68cac716758ddf739b033b596ba9..b0812f72b1813e60f774eb6d435d5c40c986e19e 100644 (file)
@@ -24,10 +24,10 @@ rh = \melodic{
        \multi 2 < 
                {
                        \stemup
-%                      c4\mr^"(\\textsharp)"\p r r |
-%                      c4\mr^"(\\textsharp)" r r
-                       c4^"(\\textsharp)"\p r r |
-                       c4^"(\\textsharp)" r r
+%                      c'4\mr^"(\\textsharp)"\p r r |
+%                      c'4\mr^"(\\textsharp)" r r
+                       c'4^"(\\textsharp)"\p r r |
+                       c'4^"(\\textsharp)" r r
                }
                {
                        \stemdown
@@ -35,6 +35,7 @@ rh = \melodic{
                        a4 r r
                }
        > |
+       \stemboth;
        [a'8\mf( es'-3\> d' c' bes!-3 a] |
        [g fis-3 e!-2 d-1 c'-4 \!a] |
        [)bes32(\p a bes16] [d'8-5 bes-3 g-1] )g'4 |
@@ -43,12 +44,12 @@ rh = \melodic{
        [)a-2 c'-4( a f] ) f'4 |
 %      r8 [c'-5 bes a g\tr f] |
        r8 [c'-5 bes a g f] |
-       [g-2 bes-4 a g fis-1 e-2] |
+       [g-2 bes-4 a g f-1 e-2] |
        [f-3 d-1 f-2 a-3 d'-5 g-2] |
        \multi 2 < 
                {
                        \stemup
-                       [cis'32-4 b cis'16 e'8-5-"poco cresc." cis-3 a e' cis]
+                       [cis'32-4 b cis'16 e'8-5-"poco cresc." cis'-3 a e' cis']
                }
                {
                        \stemdown
@@ -73,11 +74,12 @@ rh = \melodic{
        [d-1 a-5 f-3 d-1 cis-2 d-1] |
        [e-3\< g-5 e-3 'bes-1 g-5 e-3] |
        ['bes-1 g-5 e-3 \!cis-2 'a-1 g-5] |
-       [f16-4\mf d-2 c-1 'bes-3] s4 s |
+       [f16-4\mf d-2 c-1 'bes-3] /stemup 'a-2 s16 s8 s4 |
 % ugh
 %      s1 |
        s4 s4 s4 |
-       s4 s16 [d16-1-"m.d." f-2 a-4] [d-2-"m.g." f a] \stemup d'-1 |
+       s4 s16 [d16-1-"m.d." f-2 a-4] \stemdown [d-2-"m.g." f a] \stemup d'-1 |
+       \stemboth
        [f' a'-4 f' d'] [f'-4 d' b d'-5] [gis-2 b a g] |
        <g'!4.-5\f e' a> a'8-5 
        \multi 2 <
@@ -124,32 +126,33 @@ lh = \melodic{
        gis4-3 r r |
        e-4( )gis-2 e |
        [a8-4 e'-1 c'-2 a-4 e'-1 c'-2 ] |
+       [g!-5 es'-1 c'-1 g-5 es'-1 c'-1 ] |
        fis4-5 r r 
        d-4( ) fis d-5 |
-%      g\mr-"(\textsharp)" r r f!8 |
-       g-"(\textsharp)" r r8 f! |
+%      g\mr-"(\\textsharp)" r r f!8 |
+       g-"(\\textsharp)" r r8 f! |
        [e32 f e8.] r4 r |
 %      f\pr r r8 e |
        f r r8 e |
        d4 r8 [f-1 e d] |
        [e-2 d-3 cis-4 e-1 d-2 cis-3] |
-       d4-2( )c! 'b-4 |
-       'a( )a a |
-       'a( )a a |
-       'a( )a a |
-       'a( )a a |
-       'b r r |
-       'b-5( )b 'b |
+       d4-2( )c! 'bes-4 |
+       'a( )a 'a |
+       'a( )a 'a |
+       'a( )a 'a |
+       'a( )a 'a |
+       'bes r r |
+       'bes-5( )bes 'bes |
        'a r r |
        'a-2( )d-1 'd |
        'g r r |
-       'g( )g g |
+       'g( )g 'g |
        'g r r |
-       'g( )g g |
+       'g( )g 'g |
        'a r r |
-       'a( )a a |
+       'a( )a 'a |
        'a r r |
-       'a( )a a |
+       'a( )a 'a |
        'cis r r |
        'cis( )cis 'cis |
        'd-4 s16
@@ -165,6 +168,7 @@ lh = \melodic{
        \stemdown
 %      [d-4-"m.g." f-"cresc."] a s s8 s4\dep |
        [d-4-"m.g." f-"cresc."] a s s8 s4-"*" |
+       \stemboth
 % ugh, whole rest has duration of one bar
 %      r1 |
        r4 r r |
@@ -205,6 +209,10 @@ global  = \melodic{
        \paper{
                \paper_twenty
                linewidth= 195.\mm;
+%              arithmetic_basicspace = 2.;
+%              arithmetic_multiplier = 6.\pt;
+               arithmetic_basicspace = 2.;
+               arithmetic_multiplier = 8.\pt;
        }
        \midi{
                \tempo 4 = 90;
index 14d1bf6fb533fac95fd903f15ada2989a7f8526d..b25d5a287faafb42c5723602b48bd283f29e5a89 100644 (file)
@@ -12,24 +12,26 @@ one = \melodic{
        \octave c';
        \skip 4*4; |
        \stemup
-       r4 d2-5( cis4-4 |
+       r4 d'2-5( cis'4-4 |
        \stemboth
-       [)d16-5\mf a'-4( g' f'] [e' f'-4 cis'-2 d'-1] 
-       [e32-3 d e8 f16] [d'8.-1 cis'16-3] |
+       [)d'16-5\mf a'-4( g' f'] [e' f'-4 cis'-2 d'-1] 
+       [e'32-3 d' e'8 f'16] [d'8.-1 cis'16-3] |
        \stemup
-       )cis'4\> ~ [cis16 a \!d'8 ~] d4 c-5 |
+       )cis'4\> ~ [cis'16 a \!d'8 ~] d'4 c'-5 |
        b2-4 ~ b4 a-5 ~ |
        [a16 a-5 \stemup g! f] g4-4\< ~ g f-3 ~ |
        [\!f16 a g f] [e16 g8.-5 ~] [g16 g-5 f-4 e-3] [d-1 f8.-4 ~] |
        [f16 f-3 e d] b4 a-5 g-5 |
-       fis4-4 g r8\<-"rall." [g16-1( bes-2] r16 [bes-2 a-2 \!g-1] |
-       ) d'1-5
+       fis4-4 g r8\<-"rall." [g16-1( bes-2] \!e'4-5\> |
+       \!)d'1-5
+       \bar "|.";
 }
 
 two = \melodic{
        \octave c';
        r16\p [d'-5( c'-4 bes-3] [a-2 bes-3 f-1 g-2] 
        [a32-3 g a8 bes16-1] [g8. f16-1] |
+       \stemdown
        )f2 e2 |
        \translator Staff=bass \octave c; \stemup
        r4 a-1 bes-2 b-1 |
@@ -39,7 +41,7 @@ two = \melodic{
        s4 [e32 d e8.~] e4 d4 ~ |
        d4. [cis16-2 d-1] cis4 d-1 ~ |
        d8 r r16 [e-2 f d] r16 [e-2 f d] r [d-1 e-3 cis] |
-       r16 [e-3 d-1 c!-2] ['bes! d8.] r8 e'4-5 |
+       r16 [e-3 d-1 c!-2] ['bes! d8.] s4 r16 [bes-2 a-2 \!g-1] |
        fis1-2
 }
 
@@ -47,24 +49,32 @@ three = \melodic{
        \octave c;
        \stemup
        f2-1( e-2 |
-       [)d16 b'( c' bes] [a-4 bes-2 f-5 g-4] 
+       \stemboth;
+       [)d16 d'( c' bes] [a-4 bes-2 f-5 g-4] 
        [a32 g a8 bes16-2]
        [g8.-4 f16-5] |
        )f2-5 g4-4 gis |
        a2-2 ~ [a16 a-1( g f] [e-4 f-2 c-5 d] |
        [e32 d e8 f16] [d8.-4 c16-5] \stemboth )c4.-5 d8-4 |
+       \stemdown
        e4 ~ [e16 f-2( e-3 d-4] [cis 'a 'b cis-3] [d-4 e-3 f-2 d-4] |
        \textstyle "finger";
        )'bes!2-"5\\_4" 'a ~ |
-       a |
+       'a 'a |
        'd cis-5 |
-       b1-2
+       a1-2
+       \bar "|.";
 }
 
 four = \melodic{
        \octave c;
+       \stemdown;
        d2-3 cis-4 |
-       \skip 4*16;
+       \skip 4*12;
+       \translator Staff=treble \octave c'; \stemup \property Voice.hshift = 1 
+       a4 gis-2 ~ [gis16 gis-3 fis e]
+       \skip 4*1;
+       \translator Staff=bass \octave c; \stemdown \property Voice.hshift = 0 
        \stemup
        b2-1 a-1 |
        g a4. [gis16 a] |
@@ -106,16 +116,21 @@ global  = \melodic{
                \type Staff=treble  < 
                        \global 
 % huh? try these iso directly!
-                       \lh
-%                      \one
-%                      \two
+%                      \lh
+                       \multi 2 < 
+                                 \one
+                                 \two
+                       >
                >
                \type Staff=bass  < 
                        \global 
-                       \rh
+%                      \rh
 % or try \two having here, iso above!
-%                      \three
-%                      \four
+                       \clef "bass";
+                       \multi 2 <
+                                 \three
+                                 \four
+                       >
                >
        >
        \paper{
@@ -123,6 +138,6 @@ global  = \melodic{
                linewidth= 195.\mm;
        }
        \midi{
-               \tempo 4 = 110;
+               \tempo 4 = 40;
        }
 }
diff --git a/mutopia/out/dummy.dep b/mutopia/out/dummy.dep
new file mode 100644 (file)
index 0000000..e69de29
index cc41d5b43dcf79fca5dad7664fe58c18ab2da475..48504f2348bd9035e967b3e7480d2bc75b22c018 100644 (file)
 \fetdef\downbow{39}
 \fetdef\turn{40}
 \fetdef\trill{41}
-\fetdef\pedalheel{42}
-\fetdef\pedaltoe{43}
-\fetdef\flageolet{44}
+\fetdef\upedalheel{42}
+\fetdef\dpedalheel{43}
+\fetdef\upedaltoe{44}
+\fetdef\dpedaltoe{45}
+\fetdef\flageolet{46}
 
 % flags
-\fetdef\eighthflag{45}
-\fetdef\sixteenthflag{46}
-\fetdef\thirtysecondflag{47}
-\fetdef\sixtyfourthflag{48}
-\fetdef\deighthflag{49}
-\fetdef\dsixteenthflag{50}
-\fetdef\dthirtysecondflag{51}
-\fetdef\dsixtyfourthflag{52}
+\fetdef\eighthflag{47}
+\fetdef\sixteenthflag{48}
+\fetdef\thirtysecondflag{49}
+\fetdef\sixtyfourthflag{50}
+\fetdef\deighthflag{51}
+\fetdef\dsixteenthflag{52}
+\fetdef\dthirtysecondflag{53}
+\fetdef\dsixtyfourthflag{54}
 
 % clefs
-\fetdef\altoclef{53}
-\fetdef\caltoclef{54}
-\fetdef\bassclef{55}
-\fetdef\cbassclef{56}
-\fetdef\violinclef{57}
-\fetdef\cviolinclef{58}
+\fetdef\altoclef{55}
+\fetdef\caltoclef{56}
+\fetdef\bassclef{57}
+\fetdef\cbassclef{58}
+\fetdef\violinclef{59}
+\fetdef\cviolinclef{60}
 
index 72412742d6b0e643299fee43a88af0ee28bdb944..8d83dbf5187a7dc75882511ff3ae596230f0bf00 100644 (file)
 \fetdef\downbow{39}
 \fetdef\turn{40}
 \fetdef\trill{41}
-\fetdef\pedalheel{42}
-\fetdef\pedaltoe{43}
-\fetdef\flageolet{44}
+\fetdef\upedalheel{42}
+\fetdef\dpedalheel{43}
+\fetdef\upedaltoe{44}
+\fetdef\dpedaltoe{45}
+\fetdef\flageolet{46}
 
 % flags
-\fetdef\eighthflag{45}
-\fetdef\sixteenthflag{46}
-\fetdef\thirtysecondflag{47}
-\fetdef\sixtyfourthflag{48}
-\fetdef\deighthflag{49}
-\fetdef\dsixteenthflag{50}
-\fetdef\dthirtysecondflag{51}
-\fetdef\dsixtyfourthflag{52}
+\fetdef\eighthflag{47}
+\fetdef\sixteenthflag{48}
+\fetdef\thirtysecondflag{49}
+\fetdef\sixtyfourthflag{50}
+\fetdef\deighthflag{51}
+\fetdef\dsixteenthflag{52}
+\fetdef\dthirtysecondflag{53}
+\fetdef\dsixtyfourthflag{54}
 
 % clefs
-\fetdef\altoclef{53}
-\fetdef\caltoclef{54}
-\fetdef\bassclef{55}
-\fetdef\cbassclef{56}
-\fetdef\violinclef{57}
-\fetdef\cviolinclef{58}
+\fetdef\altoclef{55}
+\fetdef\caltoclef{56}
+\fetdef\bassclef{57}
+\fetdef\cbassclef{58}
+\fetdef\violinclef{59}
+\fetdef\cviolinclef{60}
 
index db0adac5e9105a006c0318cbf72c79a14c2a1d70..15cedcde1607bf7e869b283fcfa6d29aea593045 100644 (file)
 \fetdef\downbow{39}
 \fetdef\turn{40}
 \fetdef\trill{41}
-\fetdef\pedalheel{42}
-\fetdef\pedaltoe{43}
-\fetdef\flageolet{44}
+\fetdef\upedalheel{42}
+\fetdef\dpedalheel{43}
+\fetdef\upedaltoe{44}
+\fetdef\dpedaltoe{45}
+\fetdef\flageolet{46}
 
 % flags
-\fetdef\eighthflag{45}
-\fetdef\sixteenthflag{46}
-\fetdef\thirtysecondflag{47}
-\fetdef\sixtyfourthflag{48}
-\fetdef\deighthflag{49}
-\fetdef\dsixteenthflag{50}
-\fetdef\dthirtysecondflag{51}
-\fetdef\dsixtyfourthflag{52}
+\fetdef\eighthflag{47}
+\fetdef\sixteenthflag{48}
+\fetdef\thirtysecondflag{49}
+\fetdef\sixtyfourthflag{50}
+\fetdef\deighthflag{51}
+\fetdef\dsixteenthflag{52}
+\fetdef\dthirtysecondflag{53}
+\fetdef\dsixtyfourthflag{54}
 
 % clefs
-\fetdef\altoclef{53}
-\fetdef\caltoclef{54}
-\fetdef\bassclef{55}
-\fetdef\cbassclef{56}
-\fetdef\violinclef{57}
-\fetdef\cviolinclef{58}
+\fetdef\altoclef{55}
+\fetdef\caltoclef{56}
+\fetdef\bassclef{57}
+\fetdef\cbassclef{58}
+\fetdef\violinclef{59}
+\fetdef\cviolinclef{60}
 
index 992b3bfc10a8b399d863f95e798940ffb4f6455f..38d26c7e178933afec80c0b53e92a8c0ebbc4261 100644 (file)
 \fetdef\downbow{39}
 \fetdef\turn{40}
 \fetdef\trill{41}
-\fetdef\pedalheel{42}
-\fetdef\pedaltoe{43}
-\fetdef\flageolet{44}
+\fetdef\upedalheel{42}
+\fetdef\dpedalheel{43}
+\fetdef\upedaltoe{44}
+\fetdef\dpedaltoe{45}
+\fetdef\flageolet{46}
 
 % flags
-\fetdef\eighthflag{45}
-\fetdef\sixteenthflag{46}
-\fetdef\thirtysecondflag{47}
-\fetdef\sixtyfourthflag{48}
-\fetdef\deighthflag{49}
-\fetdef\dsixteenthflag{50}
-\fetdef\dthirtysecondflag{51}
-\fetdef\dsixtyfourthflag{52}
+\fetdef\eighthflag{47}
+\fetdef\sixteenthflag{48}
+\fetdef\thirtysecondflag{49}
+\fetdef\sixtyfourthflag{50}
+\fetdef\deighthflag{51}
+\fetdef\dsixteenthflag{52}
+\fetdef\dthirtysecondflag{53}
+\fetdef\dsixtyfourthflag{54}
 
 % clefs
-\fetdef\altoclef{53}
-\fetdef\caltoclef{54}
-\fetdef\bassclef{55}
-\fetdef\cbassclef{56}
-\fetdef\violinclef{57}
-\fetdef\cviolinclef{58}
+\fetdef\altoclef{55}
+\fetdef\caltoclef{56}
+\fetdef\bassclef{57}
+\fetdef\cbassclef{58}
+\fetdef\violinclef{59}
+\fetdef\cviolinclef{60}
 
index 7b3b459a2ad3018e077b16cf92ca1162c830fd88..050ed6fcf98366708d2b458c53f9f071166e89ef 100644 (file)
 \fetdef\downbow{39}
 \fetdef\turn{40}
 \fetdef\trill{41}
-\fetdef\pedalheel{42}
-\fetdef\pedaltoe{43}
-\fetdef\flageolet{44}
+\fetdef\upedalheel{42}
+\fetdef\dpedalheel{43}
+\fetdef\upedaltoe{44}
+\fetdef\dpedaltoe{45}
+\fetdef\flageolet{46}
 
 % flags
-\fetdef\eighthflag{45}
-\fetdef\sixteenthflag{46}
-\fetdef\thirtysecondflag{47}
-\fetdef\sixtyfourthflag{48}
-\fetdef\deighthflag{49}
-\fetdef\dsixteenthflag{50}
-\fetdef\dthirtysecondflag{51}
-\fetdef\dsixtyfourthflag{52}
+\fetdef\eighthflag{47}
+\fetdef\sixteenthflag{48}
+\fetdef\thirtysecondflag{49}
+\fetdef\sixtyfourthflag{50}
+\fetdef\deighthflag{51}
+\fetdef\dsixteenthflag{52}
+\fetdef\dthirtysecondflag{53}
+\fetdef\dsixtyfourthflag{54}
 
 % clefs
-\fetdef\altoclef{53}
-\fetdef\caltoclef{54}
-\fetdef\bassclef{55}
-\fetdef\cbassclef{56}
-\fetdef\violinclef{57}
-\fetdef\cviolinclef{58}
+\fetdef\altoclef{55}
+\fetdef\caltoclef{56}
+\fetdef\bassclef{57}
+\fetdef\cbassclef{58}
+\fetdef\violinclef{59}
+\fetdef\cviolinclef{60}
 
index 031ebf9b615c082fd5d59ec136dc9ab1583dcd38..36361972a449e1e707eba6a4cd3f8a87927204ae 100644 (file)
 \fetdef\downbow{39}
 \fetdef\turn{40}
 \fetdef\trill{41}
-\fetdef\pedalheel{42}
-\fetdef\pedaltoe{43}
-\fetdef\flageolet{44}
+\fetdef\upedalheel{42}
+\fetdef\dpedalheel{43}
+\fetdef\upedaltoe{44}
+\fetdef\dpedaltoe{45}
+\fetdef\flageolet{46}
 
 % flags
-\fetdef\eighthflag{45}
-\fetdef\sixteenthflag{46}
-\fetdef\thirtysecondflag{47}
-\fetdef\sixtyfourthflag{48}
-\fetdef\deighthflag{49}
-\fetdef\dsixteenthflag{50}
-\fetdef\dthirtysecondflag{51}
-\fetdef\dsixtyfourthflag{52}
+\fetdef\eighthflag{47}
+\fetdef\sixteenthflag{48}
+\fetdef\thirtysecondflag{49}
+\fetdef\sixtyfourthflag{50}
+\fetdef\deighthflag{51}
+\fetdef\dsixteenthflag{52}
+\fetdef\dthirtysecondflag{53}
+\fetdef\dsixtyfourthflag{54}
 
 % clefs
-\fetdef\altoclef{53}
-\fetdef\caltoclef{54}
-\fetdef\bassclef{55}
-\fetdef\cbassclef{56}
-\fetdef\violinclef{57}
-\fetdef\cviolinclef{58}
+\fetdef\altoclef{55}
+\fetdef\caltoclef{56}
+\fetdef\bassclef{57}
+\fetdef\cbassclef{58}
+\fetdef\violinclef{59}
+\fetdef\cviolinclef{60}
 
index a8d47ee86058388289344d04694afcdef6a300b9..71ac49c793b127cee74876a401b66319b9c49a47 100644 (file)
 \fetdef\downbow{39}
 \fetdef\turn{40}
 \fetdef\trill{41}
-\fetdef\pedalheel{42}
-\fetdef\pedaltoe{43}
-\fetdef\flageolet{44}
+\fetdef\upedalheel{42}
+\fetdef\dpedalheel{43}
+\fetdef\upedaltoe{44}
+\fetdef\dpedaltoe{45}
+\fetdef\flageolet{46}
 
 % flags
-\fetdef\eighthflag{45}
-\fetdef\sixteenthflag{46}
-\fetdef\thirtysecondflag{47}
-\fetdef\sixtyfourthflag{48}
-\fetdef\deighthflag{49}
-\fetdef\dsixteenthflag{50}
-\fetdef\dthirtysecondflag{51}
-\fetdef\dsixtyfourthflag{52}
+\fetdef\eighthflag{47}
+\fetdef\sixteenthflag{48}
+\fetdef\thirtysecondflag{49}
+\fetdef\sixtyfourthflag{50}
+\fetdef\deighthflag{51}
+\fetdef\dsixteenthflag{52}
+\fetdef\dthirtysecondflag{53}
+\fetdef\dsixtyfourthflag{54}
 
 % clefs
-\fetdef\altoclef{53}
-\fetdef\caltoclef{54}
-\fetdef\bassclef{55}
-\fetdef\cbassclef{56}
-\fetdef\violinclef{57}
-\fetdef\cviolinclef{58}
+\fetdef\altoclef{55}
+\fetdef\caltoclef{56}
+\fetdef\bassclef{57}
+\fetdef\cbassclef{58}
+\fetdef\violinclef{59}
+\fetdef\cviolinclef{60}
 
index cab0aaa82c6a3e0a4afd5bf501e9899faf435a8d..78933d0c4b26bfd7b213641ed860b6c26eb4cb40 100644 (file)
 % transplant a TeX dimension into the PS output.
 \def\PSsetTeXdimen#1{\expandafter\special{! /#1 (\the\csname #1\endcsname) deftexdimen}}
 
-\def\turnOnPostScript{
+\def\turnOnPostScript{%
 \def\embeddedps##1{%
         % This sets CTM so that you get to the currentpoint
         % by executing a 0 0 moveto
         \special{ps: @beginspecial @setspecial ##1 @endspecial}       
 }
-
 %
 % width, slope, height 
 %
@@ -60,8 +59,7 @@ def
         def     
 } def
 }
-
-
+%
 \PSsetTeXdimen{staffrulethickness}
 \PSsetTeXdimen{staffheight}
 \special{! %
@@ -164,7 +162,7 @@ def
 
 
 
-\def\turnOnExperimentalFeatures{
+\def\turnOnExperimentalFeatures{%
 % draw a slur in embedded postscript
 \special{ps:
 }}
index 8a03396e189ab912022e661a179eeeefa159fc40..7a841241557419b1d30083f832a42621667ae395 100644 (file)
@@ -2,10 +2,12 @@
 %% include file for LilyPond
 %%
 %% this file defines various macros to accomodate lilypond output
-
+%% 
+%% let's not make par before endinput
+%
 % TeXbook ex 7.7
 \def\ifundefined#1{\expandafter\ifx\csname#1\endcsname\relax}
-
+%
 % skip if included already
 \def\SkipLilydefs{\endinput}
 \ifundefined{EndLilyPondOutput}
@@ -13,7 +15,7 @@
         \def\SkipLilydefs{}
 \fi
 \SkipLilydefs
-
+%
 \ifundefined{mudelacopyright}
         \def\mudelacopyright{\copyright\ \number\year}
 \fi