]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 0.1.48 release/0.1.48
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 11 Mar 1998 22:47:06 +0000 (23:47 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 11 Mar 1998 22:47:06 +0000 (23:47 +0100)
114 files changed:
.dstreamrc
AUTHORS.txt
BUGS
Documentation/AUTHORS.pod
Documentation/INSTALL.pod
Documentation/Makefile
Documentation/Rules.make
Documentation/index.pod
Documentation/introduction.doc
Documentation/lilypond.pod
Documentation/links.pod
Documentation/ly2dvi.pod
INSTALL.txt
NEWS
TODO
VERSION
bin/Makefile
bin/add-URLs.sh [new file with mode: 0644]
bin/lilypython.py
bin/ly2dvi.sh
bin/make-patch.py
bin/mf-to-table.py
bin/mudela-book.pl
bin/release.py
flower/NEWS
flower/VERSION
flower/include/arithmetic-operator.hh [new file with mode: 0644]
flower/include/fproto.hh
flower/include/interval.hh
flower/include/interval.tcc
flower/include/rational.hh
flower/include/real.hh
flower/include/string.hh
flower/interval.cc
flower/rational.cc
flower/scalar.cc
flower/string-convert.cc
flower/string.cc
flower/test/rattest.cc [new file with mode: 0644]
init/dutch.ly
init/dynamic.ly
init/engraver.ly
init/feta11.ly
init/feta13.ly
init/feta16.ly
init/feta19.ly
init/feta20.ly
init/feta23.ly
init/feta26.ly
init/paper11.ly
init/paper13.ly
init/paper16.ly
init/paper20.ly
init/paper26.ly
init/property.ly
input/beam-bug.ly [new file with mode: 0644]
input/praeludium-fuga-E.ly
input/rhythm.ly
lib/duration-convert.cc
lib/include/moment.hh
lib/moment.cc
lily/Makefile
lily/VERSION
lily/beam-grav.cc
lily/beam.cc
lily/chord-iterator.cc
lily/clef-grav.cc
lily/clef-item.cc
lily/debug.cc
lily/dots.cc
lily/head-grav.cc
lily/include/global-translator.hh
lily/include/pitch-squash-grav.hh [new file with mode: 0644]
lily/include/staff-sym.hh
lily/include/text-item.hh
lily/key-item.cc
lily/main.cc
lily/meter-grav.cc
lily/parser.y
lily/pitch-squash-grav.cc [new file with mode: 0644]
lily/score-column.cc
lily/score.cc
lily/spring-spacer.cc
lily/staff-sym-grav.cc
lily/staff-sym.cc
lily/stem-info.cc
lily/stem.cc
lily/template5.cc
lily/time-description.cc
lily/translator-group.cc
lily/translator.cc
lily/warn.cc
make/Rules.make
make/Targets.make
make/Toplevel.make.in
make/Variables.make
make/lelievijver.lsm
make/lilypond.lsm
make/lilypond.spec
mf/Makefile
mf/feta-din10.mf
mi2mu/main.cc
mi2mu/mudela-staff.cc
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/J.S.Bach/preludes.tex
mutopia/J.S.Bach/wtk1-fugue2.ly
tex/dyndefs.tex
tex/fetdefs.tex
tex/lilyponddefs.tex

index d92dd4797c844a2e88da9a8638589531d4882541..d59bde6e3edc4b1f826303086318030602d66052 100644 (file)
@@ -7,13 +7,13 @@ Dstream                       1
 InitParser             1
 Parser                 1
 InitDeclarations       1
-Declarations           1
+Declarations           0
 # FlexLexer debug
 InitLexer              1
 Lexer                  1
 
 
-walking                1
+walking                0
 
 # flower lib
 File_path              1
index a57e2b1cb2f48b4e457d45ad66fa8762fc042582..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1,132 +0,0 @@
-
-
-
-AUTHORS(1)            LilyPond documentation           AUTHORS(1)
-
-
-NAME
-       AUTHORS - who did what on GNU LilyPond?
-
-DESCRIPTION
-       This file lists authors of GNU LilyPond, and what they
-       wrote.
-
-AUTHORS
-       o Han-Wen Nienhuys <hanwen@stack.nl>,
-           http://www.stack.nl/~hanwen
-           Main author.
-
-       o Jan Nieuwenhuizen <jan@digicash.com>,
-           http://www.digicash.com/~jan
-           Main author
-
-CONTRIBUTORS
-       o Mats Bengtsson <matsb@s3.kth.se>,
-           parts of clef-reg.cc, clef-item.cc swedish notenames,
-           testing, general comments, duration logs/longa/brevis
-           etc
-
-       o Jan Arne Fagertun <Jan.A.Fagertun@energy.sintef.no>,
-           TeX titling and lytodvi.sh
-
-       o Shay Rojanski
-           Some mudela source.
-
-       o Werner Lemberg <xlwy01@uxp1.hrz.uni-dortmund.de>,
-           misc bugfixes, some Beam and Stem code.
-
-       o Donald Ervin Knuth, http://www.cs.stanford.edu/~?
-           mf/ital-*.mf (these were taken from the CM fonts)
-
-       o Alexandre Oliva <oliva@dcc.unicamp.br>,
-           http://sunsite.unicamp.br/?
-           testing
-
-       o Anthony Fok <foka@debian.org>,
-           debian package: debian/*
-
-       o Franc,ois Pinard <pinard@iro.umontreal.ca>,
-           Documentation/Vocab*, internationalization stuff
-
-       o  Neil Jerram <nj104@cus.cam.ac.uk>.
-           Documentation/Vocab*
-
-       o David R. Linn <drl@vuse.vanderbilt.edu>,
-           Mailing list maintenance.
-
-       Your name could be here! If you want to help, then take a
-       look at the SMALLISH PROJECTS section of in the file TODO.
-       Some do not involve coding C++
-
-
-
-
-29/Jan/98                LilyPond 0.1.47                        1
-
-
-
-
-
-AUTHORS(1)            LilyPond documentation           AUTHORS(1)
-
-
-       [And of course we sincerely thank J.S.Bach, F.Schubert, T.
-       Merula and W.A.Mozart for their beautiful music]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-29/Jan/98                LilyPond 0.1.47                        2
-
-
diff --git a/BUGS b/BUGS
index 10c0b999d26629d4bb5068a11231c3532d012c28..5f4755d57ab50a8f424d8221e83c74b7715ea35b 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -1,6 +1,31 @@
 Document Really Ugly Bugs (coredumps, assert fails, etc)
 
 
+\score{
+       \melodic{
+       [a8 a-2] /bla
+       }
+}
+koor.ly: 4: error: parse error, expecting `DIGIT' or `UNSIGNED':
+        [a8 a-2] /bla
+                     
+koor.ly: 5: error: Have to be in Lyric mode for lyrics:
+        }
+         
+lilypond: parser.y:765: int yyparse(void *): Assertion `((My_lily_parser *) my_lily_parser_l)->post_reqs.empty ()' failed.
+Aborted (core dumped)
+
+
+[gcc 2.8.x/libstdc++ 2.8.x/libg++ 2.8.0]
+
+The latest gcc release causes lily to crash just after Interpreting
+music:
+
+stacktrace looks something like:
+
+      __DTOR_END__ ()
+      __malloc ()
+
 [GNU libc]
 
 The GNU extension memmem() is known to be buggy on linux libc 5.0.9
index ef6370c88a517e312c37f2142e784ae38bb7a153..88ddb2410a9157f810033e9b1cf1a126ec8d81f5 100644 (file)
@@ -10,7 +10,7 @@ This file lists authors of GNU LilyPond, and what they wrote.
 
 =over 4
 
-=item * Han-Wen Nienhuys <hanwen@stack.nl>, http://www.stack.nl/~hanwen
+=item * Han-Wen Nienhuys <hanwen@cs.ruu.nl>, http://www.stack.nl/~hanwen
 
 Main author.
 
index 33e6b0d44fe2a201e024257070323ebd8d5e5430..6aa4226af84c785ab077a6ae77ca58d197856125 100644 (file)
@@ -32,8 +32,7 @@ work in Windows NT/95, but we don't promise to support it.
 
 =item *
 
-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.
+GNU C++ v2.7 or better.
 
 =item *
 
@@ -358,7 +357,7 @@ to edit the definitions in F<tex/eglerdefs.tex>.
 
 =head1 AUTHORS
 
-Han-Wen Nienhuys <hanwen@stack.nl>
+Han-Wen Nienhuys <hanwen@cs.ruu.nl>
 
 Jan Nieuwenhuizen <jan@digicash.com>
 
index d6a4cf732e55abb5e39def924a50d2d6ab0c7924..412f90fac74f8c5afc2abf1c4753c783b2354a88 100644 (file)
@@ -35,15 +35,18 @@ default: do-doc
 #
 XPMS=$(wildcard *.xpm)
 giffiles=$(XPMS:.xpm=.gif)
-
-gifs: $(addprefix $(outdir)/, $(giffiles))
+outgiffiles=$(addprefix $(outdir)/, $(giffiles))
 
 
 EXTRA_DISTFILES = $(XPMS)  $(DOCFILES)  vocabulary-data vocabulary-forms.el 
 
+
 # don't do DVI files. They can only be made if lily is installed
 do-doc: $(TEXTFILES)
 
+gifs: $(outgiffiles)
+
+
 html: $(HTMLFILES)
 
 htmldist: html
@@ -62,7 +65,7 @@ localclean:
 
 
 
-MAN1FILES = lilypond convert-mudela mi2mu mudela-book
+MAN1FILES = lilypond convert-mudela mi2mu mudela-book ly2dvi
 MAN1GROFF = $(addprefix $(outdir)/, $(addsuffix .1,$(MAN1FILES)))
 
 localinstall: $(outdir)/lilypond.1
index c32f9214ffa28332977e4f784ee5816936c811f7..dd04ca3604480d61bd53d31935f375902aa23562 100644 (file)
@@ -16,7 +16,7 @@ $(outdir)/%.dvi: $(outdir)/%.mudtex
        mv $(notdir $@) $(outdir)
 
 $(outdir)/%.mudtex: %.doc
-       $(binout)/mudela-book --outdir=$(outdir)/ --outname=$(notdir $@) $<
+       $(binout)/mudela-book --noindex --outdir=$(outdir)/ --outname=$(notdir $@) $<
 
 $(outdir)/%.txt: $(outdir)/%.1
        troff -man -Tascii $< | grotty -b -u -o > $@
@@ -24,7 +24,7 @@ $(outdir)/%.txt: $(outdir)/%.1
 $(depth)/%.txt: $(outdir)/%.txt
        cp $< $@
 
-do_pod2html=$(pod2html) --infile $< --outfile=$@
+do_pod2html=$(pod2html) --noindex --infile $< --outfile=$@;  sh $(depth)/bin/add-URLs.sh $@
 # do this for perl 5.003
 #      do_pod2html=$(pod2html) $<
 #      mv $(notdir $@) $(outdir)/
index 1bbba2ad3750cd51443b3f1ebbf76eed27fe7ab0..2115ce220a928909001f2d4685aca268609091cd 100644 (file)
@@ -158,6 +158,13 @@ The manual page
 </a
 >
 
+=item *
+<a href=ly2dvi.html
+>
+Easy titling for LilyPond
+</a
+>
+
 =item *
 <a href=convert-mudela.html
 >
index 0b40054c99f8f49c53b7222f6ea710c66bdc363d..05fdfff7160d9cf9706312fb94c4803f61b7a516 100644 (file)
@@ -18,6 +18,8 @@
 \author{Jan Nieuwenhuizen}
 \date{March 2, 1998}
 
+\def\file#1{\verb+#1+}
+
 % ugh: trick to get examples not generate par
 % these are for 16pt
 \def\mudelapaperlinewidth{-28.452756}%
@@ -35,6 +37,9 @@
 \def\mudelapaperinterbeam{3.140000}%
 \def\mudelapapergourlay_energybound{100000.000000}%
 \def\mudelapapergourlay_maxmeasures{14.000000}%
+% huh?
+% \def\exampleheight{2\mudelapaperbarsize pt}
+\def\exampleheight{2cm}
 
 % ful of pars, needs the above
 \input lilyponddefs
 % generates par
 \turnOnPostScript%
 \def\turnOnPostScript{}
+% generates par
+\def\interscoreline{}
 % 
 
 \begin{document}
 \maketitle
 
-\def\interexample{\hskip15mm$\Longrightarrow$\hskip15mm}
-\def\preexample{}
+%\def\interexample{\hskip15mm$\Longrightarrow$\hskip15mm}
+%\def\interexample{\hbox to10mm{\hfill\hbox to0pt{\hss\vbox to\exampleheight{\vss$\Longrightarrow$\vss}\hss}\hfill}}
+\def\interexample{}
+\def\preexample{\par}
 \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}
 
 This document should provide a gentle introduction to 
 LilyPond's input language, Mudela.
 For completeness and nifty features see 
-\verb+input/*.ly+
+\file{input/*.ly}
 and
-\verb+lily/parser.y, lily/lexer.l+.
-
-
-\section{Notes: pitches and durations}
-
-\begin[fragment,verbatim]{mudela}
+\file{lily/parser.y}, \file{lily/lexer.l}.
+By tradition, Mudela files have the extension \file{.ly}.
+
+Mudela is an ascii script language 
+that is especially designed 
+to be easy to read and write.
+In the following sections 
+the basic elements of Mudela are presented
+in a series of simple examples.
+Each example has
+a verbatim snippet of Mudela%
+% a snippet of Mudela as it's typed-in%
+\footnote{ 
+In an effort not to bore you too much with details,
+we leave-out some red tape
+that's needed for a valid piece of Mudela.
+Therefore, before you try-out any of the examples,
+be sure to read the section `A complete example'.}
+on the left
+and the resulting fragment of music on the right
+as it was produced by LilyPond.
+
+\section{Notes}
+
+Let's start with a single note, a quarter C
+
+\begin[fragment,verbatim,center]{mudela}
 c
 \end{mudela}
 
-\begin[fragment,verbatim]{mudela}
+Now that was easy and entering a scale is not much harder
+
+%\subsection{Pitches}
+
+\begin[fragment,verbatim,center]{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.
+% \subsection{Durations}
 
-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
+However, having only quarter notes may get a bit dull.
+Durations are entered as their reciproce values
+% a1 a2 a4 a a8 a a16 a a32 a a64 a a a a
+\begin[fragment,verbatim,center]{mudela}
+a1 a2 a4 a a8 a a16 a32 a64
 \end{mudela}
-note the explicit duration change for 
-the quarter e in the last measure.
+note that you only have to specify
+the duration when it changes:
+Lily assumes a note has the same duration as the previous one.
 
-Same for notes with flags
-\begin[fragment,verbatim]{mudela}
-a8 a16 a32 a64 a128
+Now we can already write a little tune
+\begin[fragment,verbatim,center]{mudela}
+c d e c | c d e c | e f g2
 \end{mudela}
-
-\begin[fragment,verbatim]{mudela}
+As you'll probably have guessed,
+the vertical bar (pipe) \verb+|+ may be used to mark
+measures.
+
+In the scale shown above
+we left-out the last c note of the next octave.
+Postfixing the pitch with a quote \verb+'+
+produces a note by one octave higher
+\begin[fragment,verbatim,center]{mudela}
 c c' c''
 \end{mudela}
 
-\begin[fragment,verbatim]{mudela}
+Prefixing the pitch with a quote \verb+'+
+produces a note by one octave lower
+\begin[fragment,verbatim,center]{mudela}
 a 'a ''a
 \end{mudela}
 
@@ -113,79 +149,269 @@ a 'a ''a
 
 A tie connects two adjacent noteheads
 
-\begin[fragment,verbatim]{mudela}
-c' ~ c
+\begin[fragment,verbatim,center]{mudela}
+e' ~ e
 \end{mudela}
 
 Whereas a slur rather connects `chords', 
-and tries to avoid crossing stems.
+and tries to avoid crossing stems
 
-\begin[fragment,verbatim]{mudela}
-c'( )c
+\begin[fragment,verbatim,center]{mudela}
+e'( )e
 \end{mudela}
 
-A (legato) slur can span several notes
-\begin[fragment,verbatim]{mudela}
-c'( d e )c
+And of course, such a (legato) slur can span several notes
+\begin[fragment,verbatim,center]{mudela}
+c( d e )f
 \end{mudela}
 
-\section{Beams and plets}
+\section{Beams and Plets}
 
-\begin[fragment,verbatim]{mudela}
+A beam is 
+\begin[fragment,verbatim,center]{mudela}
 [a8 a] [a16 a a a]
 \end{mudela}
 
-% [2/3 a8 a a]1/1
-\begin[fragment,verbatim]{mudela}
+Here's a beamed triplet
+\begin[fragment,verbatim,center]{mudela}
 [/3 a8 a a]/1
 \end{mudela}
 
-\begin[fragment,verbatim]{mudela}
+a triplet without a beam
+\begin[fragment,verbatim,center]{mudela}
 \[/3 a4 a8\]
 \end{mudela}
 
+and a combination
+\begin[fragment,verbatim,center]{mudela}
+[/3 a8 a16 a] a8 \]
+\end{mudela}
+
+Abbreviations
+\begin[fragment,verbatim,center]{mudela}
+c1:16 [:16 e1 g]
+\end{mudela}
+
+\begin[fragment,verbatim,center]{mudela}
+c4:32 [:16 c8 d8]
+\end{mudela}
+
+\section{Notenames}
+
+Lily has predefined sets of notenames
+for various languages%
+\footnote{These are Dutch, English, German, Italian and Swedish.
+Simply include the language specific init file \file{<language.ly>}.}.
+The default set are the ones we like best are the Dutch notenames.
+
+A sharp is formed by adding \verb+is+
+\begin[fragment,verbatim,center]{mudela}
+cis dis eis fis gis ais bis
+\end{mudela}
+
+and a flat is formed by adding \verb+es+%
+%\footnote{Exceptions: \verb+es+ and \verb+as+.}
+\footnote{Exceptions: {\tt es} and {\tt as}.}
+\begin[fragment,verbatim,center]{mudela}
+ces des es fes ges as bes
+\end{mudela}
+
+With the obvious names for double sharps
+\begin[fragment,verbatim,center]{mudela}
+cisis disis eisis fisis gisis aisis bisis
+\end{mudela}
+
+and double flats
+\begin[fragment,verbatim,center]{mudela}
+ceses deses eses feses geses ases beses
+\end{mudela}
+See why we like-em?
+
+There are two special `notenames', the rest
+\begin[fragment,verbatim,center]{mudela}
+r16 [a a a]
+\end{mudela}
+
+and the space
+\begin[fragment,verbatim,center]{mudela}
+a2 s-"diminuendo" | a
+\end{mudela}
+
+
 \section{Commands}
 
-\begin[fragment,verbatim]{mudela}
+\begin[fragment,verbatim,center]{mudela}
 \clef "bass"; 'c
 \end{mudela}
 
-\begin[fragment,verbatim]{mudela}
+and a clef-change
+\begin[fragment,verbatim,center]{mudela}
+\clef "violin"; f' e' \clef "alto"; d' c'
+\end{mudela}
+
+\begin[fragment,verbatim,center]{mudela}
 \meter 3/4; c g g |
 \end{mudela}
 
-\begin[fragment,verbatim]{mudela}
+\begin[fragment,verbatim,center]{mudela}
 \key fis cis;
 'g 'a 'b cis d e fis g'
 \end{mudela}
+Note how Mudela allows you to 
+convey a musical message
+rather than forces you to produce a list of typesetting commands.
+If the music a \verb+cis+, you type a \verb+cis+.
+Depending on the key and context of the note
+Lily will determine what accidentals to typeset.
+
+A reminder accidental can be forced by
+using an exclamation mark \verb+!+
+on a pitch a reminder accidental
+\begin[fragment,verbatim,center]{mudela}
+cis d e cis | c! d e c |
+\end{mudela}
+
+\begin[fragment,verbatim,center]{mudela}
+\meter 2/4;
+\bar "|:"; c c \bar ":|:"; c c \bar ":|"; c c \bar "|."; 
+\end{mudela}
 
-\section{Example}
+\section{Scripts}
+
+Staccato may be abbreviated
+\begin[fragment,verbatim,center]{mudela}
+a-\staccato a-.
+\end{mudela}
+
+Marcato
+\begin[fragment,verbatim,center]{mudela}
+a-\marcato a-|
+\end{mudela}
+
+Staccatissimo
+\begin[fragment,verbatim,center]{mudela}
+a-\staccatissimo a-^
+\end{mudela}
+
+Sforzato
+% duh?
+% a-\sforzato a->
+\begin[fragment,verbatim,center]{mudela}
+a-\accent a->
+\end{mudela}
+
+\begin[fragment,verbatim,center]{mudela}
+a-\fermata
+\end{mudela}
+
+\begin[fragment,verbatim,center]{mudela}
+a-\fermata
+\end{mudela}
+
+Dynamics from pianississimo upto mezzopiano
+\begin[fragment,verbatim,center]{mudela}
+a\ppp a\pp a\p a\mp
+\end{mudela}
+
+from fortississimo downto mezzoforte
+\begin[fragment,verbatim,center]{mudela}
+a\fff a\ff a\f a\mf
+\end{mudela}
+
+sforzando, sforzato and rinforzato
+% huh?
+% a\sfz a\sf a\rf
+\begin[fragment,verbatim,center]{mudela}
+a\sfz a\sf
+\end{mudela}
+
+Fingering
+\begin[fragment,verbatim,center]{mudela}
+[e8-1 c'-5 g-3 f-2] a''-\flageolet
+\end{mudela}
+
+Bowing
+\begin[fragment,verbatim,center]{mudela}
+c-\upbow d-\downbow
+\end{mudela}
+
+Footwork
+\begin[fragment,verbatim,center]{mudela}
+\clef "bass"; \octave c;
+  'b4.-\lheel [cis8-\ltoe dis8-\rtoe e8-\rheel]
+\end{mudela}
+
+\section{Chords and Voices}
+
+Here's a simple chord
+\begin[fragment,verbatim,center]{mudela}
+<c e g>
+\end{mudela}
+
+here are a few
+\begin[fragment,verbatim,center]{mudela}
+<
+       { c()d()c }
+       { e()f()e }
+       { g()a()g }
+>
+\end{mudela}
+
+and similarly voices
+\begin[fragment,verbatim,center]{mudela}
+<
+       { \voiceone c g c g }
+       { \voicetwo 'c2 'g2 }
+>
+\end{mudela}
+
+
+\section{A complete example}
+%\label{se:complete}
 
 A Mudela file needs some red tape
 
-\begin[verbatim]{mudela}
+\begin[verbatim,center]{mudela}
 \score{
-       \melodic{
+       \melodic {
                \octave c';
-               c d e c
+               c d e c |
+               c d e c |
+               e f g2 |
        }
 }
 \end{mudela}
 
 \section{Lyrics}
 
-% this nesting syntax sucks
-\begin[verbatim]{mudela}
+\begin[verbatim,center]{mudela}
 \score{
        < 
-               \melodic \type Staff = bla < \melodic{\octave c'; c d e c} >
-% huh?
-%              \lyric \type Lyrics = bli < \lyric{Fre- re Ja- que} >
-        >
+               \melodic{ 
+                       \octave c'; 
+                       c d e c | c d e c |
+                       e f g2 | e4 f g2
+                       \bar "|.";
+               }
+               \type Lyrics \lyric{ 
+                       Fr\`e-4 re Ja- que
+                       Fr\`e- re Ja- que
+                       Dor- mez vous?2
+                       Dor-4 mez vous?2
+               }
+       >
 }
 \end{mudela}
 
 \section{Variables}
 
+
+\section{Ly2dvi}
+Check-out this handy little script 
+that not only may save you quite some keystrokes,
+but produces titles and takes care of
+margins and (hopefully) papersizes.
+See \file{ly2dvi (1)}.
+
 \end{document}
 
index 97e7854e235be8ed0593ecb232aaa3c24fbb36e4..0e685b58f0885beef6f9c3f6f16c2565cf5c66c8 100644 (file)
@@ -136,7 +136,7 @@ information, and small contributions.
 
 =item *
 
-Han-Wen Nienhuys <hanwen@stack.nl>, http://www.stack.nl/~hanwen
+Han-Wen Nienhuys <hanwen@cs.ruu.nl>, http://www.stack.nl/~hanwen
 
 =item *
 
index 5caa99294d5fecc6c9047ac9e8dbc88e9f7181a4..965650c1adeb20bf35fe70bc044715049123d07a 100644 (file)
@@ -95,7 +95,7 @@ subscribe: send mail with subject "subscribe" to
 info-gnu-music-request@gnu.org.  
 
 As this list is moderated, normal people should ask to drl@gnu.org or
-hanwen@stack.nl to forward announces instead of sending it to
+hanwen@cs.ruu.nl to forward announces instead of sending it to
 info-gnu-music@gnu.org
 
 =item help-gnu-music@gnu.org
@@ -135,6 +135,10 @@ The Number One Free Operating System Kernel: Linux
 
 Dave Philips' Linux sound applications page
 
+=item http://www.home.fh-karlsruhe.de/~rost0001/web/musik/musik.html
+
+Stochastic composing using LilyPond 
+
 =item http://www.medieval.org/emfaq/scores/software.html
 
 More software for (early) music.
index 6a4767381f0c9477e27ea3aa4ecc637dd554a9e5..7c2132b7771b4df703ad3fce55d081c2de989039 100644 (file)
@@ -4,41 +4,169 @@ ly2dvi - convert mudela to DVI
 
 =head1 SYNOPSIS
 
-       ly2dvi file[.ly]
+       ly2dvi [options] inputfile[.ly] [....]
 
 =head1 DESCRIPTION
 
-ly2dvi is a script that will setup LaTeX and TeX for you to ...
+ly2dvi is a shell script which creates input file for LaTeX,
+based on information from the output file(s) from lilypond.
+The script handles multiple files. If a mudela file name is
+specified lilypond is run to make an output (TeX) file.
+
+One or more LaTeX files are created, based on information found
+in the output (TeX) file(s), and latex is finally run to create
+one or more DVI files.
 
 =head1 OPTIONS
 
 =over 5
 
-=item B<--help>
+=item B<-D,--debug>
+
+Set debug mode. There are two levels - in level one some debug
+info is written, in level two the command C<set -x> is run, which
+echoes every command in the ly2dvi script.
+
+=item B<-O,--orientation=>
+
+Set orientation - portrait is the default.
+(C<-O> landscape produces C<\usepackage[landscape]{article}>)
+
+=item B<-o,--output=>
+
+Set output directory.
+
+=item B<-h,--help>
+
+Print help.
 
-give help
+=item B<-k,--keep>
 
-=item .....
+Keep the LaTeX file after the run.
+
+=item B<-l,--language>
+
+Specify LaTeX language.
+(C<-l norsk> produces C<\usepackage[norsk]{babel}>).
+
+=item B<-p,--papersize=>
+
+Specify papersize.
+(C<-p a4paper> produces C<\usepackage[a4paper]{article}>)
+
+=item B<-s,--separate>
+
+Normally all output files are included into one LaTeX file.
+With this switch all files are run separately, to produce one
+DVI file for each.
 
 =back
 
-=head1 SOMETHING
+=head1 FEATURES
+
+ly2dvi responds to several parameters specified in the mudela
+file. They are overridden by corresponding command line options.
+
+=over 5
+
+=item B<papersize>
+
+Specify papersize.
+
+=item B<orientation>
+
+Set orientation.
+
+=item B<language>
+
+Specify LaTeX language
+
+=item B<paperlinewidth>
+
+Specify the width (pt, mm or cm) of the printed lines.
+
+=back
 
 =head1 ENVIRONMENT
 
+=over 5
+
+=item B<LILYINCLUDE>
+
+Additional directories for the input file(s).
+
+=item B<TMP>
+
+Temporary directory. Default is /tmp
+
+=back
+
 =head1 FILES
 
-F</etc/papersize> contains ...
+F<titledefs.tex> is inspected for definitions used to extract
+additional text definitions from the mudela file. In the current
+version the following are defined:
+
+=over 5
+
+=item B<title>
+
+The title of the music. Centered on top of the first page.
+
+=item B<subtitle>
+
+Subtitle, centered below the title.
+
+=item B<composer>
+
+Name of the composer, rightflushed below the subtitle.
+
+=item B<arranger>
+
+Name of the arranger, rightflushed below the composer.
+
+=item B<instrument>
+
+Name of the instrument, leftflushed at same level as the composer.
+
+=back
 
 =head1 SEE ALSO
 
-lilypond(1), 
+lilypond(1), TeX, LaTeX
 
 =head1 AUTHOR
 
-JAF
+Jan Arne Fagertun <Jan.A.Fagertun@energy.sintef.no>,
+http://www.termo.unit.no/mtf/people/janaf/
 
 =head1 BUGS
 
-Does not handle margins properly
+If you have found a bug, you should send a bugreport.
+
+=over 4
+
+=item *
+Send a copy of the input which causes the error.
+
+=item *
+Send a description of the platform you use.
+
+=item *
+Send a description of the LilyPond and ly2dvi version you use.
+
+=item *
+Send a description of the bug itself.
+
+=item *
+Send it to bug-gnu-music@gnu.org (you don't have to subscribe
+to this mailinglist).
+
+=back
+
+=head1 REMARKS
+
+Only one papersize is supported, A4. Information on other sizes
+(LaTeX names, horizontal and vertical sizes) should be mailed to
+the author or to the mailing list.
 
index 1e8ba2b80f4331aad9bfd6395defb40e14a6ad9c..f953bed7f76a5147aa8557507ab2d0c4c0657077 100644 (file)
@@ -31,9 +31,7 @@ PREREQUISITES
             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.  If
-            you use gcc 2.8 or egcs then you should install a
-            matching libg++  (ie. 2.8) version.
+       o    GNU C++ v2.7 or better.
 
        o    GNU make.
 
@@ -61,7 +59,9 @@ RECOMMENDED
 
 
 
-6/Mar/98                 LilyPond 0.1.47                        1
+
+
+11/Mar/98                LilyPond 0.1.48                        1
 
 
 
@@ -127,7 +127,7 @@ CONFIGURING and COMPILING
 
 
 
-6/Mar/98                 LilyPond 0.1.47                        2
+11/Mar/98                LilyPond 0.1.48                        2
 
 
 
@@ -193,7 +193,7 @@ INSTALL(1)            LilyPond documentation           INSTALL(1)
 
 
 
-6/Mar/98                 LilyPond 0.1.47                        3
+11/Mar/98                LilyPond 0.1.48                        3
 
 
 
@@ -259,7 +259,7 @@ EXAMPLE
 
 
 
-6/Mar/98                 LilyPond 0.1.47                        4
+11/Mar/98                LilyPond 0.1.48                        4
 
 
 
@@ -325,7 +325,7 @@ MUSIXTEX
 
 
 
-6/Mar/98                 LilyPond 0.1.47                        5
+11/Mar/98                LilyPond 0.1.48                        5
 
 
 
@@ -370,7 +370,7 @@ INSTALL(1)            LilyPond documentation           INSTALL(1)
        tex/eglerdefs.tex.
 
 AUTHORS
-       Han-Wen Nienhuys <hanwen@stack.nl>
+       Han-Wen Nienhuys <hanwen@cs.ruu.nl>
 
        Jan Nieuwenhuizen <jan@digicash.com>
 
@@ -391,6 +391,6 @@ AUTHORS
 
 
 
-6/Mar/98                 LilyPond 0.1.47                        6
+11/Mar/98                LilyPond 0.1.48                        6
 
 
diff --git a/NEWS b/NEWS
index 60d9a467b54ab82ff7124d8a7d770e9fdbfa519e..4ead68b8d3db77a9164f815aea9be3194ff46bbc 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,24 @@
+pl 48
+       - Pitch_squash_engraver makes Rhythmic_staff possible.
+       - some fixes to buildscripts for sgi irix
+       - misc. patches (WL)
+       - move away from libg++: rolled own Rational class..
+       - don't make gif files Documentation/ by default 
+       - ly2dvi manpage (JAF)
+       - ly2dvi 0.7 (JAF)
+       - more clefs. (MB)
+
+pl 47.jcn2
+       - bf: interbeams and beam-stemlengths for size != 16
+       - bf's: preludes
+       - more introduction
+
+pl 47.jcn1
+       - voice{one,two,three} defines
+       - preludes-*: fixes, junked multi, broke-down score-block
+       - mudela-book: added center option
+
+******
 pl 47
        - Abbreviation now a separate item.
        - bf'd some gcc 2.8 warnings.
@@ -6,7 +27,9 @@ pl 47
 
 pl 46.jcn1
        - start mudela introduction
-       - plet-fraction abbrev by guessing; /3 -> 2/3 etc.
+
+
+pl 46.jcn2
        - bf's: preludes-*
 
 *******
diff --git a/TODO b/TODO
index e966bc71f18f1a67e553dd9271736e29397ef1e3..1950f517bddb3a2723b834a0b485af1051ce68cc 100644 (file)
--- a/TODO
+++ b/TODO
@@ -7,7 +7,8 @@ Most of the items are marked in the code as well, with full explanation.
 grep for TODO and ugh/ugr
 
 0.2:
-       * abbrevs
+
+       * check for groff / troff/ nroff et
 
        * use kpsepath to find all TeX dirs
        - configure.in 
@@ -15,6 +16,10 @@ grep for TODO and ugh/ugr
        
        * forced breakpoints
 
+       * nicen examples:
+       - remove all \multi
+       - break-up heavily-nested score blocks
+
        * --metafont
 
        * disable spaces in TeX stuff
@@ -32,6 +37,7 @@ grep for TODO and ugh/ugr
        * fix stdin input
 
        * documentation
+       - introduction?
        - info?
        - LaTeX?
        - more manpages?
@@ -44,19 +50,19 @@ grep for TODO and ugh/ugr
 
        * spanner that is not spanned gives assert ().
 
-* the warning about the negative slur/tie length appears twice
-which is irritating.
+       * 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)
+       * 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
+       * tie/slur dir & curvature
 
-* stem len adjustable
+       * stem len adjustable
 
-* mindist for spanners
+       * mindist for spanners
 
        
 
@@ -101,7 +107,7 @@ STUFF
 
        * gdb on RedHat 5
 
-       * xdvi: PS magnifying glass.
+       * xdvi: PS in magnifying glass.
 
        * Rational infty(HUGE_VAL) on glibc / w32
 
diff --git a/VERSION b/VERSION
index cab5f19d385771ed66905adec4217bc7df390bc0..7936890dac88fc2a23780f3b86be742376d56928 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,6 +1,6 @@
 TOPLEVEL_MAJOR_VERSION = 0
 TOPLEVEL_MINOR_VERSION = 1
-TOPLEVEL_PATCH_LEVEL = 47
+TOPLEVEL_PATCH_LEVEL = 48
 TOPLEVEL_MY_PATCH_LEVEL = 
 
 # use the above to send patches, always empty for released version:
index 5c0043d97729f69aa3fcd4d2472058451be198f6..c328fef380a7e8d8328e45316eefd5ec7ae04a9d 100644 (file)
@@ -28,12 +28,16 @@ $(outdir)/%: %.py
        sed 's!@PYTHON@!$(PYTHON)!' < $< > $@
        chmod 755 $@
 
-EXECUTABLES=convert-mudela mudela-book
+EXECUTABLES=convert-mudela mudela-book ly2dvi
 
 localinstall: all
        $(INSTALL) -d $(bindir)
-       $(INSTALL) -m 755 $(outdir)/convert-mudela $(bindir)
-       $(INSTALL) -m 755 $(outdir)/mudela-book $(bindir)
+       cd $(outdir); \
+               for a in $(EXECUTABLES); \
+               do $(INSTALL) -m 755 $$a $(bindir); \
+               done
 
 localuninstall:
-       rm -f $(bindir)/convert-mudela $(bindir)/mudela-book
+       for a in $(EXECUTABLES); \
+               do rm -f $(bindir)/convert-mudela $(bindir)/mudela-book; \
+               done
diff --git a/bin/add-URLs.sh b/bin/add-URLs.sh
new file mode 100644 (file)
index 0000000..a32e6f9
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+# add URLs for broken perl 5.004
+
+perl -i~ -pe 's! ([a-z]+://[^ \t]+)! <a href=$1>$1</a>!g' $*
index 6c4ad1ad701a3fa5760278683848eb994df42ed3..6f329a86146c8d5f71a0aa2f3bd9c1b6a67e9bee 100644 (file)
@@ -110,8 +110,13 @@ class Lilydirs:
            print 'Please set LILYPOND_SOURCEDIR to the toplevel source, eg LILYPOND_SOURCEDIR=/home/foobar/lilypond-1.2.3/'
            sys.exit(1)
            
-       self.release_dir = self.topdir + '../releases/'
-       self.patch_dir = self.topdir + '../patches/'
+       try:
+           self.groupdir = os.environ['LILYPOND_GROUPDIR'] + '/'
+       except KeyError:
+           self.groupdir = self.topdir + '../'
+       self.release_dir = self.groupdir + '/releases/'
+       self.patch_dir = self.groupdir + '/patches/'
 
     def version_tuple(self):
         f = open (self.topdir + 'VERSION')
index 005a311196f7135bf23bcea57187971a36e1ae07..e20f85aa1162be08cf13374d5780222b49dc7abb 100644 (file)
@@ -8,7 +8,7 @@
 #  Original LaTeX file made by Mats Bengtsson, 17/8 1997
 #
 
-VERSION="0.6.jaf2"
+VERSION="0.7"
 NAME=ly2dvi.sh
 IDENTIFICATION="$NAME $VERSION" 
 NOW=`date`
@@ -16,7 +16,18 @@ echo "$IDENTIFICATION" 1>&2
 
 # TODO
 
-# should detect crashing lilypond
+# 0.7
+#      - Improved Lilypond error checking
+#      - Output orientation (landscape...). Overrides mudela file
+#        variable orientation="landscape";
+#      - Paper width and heigth put into variables (only A4!)
+#      - Adjusted top margin to default.....
+#
+#TODO
+#      - Include more papersizes.
+#      - Manual page.......
+#      - should detect crashing lilypond
+
 
 # NEWS
     
@@ -122,7 +133,8 @@ Usage: $0 [options] file[s]
 
 Options:
   -D, --debug           set debug mode
-  -o, --output          set output directory
+  -O, --orientation=    set orientation (landscape or portrait (default))
+  -o, --output=         set output directory
   -h, --help            this help text
   -k, --keep            keep LaTeX file
   -l, --language=       give LaTeX language (babel)
@@ -133,6 +145,8 @@ Options:
 EOF
 }
 
+PWIDTH=600;                            # Width of A4 paper!
+PHEIGTH=830;                            # Heigth of A4 paper!
 #
 # RC-files ?
 #
@@ -176,7 +190,7 @@ SEPFILE=N
 #
 # "x:" x takes argument
 #
-switches="Do:hkl:p:s\?"
+switches="DO:hkl:o:p:s\?"
 options=""
 #
 # ugh, "\-" is a hack to support long options
@@ -194,6 +208,9 @@ do
       fi
       debug_echo=echo
       ;;
+    O  )
+      ORI=$OPTARG
+      ;;
     h  )
       help;
       exit 0
@@ -241,9 +258,12 @@ do
         p*|-p*)
           PSZ=`echo $OPTARG | sed -e s/"^.*="//`
           ;;
-       o*|-o*)
-             OUTPUTDIR=$OPTARG
-             ;;
+       or*|-or*)
+         ORI=`echo $OPTARG | sed -e s/"^.*="//`
+         ;;
+       ou*|-ou*)
+         OUTPUTDIR=`echo $OPTARG | sed -e s/"^.*="//`
+         ;;
         s*|-s*)
          SEPFILE=Y
           ;;
@@ -292,29 +312,50 @@ else
 fi
 #
 # Find:
-#   paper size (PSZ, overridden by command line option -p)
-#   language   (LNG, overridden by command line option -l)
+#   paper size        (PSZ, overridden by command line option -p)
+#   paper orientation (ORI, overridden by command line option -o)
+#   language          (LNG, overridden by command line option -l)
 #   textwidth
 #
 eval `sed -n \\
   -e 's/\\\\def\\\\mudelapapersize{\([^}]*\).*$/fPSZ=\1;/p' \\
+  -e 's/\\\\def\\\\mudelaorientation{\([^}]*\).*$/fORI=\1;/p' \\
   -e 's/\\\\def\\\\mudelalanguage{\([^}]*\).*$/fLNG=\1;/p' \\
   -e 's/\\\\def\\\\mudelapaperlinewidth{\([^}]*\).*$/TWN=\1;/p' \\
     $File`
-if [ "$PSZ" = "" ]
+if [ -z "$PSZ" ]
 then
   PSZ=$fPSZ
 fi
-if [ "$PSZ" != "" ]
+if [ ! -z "$PSZ" ]
 then
-  PAPER="["$PSZ"]"
+  PAPEROPT=$PSZ
 fi
 #
-if [ "$LNG" = "" ]
+if [ -z "$ORI" ]
+then
+  ORI=$fORI
+fi
+if [ ! -z "$ORI" ]
+then
+  if [ -z "$PAPEROPT" ]
+  then
+    PAPEROPT=$ORI
+  else
+    PAPEROPT=$PAPEROPT,$ORI
+  fi
+fi
+#
+if [ ! -z "$PAPEROPT" ]
+then
+  PAPER="["$PAPEROPT"]"
+fi
+#
+if [ -z "$LNG" ]
 then
   LNG=$fLNG
 fi
-if [ "$LNG" != "" ]
+if [ ! -z "$LNG" ]
 then
   LLNG="\usepackage["$LNG"]{babel}"
 else
@@ -324,7 +365,7 @@ fi
 #
 # Find textwidth
 #
-if [ "$TWN" != "" ]
+if [ ! -z "$TWN" ]
 then
   TW=$TWN
   case $TW in
@@ -341,7 +382,11 @@ then
   $debug_echo "Text width = "$TW
 fi
 TWp=`echo $TW | sed -e 's/\..*$//'`
-PWp=600;                               # Width of A4 paper!
+PWp=$PWIDTH
+if [ "$ORI" = "landscape" ]
+then
+  PWp=$PHEIGTH
+fi
 MARG=`expr $PWp - $TWp`
 MARG=`expr $MARG / 2`"pt"
 #
@@ -362,7 +407,8 @@ $LLNG
 %\addtolength{\oddsidemargin}{-1cm}
 %\addtolength{\topmargin}{-1cm}
 \setlength{\textwidth}{$TW}
-\geometry{width=$TW, left=$MARG, top=1cm}
+%\geometry{width=$TW, left=$MARG, top=1cm}
+\geometry{width=$TW, left=$MARG}
 \input lilyponddefs
 \input titledefs
 \begin{document}
@@ -392,7 +438,7 @@ EOF
 #
 endFile(){
 cat << EOF >> $LF
-\vfill\hfill{\small\LilyIdString}
+\vfill\hfill{(\LilyIdString)}
 \end{document}
 EOF
 #
@@ -499,8 +545,13 @@ do
     lilypond $IF 2>&1  | tee /tmp/lilylog.$$
     OF=`egrep '^TeX output to ' /tmp/lilylog.$$ | \\
         sed -e 's/TeX output to//' -e 's/\.\.\.//'`
-    rm /tmp/lilylog.$$
     $debug_echo "==> "$OF
+    STATUS=`grep -i error /tmp/lilylog.$$`
+    rm /tmp/lilylog.$$
+    if [ ! -z "$STATUS" ]
+    then
+      exit 10
+    fi
   fi
   #
   # "Spin through" all the files
index 72be6f4ec81b54f67cd0c6c2a8da5874de897f52..0f5ee3057dd588d794c50b7d8c60000863f15db9 100644 (file)
@@ -74,7 +74,12 @@ def remove_automatic(dirnames):
 def makepatch(fv, tv, patfile_nm):
     import tempfile
     prev_cwd = os.getcwd();
-    os.chdir ('/tmp')
+    try:
+       os.mkdir ('/tmp/make-patch');
+    except:
+       pass
+       
+    os.chdir ('/tmp/make-patch');
     untar(released_tarball(fv))
     untar(released_tarball(tv))
     remove_automatic([dirname(fv), dirname(tv)])
@@ -93,7 +98,7 @@ def makepatch(fv, tv, patfile_nm):
     sys.stderr.write('diffing to %s... ' % patfile_nm)
     os.system('diff -urN ../%s . >> %s' % (dirname(fv), patfile_nm))
     #os.system('gzip -9f %s' % patfile_nm)
-    os.chdir('/tmp')
+    os.chdir('/tmp/make-patch')
 
     sys.stderr.write('cleaning ... ')
     os.system('rm -fr %s %s' % (dirname(tv), dirname(fv)))
index 927ccbbeb18a4b235a7f364ce4590f62500834ef..58c96c384bbe0eb211266adada5faec4c025c1b5 100644 (file)
@@ -86,7 +86,12 @@ class Ly_file(Indentable_file):
        self.write('\"%s\"\t' % str)
 
     def print_f_dimen(self, f):
-       self.write( '%.2f\\pt\t' % f);
+       dimstr = '%.2f' % f
+
+       # try to mask rounding errors
+       if (dimstr == '-0.00'):
+               dimstr = '0.00'
+       self.write( dimstr  +'\\pt\t');
 
     def print_dimen(self, str):
        self.print_f_dimen(atof(str))
index a5ed477aeaa819352910c619018d44a4a7328abe..f23b428b52da0c30c3c96120be5737871b93705b 100644 (file)
@@ -47,12 +47,19 @@ sub close_mudela
 {
     $mudela_b = 0;
     if ($fragment_b) {
-       print MUDELA "}\n \\paper { linewidth = -1.0\\cm; castingalgorithm = \\Wordwrap; } }\n";
+       print MUDELA "}\n \\paper { linewidth = -1.0\\cm;";
+       print MUDELA "castingalgorithm = \\Wordwrap; } }\n";
        $fragment_b =0;
     }
-    if ( $verbatim_b)  {
-       print BOOK "\\end{verbatim}\n\\interexample";
-       $verbatim_b =0;
+    if ($verbatim_b)  {
+       print BOOK "\\end{verbatim}";
+    }
+    if ($center_b) {
+       print BOOK "\\end{minipage}";
+    }
+    if ($verbatim_b)  {
+       print BOOK "\\interexample";
+       $verbatim_b = 0;
     }
     close MUDELA;
     my $status =0;
@@ -70,8 +77,16 @@ sub close_mudela
        my_system "lilypond ". gen_mufile;
        rename gen_texbase, gen_texfile;
     }
-    print BOOK "\\preexample\\input " . gen_texfile . "\n\\postexample\n";
-       
+
+    if ($center_b) {
+       print BOOK "\\begin{minipage}[c]{.5\\textwidth}\n";
+    }
+    print BOOK "\\input " . gen_texfile . "%\n";
+    if ($center_b) {
+       print BOOK "\\end{minipage}";
+       $center_b = 0;
+    }
+    print BOOK "\\postexample%\n";
 }
 
 sub open_mudela
@@ -79,11 +94,18 @@ sub open_mudela
     $mudcount++;
     $mudela_b = 1      ;
     open MUDELA, ">$outdir/book-mudela.ly";
+    print BOOK "\\preexample%\n";
+    if ($center_b) {
+       print BOOK "\\begin{minipage}[c]{.5\\textwidth}\n";
+    }
     if ($verbatim_b) {
        print BOOK "\\begin{verbatim}\n";
     }
     if ($fragment_b) {
        print MUDELA "\\score { \\melodic {\\octave c';";
+    } else {
+       print MUDELA "default_paper = \\paper { \\paper_sixteen ";
+       print MUDELA "linewidth = 7.\\cm;}";
     }
 
 }
@@ -106,6 +128,7 @@ sub parse_mudela_opts
 
    $verbatim_b =1 if ($s =~ /verbatim/ );
    $fragment_b = 1 if ($s =~ /fragment/ );
+   $center_b = 1 if ($s =~ /center/ );
 }   
 
 sub help
@@ -122,7 +145,10 @@ options:
 sub main
 {
     GetOptions( 'outdir=s', 'outname=s', 'help');
-    help    if ( $opt_help ) ;
+    if ( $opt_help ) {
+       help();
+       $opt_help = 0;  # to extinguish typo check. brr, what a language
+    }
 
     if  (defined ($opt_outdir)) {
        $outdir = $opt_outdir .  "/";
index fa6a9c4035e770b62ae3600d54007c9998575c03..1ba3c6c87c687c3acf324056c553a39d2a62b3ac 100644 (file)
@@ -19,12 +19,23 @@ os.chdir(lilydirs.topdir)
 os.system('make dist')
 cur_ver = lilydirs.version_tuple()
 print tarball(cur_ver)
-os.rename('out/' + tarball(cur_ver), released_tarball(cur_ver))
-os.chdir('../test')
+try:
+    os.rename('out/' + tarball(cur_ver), released_tarball(cur_ver))
+except posix.error:
+    os.system('cp out/' + tarball(cur_ver)  + ' ' + released_tarball(cur_ver))
+    os.unlink('out/' + tarball (cur_ver))
+    
+os.chdir(lilydirs.groupdir + '/test')
 os.system('pwd')
 os.system('rm ../test/*gz')
-os.link(released_tarball(cur_ver), tarball(cur_ver))
 
+#huh?
+#os.symlink(released_tarball(cur_ver), tarball(cur_ver))
+
+try:
+    os.link(released_tarball(cur_ver), tarball(cur_ver))
+except posix.error:
+    os.system('cp ' + released_tarball(cur_ver) + ' '+  tarball(cur_ver))
 
 # not a module, but a script (JCN)
 # makepatch.main()
index 06f5939f5908e72848e78cd3a82a86fb1920e675..d749b003089608a8a34f1cea7c8c912356147570 100644 (file)
@@ -1,3 +1,6 @@
+pl 38
+       - Rational
+       - Real.hh fixes
 pl 37
        - various String/File_path mucking
 
index d31b2730550832e114e6a5fee03e00a02be60578..35f9cba6c9e5068e33fbe5912d02a5c494f41fc4 100644 (file)
@@ -1,6 +1,6 @@
 MAJOR_VERSION = 1
 MINOR_VERSION = 1
-PATCH_LEVEL = 36
+PATCH_LEVEL = 38
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = # include separator: "-1" or ".a"
 #
diff --git a/flower/include/arithmetic-operator.hh b/flower/include/arithmetic-operator.hh
new file mode 100644 (file)
index 0000000..6b95340
--- /dev/null
@@ -0,0 +1,22 @@
+/*   
+  arithmetic-operator.hh -- declare 
+  
+  source file of the Flower Library
+  
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+  
+ */
+
+#ifndef ARITHMETIC_OPERATOR_HH
+#define ARITHMETIC_OPERATOR_HH
+
+#define IMPLEMENT_ARITHMETIC_OPERATOR(type, op)  \
+inline type \
+operator op (type a1, type const& a2)          \
+{                                              \
+  a1 op ## = a2;                                       \
+  return a1;                                   \
+}
+
+#endif /* ARITHMETIC_OPERATOR_HH */
+
index 694f63fed6175beef690c37c011d1ea63fa8874a..5c491d61144622fccc6bafdfaf6a22c259ddb42f 100644 (file)
@@ -50,7 +50,17 @@ struct String_convert;
 struct String;
 struct Matrix_storage;
 struct Vector ;
+struct MyRational;
+
+
+#if PARANOIA
+#ifndef Rational
+#define Rational MyRational
+#endif
+#else
 struct Rational;
+#endif
+
 struct Text_stream;
 struct Data_file;
 struct Text_db;
index d236759219e1f66887b988b4111cfb1739bda840..b0207e0556f61d3997e76d8c79e5b386cbb757e6 100644 (file)
@@ -24,6 +24,7 @@ struct Interval_t {
   /* ************** */
     
   static T infinity() ;
+  static String T_to_str (T arg);
     
   T center() { return (left + right) / T(2);}
   void translate (T t) {
index 88dc1a7016716b10d8de1710664d7522761297b1..01dbbb169592e16778b15f213faf8218a07ba4c7 100644 (file)
@@ -120,7 +120,7 @@ Interval_t<T>::str() const
        return "[empty]";
   String s ("[");
  
-  return s + String (left) + String ("," ) + String (right ) + String ("]" );
+  return s + T_to_str (left) + String ("," ) + T_to_str (right ) + String ("]" );
 }
 
 template<class T>
index fb75268d92b1788cdb25dbb5ef8572ee60af3f27..4160af814d87b8eac8c34d64fbe4ff552b907d88 100644 (file)
@@ -9,9 +9,68 @@
 
 #ifndef RATIONAL_HH
 #define RATIONAL_HH
-#include <Rational.h>
 
-/// print a Rational. To be called from the  debugger
-void print_rat (Rational const&);
+#if PARANOIA
+#ifndef Rational
+#define Rational MyRational
+#endif
+#endif
+
+#include "compare.hh"
+#include "arithmetic-operator.hh"
+#include "fproto.hh"
+
+class Rational {
+  int sign_;
+  unsigned int num_, den_;
+  void normalise ();
+  void copy (Rational const &);
+public:
+  void set_infinite (int sign);
+  bool infty_b () const;
+  void invert ();
+  int num  () const { return sign_ * num_; }
+  int den  () const { return den_; }
+  Rational truncated () const;
+  void negate ();
+  operator bool () const;
+  operator String () const;
+  Rational operator - () const;
+  Rational ();
+  Rational (int, int =1);
+  Rational (double);
+  Rational (Rational const&);
+
+  Rational &operator = (Rational const &);
+  Rational &operator *= (Rational);
+  Rational  &operator /= (Rational);  
+  Rational  &operator += (Rational);
+  Rational  &operator -= (Rational);
+  static int compare (Rational const&, Rational const&);
+  int sign () const;
+  String str () const;
+};
+
+IMPLEMENT_ARITHMETIC_OPERATOR (Rational, / );
+IMPLEMENT_ARITHMETIC_OPERATOR (Rational, + );
+IMPLEMENT_ARITHMETIC_OPERATOR (Rational, * );
+IMPLEMENT_ARITHMETIC_OPERATOR (Rational, - );
+
+INSTANTIATE_COMPARE (Rational const&, Rational::compare);
+
+int compare (Rational const&,Rational const&);
+int sign (Rational r);
+
+inline void
+Rational::copy (Rational const&r)
+{
+  sign_ = r.sign_;
+  num_ = r.num_;
+  den_ = r.den_;
+}
+
+class ostream;
+ostream &
+operator << (ostream &,  Rational);
 
 #endif // RATIONAL_HH
index 2e8b160a22d02e71f0cbdc8c07e8515d07ef273d..5b5bc26f7a13460174a9eaf54e6142b69cf0a53d 100644 (file)
 #define REAL_HH
 
 
-#include <builtin.h>
-#include <minmax.h>
 #include <math.h>
 #include <limits.h>
 
 typedef double Real;
 const Real infinity_f = HUGE_VAL;
 
+
+template<class T> inline T abs (T x)
+{
+  return x > 0 ? x : -x;
+}
+
+template<class T> inline int sign (T x)
+{
+  if (x)
+    return x > 0 ? 1 : -1;
+  return 0;
+}
+
+template<class T> inline T max (T x, T y)
+{
+  return x >? y;
+}
+
+template<class T> inline T sqr (T x)
+{
+  return x*x;
+}
+
+
+template<class T> inline T min (T x, T y)
+{
+  return x <? y;
+}
+
 inline Real
 distance (Real x,Real y)
 {
index 613202bb8c50201335fef4847b77e70596b427e0..3b6f2266faa1f026b6afdf1e0585ad409e38215a 100644 (file)
@@ -13,8 +13,8 @@
 
 #include <string.h>
 #include <iostream.h>
-#include <Rational.h>
-
+#include "arithmetic-operator.hh"
+#include "fproto.hh"
 #include "string-handle.hh"
 
 /*
@@ -76,7 +76,6 @@ public:
   /** init to empty string. This is needed because other
     constructors are provided.*/
   String  ();
-  String (Rational);
 
   /// String s = "abc";
   String (char const* source); 
@@ -206,13 +205,7 @@ inline bool operator!=(char const* s1,String s2) {
   return String (s2) !=s1;
 }
 
-
-inline String
-operator  + (String s1, String  s2)
-{
-  s1 += s2;
-  return s1;
-}
+IMPLEMENT_ARITHMETIC_OPERATOR (String, +);
 
 inline ostream &
 operator << (ostream& os, String d)
index 7d2c0098393d7d5c5e29c7a660dd094e172d20b8..d4ca0f40f470117ffcf12b847b734a84bffd1516 100644 (file)
@@ -21,3 +21,9 @@ Interval_t<Real>::infinity()
 {
   return HUGE_VAL;
 }
+
+String
+Interval_t<Real>::T_to_str (Real r)
+{
+  return String (r);
+}
index 11963238b576632ea3b4e0cbc85eb30aac322e92..202dd9f0e717912a76e49bf48786bef6bfe4ee0e 100644 (file)
 /*
-  rational.cc -- implement Rational related functions
-
+  rational.cc -- implement Rational
+  
   source file of the Flower Library
 
   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
 */
-
+#include <stdlib.h>
 #include "rational.hh"
 #include "string.hh"
+#include "string-convert.hh"  
+#include "libc-extension.hh"
+
+
+Rational::operator bool () const
+{
+  return sign_;
+}
+
+ostream &
+operator << (ostream &o, Rational r)
+{
+  o <<  r.str ();
+  return o;
+}
+
+
+
+Rational
+Rational::truncated () const
+{
+  return Rational(num_ - (num_ % den_), den_);
+}
+
+Rational::Rational ()
+{
+  sign_ = 1;
+  num_ = den_ = 1;
+}
+
+Rational::Rational (int n, int d)
+{
+  sign_ = ::sign (n) * ::sign (d);
+  num_ = abs (n);
+  den_ = abs (d);
+  normalise ();
+}
+
+
+static
+int gcd (int a, int b)
+{
+  int t;
+  while ((t = a % b))
+    {
+      a = b;
+      b = t;
+    }
+  return b;
+}
+
+static
+int lcm (int a, int b)
+{
+  return abs (a*b / gcd (a,b));
+}
+
+void
+Rational::set_infinite (int s)
+{
+  sign_ = ::sign (s) * 2; 
+}
+
+Rational
+Rational::operator - () const
+{
+  Rational r(*this);
+  r.negate ();
+  return r;
+}
+
+void
+Rational::normalise ()
+{
+  if (!sign_)
+    {
+      den_ = 1;
+      num_ = 0;
+      return ;
+    }
+  if (!den_)
+    sign_ = 2;
+  if (!num_)
+    sign_ = 0;
+
+  int g = gcd (num_ , den_);
+
+  num_ /= g;
+  den_ /= g;
+}
+
+int
+Rational::sign () const
+{
+  return ::sign (sign_);
+}
+
+bool
+Rational::infty_b () const
+{
+  return abs (sign_) > 1;
+}
+
+int
+Rational::compare (Rational const &r, Rational const &s)
+{
+  if (r.sign_ < s.sign_)
+    return -1;
+  else if (r.sign_ > s.sign_)
+    return 1;
+  else if (r.infty_b ())
+    return 0;
+
+  return  (r - s).sign ();
+}
+
+int
+compare (Rational const &r, Rational const &s)
+{
+  return Rational::compare (r, s );
+}
+
+Rational &
+Rational::operator += (Rational r)
+{
+  if (infty_b ())
+    ;
+  else if (r.infty_b ())
+    {
+      *this = r;
+    }
+  else 
+    {
+      int n = sign_ * num_ *r.den_ + r.sign_ * den_ * r.num_;
+      int d = den_ * r.den_;
+      sign_ =  ::sign (n) * ::sign(d);
+      num_ = abs (n);
+      den_ = abs (d);
+      normalise ();
+    }
+  return *this;
+}
+    
+
+/*
+  copied from libg++ 2.8.0
+ */ 
+Rational::Rational(double x)
+{
+  num_ = 0;
+  den_ = 1;
+  if (x != 0.0)
+    {
+      sign_ = ::sign (x);
+      x *= sign_;
+
+      const long shift = 15;         // a safe shift per step
+      const double width = 32768.0;  // = 2^shift
+      const int maxiter = 20;        // ought not be necessary, but just in case,
+      // max 300 bits of precision
+      int expt;
+      double mantissa = frexp(x, &expt);
+      long exponent = expt;
+      double intpart;
+      int k = 0;
+      while (mantissa != 0.0 && k++ < maxiter)
+       {
+         mantissa *= width;
+         mantissa = modf(mantissa, &intpart);
+         num_ <<= shift;
+         num_ += (long)intpart;
+         exponent -= shift;
+       }
+      if (exponent > 0)
+       num_ <<= exponent;
+      else if (exponent < 0)
+       den_ <<= -exponent;
+    } else {
+      sign_ =  0;
+    }
+  normalise();
+}
+
 
 void
-print_rat (Rational const &m)
+Rational::invert ()
 {
-  cout << String (m) << flush;
+  int r (num_);
+  num_  = den_;
+  den_ = r;
+}
+
+Rational &
+Rational::operator *= (Rational r)
+{
+  sign_ *= ::sign (r.sign_);
+  if (r.infty_b ())
+    {  
+      sign_ = sign () * 2;
+      goto exit_func;
+    }
+
+  num_ *= r.num_;
+  den_ *= r.den_;
+
+  normalise ();
+ exit_func:
+  return *this;
 }
   
+Rational &
+Rational::operator /= (Rational r)
+{
+  r.invert ();
+  return (*this *= r);
+}
+
+void
+Rational::negate ()
+{
+  sign_ *= -1;
+}
+
+Rational&
+Rational::operator -= (Rational r)
+{
+  r.negate ();
+  return (*this += r);
+}
+
+/*
+  be paranoid about overiding libg++ stuff
+ */
+Rational &
+Rational::operator = (Rational const &r)
+{
+  copy (r);
+  return *this;
+}
 
+Rational::Rational (Rational const &r)
+{
+  copy (r);
+}
+
+Rational::operator String () const
+{
+  return str ();
+}
+
+String
+Rational::str () const
+{
+  if (infty_b ())
+    {
+      String s (sign_ > 0 ? "" : "-" );
+      return String (s + "infinity");
+    }
+  String s (num ());
+  if (den () != 1 && num ())
+    s += "/" + String (den ());
+  return s;
+}
+
+int
+sign (Rational r)
+{
+  return r.sign ();
+}
index f28e7699ed0a5718d70289f78ffa726f8a73e2e1..2b61b9089f0587fd81de04980cd53b52ce57e6e7 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  scalar.cc -- implement 
+  scalar.cc -- implement Scalar
 
   source file of the Flower Library
 
@@ -9,11 +9,11 @@
 #include <assert.h>
 #include <stdio.h>
 #include "scalar.hh"
+#include "rational.hh"
 
 Scalar::Scalar (Rational r)
-  :String (r)
 {
-
+  (*this) = r.str ();
 }
 
 Scalar::operator Rational ()
index 659bf769212913a715044ce70f9c506db5c0a31b..79fbe1829ea6a3d6d99e7bd4f3d114942e73bb98 100644 (file)
@@ -4,12 +4,13 @@
 
 --*/
 
-
+#include <stdio.h>
 #include <assert.h>
 #include <limits.h>
 #include "libc-extension.hh"
 #include "string.hh"
 #include "string-convert.hh"
+#include "rational.hh"
 
 /**
    a safe length for stringconversion buffers
@@ -240,18 +241,7 @@ String_convert::char_str (char c, int n)
 String
 String_convert::rational_str (Rational r)
 {
-  char * n = Itoa (r.numerator()); // LEAK????
-  
-  String s = n;
-  if (r.denominator() != 1) 
-    {
-      char * d = Itoa (r.denominator());
-      s +=  String ('/') + String (d);
-      //delete d;
-    }
-  /*    delete n;
-   */
-  return s;
+       return r.str ();
 }
 
 String
index 0e479de3e55bb37bc364c85c28d50a048cc0dc1e..65279ce0370549f4fef27267218f7bef051c067a 100644 (file)
@@ -54,12 +54,6 @@ String::operator = (String const&source)
   return *this;
 }
 
-
-String::String (Rational r)
-{
-  *this = String_convert::rational_str (r);
-}
-
 String::String (double f, char const* fmt)
 {
   *this= String_convert::double_str (f,fmt);
diff --git a/flower/test/rattest.cc b/flower/test/rattest.cc
new file mode 100644 (file)
index 0000000..d2de9b2
--- /dev/null
@@ -0,0 +1,39 @@
+#include <iostream.h>
+#include "rational.hh"
+#include "flower-test.hh"
+#include "string.hh"
+
+
+#define EXP_PRINT(a) #a << ": " << (a) << "\n"
+
+void
+rattest ()
+{
+  Rational r (1,4);
+  Rational q(1,2);
+  Rational s(6,4);
+  Rational i;
+  i.set_infinite (1);
+
+  cout << r << " " << s << " " << q << "\n";
+  cout << r + q << " " << (s * q + s) << " " << (q / r) << "\n";
+  cout << i;
+  cout << "inf * r" << i * r << "inf * inf " << i * i << "inf + r" << i + r;
+  cout << EXP_PRINT(-i);
+  cout << EXP_PRINT(i >? -i) << EXP_PRINT(i >? r);
+  cout << EXP_PRINT(i <? r) ;
+  Rational one(1);
+  cout << EXP_PRINT(one/4);
+  cout << EXP_PRINT(one + one/4);
+  Rational nul (0,1);
+  Rational kwart (1,4);
+  nul += kwart;
+  cout << EXP_PRINT(nul);
+  nul -= 2 * kwart;
+  cout << EXP_PRINT(nul);
+
+  cout << EXP_PRINT(Rational (1,128)  + Rational (1919,128));
+
+}
+
+ADD_TEST (rattest);
index 0a7c423ff5df740155c3a497997575b86a6768d4..12d4b4c111b679ee86c65b29e431a44aea3f854f 100644 (file)
@@ -97,7 +97,3 @@
 
 
 }
-
-
-
-keyCminor =  \key \bes \es \as;
index aee95db89eb470723351b67672088caa2a0ff16c..737a4ffe77a0130087b72d782d11f7e6fbde13c4 100644 (file)
@@ -17,5 +17,5 @@ sfz = \absdynamic { 10 }
 
 cr = \spandynamic { 1 1 } 
 decr = \spandynamic { -1 1 }
-rc = \spandynamic { 1 2 } % stop a crescendo (worrks for decrescendo too)
-
+rc = \spandynamic { 1 2 } % stop a crescendo
+rced = \spandynamic { 1 2 } % stop a decrescendo
index 6b8b41f49b4a1a07f07ed4e226d23c2739fade87..6ab87d1c812a756c3c982a1eed4022b253ceec80 100644 (file)
@@ -14,11 +14,22 @@ Staff = \translator {
          \consists "Staff_sym_engraver";
          \consists "Collision_engraver";
          \consists "Rest_collision_engraver";
-
          \consists "Line_group_engraver";
          \accepts "Voice";
 }
 
+Rhythmic_staff = \translator
+{
+         \type "Engraver_group_engraver";
+       nolines  = "1";
+         \consists "Pitch_squash_engraver";
+
+         \consists "Bar_engraver";
+         \consists "Meter_engraver";
+         \consists "Staff_sym_engraver";
+         \consists "Line_group_engraver";
+         \accepts "Voice";
+}
 Voice = \translator {
        \type "Engraver_group_engraver";
        \consists "Dynamic_engraver";
@@ -58,6 +69,7 @@ Staff_group = \translator {
        \consists "Vertical_align_engraver";
        \consists "Line_group_engraver";
        \accepts "Staff";
+       \accepts "Rhythmic_staff";
        \accepts "Grandstaff";
        \accepts "Lyrics";
 }
@@ -94,6 +106,7 @@ Score = \translator {
 
        \accepts "Staff_group";
        \accepts "Staff";
+       \accepts "Rhythmic_staff";      
        \accepts "Lyrics";
        \accepts "Grandstaff";
 }
index f874201e801ac312ec7d419370d7d7d73f64fedb..373d35af7341e1ebb13213f0ec7cdba48ad9b7fd 100644 (file)
@@ -4,38 +4,38 @@
 % input from out/feta11.log
 % name=\symboltables {
     "rests"     = \table {
-        "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 
+        "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 
-        "3"    "\\eighthrest"  -0.00\pt        3.67\pt 2.75\pt 7.81\pt 
-        "4"    "\\sixteenthrest"       -0.00\pt        4.27\pt -0.00\pt        7.81\pt 
-        "5"    "\\thirtysecondrest"    -0.00\pt        4.81\pt -0.00\pt        10.56\pt        
-        "6"    "\\sixtyfourthrest"     -0.00\pt        5.16\pt -0.00\pt        13.31\pt        
-        "7"    "\\hundredtwentyeighthrest"     -0.00\pt        5.75\pt -0.00\pt        16.06\pt        
+        "2"    "\\quartrest"   0.00\pt 2.97\pt 2.06\pt 9.90\pt 
+        "3"    "\\eighthrest"  0.00\pt 3.67\pt 2.75\pt 7.81\pt 
+        "4"    "\\sixteenthrest"       0.00\pt 4.27\pt 0.00\pt 7.81\pt 
+        "5"    "\\thirtysecondrest"    0.00\pt 4.81\pt 0.00\pt 10.56\pt        
+        "6"    "\\sixtyfourthrest"     0.00\pt 5.16\pt 0.00\pt 13.31\pt        
+        "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.12\pt        4.12\pt 
-        "0"    "\\natural"     -0.00\pt        1.83\pt -4.12\pt        4.12\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 
+        "2"    "\\sharpsharp"  0.00\pt 2.75\pt -1.38\pt        1.38\pt 
         }
     "dots"      = \table {
-        "dot"  "\\dot" -0.00\pt        1.24\pt -0.62\pt        0.62\pt 
-        "repeatcolon"  "\\repeatcolon" -0.00\pt        1.24\pt -1.38\pt        1.38\pt 
+        "dot"  "\\dot" 0.00\pt 1.24\pt -0.62\pt        0.62\pt 
+        "repeatcolon"  "\\repeatcolon" 0.00\pt 1.24\pt -1.38\pt        1.38\pt 
         }
     "balls"     = \table {
-        "-1"   "\\brevisball"  -0.00\pt        5.50\pt -1.51\pt        1.51\pt 
+        "-1"   "\\brevisball"  0.00\pt 5.50\pt -1.51\pt        1.51\pt 
         "-1l"  "\\brevisledger"        -1.38\pt        6.88\pt -0.28\pt        0.28\pt 
-        "-2"   "\\longaball"   -0.00\pt        5.50\pt -1.51\pt        1.51\pt 
+        "-2"   "\\longaball"   0.00\pt 5.50\pt -1.51\pt        1.51\pt 
         "-2l"  "\\longaledger" -1.38\pt        6.88\pt -0.28\pt        0.28\pt 
-        "0"    "\\wholeball"   -0.00\pt        5.45\pt -1.51\pt        1.51\pt 
+        "0"    "\\wholeball"   0.00\pt 5.45\pt -1.51\pt        1.51\pt 
         "0l"   "\\wholeledger" -1.36\pt        6.81\pt -0.28\pt        0.28\pt 
-        "1"    "\\halfball"    -0.00\pt        3.79\pt -1.51\pt        1.51\pt 
+        "1"    "\\halfball"    0.00\pt 3.79\pt -1.51\pt        1.51\pt 
         "1l"   "\\halfledger"  -0.95\pt        4.74\pt -0.28\pt        0.28\pt 
-        "2"    "\\quartball"   -0.00\pt        3.63\pt -1.51\pt        1.51\pt 
+        "2"    "\\quartball"   0.00\pt 3.63\pt -1.51\pt        1.51\pt 
         "2l"   "\\quartledger" -0.91\pt        4.54\pt -0.28\pt        0.28\pt 
         }
     "scripts"   = \table {
         "ustaccatissimo"       "\\ustaccatissimo"      -0.55\pt        0.55\pt -0.20\pt        2.75\pt 
         "dstaccatissimo"       "\\dstaccatissimo"      -0.55\pt        0.55\pt -2.75\pt        0.20\pt 
         "tenuto"       "\\tenuto"      -2.47\pt        2.47\pt -0.17\pt        0.17\pt 
-        "umarcato"     "\\umarcato"    -1.38\pt        1.38\pt -0.00\pt        3.03\pt 
+        "umarcato"     "\\umarcato"    -1.38\pt        1.38\pt 0.00\pt 3.03\pt 
         "dmarcato"     "\\dmarcato"    -1.38\pt        1.38\pt -3.03\pt        0.00\pt 
         "open" "\\ouvert"      -1.10\pt        1.10\pt -1.38\pt        1.38\pt 
         "stopped"      "\\plusstop"    -1.51\pt        1.51\pt -1.51\pt        1.51\pt 
-        "upbow"        "\\upbow"       -1.79\pt        1.79\pt -0.00\pt        5.72\pt 
-        "downbow"      "\\downbow"     -2.06\pt        2.06\pt -0.00\pt        3.67\pt 
+        "upbow"        "\\upbow"       -1.79\pt        1.79\pt 0.00\pt 5.72\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 
+        "trill"        "\\trill"       -2.75\pt        2.75\pt 0.00\pt 6.19\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 
+        "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 
         }
index 4be008a65751f87fd5934cfa95be99df4f46a6f7..1042f1b70e816313dcf5c902b0956ced0ca17af6 100644 (file)
@@ -4,38 +4,38 @@
 % input from out/feta13.log
 % name=\symboltables {
     "rests"     = \table {
-        "0"    "\\wholerest"   -0.00\pt        4.88\pt -2.03\pt        0.00\pt 
-        "1"    "\\halfrest"    -0.00\pt        4.88\pt -0.00\pt        2.03\pt 
+        "0"    "\\wholerest"   0.00\pt 4.88\pt -2.03\pt        0.00\pt 
+        "1"    "\\halfrest"    0.00\pt 4.88\pt 0.00\pt 2.03\pt 
         "0o"   "\\outsidewholerest"    -2.03\pt        6.91\pt -2.03\pt        0.33\pt 
         "1o"   "\\outsidehalfrest"     -2.03\pt        6.91\pt -0.33\pt        2.03\pt 
-        "2"    "\\quartrest"   -0.00\pt        3.51\pt 2.44\pt 11.70\pt        
-        "3"    "\\eighthrest"  -0.00\pt        4.33\pt 3.25\pt 9.24\pt 
-        "4"    "\\sixteenthrest"       -0.00\pt        5.04\pt -0.00\pt        9.24\pt 
-        "5"    "\\thirtysecondrest"    -0.00\pt        5.69\pt -0.00\pt        12.49\pt        
-        "6"    "\\sixtyfourthrest"     -0.00\pt        6.10\pt -0.00\pt        15.74\pt        
-        "7"    "\\hundredtwentyeighthrest"     -0.00\pt        6.79\pt -0.00\pt        18.99\pt        
+        "2"    "\\quartrest"   0.00\pt 3.51\pt 2.44\pt 11.70\pt        
+        "3"    "\\eighthrest"  0.00\pt 4.33\pt 3.25\pt 9.24\pt 
+        "4"    "\\sixteenthrest"       0.00\pt 5.04\pt 0.00\pt 9.24\pt 
+        "5"    "\\thirtysecondrest"    0.00\pt 5.69\pt 0.00\pt 12.49\pt        
+        "6"    "\\sixtyfourthrest"     0.00\pt 6.10\pt 0.00\pt 15.74\pt        
+        "7"    "\\hundredtwentyeighthrest"     0.00\pt 6.79\pt 0.00\pt 18.99\pt        
         }
     "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"    "\\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.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 
+        "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.62\pt        1.62\pt 
+        "dot"  "\\dot" 0.00\pt 1.46\pt -0.73\pt        0.73\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 
+        "-1"   "\\brevisball"  0.00\pt 6.50\pt -1.79\pt        1.79\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 
+        "-2"   "\\longaball"   0.00\pt 6.50\pt -1.79\pt        1.79\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 
+        "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 
+        "1"    "\\halfball"    0.00\pt 4.48\pt -1.79\pt        1.79\pt 
         "1l"   "\\halfledger"  -1.12\pt        5.60\pt -0.33\pt        0.33\pt 
-        "2"    "\\quartball"   -0.00\pt        4.29\pt -1.79\pt        1.79\pt 
+        "2"    "\\quartball"   0.00\pt 4.29\pt -1.79\pt        1.79\pt 
         "2l"   "\\quartledger" -1.07\pt        5.37\pt -0.33\pt        0.33\pt 
         }
     "scripts"   = \table {
         "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.62\pt        1.62\pt -0.00\pt        3.58\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 
+        "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 
+        "trill"        "\\trill"       -3.25\pt        3.25\pt 0.00\pt 7.31\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 
+        "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 
         }
index c8bcf1ee2d568a2920ababc6f349907642a84112..5017ebf420033731cbd3546044e1c1c56b3295d8 100644 (file)
@@ -4,38 +4,38 @@
 % input from out/feta16.log
 % name=\symboltables {
     "rests"     = \table {
-        "0"    "\\wholerest"   -0.00\pt        6.00\pt -2.50\pt        0.00\pt 
-        "1"    "\\halfrest"    -0.00\pt        6.00\pt -0.00\pt        2.50\pt 
+        "0"    "\\wholerest"   0.00\pt 6.00\pt -2.50\pt        0.00\pt 
+        "1"    "\\halfrest"    0.00\pt 6.00\pt 0.00\pt 2.50\pt 
         "0o"   "\\outsidewholerest"    -2.50\pt        8.50\pt -2.50\pt        0.40\pt 
         "1o"   "\\outsidehalfrest"     -2.50\pt        8.50\pt -0.40\pt        2.50\pt 
-        "2"    "\\quartrest"   -0.00\pt        4.32\pt 3.00\pt 14.40\pt        
-        "3"    "\\eighthrest"  -0.00\pt        5.33\pt 4.00\pt 11.37\pt        
-        "4"    "\\sixteenthrest"       -0.00\pt        6.21\pt -0.00\pt        11.37\pt        
-        "5"    "\\thirtysecondrest"    -0.00\pt        7.00\pt -0.00\pt        15.37\pt        
-        "6"    "\\sixtyfourthrest"     -0.00\pt        7.51\pt -0.00\pt        19.37\pt        
-        "7"    "\\hundredtwentyeighthrest"     -0.00\pt        8.36\pt -0.00\pt        23.37\pt        
+        "2"    "\\quartrest"   0.00\pt 4.32\pt 3.00\pt 14.40\pt        
+        "3"    "\\eighthrest"  0.00\pt 5.33\pt 4.00\pt 11.37\pt        
+        "4"    "\\sixteenthrest"       0.00\pt 6.21\pt 0.00\pt 11.37\pt        
+        "5"    "\\thirtysecondrest"    0.00\pt 7.00\pt 0.00\pt 15.37\pt        
+        "6"    "\\sixtyfourthrest"     0.00\pt 7.51\pt 0.00\pt 19.37\pt        
+        "7"    "\\hundredtwentyeighthrest"     0.00\pt 8.36\pt 0.00\pt 23.37\pt        
         }
     "accidentals"       = \table {
-        "1"    "\\sharp"       -0.00\pt        4.40\pt -6.00\pt        6.00\pt 
-        "0"    "\\natural"     -0.00\pt        2.67\pt -6.00\pt        6.00\pt 
+        "1"    "\\sharp"       0.00\pt 4.40\pt -6.00\pt        6.00\pt 
+        "0"    "\\natural"     0.00\pt 2.67\pt -6.00\pt        6.00\pt 
         "-1"   "\\flat"        -0.48\pt        3.20\pt -2.00\pt        8.00\pt 
         "-2"   "\\flatflat"    -0.48\pt        5.80\pt -2.00\pt        8.00\pt 
-        "2"    "\\sharpsharp"  -0.00\pt        4.00\pt -2.00\pt        2.00\pt 
+        "2"    "\\sharpsharp"  0.00\pt 4.00\pt -2.00\pt        2.00\pt 
         }
     "dots"      = \table {
-        "dot"  "\\dot" -0.00\pt        1.80\pt -0.90\pt        0.90\pt 
-        "repeatcolon"  "\\repeatcolon" -0.00\pt        1.80\pt -2.00\pt        2.00\pt 
+        "dot"  "\\dot" 0.00\pt 1.80\pt -0.90\pt        0.90\pt 
+        "repeatcolon"  "\\repeatcolon" 0.00\pt 1.80\pt -2.00\pt        2.00\pt 
         }
     "balls"     = \table {
-        "-1"   "\\brevisball"  -0.00\pt        8.00\pt -2.20\pt        2.20\pt 
+        "-1"   "\\brevisball"  0.00\pt 8.00\pt -2.20\pt        2.20\pt 
         "-1l"  "\\brevisledger"        -2.00\pt        10.00\pt        -0.40\pt        0.40\pt 
-        "-2"   "\\longaball"   -0.00\pt        8.00\pt -2.20\pt        2.20\pt 
+        "-2"   "\\longaball"   0.00\pt 8.00\pt -2.20\pt        2.20\pt 
         "-2l"  "\\longaledger" -2.00\pt        10.00\pt        -0.40\pt        0.40\pt 
-        "0"    "\\wholeball"   -0.00\pt        7.92\pt -2.20\pt        2.20\pt 
+        "0"    "\\wholeball"   0.00\pt 7.92\pt -2.20\pt        2.20\pt 
         "0l"   "\\wholeledger" -1.98\pt        9.90\pt -0.40\pt        0.40\pt 
-        "1"    "\\halfball"    -0.00\pt        5.51\pt -2.20\pt        2.20\pt 
+        "1"    "\\halfball"    0.00\pt 5.51\pt -2.20\pt        2.20\pt 
         "1l"   "\\halfledger"  -1.38\pt        6.89\pt -0.40\pt        0.40\pt 
-        "2"    "\\quartball"   -0.00\pt        5.28\pt -2.20\pt        2.20\pt 
+        "2"    "\\quartball"   0.00\pt 5.28\pt -2.20\pt        2.20\pt 
         "2l"   "\\quartledger" -1.32\pt        6.61\pt -0.40\pt        0.40\pt 
         }
     "scripts"   = \table {
         "ustaccatissimo"       "\\ustaccatissimo"      -0.80\pt        0.80\pt -0.20\pt        4.00\pt 
         "dstaccatissimo"       "\\dstaccatissimo"      -0.80\pt        0.80\pt -4.00\pt        0.20\pt 
         "tenuto"       "\\tenuto"      -3.60\pt        3.60\pt -0.24\pt        0.24\pt 
-        "umarcato"     "\\umarcato"    -2.00\pt        2.00\pt -0.00\pt        4.40\pt 
+        "umarcato"     "\\umarcato"    -2.00\pt        2.00\pt 0.00\pt 4.40\pt 
         "dmarcato"     "\\dmarcato"    -2.00\pt        2.00\pt -4.40\pt        0.00\pt 
         "open" "\\ouvert"      -1.60\pt        1.60\pt -2.00\pt        2.00\pt 
         "stopped"      "\\plusstop"    -2.20\pt        2.20\pt -2.20\pt        2.20\pt 
-        "upbow"        "\\upbow"       -2.60\pt        2.60\pt -0.00\pt        8.32\pt 
-        "downbow"      "\\downbow"     -3.00\pt        3.00\pt -0.00\pt        5.33\pt 
+        "upbow"        "\\upbow"       -2.60\pt        2.60\pt 0.00\pt 8.32\pt 
+        "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 
+        "trill"        "\\trill"       -4.00\pt        4.00\pt 0.00\pt 9.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 
+        "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 
         }
index 146a35974e3f11a936378b4eaa2866f7ea8b0c2e..79a0dcd0e1658d75b4ccc8b1802f9469aba9e6b6 100644 (file)
@@ -4,38 +4,38 @@
 % input from out/feta19.log
 % name=\symboltables {
     "rests"     = \table {
-        "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 
+        "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        
-        "3"    "\\eighthrest"  -0.00\pt        6.33\pt 4.75\pt 13.50\pt        
-        "4"    "\\sixteenthrest"       -0.00\pt        7.37\pt -0.00\pt        13.50\pt        
-        "5"    "\\thirtysecondrest"    -0.00\pt        8.32\pt -0.00\pt        18.25\pt        
-        "6"    "\\sixtyfourthrest"     -0.00\pt        8.92\pt -0.00\pt        23.00\pt        
-        "7"    "\\hundredtwentyeighthrest"     -0.00\pt        9.93\pt -0.00\pt        27.75\pt        
+        "2"    "\\quartrest"   0.00\pt 5.13\pt 3.56\pt 17.10\pt        
+        "3"    "\\eighthrest"  0.00\pt 6.33\pt 4.75\pt 13.50\pt        
+        "4"    "\\sixteenthrest"       0.00\pt 7.37\pt 0.00\pt 13.50\pt        
+        "5"    "\\thirtysecondrest"    0.00\pt 8.32\pt 0.00\pt 18.25\pt        
+        "6"    "\\sixtyfourthrest"     0.00\pt 8.92\pt 0.00\pt 23.00\pt        
+        "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.12\pt        7.12\pt 
-        "0"    "\\natural"     -0.00\pt        3.17\pt -7.12\pt        7.12\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 
+        "2"    "\\sharpsharp"  0.00\pt 4.75\pt -2.38\pt        2.38\pt 
         }
     "dots"      = \table {
-        "dot"  "\\dot" -0.00\pt        2.14\pt -1.07\pt        1.07\pt 
-        "repeatcolon"  "\\repeatcolon" -0.00\pt        2.14\pt -2.38\pt        2.38\pt 
+        "dot"  "\\dot" 0.00\pt 2.14\pt -1.07\pt        1.07\pt 
+        "repeatcolon"  "\\repeatcolon" 0.00\pt 2.14\pt -2.38\pt        2.38\pt 
         }
     "balls"     = \table {
-        "-1"   "\\brevisball"  -0.00\pt        9.50\pt -2.61\pt        2.61\pt 
+        "-1"   "\\brevisball"  0.00\pt 9.50\pt -2.61\pt        2.61\pt 
         "-1l"  "\\brevisledger"        -2.38\pt        11.88\pt        -0.48\pt        0.48\pt 
-        "-2"   "\\longaball"   -0.00\pt        9.50\pt -2.61\pt        2.61\pt 
+        "-2"   "\\longaball"   0.00\pt 9.50\pt -2.61\pt        2.61\pt 
         "-2l"  "\\longaledger" -2.38\pt        11.88\pt        -0.48\pt        0.48\pt 
-        "0"    "\\wholeball"   -0.00\pt        9.41\pt -2.61\pt        2.61\pt 
+        "0"    "\\wholeball"   0.00\pt 9.41\pt -2.61\pt        2.61\pt 
         "0l"   "\\wholeledger" -2.35\pt        11.76\pt        -0.48\pt        0.48\pt 
-        "1"    "\\halfball"    -0.00\pt        6.54\pt -2.61\pt        2.61\pt 
+        "1"    "\\halfball"    0.00\pt 6.54\pt -2.61\pt        2.61\pt 
         "1l"   "\\halfledger"  -1.64\pt        8.18\pt -0.48\pt        0.48\pt 
-        "2"    "\\quartball"   -0.00\pt        6.27\pt -2.61\pt        2.61\pt 
+        "2"    "\\quartball"   0.00\pt 6.27\pt -2.61\pt        2.61\pt 
         "2l"   "\\quartledger" -1.57\pt        7.84\pt -0.48\pt        0.48\pt 
         }
     "scripts"   = \table {
         "ustaccatissimo"       "\\ustaccatissimo"      -0.95\pt        0.95\pt -0.20\pt        4.75\pt 
         "dstaccatissimo"       "\\dstaccatissimo"      -0.95\pt        0.95\pt -4.75\pt        0.20\pt 
         "tenuto"       "\\tenuto"      -4.27\pt        4.27\pt -0.29\pt        0.29\pt 
-        "umarcato"     "\\umarcato"    -2.38\pt        2.38\pt -0.00\pt        5.23\pt 
+        "umarcato"     "\\umarcato"    -2.38\pt        2.38\pt 0.00\pt 5.23\pt 
         "dmarcato"     "\\dmarcato"    -2.38\pt        2.38\pt -5.23\pt        0.00\pt 
         "open" "\\ouvert"      -1.90\pt        1.90\pt -2.38\pt        2.38\pt 
         "stopped"      "\\plusstop"    -2.61\pt        2.61\pt -2.61\pt        2.61\pt 
-        "upbow"        "\\upbow"       -3.09\pt        3.09\pt -0.00\pt        9.88\pt 
-        "downbow"      "\\downbow"     -3.56\pt        3.56\pt -0.00\pt        6.33\pt 
+        "upbow"        "\\upbow"       -3.09\pt        3.09\pt 0.00\pt 9.88\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        
+        "trill"        "\\trill"       -4.75\pt        4.75\pt 0.00\pt 10.69\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 
+        "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 
         }
index 13488ac1cac5cf33498a7a6acb4af6b5530db87b..4651cf1f0bf04e6c23f0310318b3ceec6df9c1a4 100644 (file)
@@ -4,38 +4,38 @@
 % input from out/feta20.log
 % name=\symboltables {
     "rests"     = \table {
-        "0"    "\\wholerest"   -0.00\pt        7.50\pt -3.12\pt        0.00\pt 
-        "1"    "\\halfrest"    -0.00\pt        7.50\pt -0.00\pt        3.12\pt 
+        "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        
-        "5"    "\\thirtysecondrest"    -0.00\pt        8.75\pt -0.00\pt        19.21\pt        
-        "6"    "\\sixtyfourthrest"     -0.00\pt        9.38\pt -0.00\pt        24.21\pt        
-        "7"    "\\hundredtwentyeighthrest"     -0.00\pt        10.45\pt        -0.00\pt        29.21\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        
+        "5"    "\\thirtysecondrest"    0.00\pt 8.75\pt 0.00\pt 19.21\pt        
+        "6"    "\\sixtyfourthrest"     0.00\pt 9.38\pt 0.00\pt 24.21\pt        
+        "7"    "\\hundredtwentyeighthrest"     0.00\pt 10.45\pt        0.00\pt 29.21\pt        
         }
     "accidentals"       = \table {
-        "1"    "\\sharp"       -0.00\pt        5.50\pt -7.50\pt        7.50\pt 
-        "0"    "\\natural"     -0.00\pt        3.33\pt -7.50\pt        7.50\pt 
+        "1"    "\\sharp"       0.00\pt 5.50\pt -7.50\pt        7.50\pt 
+        "0"    "\\natural"     0.00\pt 3.33\pt -7.50\pt        7.50\pt 
         "-1"   "\\flat"        -0.60\pt        4.00\pt -2.50\pt        10.00\pt        
         "-2"   "\\flatflat"    -0.60\pt        7.25\pt -2.50\pt        10.00\pt        
-        "2"    "\\sharpsharp"  -0.00\pt        5.00\pt -2.50\pt        2.50\pt 
+        "2"    "\\sharpsharp"  0.00\pt 5.00\pt -2.50\pt        2.50\pt 
         }
     "dots"      = \table {
-        "dot"  "\\dot" -0.00\pt        2.25\pt -1.12\pt        1.12\pt 
-        "repeatcolon"  "\\repeatcolon" -0.00\pt        2.25\pt -2.50\pt        2.50\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 {
-        "-1"   "\\brevisball"  -0.00\pt        10.00\pt        -2.75\pt        2.75\pt 
+        "-1"   "\\brevisball"  0.00\pt 10.00\pt        -2.75\pt        2.75\pt 
         "-1l"  "\\brevisledger"        -2.50\pt        12.50\pt        -0.50\pt        0.50\pt 
-        "-2"   "\\longaball"   -0.00\pt        10.00\pt        -2.75\pt        2.75\pt 
+        "-2"   "\\longaball"   0.00\pt 10.00\pt        -2.75\pt        2.75\pt 
         "-2l"  "\\longaledger" -2.50\pt        12.50\pt        -0.50\pt        0.50\pt 
-        "0"    "\\wholeball"   -0.00\pt        9.90\pt -2.75\pt        2.75\pt 
+        "0"    "\\wholeball"   0.00\pt 9.90\pt -2.75\pt        2.75\pt 
         "0l"   "\\wholeledger" -2.48\pt        12.38\pt        -0.50\pt        0.50\pt 
-        "1"    "\\halfball"    -0.00\pt        6.89\pt -2.75\pt        2.75\pt 
+        "1"    "\\halfball"    0.00\pt 6.89\pt -2.75\pt        2.75\pt 
         "1l"   "\\halfledger"  -1.72\pt        8.61\pt -0.50\pt        0.50\pt 
-        "2"    "\\quartball"   -0.00\pt        6.61\pt -2.75\pt        2.75\pt 
+        "2"    "\\quartball"   0.00\pt 6.61\pt -2.75\pt        2.75\pt 
         "2l"   "\\quartledger" -1.65\pt        8.26\pt -0.50\pt        0.50\pt 
         }
     "scripts"   = \table {
         "ustaccatissimo"       "\\ustaccatissimo"      -1.00\pt        1.00\pt -0.20\pt        5.00\pt 
         "dstaccatissimo"       "\\dstaccatissimo"      -1.00\pt        1.00\pt -5.00\pt        0.20\pt 
         "tenuto"       "\\tenuto"      -4.50\pt        4.50\pt -0.30\pt        0.30\pt 
-        "umarcato"     "\\umarcato"    -2.50\pt        2.50\pt -0.00\pt        5.50\pt 
+        "umarcato"     "\\umarcato"    -2.50\pt        2.50\pt 0.00\pt 5.50\pt 
         "dmarcato"     "\\dmarcato"    -2.50\pt        2.50\pt -5.50\pt        0.00\pt 
         "open" "\\ouvert"      -2.00\pt        2.00\pt -2.50\pt        2.50\pt 
         "stopped"      "\\plusstop"    -2.75\pt        2.75\pt -2.75\pt        2.75\pt 
-        "upbow"        "\\upbow"       -3.25\pt        3.25\pt -0.00\pt        10.40\pt        
-        "downbow"      "\\downbow"     -3.75\pt        3.75\pt -0.00\pt        6.67\pt 
+        "upbow"        "\\upbow"       -3.25\pt        3.25\pt 0.00\pt 10.40\pt        
+        "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        
+        "trill"        "\\trill"       -5.00\pt        5.00\pt 0.00\pt 11.25\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 
+        "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 
         }
index e1ad925c23e863d994fa6e91c214cb19589d9b06..a1800ec4693d64fbc89944ea5a0da90eea3d113f 100644 (file)
@@ -4,38 +4,38 @@
 % input from out/feta23.log
 % name=\symboltables {
     "rests"     = \table {
-        "0"    "\\wholerest"   -0.00\pt        8.44\pt -3.52\pt        0.00\pt 
-        "1"    "\\halfrest"    -0.00\pt        8.44\pt -0.00\pt        3.52\pt 
+        "0"    "\\wholerest"   0.00\pt 8.44\pt -3.52\pt        0.00\pt 
+        "1"    "\\halfrest"    0.00\pt 8.44\pt 0.00\pt 3.52\pt 
         "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.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        
-        "7"    "\\hundredtwentyeighthrest"     -0.00\pt        11.75\pt        -0.00\pt        32.86\pt        
+        "2"    "\\quartrest"   0.00\pt 6.08\pt 4.22\pt 20.25\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        
+        "7"    "\\hundredtwentyeighthrest"     0.00\pt 11.75\pt        0.00\pt 32.86\pt        
         }
     "accidentals"       = \table {
-        "1"    "\\sharp"       -0.00\pt        6.19\pt -8.44\pt        8.44\pt 
-        "0"    "\\natural"     -0.00\pt        3.75\pt -8.44\pt        8.44\pt 
+        "1"    "\\sharp"       0.00\pt 6.19\pt -8.44\pt        8.44\pt 
+        "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.62\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 
-        "repeatcolon"  "\\repeatcolon" -0.00\pt        2.53\pt -2.81\pt        2.81\pt 
+        "dot"  "\\dot" 0.00\pt 2.53\pt -1.27\pt        1.27\pt 
+        "repeatcolon"  "\\repeatcolon" 0.00\pt 2.53\pt -2.81\pt        2.81\pt 
         }
     "balls"     = \table {
-        "-1"   "\\brevisball"  -0.00\pt        11.25\pt        -3.09\pt        3.09\pt 
+        "-1"   "\\brevisball"  0.00\pt 11.25\pt        -3.09\pt        3.09\pt 
         "-1l"  "\\brevisledger"        -2.81\pt        14.06\pt        -0.56\pt        0.56\pt 
-        "-2"   "\\longaball"   -0.00\pt        11.25\pt        -3.09\pt        3.09\pt 
+        "-2"   "\\longaball"   0.00\pt 11.25\pt        -3.09\pt        3.09\pt 
         "-2l"  "\\longaledger" -2.81\pt        14.06\pt        -0.56\pt        0.56\pt 
-        "0"    "\\wholeball"   -0.00\pt        11.14\pt        -3.09\pt        3.09\pt 
+        "0"    "\\wholeball"   0.00\pt 11.14\pt        -3.09\pt        3.09\pt 
         "0l"   "\\wholeledger" -2.78\pt        13.92\pt        -0.56\pt        0.56\pt 
-        "1"    "\\halfball"    -0.00\pt        7.75\pt -3.09\pt        3.09\pt 
+        "1"    "\\halfball"    0.00\pt 7.75\pt -3.09\pt        3.09\pt 
         "1l"   "\\halfledger"  -1.94\pt        9.69\pt -0.56\pt        0.56\pt 
-        "2"    "\\quartball"   -0.00\pt        7.43\pt -3.09\pt        3.09\pt 
+        "2"    "\\quartball"   0.00\pt 7.43\pt -3.09\pt        3.09\pt 
         "2l"   "\\quartledger" -1.86\pt        9.29\pt -0.56\pt        0.56\pt 
         }
     "scripts"   = \table {
         "ustaccatissimo"       "\\ustaccatissimo"      -1.13\pt        1.13\pt -0.20\pt        5.63\pt 
         "dstaccatissimo"       "\\dstaccatissimo"      -1.13\pt        1.13\pt -5.63\pt        0.20\pt 
         "tenuto"       "\\tenuto"      -5.06\pt        5.06\pt -0.34\pt        0.34\pt 
-        "umarcato"     "\\umarcato"    -2.81\pt        2.81\pt -0.00\pt        6.19\pt 
+        "umarcato"     "\\umarcato"    -2.81\pt        2.81\pt 0.00\pt 6.19\pt 
         "dmarcato"     "\\dmarcato"    -2.81\pt        2.81\pt -6.19\pt        0.00\pt 
         "open" "\\ouvert"      -2.25\pt        2.25\pt -2.81\pt        2.81\pt 
         "stopped"      "\\plusstop"    -3.09\pt        3.09\pt -3.09\pt        3.09\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 
+        "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.62\pt        5.62\pt -0.00\pt        12.66\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 
+        "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 
         }
index eeafb7884800da4617ca4a139c05fad75654bb02..024c623b31ca41a042991b22c7d31ba820f85e46 100644 (file)
@@ -4,38 +4,38 @@
 % input from out/feta26.log
 % name=\symboltables {
     "rests"     = \table {
-        "0"    "\\wholerest"   -0.00\pt        9.75\pt -4.06\pt        0.00\pt 
-        "1"    "\\halfrest"    -0.00\pt        9.75\pt -0.00\pt        4.06\pt 
+        "0"    "\\wholerest"   0.00\pt 9.75\pt -4.06\pt        0.00\pt 
+        "1"    "\\halfrest"    0.00\pt 9.75\pt 0.00\pt 4.06\pt 
         "0o"   "\\outsidewholerest"    -4.06\pt        13.81\pt        -4.06\pt        0.65\pt 
         "1o"   "\\outsidehalfrest"     -4.06\pt        13.81\pt        -0.65\pt        4.06\pt 
-        "2"    "\\quartrest"   -0.00\pt        7.02\pt 4.88\pt 23.40\pt        
-        "3"    "\\eighthrest"  -0.00\pt        8.67\pt 6.50\pt 18.47\pt        
-        "4"    "\\sixteenthrest"       -0.00\pt        10.08\pt        -0.00\pt        18.47\pt        
-        "5"    "\\thirtysecondrest"    -0.00\pt        11.38\pt        -0.00\pt        24.97\pt        
-        "6"    "\\sixtyfourthrest"     -0.00\pt        12.20\pt        -0.00\pt        31.47\pt        
-        "7"    "\\hundredtwentyeighthrest"     -0.00\pt        13.58\pt        -0.00\pt        37.97\pt        
+        "2"    "\\quartrest"   0.00\pt 7.02\pt 4.88\pt 23.40\pt        
+        "3"    "\\eighthrest"  0.00\pt 8.67\pt 6.50\pt 18.47\pt        
+        "4"    "\\sixteenthrest"       0.00\pt 10.08\pt        0.00\pt 18.47\pt        
+        "5"    "\\thirtysecondrest"    0.00\pt 11.38\pt        0.00\pt 24.97\pt        
+        "6"    "\\sixtyfourthrest"     0.00\pt 12.20\pt        0.00\pt 31.47\pt        
+        "7"    "\\hundredtwentyeighthrest"     0.00\pt 13.58\pt        0.00\pt 37.97\pt        
         }
     "accidentals"       = \table {
-        "1"    "\\sharp"       -0.00\pt        7.15\pt -9.75\pt        9.75\pt 
-        "0"    "\\natural"     -0.00\pt        4.33\pt -9.75\pt        9.75\pt 
+        "1"    "\\sharp"       0.00\pt 7.15\pt -9.75\pt        9.75\pt 
+        "0"    "\\natural"     0.00\pt 4.33\pt -9.75\pt        9.75\pt 
         "-1"   "\\flat"        -0.78\pt        5.20\pt -3.25\pt        13.00\pt        
         "-2"   "\\flatflat"    -0.78\pt        9.42\pt -3.25\pt        13.00\pt        
-        "2"    "\\sharpsharp"  -0.00\pt        6.50\pt -3.25\pt        3.25\pt 
+        "2"    "\\sharpsharp"  0.00\pt 6.50\pt -3.25\pt        3.25\pt 
         }
     "dots"      = \table {
-        "dot"  "\\dot" -0.00\pt        2.92\pt -1.46\pt        1.46\pt 
-        "repeatcolon"  "\\repeatcolon" -0.00\pt        2.92\pt -3.25\pt        3.25\pt 
+        "dot"  "\\dot" 0.00\pt 2.92\pt -1.46\pt        1.46\pt 
+        "repeatcolon"  "\\repeatcolon" 0.00\pt 2.92\pt -3.25\pt        3.25\pt 
         }
     "balls"     = \table {
-        "-1"   "\\brevisball"  -0.00\pt        13.00\pt        -3.58\pt        3.58\pt 
+        "-1"   "\\brevisball"  0.00\pt 13.00\pt        -3.58\pt        3.58\pt 
         "-1l"  "\\brevisledger"        -3.25\pt        16.25\pt        -0.65\pt        0.65\pt 
-        "-2"   "\\longaball"   -0.00\pt        13.00\pt        -3.58\pt        3.58\pt 
+        "-2"   "\\longaball"   0.00\pt 13.00\pt        -3.58\pt        3.58\pt 
         "-2l"  "\\longaledger" -3.25\pt        16.25\pt        -0.65\pt        0.65\pt 
-        "0"    "\\wholeball"   -0.00\pt        12.87\pt        -3.58\pt        3.58\pt 
+        "0"    "\\wholeball"   0.00\pt 12.87\pt        -3.58\pt        3.58\pt 
         "0l"   "\\wholeledger" -3.22\pt        16.09\pt        -0.65\pt        0.65\pt 
-        "1"    "\\halfball"    -0.00\pt        8.95\pt -3.58\pt        3.58\pt 
+        "1"    "\\halfball"    0.00\pt 8.95\pt -3.58\pt        3.58\pt 
         "1l"   "\\halfledger"  -2.24\pt        11.19\pt        -0.65\pt        0.65\pt 
-        "2"    "\\quartball"   -0.00\pt        8.59\pt -3.58\pt        3.58\pt 
+        "2"    "\\quartball"   0.00\pt 8.59\pt -3.58\pt        3.58\pt 
         "2l"   "\\quartledger" -2.15\pt        10.73\pt        -0.65\pt        0.65\pt 
         }
     "scripts"   = \table {
         "ustaccatissimo"       "\\ustaccatissimo"      -1.30\pt        1.30\pt -0.20\pt        6.50\pt 
         "dstaccatissimo"       "\\dstaccatissimo"      -1.30\pt        1.30\pt -6.50\pt        0.20\pt 
         "tenuto"       "\\tenuto"      -5.85\pt        5.85\pt -0.39\pt        0.39\pt 
-        "umarcato"     "\\umarcato"    -3.25\pt        3.25\pt -0.00\pt        7.15\pt 
+        "umarcato"     "\\umarcato"    -3.25\pt        3.25\pt 0.00\pt 7.15\pt 
         "dmarcato"     "\\dmarcato"    -3.25\pt        3.25\pt -7.15\pt        0.00\pt 
         "open" "\\ouvert"      -2.60\pt        2.60\pt -3.25\pt        3.25\pt 
         "stopped"      "\\plusstop"    -3.58\pt        3.58\pt -3.58\pt        3.58\pt 
-        "upbow"        "\\upbow"       -4.23\pt        4.23\pt -0.00\pt        13.52\pt        
-        "downbow"      "\\downbow"     -4.88\pt        4.88\pt -0.00\pt        8.67\pt 
+        "upbow"        "\\upbow"       -4.23\pt        4.23\pt 0.00\pt 13.52\pt        
+        "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        
+        "trill"        "\\trill"       -6.50\pt        6.50\pt 0.00\pt 14.62\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 
+        "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 
         }
index 2d943fd72032f7e7c1990504db600182d5534e4a..ce5bc83169bcdbe8256714afbb4817768b8f748d 100644 (file)
@@ -26,7 +26,7 @@ paper_eleven = \paper {
        % interbeam = interline - (beam_thickness + staffline_thickness) / 2
        % interbeam = 3.6;
        % ugh: interline *in fact* is rule_thickness + "interline"?
-       interbeam = 3.9;
+       interbeam = 3.0\pt;
 
        gourlay_energybound = 100000.;
        gourlay_maxmeasures = 12.;
index 892953eb0c91937118dea5c5a8882d738a481474..0ed8c70eeaf939e5d03e5a8a1447c5aca98fa307 100644 (file)
@@ -26,7 +26,7 @@ paper_thirteen = \paper {
        % interbeam = interline - (beam_thickness + staffline_thickness) / 2
        % interbeam = 3.6;
        % ugh: interline *in fact* is rule_thickness + "interline"?
-       interbeam = 3.9;
+       interbeam = 3.5\pt;
 
        gourlay_energybound = 100000.;
        gourlay_maxmeasures = 12.;
index 8abf148a52e1841300e35b6ba8b89f12eacce469..091048ee8a21350a6b257cc489d0071d4e9dc8f3 100644 (file)
@@ -28,14 +28,15 @@ paper_sixteen = \paper {
         arithmetic_multiplier = 4.8\pt;
    
        % three beams span two interlines, including stafflines:
-       % 2 interbeam + beam_thickness = 2 interline - staffline_thickness
-       % ( 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"? --jcn
-
-       % No --hwn
-       interbeam = 3.14;
+       % 2ib + bt = 2 il - st
+       % bt = 0.48(il - st) for now.
+       % 2ib + 0.48il - 0.48 st = 2il - st
+       % 2ib = 1.52il - 0.52 st
+       % ib = 0.76il - 0.26st = 2.94 --jcn
+       % now, it seams rather ib = 0.76il + 0.26st = 3.14
+       % interbeam = 2.94\pt;
+       % No -- hwn
+       interbeam = 3.14\pt;
 
        gourlay_energybound = 100000.;
        gourlay_maxmeasures = 14.;
index d9302be296e6a37844de153ddb850d549ec35ccb..2804010f1e8b688753203f97da2ec8d87e8431cc 100644 (file)
@@ -19,14 +19,15 @@ paper_twenty = \paper {
        arithmetic_basicspace = 2.;
         arithmetic_multiplier = 6.\pt;
        
-       %
        % three beams span two interlines, including stafflines:
-       % 2 interbeam + beam_thickness = 2 interline - staffline_thickness
-       % ( beam_thickness = 0.48 interline for now...)
-       % interbeam = interline - (beam_thickness + staffline_thickness) / 2
-       % interbeam = 3.6;
-       % ugh: interline *in fact* is rule_thickness + "interline"?
-       interbeam = 3.9;
+       % 2ib + bt = 2 il - st
+       % bt = 0.48(il - st) for now.
+       % 2ib + 0.48il - 0.48 st = 2il - st
+       % 2ib = 1.52il - 0.52 st
+       % ib = 0.76il - 0.26st = 3.70
+       % now, it seams rather ib = 0.76il + 0.26st = 3.90
+       % interbeam = 3.70\pt;
+       interbeam = 3.90\pt;
 
        gourlay_energybound = 100000.;
        gourlay_maxmeasures = 12.;
index b092ccded2aee96da55e31e7322d15e4b1710d91..f7ba97952ffa32c5e56405a9d46f578ec844ea45 100644 (file)
@@ -4,7 +4,7 @@
 
 paper_twentysix = \paper {
        linewidth = 15.0 \cm;
-       indent = 12.0\mm
+       indent = 12.0\mm;
        rulethickness = 0.5\pt;
        barsize = 26.0 \pt;
        interline = 6.5\pt;
@@ -19,14 +19,15 @@ paper_twentysix = \paper {
        arithmetic_basicspace = 2.;
         arithmetic_multiplier = 7.\pt;
        
-       %
        % three beams span two interlines, including stafflines:
-       % 2 interbeam + beam_thickness = 2 interline - staffline_thickness
-       % ( beam_thickness = 0.48 interline for now...)
-       % interbeam = interline - (beam_thickness + staffline_thickness) / 2
-       % interbeam = 3.6;
-       % ugh: interline *in fact* is rule_thickness + "interline"?
-       interbeam = 3.9;
+       % 2ib + bt = 2 il - st
+       % bt = 0.48(il - st) for now.
+       % 2ib + 0.48il - 0.48 st = 2il - st
+       % 2ib = 1.52il - 0.52 st
+       % ib = 0.76il - 0.26st = 4.81
+       % interbeam = 4.81\pt;
+       % now, it seams rather ib = 0.76il + 0.26st = 5.07
+       interbeam = 5.07\pt;
 
        gourlay_energybound = 100000.;
        gourlay_maxmeasures = 12.;
index 372567863cb05a1fe35b19a76357c967c1eb39b8..587db1d47f950ec78dd99e5073a2e63bce14f863 100644 (file)
@@ -63,6 +63,37 @@ stemdown = {
        \property Voice.ydirection = \down
 }
 
+onevoice = {   
+       \property Voice.ydirection = \center
+       \property Voice.hshift = 0
+}
+
+voiceone = {   
+       \type Voice = one 
+       \skip 1*0;
+       \property Voice.ydirection = \up
+}
+
+voicetwo = {   
+       \type Voice = two
+       \skip 1*0;
+       \property Voice.ydirection = \down
+}
+
+voicethree = {         
+       \type Voice = three
+       \skip 1*0;
+       \property Voice.ydirection = \up
+       \property Voice.hshift = 1
+}
+
+voicefour = {  
+       \type Voice = four
+       \skip 1*0;
+       \property Voice.ydirection = \down
+       \property Voice.hshift = 1
+}
+
 % ugh, cluttering global namespace...
 none=0
 free=0
diff --git a/input/beam-bug.ly b/input/beam-bug.ly
new file mode 100644 (file)
index 0000000..75a8669
--- /dev/null
@@ -0,0 +1,35 @@
+% silly file to test beam stem lengths
+% compare to *ugly* bug in preludes-1: [e'16 c'' g' f']
+% here it's okee ??
+
+one = \melodic{
+       \octave c';
+       [e'8 c'' g' f']
+       \octave c'';
+  [e16-1\f c'-5( g-3 f-2] % [e-1 c'-5 g-3 e-2] 
+       \octave c';
+%            [e'16 c'' g' f']
+       [e'32 c'' g' f']
+       [c32 c] ['b 'b]
+       [c8 c]
+       [e8 g b]
+       [e16 g b] c c c
+       [e32 g b] c
+       [c c c c]
+       c4 c4
+       \onevoice;
+       [e'8 c'' g' f']
+       [e'16 c'' g' f']
+       [e'32 c'' g' f']
+       [c32 c] ['b 'b]
+       [c8 c]
+       [e8 g b]
+       [e16 g b] c
+       [e32 g b] c
+       [c c c c]
+       c4
+}
+
+\score{
+       \one
+}
index 23c66d0c1e490a0792c690e7fff5faa8ea18f9d9..4e705aec23cbc24122cdc92fc8a287acc04ea4b2 100644 (file)
@@ -7,7 +7,7 @@
                 "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";
+  enteredby =   "JCN";
   copyright =   "public domain";
 }
 
    * organ staff...
 %}
 
-
 \version "0.1.9";
 
+noShift = { \property Voice.hshift = 0 }
+Shift = { \property Voice.hshift = 1 }
+
+
 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';
@@ -38,16 +38,13 @@ praeludium_right = \melodic {
   % 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] |
+      \Shift 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 ~ |
+    { \stemup \Shift r4 bis4 cis'4 \noShift cis'4 |
+      a'4 ~ [a'16 gis'16 a'16 b'16] \Shift 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 |
+    { \stemup \Shift s4 gis4 }
+    { \stemdown \Shift r4 fis4 \noShift gis4 gis4 |
       a4. cis'8 gis2 |
       fis4 gis4 gis4 r8 e8 }
   > |
@@ -65,11 +62,10 @@ praeludium_left = \melodic {
       [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 |
+    { \stemup \Shift 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}
+    { \stemup \Shift s4 fis4 e}
     { \stemdown s4 dis4 cis4 }
   > |
   % 16
@@ -112,9 +108,9 @@ fuga2_right = \melodic {
       |
    %}
    \multi 2 <
-     { \stemup \noshift e'4 }
-     { \stemup \doshift cis'4 }
-     { \stemup \property Voice.hshift = 2 ais4 }
+     { \stemup \noShift e'4 }
+     { \stemup \Shift cis'4 }
+     { \stemup \Shift ais4 }
      { \stemdown fis4 }
    > |
   % 16
@@ -122,7 +118,7 @@ fuga2_right = \melodic {
     { \stemup dis'2 dis'4 |
       cis'2 cis'4 |
       b4. [cis'8 dis'8 e'8] }
-    { \stemup \doshift [b8 fis8] b2 ~ |
+    { \stemup \Shift [b8 fis8] b2 ~ |
       [b8 a!16 gis16] a2 ~ |
       a4 gis2 }
     { \stemdown fis2. ~ |
index 5b5289306ac1a32a5dd0dec0a431dfb26d9e6436..b67041034210cd7c1d1e398a2e03c0996f3a2f16 100644 (file)
@@ -52,7 +52,9 @@ yanother =
        \type Staff_group <
                \ritme
                \another
-               \yanother
+               \type Rhythmic_staff {
+                       \yanother
+               }
        >
        
        \paper{
@@ -77,6 +79,19 @@ yanother =
        \accepts "Grandstaff";
 }
 
+Rhythmic_staff = \translator
+{
+         \type "Engraver_group_engraver";
+       nolines  = "1";
+         \consists "Pitch_squash_engraver";
+
+         \consists "Bar_engraver";
+         \consists "Meter_engraver";
+         \consists "Staff_sym_engraver";
+         \consists "Line_group_engraver";
+         \consists "Timing_engraver";
+         \accepts "Voice";
+}
        %% add Timing_engraver to the staff
        Staff = \translator {
          \type "Engraver_group_engraver";
index 49db74195d657882323897161c6e735421cacecb..5947216cd5d673ac6fcedd83a903258b7839d54b 100644 (file)
@@ -114,8 +114,8 @@ Duration_convert::mom2_dur (Moment mom)
   //   Moment as_plet_mom = mom / dur.mom ();
   Moment as_plet_mom = mom / dur.length ();
   as_plet_mom *= dur.plet_.mom ();
-  long num = as_plet_mom.numerator ().as_long ();
-  long den = as_plet_mom.denominator ().as_long ();
+  long num = as_plet_mom.num ();
+  long den = as_plet_mom.den ();
   dur.set_plet (num, den);
   return dur;
 }
index f9d234d71f356f7139ab329f6e0ed51a74a4bab2..58e8a7ec963dc34cec4e3783ab99c828dbd53ae6 100644 (file)
@@ -18,7 +18,7 @@
 
   Can't we name this Saint_jut_mom (Sintjuttemis ?)  */
   
-const infinity_mom = Rational (INT_MAX);
+const infinity_mom = INT_MAX;
 
 class String;
 typedef Rational Moment;
index d521b233d332f22901af89d5cd49713af1064bc7..ef1fa46defbb1b1b3d254ea3e4dec0ff22cc23c4 100644 (file)
 #include "string.hh"
 #include "moment.hh"
 
-void
-printm (Moment const &m)
-{
-    cout << String (m) << flush;
-}
-    
-
index be43876df37bd7eb11c9ba0e77df5714bb5f267f..936d4c31a73fc0df74e31c42933b0928d3b453e8 100644 (file)
@@ -38,7 +38,7 @@ EXTRA_DISTFILES = VERSION
 # list of custom libraries:
 #
 MODULE_LIBDEPS= check-flower-deps check-lib-deps 
-MODULE_LIBES= -llily -lflower  -lmcheck
+MODULE_LIBES= -llily -lflower
 
 #
 
index 9da9e31cad325fe91dca3b25db10fb4f9e59d9db..85dfb9605461129a2c0c36b431ef64222f956df2 100644 (file)
@@ -1,4 +1,4 @@
 MAJOR_VERSION = 0
 MINOR_VERSION = 1
-PATCH_LEVEL = 47
+PATCH_LEVEL = 48
 MY_PATCH_LEVEL =
index ecb00ee0834b09984235b4f151f958f05c6b7349..8cd5958f1763ee3344dd2eac94072487dfede035 100644 (file)
@@ -115,7 +115,8 @@ Beam_engraver::acknowledge_element (Score_elem_info i)
   if (!current_grouping_p_->child_fit_b (start))
     {
       String s (_("please fix me: Stem at ") 
-               + String(now_moment ()) + _(" does not fit in beam"));
+               + now_moment ().str ()
+               + _(" does not fit in beam"));
       if (i.req_l_)
        i.req_l_->warning(s);
       else 
index ebda7c1ccd0eafb4c00d1291289aeb7ec88c38c7..cb6159ae09a108f8856bccb66ef86ddb52418f8b 100644 (file)
@@ -35,7 +35,7 @@
 IMPLEMENT_IS_TYPE_B1 (Beam, Spanner);
 
 // ugh, hardcoded
-const int MINIMUM_STEMLEN[] = {
+const Real MINIMUM_STEMLEN[] = {
   0, // just in case
   5, 
   4,
@@ -451,7 +451,7 @@ Beam::set_stemlens ()
          int mult = max (stems_[j]->beams_left_i_, stems_[j]->beams_right_i_);
          if (mult > 1)
              // dim(y) = internote
-             y -= (mult - 1) * interbeam_f / internote_f;
+             y -= (Real)(mult - 1) * interbeam_f / internote_f;
          if (y < MINIMUM_STEMLEN[mult])
            dy = dy >? (MINIMUM_STEMLEN[mult] - y);
        }
index 054990199fff85b35569a7294a439b0a2d9f7bd6..a21a7862cc56b1aa29d694b52d610864333b3e19 100644 (file)
@@ -74,10 +74,11 @@ IMPLEMENT_IS_TYPE_B1(Chord_iterator,Music_iterator);
 Moment
 Chord_iterator::next_moment() const
 {
-  Moment next_ = infinity_mom;
+  Moment next;
+  next.set_infinite (1);
   for (PCursor<Music_iterator*> i (children_p_list_.top()); i.ok (); i++)
-    next_ = next_ <? i->next_moment() ;
-  return next_;
+    next = next <? i->next_moment() ;
+  return next;
 }
 
 
index 589dbf328273522401f73ff49b27339f1cbd3acf..5f9a9376e743c1ceb92e2f2a4e35219b8362ce00 100644 (file)
@@ -22,33 +22,36 @@ Clef_engraver::Clef_engraver()
   c0_position_i_ =0;
 }
 
+/*
+  Ugh.  Should have support for Dictionaries in mudela.
+ */
 bool
 Clef_engraver::set_type (String s)
 {
-  clef_type_str_  = s;
+  clef_type_str_ = s;
   if (clef_type_str_ == "violin")
-    {
-      c0_position_i_= -6;
-    }
+    c0_position_i_= -6;
+  else if (clef_type_str_ == "french")
+    c0_position_i_= -8;
   else if (clef_type_str_ == "soprano")
-    {
-      c0_position_i_= -4;
-    }
+    c0_position_i_= -4;
+  else if (clef_type_str_ == "mezzosoprano")
+    c0_position_i_ = -2;
   else if (clef_type_str_ == "alto")
-    {
-      c0_position_i_= 0;
-    }
+    c0_position_i_= 0;
   else if (clef_type_str_ == "tenor")
-    {
-      c0_position_i_= 2;
-    }
+    c0_position_i_= 2;
+  else if (clef_type_str_ == "baritone")
+    c0_position_i_ = 4;
+  else if (clef_type_str_ == "varbaritone")
+    c0_position_i_ = 4;
   else if (clef_type_str_ == "bass")
-    {
-      c0_position_i_= 6;
-    }
+    c0_position_i_= 6;
+  else if (clef_type_str_ == "subbass")
+    c0_position_i_ = 8;
   else
     return false;
-
+  
   return true;
 }
 
index a63d8b72bd5d910910b6a56c1c34f0519d3d6f83..b3b468047f9761507ab4b28ab4a00cbff159881c 100644 (file)
@@ -38,23 +38,53 @@ void
 Clef_item::read (String t)
 {
   symbol_= t;
-  if (t == "violin") {
-    y_position_i_ = -2;
-  }
-  else if (t == "soprano") {
-    symbol_="alto";
-    y_position_i_ = -4;
-  }
-  else if (t == "alto") {
-    y_position_i_ = 0;
-  }
-  else if (t == "tenor") {
-    symbol_="alto";
-    y_position_i_ = 2;
-  }
-  else if (t == "bass") {
-    y_position_i_ = 2;
-  }
+  if (t == "violin") 
+    {
+      y_position_i_ = -2;
+    }
+  else if (t == "french") 
+    {
+      symbol_="violin";
+      y_position_i_ = -4;
+    }
+  else if (t == "soprano") 
+    {
+      symbol_="alto";
+      y_position_i_ = -4;
+    }
+  else if (t == "mezzosoprano")
+    {
+      symbol_ = "alto";
+      y_position_i_ = -2;
+    }
+  else if (t == "alto") 
+    {
+      y_position_i_ = 0;
+    }
+  else if (t == "tenor") 
+    {
+      symbol_="alto";
+      y_position_i_ = 2;
+    }
+  else if (t == "baritone")
+    {
+      symbol_ = "alto";
+      y_position_i_ = 4;
+    }
+  else if (t == "varbaritone")
+    {
+      symbol_ = "bass";
+      y_position_i_ = 0;
+    }
+  else if (t == "bass") 
+    {
+      y_position_i_ = 2;
+    }
+  else if (t == "subbass")
+    {
+      symbol_ = "bass";
+      y_position_i_ = 4;
+    }
 }
 
 void
index f90e2e49eb1767375760d4241c25176d231e6000..f33f0ba83da94f5d482c21cd24f77d36a1b90c5f 100644 (file)
@@ -16,6 +16,7 @@
 #include "dstream.hh"
 #include "flower-debug.hh"
 #include "moment.hh"
+
 #include "main.hh"
 Dstream *monitor=0;
 ostream * nulldev =0;
@@ -53,13 +54,10 @@ float_handler (int)
   assert (false);
 }
 
-/// just to make sure print_rat is linked in
-static void (*rat_printer)(Moment const&);
 
 void
 debug_init()
 {
-  rat_printer = print_rat;
 #ifndef NDEBUG
   // libg++ 2.8.0 doesn't have set_new_handler
   // set_new_handler (&mynewhandler);
index 8bba43afcb4c7a9872c4038238484b572eb72e31..041e80a8cb4c7eed4dc2b1a61705c56c807f8e0a 100644 (file)
@@ -25,7 +25,7 @@ Dots::do_post_processing ()
   if (!no_dots_i_)
     {
       transparent_b_ = true;
-      set_empty(true);
+      set_empty (true);
     }
 }
 
@@ -33,16 +33,17 @@ Molecule*
 Dots::brew_molecule_p () const
 {
   Molecule *out = new Molecule;
-  Atom fill = paper()->lookup_l ()->fill (Box(Interval(0,0),Interval(0,0)));
+  Atom fill = paper ()->lookup_l ()->fill (Box (Interval (0,0),
+                                              Interval (0,0)));
   out->add(fill);
 
   Atom d = paper ()->lookup_l ()->dots ();
 
-  Real dw = d.dim_[X_AXIS].length();
-  d.translate_axis(-dw,X_AXIS);
+  Real dw = d.dim_[X_AXIS].length ();
+  d.translate_axis (-dw, X_AXIS);
   for (int i=no_dots_i_; i--; )
     {
-      d.translate_axis(2*dw,X_AXIS);
+      d.translate_axis (2*dw,X_AXIS);
       out->add (d);
     }
   Real inter_f = paper ()->internote_f ();
index d564b58e6e6be1e29658bc1ceb55251d8ee33cff..61256ed63a5dd800025b72b0646a913abc5ae678 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  headreg.cc -- part of GNU LilyPond
+  head-grav.cc -- part of GNU LilyPond
 
   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
 */
index 1d3d91ed5df438919a0056a4583d8bad3fc00f15..dbcc8a52546b0c25b7a8e67abb556a4f6c424812 100644 (file)
@@ -11,6 +11,7 @@
 #define GLOBAL_TRANSLATOR_HH
 
 #include "translator-group.hh"
+#include "rational.hh"
 #include "pqueue.hh"
 
 class Global_translator : public virtual Translator_group{
diff --git a/lily/include/pitch-squash-grav.hh b/lily/include/pitch-squash-grav.hh
new file mode 100644 (file)
index 0000000..dc68980
--- /dev/null
@@ -0,0 +1,24 @@
+/*   
+  pitch-squash-grav.hh -- declare Pitch_squash_engraver
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+  
+ */
+
+#ifndef PITCH_SQUASH_GRAV_HH
+#define PITCH_SQUASH_GRAV_HH
+
+#include "engraver.hh"
+
+class Pitch_squash_engraver : public Engraver {
+public:
+  DECLARE_MY_RUNTIME_TYPEINFO;
+  TRANSLATOR_CLONE (Pitch_squash_engraver);
+  virtual void acknowledge_element (Score_elem_info);
+  
+};
+
+#endif /* PITCH_SQUASH_GRAV_HH */
+
index 4a4888a5226d17541488a5f8131ae1d52e975f2c..5051dd9e072ee0e6f35b734278a8adf9d6f8431c 100644 (file)
   */
 class Staff_symbol : public Spanner
 {
+public:
   /// this many lines.
   int no_lines_i_;
   Real interline_f_;
-public:
+
   DECLARE_MY_RUNTIME_TYPEINFO;
-  Staff_symbol (int lines);
+  Staff_symbol ();
   Real inter_note_f() const;
   int steps_i() const;
 protected:
index 4102ba5e88207d2e41fafe341c556ac94a971812..5d9546409bc25cc508572bb0471c3c2b3e0086ab 100644 (file)
@@ -16,7 +16,6 @@
  */
 class Text_item : public Item ,public Staff_side
 {
-public:
 public:
 
     /// do I have width?
@@ -24,7 +23,7 @@ public:
     
     /* ***************/
 
-    Text_item (General_script_def* ,Direction dir=0);
+    Text_item (General_script_def* ,Direction dir=CENTER);
     virtual ~Text_item ();
     DECLARE_MY_RUNTIME_TYPEINFO;
 
index bf44f42cb51ffa40835a05449b47032c15801794..d80f01670dda03f6d76f5524e3708d7995004fe3 100644 (file)
@@ -45,7 +45,7 @@ void
 Key_item::set_c_position (int c0)
 {
   int from_bottom_pos = c0 + 4;        // ugh
-  int octaves =(abs (from_bottom_pos) / 7) +1 ;
+  int octaves =(from_bottom_pos / 7) +1 ;
   from_bottom_pos =(from_bottom_pos + 7*octaves)%7;
   c_position  = from_bottom_pos - 4;
 }
@@ -54,8 +54,9 @@ Key_item::set_c_position (int c0)
 void
 Key_item::add (int p, int a)
 {
-  if ((a<0 && p>FLAT_TOP_PITCH) ||
-      (a>0 && p>SHARP_TOP_PITCH)) 
+  if ((a<0 && ((p>FLAT_TOP_PITCH) || (p+c_position>4)) && (p+c_position>1)) 
+      ||
+      (a>0 && ((p>SHARP_TOP_PITCH) || (p+c_position>5)) && (p+c_position>2))) 
     {
       p -= 7; /* Typeset below c_position */
     }
index 6f3b7b07e40717072b92d15df5a62458cdeea883..66ae3e649caa4310bf7dfa982096ee63c1b82214 100644 (file)
@@ -6,6 +6,7 @@
   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
 */
 
+#include <stdlib.h>
 #include <iostream.h>
 #include <assert.h>
 #include "proto.hh"
index 4fecb68d9cbf2aac7f41e9bdb163821a834c50b0..9b11835eafc2f71db065370a4a61b89352db446f 100644 (file)
@@ -20,9 +20,16 @@ Meter_engraver::Meter_engraver()
 void
 Meter_engraver::do_process_requests()
 {
-  Timing_engraver * timing_grav_l= (Timing_engraver*)
-    daddy_grav_l()->get_simple_translator (Timing_engraver::static_name())
-    ->engraver_l ();
+  Translator * result =
+    daddy_grav_l()->get_simple_translator (Timing_engraver::static_name());
+
+  if (!result)
+    {
+      warning ("Lost in time: can't find Timing_translator");
+      return ;
+    }
+  
+  Timing_engraver * timing_grav_l= (Timing_engraver*) result->engraver_l ();
   
   Meter_change_req *req = timing_grav_l->meter_req_l();
   if (req)
index 13cc69a973e6a366512bb923d1f7e85a19b54d5f..545d72c8a66bcdaa85779d84e25be1c9ffa213b2 100644 (file)
@@ -709,7 +709,7 @@ command_req:
        ;
 
 abbrev_command_req:
-        '|'                            {
+       '|'                             {
                $$ = new Barcheck_req;
        }
        | COMMAND_IDENTIFIER    {
@@ -729,8 +729,8 @@ verbose_command_req:
        }
        | SKIP duration_length {
                Skip_req * skip_p = new Skip_req;
-               skip_p->duration_.set_plet ($2->numerator ().as_long (),
-                       $2->denominator ().as_long ());
+               skip_p->duration_.set_plet ($2->num (),
+                       $2->den ());
 
                delete $2;
                $$ = skip_p;
diff --git a/lily/pitch-squash-grav.cc b/lily/pitch-squash-grav.cc
new file mode 100644 (file)
index 0000000..5671dd4
--- /dev/null
@@ -0,0 +1,25 @@
+/*   
+  pitch-squash-grav.cc --  implement Pitch_squash_engraver
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+  
+ */
+
+#include "pitch-squash-grav.hh"
+#include "note-head.hh"
+
+void
+Pitch_squash_engraver::acknowledge_element (Score_elem_info i)
+{
+  if (i.elem_l_->is_type_b (Note_head::static_name ()))
+    {
+      Note_head * nl = (Note_head*)i.elem_l_->item ();
+      nl->position_i_  =0;
+    }
+}
+
+ADD_THIS_TRANSLATOR (Pitch_squash_engraver);
+IMPLEMENT_IS_TYPE_B1(Pitch_squash_engraver, Engraver);
+
index 2e045df7bef556ed5591f2418d0aa304b586cc48..fda759a2da5411d981e3b17df313e4a0c602d94e 100644 (file)
@@ -47,8 +47,7 @@ Score_column::add_duration (Moment d)
   if (!d)
     {
       warning (_("Ignoring zero duration added to column at ")
-              + String (when_)
-              );
+              + when_.str ());
       return;
     }
   
index 5dac6960869f16ae5024ca9aefa9f694ae2d8c51..8e88f8ad36e89bc633c0d4a89aebc0e70d46dfcf 100644 (file)
@@ -74,7 +74,8 @@ Score::run_translator (Music_output_def *odef_l)
 
   while (iter->ok() || trans_p->moments_left_i ())
     {
-      Moment w = infinity_mom;
+      Moment w;
+      w.set_infinite (1);
       if (iter->ok())
        {
          w = iter->next_moment();
index bf5a8094a52ff932d9b016ac27cae99ef30686d6..91e0ba704852f44c724d8abe75cbcb3693d1cbe7 100644 (file)
@@ -440,20 +440,22 @@ Spring_spacer::get_ruling_durations(Array<Moment> &shortest_playing_arr,
       scol_l (i)->print ();
     }
   int start_context_i=0;
-  Moment context_shortest = infinity_mom;
+  Moment context_shortest;
+  context_shortest.set_infinite (1);
   context_shortest_arr.set_size(cols.size());
 
   for (int i=0; i < cols.size(); i++)
     {
       Moment now = scol_l (i)->when();
-      Moment shortest_playing = infinity_mom;
+      Moment shortest_playing;
+      shortest_playing.set_infinite (1);
 
       if (scol_l (i)->breakable_b_)
        {
          for (int ji=i; ji >= start_context_i; ji--)
            context_shortest_arr[ji] = context_shortest;
          start_context_i = i;
-         context_shortest = infinity_mom;
+         context_shortest.set_infinite (1);
        }
       if (scol_l (i)->durations.size())
        {
@@ -559,13 +561,13 @@ Spring_spacer::calc_idealspacing()
          if (! shortest_playing_len)
            {
              warning (_("Can't find a ruling note at ")
-                      +String (scol_l (i)->when()));
+                      +scol_l (i)->when().str ());
              shortest_playing_len = 1;
            }
          if (! context_shortest)
            {
              warning(_("No minimum in measure at ")
-                     + String (scol_l (i)->when()));
+                     + scol_l (i)->when().str ());
              context_shortest = 1;
            }
          Moment delta_t = scol_l (i+1)->when() - scol_l (i)->when ();
index d704518f8cc01e511c90df1fe372cdb0ab26a44a..6aab67dece77bedede5aad66926fbfeba04c4183 100644 (file)
@@ -11,7 +11,6 @@
 #include "score.hh"
 #include "p-col.hh"
 
-const NO_LINES = 5;
 
 void
 Staff_sym_engraver::fill_staff_info (Staff_info&i)
@@ -32,7 +31,7 @@ Staff_sym_engraver::Staff_sym_engraver()
 void
 Staff_sym_engraver::do_creation_processing()
 {
-  span_p_ = new Staff_symbol (NO_LINES);
+  span_p_ = new Staff_symbol;
   span_p_->set_bounds(LEFT,get_staff_info().command_pcol_l ());
   announce_element (Score_elem_info (span_p_, 0));
 }
@@ -40,6 +39,12 @@ Staff_sym_engraver::do_creation_processing()
 void
 Staff_sym_engraver::do_removal_processing()
 {
+  Scalar l (get_property ("nolines"));
+  if (l.isnum_b ())
+    {
+      span_p_->no_lines_i_ = l;
+    }
+
   span_p_->set_bounds(RIGHT,get_staff_info().command_pcol_l ());
   typeset_element (span_p_);
   span_p_ =0;
index ea4576e59bcbca41c382fb6d175c8b4584e4a8e6..e51f1d37c5f34a4f83af7b1d448794a73005c9de 100644 (file)
@@ -13,9 +13,9 @@
 #include "dimen.hh"
 
 
-Staff_symbol::Staff_symbol (int l)
+Staff_symbol::Staff_symbol ()
 {
-  no_lines_i_ = l;
+  no_lines_i_ = 5;
   interline_f_ =  0 PT;
 }
 
index 452d61786a13a9ca2d686900a8507372b0777bbb..34aadfc976d97f32723a55776f5e433f20e33d31 100644 (file)
@@ -23,7 +23,7 @@ Stem_info::Stem_info ()
 
 Stem_info::Stem_info (Stem const *s)
 {
-  x = s->hpos_f();
+  x = s->hpos_f ();
   dir_ = s->dir_;
   beams_i_ =  0 >? (abs (s->flag_i_) - 2);
 
@@ -44,22 +44,21 @@ Stem_info::Stem_info (Stem const *s)
        
     */
 
-  Real notehead_y = s->paper()->interline_f ();
-  // huh? why do i need the / 2
-  //    Real interbeam_f = s->paper()->interbeam_f ();
-  Real interbeam_f = s->paper()->interbeam_f () / 2;
+  Real internote_f = s->paper ()->internote_f ();
+  Real interline_f = 2 * internote_f;
+  Real notehead_y = interline_f;
+  // huh? why do i seem to need the / 2 ?
+  Real interbeam_f = s->paper ()->interbeam_f ();
+  // Real interbeam_f = s->paper ()->interbeam_f () / 2;
+  // perhaps bo dim (y) = internote?
          
-  /* well eh, huh?
-     idealy_f_  = dir_ * s->stem_begin_f() + beams_i_ * interbeam_f; 
-     if (beams_i_ < 3)
+   idealy_f_  = dir_ * s->stem_begin_f () + beams_i_ * interbeam_f; 
+   if (beams_i_ < 3)
      idealy_f_ += 2 * interline_f;
-     else
+   else
      idealy_f_ += 1.5 * interline_f;
-     */
-
-  idealy_f_  = dir_ * s->stem_end_f();
-
-  miny_f_ = dir_ * s->stem_begin_f() + notehead_y + beams_i_ * interbeam_f;
+   idealy_f_ /= internote_f;
+  miny_f_ = dir_ * s->stem_begin_f () + 2 + beams_i_ * interbeam_f / internote_f;
 
   idealy_f_ =  miny_f_ >? idealy_f_;
   //    assert (miny_f_ <= idealy_f_);
index c4c502d268aeaee3685559449ceccb059111234a..41175bdb5fd83ca2b9e6e529ed2662d25e5de19e 100644 (file)
@@ -139,7 +139,7 @@ Stem::get_center_distance (Direction d)
 Direction
 Stem::get_default_dir ()
 {
-  return (get_center_distance (UP) >=
+  return (get_center_distance (UP) >
          get_center_distance (DOWN)) 
     ? DOWN 
     : UP;
index d038d3d31c719206c0a6cbb16603fe96acaeeb69..4cfa4f0b70b798afd673b2c75a5d0e93b9a3deb0 100644 (file)
@@ -20,7 +20,15 @@ template INTERVAL__INSTANTIATE(int);
 Rational
 Interval_t<Rational>::infinity()
 {
-  return Rational (INT_MAX);
+  Rational infty;
+  infty.set_infinite (1);
+  return infty;
+}
+
+String
+Interval_t<Rational>::T_to_str (Rational a)
+{
+  return a.str ();
 }
 
 int
@@ -28,3 +36,9 @@ Interval_t<int>::infinity()
 {
   return INT_MAX;
 }
+
+String
+Interval_t<int>::T_to_str (int i)
+{
+  return String (i);
+}
index 1294c6ca98114ab2b895a8169d6f101921788bd9..1437a7c44105d2129a9e6b57fddf91223f8b8416 100644 (file)
@@ -17,9 +17,9 @@ Time_description::str() const
        s+=String (" (cadenza) ");
   s+= "at ";
   s+=when_;
-  s+="\nmeter " + String (whole_per_measure_/one_beat_) +":" +
-       String (Rational (Rational (1)/one_beat_));
-  s+= "\nposition "+String (bars_i_) + ":"+ whole_in_measure_ +"\n}\n";
+  s+="\nmeter " + (whole_per_measure_/one_beat_).str () +":" +
+        (Rational (Rational (1)/one_beat_)).str ();
+  s+= "\nposition "+String (bars_i_) + ":"+ whole_in_measure_.str () +"\n}\n";
   return s;
 }
 
index 8918a4854394371100c68f1be1f20d4dad425914..b91f254c3885ef9a26144199eaa8df4b005c49ac 100644 (file)
@@ -11,6 +11,7 @@
 #include "translator.hh"
 #include "debug.hh"
 #include "pcursor.hh"
+#include "rational.hh"
 
 Translator_group::Translator_group (Translator_group const&s)
   : Translator(s)
index 4229f61600d44e91af80452eecef916a53e22ce4..5655da8a1592175968086058a6f35a4823c57894 100644 (file)
@@ -11,6 +11,7 @@
 #include "debug.hh"
 #include "translator-group.hh"
 #include "dictionary-iter.hh"
+#include "rational.hh"
 
 Translator::~Translator ()
 {
index 0dcee118abee2a66f48a6505ca8f5c21a7d7ab36..86604d585341802bb2d1985cbd5ffe8d03a8d33f 100644 (file)
@@ -25,7 +25,7 @@ ostream *mlog (&cerr);
 void
 error_t (String const & s, Moment const & r)
 {
-  String t_mom = String (trunc (r)) + String (r - Moment (trunc (r)));
+  String t_mom = r.truncated ().str () +  (r - r.truncated ()).str ();
   String e=s+ " (t = " +  t_mom + ")";
   error (e);
 }
@@ -33,6 +33,6 @@ error_t (String const & s, Moment const & r)
 void
 error_t (String const & s, Time_description const &t_tdes)
 {
-  String e=s+ " (at t=" + String (t_tdes.bars_i_) + ": " + String (t_tdes.whole_in_measure_) + ")\n";
+  String e=s+ " (at t=" +  String(t_tdes.bars_i_) + ": " +  (t_tdes.whole_in_measure_).str () + ")\n";
   error (e);
 }
index 6062fbc2d3f5e9295766f049c6be79f056423aa7..c22e80abb82cae03d9e6112bc58d600cc7cc5b5e 100644 (file)
@@ -53,4 +53,4 @@ $(outdir)/%: %.m4
 
 $(depth)/%.txt: check-doc-deps
        rm -f $@
-       ln `find ${depth}/Documentation -name $@|head -1` .
+       ln `find ${depth}/Documentation -name $@ -print|head -1 ` .
index f72367cab94dadfd66b2430f97f6a80ee911c98e..9535aee6f1151d43d88b82b22f7538431c4d8c3e 100644 (file)
@@ -129,7 +129,8 @@ doc:
 dist:
        -mkdir $(distdir)
        $(MAKE) localdist
-       chmod -Rf a+rX $(distdir)
+       chmod -R a+r $(distdir)
+       chmod  a+x `find $(distdir) -type d -print`
 
        (cd ./$(depth)/$(outdir); $(TAR) cf - $(DIST_NAME) | gzip -9 > $(DIST_NAME).tar.gz)
 
index d000ef90130aaca5c98692290321ee3c92d87d9f..c90d0805a4d40df5ee6f0c1bd549237a0286cc48 100644 (file)
@@ -53,12 +53,12 @@ localdist: configure
 
 INSTALL.txt: check-doc-deps check-mf-deps
        rm -f INSTALL.txt
-       ln `$(FIND) ./ -name INSTALL.txt|head -1` .
+       ln `$(FIND) ./ -name INSTALL.txt -print |head -1` .
 
 
 # all machine generated junk resides in out/
 distclean: 
-       set -e; for i in `find -type d -name 'out'`; do \
+       set -e; for i in `find . -type d -name 'out' -print`; do \
                rm -f $$i/* $$i/.build; done            
        rm -rf *-build-dir
        ( cd flower && rm -f config.cache config.status config.log )
@@ -74,4 +74,5 @@ Makefile: make/Toplevel.make.in
        echo '# WARNING WARNING WARNING WARNING' > $@
        echo '# do not edit! this is generated from make/Toplevel.make.in' >> $@
        cat $< >> $@
+       chmod -w $@
 
index e7564f48a4bc691081827005b58e52ef8dbc95a4..efe49e20f77cfe2ab7062e6aaae71cb689decfd6 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++ -lstdc++ # need lg++ for win32, really!
+LOADLIBES = $(EXTRA_LIBES) $(MODULE_LIBES)  -lstdc++ # need lg++ for win32, really!
 #
 
 # macro compiler:
index 72e1d2a8a62b5be70bf0434178b9f47a985edb11..673546fc1be33b3715ca18a2c9bbfd6565c2fa23 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Titel: LilyPond
-Versie: 0.1.47
-Inschrijf datum: 06MAR98
+Versie: 0.1.48
+Inschrijf datum: 12MAR98
 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.47.tar.gz 
+       395k lilypond-0.1.48.tar.gz 
 Oorspronkelijke plek: pcnov095.win.tue.nl /pub/lilypond/
-       395k lilypond-0.1.47.tar.gz 
+       395k lilypond-0.1.48.tar.gz 
 Copi"eer politie: GPL
 End
index a0620497c170e211a70a10c3172893208ee5f8ef..74fe198eb2c95eaaec8cc5e904cdc4a2ac935587 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Title: LilyPond
-Version: 0.1.47
-Entered-date: 06MAR98
+Version: 0.1.48
+Entered-date: 12MAR98
 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.47.tar.gz 
+       470k lilypond-0.1.48.tar.gz 
 Original-site: pcnov095.win.tue.nl /pub/lilypond/development/
-       470k lilypond-0.1.47.tar.gz 
+       470k lilypond-0.1.48.tar.gz 
 Copying-policy: GPL
 End
index 1092351059fcdeb6766df330e332fdd1018a9100..1f1c1addb84bdde45f0f3818f30d2f3b93a8986e 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
-Version: 0.1.47
+Version: 0.1.48
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: alpha.gnu.org:/gnu/lilypond/development/lilypond-0.1.47.tar.gz
+Source0: alpha.gnu.org:/gnu/lilypond/development/lilypond-0.1.48.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/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/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/convert-mudela.txt Documentation/out/faq.txt Documentation/out/gnu-music.txt Documentation/out/index.txt Documentation/out/internals.txt Documentation/out/language.txt Documentation/out/lilypond.txt Documentation/out/links.txt Documentation/out/literature.txt Documentation/out/ly2dvi.txt Documentation/out/mi2mu.txt Documentation/out/mudela-book.txt Documentation/out/mutopia.txt Documentation/out/other-packages.txt BUGS TODO NEWS DEDICATION ANNOUNCE README
+%doc input/beam-bug.ly 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 95cb53e788b66975b5d831b7661339aa11ab1dca..e40eeaddeab089f026dd8a713b3b2ab2d5f89b3c 100644 (file)
@@ -65,3 +65,13 @@ $(MFDEPS): $(FONT_FILES)
 include $(MFDEPS)
 #
 
+# silly workaround for stupid TeXs
+systempks:
+# irix 5.3
+#      MakeTeXPK feta16 300 300 magstep\(0.0\)
+       set -e ; for a in $(FONT_FILES); do \
+       MakeTeXPK `basename $$a .mf` 300 300 magstep\(0.0\) ; \
+       mf "\mode=ljfour; input `basename $$a .mf`"  ;\
+       mv -f `find . -name '*.tfm' -print -o -name '*gf' -print`  out/ ; \
+       done
+
index 63ed200622d382d165cb4784fa24e4398ffd01d8..f6f948fe3c466191fcaf6682a5e266c9841a06e7 100644 (file)
@@ -167,7 +167,9 @@ input feta-ital-r;
 input feta-ital-s;
 input feta-ital-z;
 
-font_slant slant; font_x_height x_height#;
+font_slant slant;
+font_x_height x_height#;
+font_quad 18u#;             % to have a working em unit
 
 fet_endfont("feta-din");
 end.
index 623fc816e04e3012e28ada446a0f6f66fabd5312..57c4359737a1bfac8b486d956742f030656e0c30 100644 (file)
@@ -29,9 +29,6 @@ static File_path path;
 
 Verbose level_ver = NORMAL_ver;
 
-/// just to make sure print_rat is linked in
-static void (*rat_printer)(Moment const&);
-
 void
 usage()
 {
@@ -91,7 +88,6 @@ int
 main (int argc_i, char* argv_sz_a[])
 {
   Mudela_key key (0, 0);
-  rat_printer = print_rat;
 
   Long_option_init long_option_init_a[] =
     {
index 8507335f9dea1d5c663869610af3e9c70eee2f90..30fb80236fc03655176dccceba2e38ffce91a33b 100644 (file)
@@ -49,9 +49,9 @@ Mudela_staff::eat_voice (Link_list<Mudela_item*>& items)
 
   for  (PCursor<Mudela_item*> i (items); i.ok();)
     {
-      LOGOUT(DEBUG_ver) << "At: " << i->at_mom() << "; ";
-      LOGOUT(DEBUG_ver) << "dur: " << i->duration_mom() << "; ";
-      LOGOUT(DEBUG_ver) << "mom: " << mom << " -> ";
+      LOGOUT(DEBUG_ver) << "At: " << String (i->at_mom()) << "; ";
+      LOGOUT(DEBUG_ver) << "dur: " << String (i->duration_mom()) << "; ";
+      LOGOUT(DEBUG_ver) << "mom: " << String (mom) << " -> ";
       if  (i->at_mom() > mom)
        {
          Moment dur = i->at_mom() - mom;
@@ -68,7 +68,7 @@ Mudela_staff::eat_voice (Link_list<Mudela_item*>& items)
        }
       else if  (i.ok())
        i++;
-      LOGOUT(DEBUG_ver) << "mom: " << mom << "\n";
+      LOGOUT(DEBUG_ver) << "mom: " << String (mom) << "\n";
     }
 }
 
index c46593a660815c8f3e6458b39b4c8c610281d813..2c87868ab77329d54a2c4905ec00fc217c397465 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 \include "paper20.ly"
 
-rh = \melodic{
+one = \melodic{
        \octave c'';
        \textstyle "italic";
        r16\p_"legato"\< ['g-1( c-3 )e-5] r ['g-1( c )e]
@@ -29,16 +29,16 @@ rh = \melodic{
        r [''b 'd 'a-5] r [''b 'd 'g-4]
        r [''a 'c 'g-5] r [''a 'c 'f!-4] |
        % ugh, arpeggio
-       \multi 2 <
-               { \stemup; 'f4 r s }
-               { \stemdown; <''g4 'd> r s }
+       <
+               { \voiceone; 'f4 r s }
+               { \voicetwo; <''g4 'd> r s }
        >
-       \stemboth;
+       \onevoice;
        % ugh beam across staffs, slur starts at lower staff
        r16 [''g-1( ''b 'd] |
-       \stemup;
+       \voiceone;
        )''b s4 ['g16-1( 'b-2 d] )'b s s s [f-2 g-3 b-5 f-2] |
-       \stemboth;
+       \onevoice;
        [e-1\f c'-5( g-3 f-2] [e-1 c'-5 g-3 e-2] 
        [)d c'-5( f-3 e-2] [d-1 b-5 f-3 d-2] |
        [)c b-5( e-3 d-2] [c-1 a-5 e-3 c-2] 
@@ -53,18 +53,17 @@ rh = \melodic{
        [f-5 d-3 es-4 c-2] ['fis-1 es-4 d-3 c-2] |
        ['b-1 d-5 'b-3 'g-1] ['as-4-"cresc. e rall." 'f-2 'g-3 'd-1]
        ['es-2 'fis-3 'a-4 c-5] 
-       \multi 2 
-               { \stemup; r [c8 'b16] }
-               { \stemdown; ['d8 'f-2] }
+       < 
+               { \voiceone; r [c8 'b16] }
+               { \voicetwo; ['d8 'f-2] }
        >
-       \stemboth; |
+       \onevoice; |
        <c1\mf 'g 'e>
        \bar "|.";
 }
 
-lh = \melodic{
+two = \melodic{
        \octave c;
-       \clef bass;
        \textstyle "roman";
        c4-5 e-3 [g32-1 fis-2 g8.-1] 'g4 |
        d-5 f-3 [a32-1 gis a8.] 'a4 |
@@ -83,9 +82,9 @@ lh = \melodic{
        g r r16 ['g-5( 'b-4 d] )f-1 s s s |
        s [g-5( b-4 d'-2] )f'-1 s s s s \clef violin; [g'-4 b'-2 d''-1] 
        s s s s \clef bass; |
-       \multi 2 <
-               { \stemup; g1 ~ g ~ g ~ g ~ g ~ g ~ g }
-               { \stemdown; 'g1 ~ 'g ~ 'g ~ 'g ~ 'g ~ 'g ~ 'g }
+       <
+               { \voiceone; g1 ~ g ~ g ~ g ~ g ~ g ~ g }
+               { \voicetwo; 'g1 ~ 'g ~ 'g ~ 'g ~ 'g ~ 'g ~ 'g }
        >
        <c1 'c>
        \bar "|.";
@@ -95,24 +94,31 @@ global  = \melodic{
        \meter 4/4;
 }
 
+treble_staff = \type Staff = treble <
+       \global
+       \one
+>
+
+bass_staff = \type Staff = bass <
+% bass = Staff <
+       \clef "bass";
+       \global
+       \two
+>
+
+grand_staff = \type Grandstaff <
+       \treble_staff
+       \bass_staff
+>
+
+a4 = \paper{
+       \paper_twenty
+       linewidth= 195.\mm;
+}
+
 \score{
-       % Moderato
-       % it would be nice to shut-off fingering...
-       \melodic \type Grandstaff < 
-               <
-                       \global 
-                       \rh
-               >
-               <
-                       \global 
-                       \lh
-               >
-       >
-       \paper{
-               \paper_twenty
-               linewidth= 195.\mm;
-       }
-       \midi{
-               \tempo 4 = 70;
-       }
+        % Moderato
+       \grand_staff
+       \paper{ \a4 }
+       \midi{ \tempo 4 = 80; }
 }
index c82b6d784a50b028a3529e0c7c4221fd183b3ddb..39ba3fff8b21658706a5caed694561cbdfa2111d 100644 (file)
@@ -8,73 +8,72 @@ copyright =    "public domain";
 
 \include "paper20.ly"
 
-rh = \melodic{
+one = \melodic{
        \octave c'';
        \textstyle "italic";
        r8\mf ['c-1( 'e-2 'g-4] ['e-2 'c-1 'bes-5 'g-3] |
        [)'a-4\< 'c-1( 'f-2 'a-4] ['f 'c c-5 'a-3] |
        [)'b-4 'g-1( 'b-2 d-4] ['b-2 'g f-5 \!d-3] |
-       \multi 2 <
-               {\stemup; )e2-4\f r4 e-5 }
-               {\stemdown; <c2 'g> r4 <c 'g> }
+       <
+               {\voiceone; )e2-4\f r4 e-5 }
+               {\voicetwo; <c2 'g> r4 <c 'g> }
        >
-       \stemboth; |
-       \multi 2 
-                { \stemup; d2-4 r4 d-4 }
-                { \stemdown; <c2 'a> r4 <c 'a> }
+       \onevoice; |
+       < 
+                { \voiceone; d2-4 r4 d-4 }
+                { \voicetwo; <c2 'a> r4 <c 'a> }
        >
-       \stemboth; |
-       \multi 2 
-                { \stemup; d8 }
-                { \stemdown; <'b8 'g> }
+       \onevoice; |
+       < 
+                { \voiceone; d8 }
+                { \voicetwo; <'b8 'g> }
        >
-       \stemboth;
+       \onevoice;
        ['g8-1\mf( 'b-2 d-4] 
-       \multi 2 <
-               { \stemup; )'b4 e-5 }
-               { \stemdown; 'g4 'b }
+       <
+               { \voiceone; )'b4 e-5 }
+               { \voicetwo; 'g4 'b }
        >
-       \stemboth; |
-       \multi 2 <
-               { \stemup; c2 r4 < {c-5 ~ c8} {'a4 ~ 'a8} > }
-               { \stemdown; c2 r4 'e4 ~ 'e8 }
+       \onevoice; |
+       <
+               { \voiceone; c2 r4 < {c-5 ~ c8} {'a4 ~ 'a8} > }
+               { \voicetwo; c2 r4 'e4 ~ 'e8 }
        >
-       \stemboth;
+       \onevoice;
        ['d-1\p( 'fis-2 'a-4] ['fis-2 'd-1 c-5 'a-3] |
        [)'b-4\< 'g-1( 'b-2 d-4] [ 'b-2 'g-1 f!-5 d-3] |
        [)e-4 'g-1( c-2 e-4] [c-2 'g g-5 e-3] |
        [)fis-4 'a-1( c-2 fis-4] [c 'a a-5 \!fis-3] |
-       \multi 2 <
-               { \stemup; )g2-5\f }
-               { \stemdown; <d2 'b> }
+       <
+               { \voiceone; )g2-5\f }
+               { \voicetwo; <d2 'b> }
        >
-       \stemboth;
+       \onevoice;
        r4 b4-2( |
        [c8-1 e-2 g c'] [g-2 e-1 bes-4 g-2] |
        [)a16->-3 g-2 f-1 e-3] [d c 'b!-3 'a-2] 
        ['b-3\< 'g-1 'a 'b] [c-1 d e \!f] |
        g4-5\ff
-       \multi 2 <
-               { \stemup; c2-5 'b4-4 }
-               { \stemdown; 'g2-2 'd4-1 }
+       <
+               { \voiceone; c2-5 'b4-4 }
+               { \voicetwo; 'g2-2 'd4-1 }
        >
-       \stemboth;
-       \multi 2 <
-               { \stemup;  c1^5 }
-               { \stemdown; 'e1_1}
+       \onevoice;
+       <
+               { \voiceone;  c1^5 }
+               { \voicetwo; 'e1_1}
        >
-       \stemboth;
+       \onevoice;
        \bar "|.";
 }
 
-lh = \melodic{
+two = \melodic{
        \octave c;
-       \clef bass;
-       \multi 2 <
-               { \stemup; c1 ~ c ~ c }
-               { \stemdown; 'c1 ~ 'c ~ 'c }
+       <
+               { \voiceone; c1 ~ c ~ c }
+               { \voicetwo; 'c1 ~ 'c ~ 'c }
        >
-       \stemboth; |
+       \onevoice; |
        r8 [c-5( e-3 g-1] [e-3 c-5 c' e-4] |
        [)fis-3 d-5( fis-3 a-1] [fis-3 d-5 d' fis-4] |
        )g2-3 r4 g-2( |
@@ -100,24 +99,32 @@ global  = \melodic{
        \meter 4/4;
 }
 
+treble_staff = \type Staff = treble <
+       \global
+       \one
+>
+
+bass_staff = \type Staff = bass <
+% bass = Staff <
+       \clef "bass";
+       \global
+       \two
+>
+
+grand_staff = \type Grandstaff <
+       \treble_staff
+       \bass_staff
+>
+
+a4 = \paper{
+       \paper_twenty
+       linewidth= 195.\mm;
+}
+
 \score{
-       % Moderato
-       % it would be nice to shut-off fingering...
-       \melodic \type Grandstaff < 
-               <
-                       \global 
-                       \rh
-               >
-               <
-                       \global 
-                       \lh
-               >
-       >
-       \paper{
-               \paper_twenty
-               linewidth= 195.\mm;
-       }
-       \midi{
-               \tempo 4 = 90;
-       }
+        % Moderato
+       \grand_staff
+       \paper{ \a4 }
+       \midi{ \tempo 4 = 100; }
 }
+
index e7e85b9185e70551fc49ffb90a0247d2a6e0c311..ec1ef4fc2c29ab7d8de03defdee0385a0d698f78 100644 (file)
@@ -12,7 +12,7 @@ define(comma, r16 [$1$4 $2 $3] [$2 $1 $2 $6$1] r $1$7 r $5$1 |)
 define(s, `comma(translit($*,` ', `,'))')
 define(t, r16 [$1$4 $2 $3] [$2 $1 $2 $6$1] r $1$7 r $5$1 |)
 
-rh = \melodic{
+one = \melodic{
        \octave c';
        \textstyle "italic";
 %#     s(`c' `es' `g' `\p(\<' `\!' `)\!' `\>')
@@ -75,7 +75,7 @@ rh = \melodic{
        \bar "|.";
 }
 
-lh = \melodic{
+two = \melodic{
        \octave c;
        \clef bass;
        % c4 r [g8-.(\ped )es-.\*] |
@@ -143,23 +143,31 @@ global  = \melodic{
        \key bes es as;
 }
 
+treble_staff = \type Staff = treble <
+       \global
+       \one
+>
+
+bass_staff = \type Staff = bass <
+% bass = Staff <
+       \clef "bass";
+       \global
+       \two
+>
+
+grand_staff = \type Grandstaff <
+       \treble_staff
+       \bass_staff
+>
+
+a4 = \paper{
+       \paper_twenty
+       linewidth= 195.\mm;
+}
+
 \score{
        % Semplice e non troppo legato
-       \melodic \type Grandstaff < 
-               <
-                       \global 
-                       \rh
-               >
-               <
-                       \global
-                       \lh
-               >
-       >
-       \paper{
-               \paper_twenty
-               linewidth= 195.\mm;
-       }
-       \midi{
-               \tempo 4 = 90;
-       }
+       \grand_staff
+       \paper{ \a4 }
+       \midi{ \tempo 4 = 100; }
 }
index 4dc6d24caf9f9add8f4480de13d59cf7d22cf564..7060b2ea946d4a1c0582ccf95635f4b8431848b9 100644 (file)
@@ -19,7 +19,7 @@ one = \melodic{
        \stemup; 
        )cis4-2 fis-5 ~ [fis8 fis-4] e4-3 ~ | 
        e16\< \stemboth ['a16( cis 'a] [d-2 e fis d-1]
-       [g-3 fis g a-4] [a-3 b a \!g] |
+       [g-3 fis g a-4] [g-3 b a \!g] |
        \stemup
        )fis4-"2\\_3" [e8-2 a-5] <fis4-4 d-2> <gis-5 e-3> |
        <a4-5( e> <fis-4 d-2> <[)g!16-5 d> fis-2 g-3 a-4] 
@@ -49,7 +49,7 @@ one = \melodic{
        ['d8. 'e16~] ['e 'd8 'cis16] |
        \stemup
        r16 ['d-1\< 'fis 'd] ['g 'a 'b 'g-1] [c-3 'b c d] [c e d-4 \!c] |
-       'b4-5 'a ~ ['a8 'g-5 ~] ['g16 'fis8-4 'e'16-3] |
+       'b4-5 'a ~ ['a8 'g-5 ~] ['g16 'fis8-4 'e16-3] |
        ['fis8-4 'e-5~] ['e 'd-5~] 'd4 'cis-4 |
        'd2\p-"rall." ~ ['d16 ''a-2( ''b-3 'cis-4] )'d4-5 |
        \bar "|.";
@@ -60,7 +60,7 @@ two = \melodic{
        \textstyle "finger";
 % ugh: koor
 %      \translator Staff=bass \octave c; \stemup
-       \stemup;
+%      \stemup;
        fis4-1( e8-2 a4 a4 gis8-2 | 
        ) a8
        \translator Staff=treble \octave c''; \stemdown
@@ -81,7 +81,7 @@ two = \melodic{
        \stemboth
        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>
+       <'a4-5 'fis-3 'cis> r16 ['d-1 'fis-2 'd~] <'b4-5 'g-3 'd>
        r16 ['fis-1 'a 'fis~] |
        \stemdown
        'fis4 'e 'd 'cis |
@@ -93,24 +93,19 @@ two = \melodic{
        \translator Staff=treble \octave c''; \stemdown
        'd8.-1 ~ ['d8 'c] 'd4 [''a8 ''g] |
        \translator Staff=bass \octave c; \stemup
-       [fis'8 c'-1] b4-1 <a
+       [fis'8 c'-1] b4-1 \stemdown <a
        \translator Staff=treble \octave c''; \stemdown
        ''a4.-2>
        \stemdown
        'a8~ |
-       ['a 'g-3~] ['g16 'e 'fis8~] ['fis16 'd8.~] ['d8. cis!16] |
+       ['a 'g-3~] ['g16 'e 'fis8~] ['fis16 'd8.~] ['d8. 'cis!16] |
        \translator Staff=bass \octave c; \stemup
 %      <[d'8-2 a-1> <a~ g]> <a4 [fis16-2> e-1 fis-2 d-1]
-       \multi 2 <
-               { 
-                       [d'8-2 a~] a4 
-               }
-               { 
-                       \property Voice.hshift = 1 
-                       [a8-1 g] [fis16-2 e-1 fis-2 d-1]
-                       \property Voice.hshift = 0
-               }
+       <
+               { \voiceone; [d'8-2 a~] a4 }
+               { \voicethree; [a8-1 g] [fis16-2 e-1 fis-2 d-1] }
        >
+       \voiceone;
        [g-1 fis-2 g-1 a-2] [g-1 b-3 a-2 g-1 ~] |
        [g g-1 fis-2 e-1] fis4-2 ~ fis2
        \bar "|.";
@@ -118,7 +113,7 @@ two = \melodic{
 
 three = \melodic{
        \octave c;
-       \stemdown;
+%      \stemdown;
        d4-3 c-4 'b e-3 |
        a16 ['a-5\mf( cis-3 'a-5] [d-2 e-1 fis-2 d-4]
        [g-1 fis-3 g a] [g b a g] |
@@ -153,11 +148,11 @@ three = \melodic{
 four = \melodic{
        \skip 4*36;
        \octave c';
-       \stemup;
-       \property Voice.hshift = 1 
+%      \stemup;
+%      \property Voice.hshift = 1 
        a2 fis |
        d
-       \property Voice.hshift = 0 
+%      \property Voice.hshift = 0 
        \skip 4*11;
        \translator Staff=bass \octave c; \stemup
        a4 ~ [a16 d-2 g8-1] [fis e-1] |
@@ -168,66 +163,43 @@ four = \melodic{
        'd2 'd2
 }
 
-rh = \melodic{
-       \multi 2 <
-               \one
-               \four
-       >
-       \bar "|.";
+global  = \melodic{
+       \meter 4/4;
+       \key fis cis;
 }
 
+treble_staff = \type Staff = treble <
+       \global
+       { \voiceone \one }
+       { \voicefour \four }
+>
 
-lh = \melodic{
+bass_staff = \type Staff = bass <
+% bass = Staff <
        \clef "bass";
-       \multi 2 < 
-               \two
-               \three
-       >
-       \bar "|.";
-}
+       \global
+%      { \voiceone \two }
+       { \type Voice = bone \skip 1*0; \property Voice.ydirection = \up \two }
+       { \voicetwo \three }
+>
 
+grand_staff = \type Grandstaff <
+       \treble_staff
+       \bass_staff
+>
 
-global  = \melodic{
-       \meter 4/4;
-       \key fis cis;
+widea4 = \paper{
+       \paper_twenty
+       linewidth= 195.\mm;
+%      arithmetic_basicspace = 2.;
+%      arithmetic_multiplier = 6.\pt;
+       arithmetic_basicspace = 3.;
+       arithmetic_multiplier = 6.\pt;
 }
 
 \score{
-       % Allegretto
-       % it would be nice to shut-off fingering...
-       \melodic \type Grandstaff < 
-               \type Staff=treble  < 
-                       \global 
-% huh? try these iso directly!
-%                      \lh
-                       \multi 2 <
-                               \one
-                               \four
-                       >
-               >
-               \type Staff=bass  < 
-                       \global 
-%                      \rh
-% or try \two having here, iso above!
-%                      \two
-                       { 
-                               \clef "bass";
-                               \multi 2 < 
-                                       \two
-                                       \three
-                               >
-                       }
-               >
-       >
-       \paper{
-               \paper_twenty
-               linewidth= 195.\mm;
-%              arithmetic_basicspace = 2.;
-%              arithmetic_multiplier = 6.\pt;
-               arithmetic_basicspace = 3.;
-               arithmetic_multiplier = 6.\pt;
-       }
-       \midi{
-               \tempo 4 = 110;
-       }
+        % Allegretto
+       \grand_staff    
+       \paper{ \widea4 }
+       \midi{ \tempo 4 = 70; }
 }
index b0812f72b1813e60f774eb6d435d5c40c986e19e..0291fe4077c2cb2ec07072d02e219cca70fe2e66 100644 (file)
@@ -8,62 +8,55 @@ copyright =    "public domain";
 
 \include "paper20.ly"
 
-rh = \melodic{
+one = \melodic{
        \octave c';
        \textstyle "italic";
        [d8-1\p a-5-"legato" f-3 d-1 a-5 f-3] |
        [d-1 a-5 f-3 d-1 a-5 f-3] |
-       [d-1\< b-4 g-2 d-1 b-4 \!g-2] |
-       [d-1 b-4 g-2 d-1 b-5 g-3] |
+       [d-1\< bes-4 g-2 d-1 bes-4 \!g-2] |
+       [d-1 bes-4 g-2 d-1 bes-5 g-3] |
        [cis-1\mf g-4 e-2 cis-1 g-4 e-2] |
-       [cis-1 b-5 g-4 e-2 a-5 g-4] |
+       [cis-1 bes-5 g-4 e-2 a-5 g-4] |
        [f-3\< d-1 f-2 a-4 f-1 a-2] |
        [d'-5 a-1 d'-2 f'-4 d'-1 \!f'-2] |
        [b'\> f'-3 e' d' c'-3 b] |
        [a gis-3 fis e d'-5 \!b-2] |
-       \multi 2 
+       < 
                {
-                       \stemup
+                       \voiceone;
 %                      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
-                       a4 r r |
-                       a4 r r
-               }
+               { \voicetwo; a4 r r | a4 r r }
        > |
-       \stemboth;
+       \onevoice;
        [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 |
-%      r8 [d'-5( c bes a\pr g] |
-       r8 [d'-5( c bes a g] |
+%      r8 [d'-5( c' bes a\pr g] |
+       r8 [d'-5( c' bes a g] |
        [)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 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']
-               }
-               {
-                       \stemdown
-                       a4
+       < 
+               { 
+                       \voiceone;
+                       [cis'32-4 bes cis'16 e'8-5-"poco cresc." cis'-3 a e' cis']
                }
+               { \voicetwo; a4 }
        >
-       \stemboth
+       \onevoice;
        [a8 e'-5 cis' a bes!-3 a] |
        [g e'-5 cis'-3 g e'-5 cis'-3] |
        [g-1 e'-5 cis' g a-3 g] |
        [f-"dim." d'-5 bes f d' bes] |
        [f d'-5 bes f d' bes] |
        [fis-2-"dim." c'-5 a-3 fis-2 c'-5 a-3] |
-       [fis-2 c'-5 a-3 fis-2 c-5 a-3] |
+       [fis-2 c'-5 a-3 fis-2 c'-5 a-3] |
        [bes-4 g-1 fis-2 g-3 d-1 g-2] |
        [bes-4 g-2 d-1 bes-5 g-3 d-1] |
        [e-2\p g-4 fis-3 g-1 bes-4 g-2] |
@@ -74,43 +67,34 @@ 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] /stemup 'a-2 s16 s8 s4 |
+       [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] \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] |
+       [f' a'-4 f' d'] [f'-4 d' b d'-5] [gis-2 b a gis] |
        <g'!4.-5\f e' a> a'8-5 
-       \multi 2 <
+       <
                {
-                       \stemup
+                       \voiceone;
                        f'4-4\> ~ | \![f'8 e'] [e'32-4 f' e'8. ~] [e'8 d'-3]
                }
-               {       
-                       \stemdown
-                       <d'4 a> r4 cis'-2
-               }
+               { \voicetwo; <d'4 a> r4 cis'-2 }
        > |
-       \stemboth;
+       \onevoice;
        [d'8-4 c'!-3 a-1 d'-4 bes-2 g-1] |
        [c'-5 a-3 fis-2 bes-4 g e ] |
        [a-5 fis-"dim. e rall." d g-5 e cis-2] |
-       \multi 2 <
-               {
-                       \stemup
-                       <fis2-.-5\p 'a>
-               }
-               {       
-                       \stemdown
-                       [d32( cis d8. ~] ) d2
-               }
+       <
+               { \voiceone; <fis2-.-5\p 'a> }
+               { \voicetwo; [d32( cis d8. ~] ) d2 }
        > |
        \bar "|.";
 }
 
 
-lh = \melodic{
+two = \melodic{
        \clef "bass";
        \octave c;
        [d32( cis )d8.] r4 r |
@@ -174,12 +158,12 @@ lh = \melodic{
        r4 r r |
 %{
        ugh, 'forget' the 8 below:
-       [cis-3( e cis 'a] [d16-1 c 'b 'a] |
+       [cis-3( e cis 'a] [d16-1 c 'bes 'a] |
        and lily dumps koor
 lilypond: ../flower/include/varray.hh:116: struct Rhythmic_grouping *& Array<Rhythmic_grouping *>::elem(int) const: Assertion `i >=0&&i<size_' failed.
 Aborted (core dumped)
 %}
-       [cis8-3( e cis 'a] [d16-1 c 'b 'a] |
+       [cis8-3( e cis 'a] [d16-1 c 'bes 'a] |
        [)'g8 g a-2( g-3 a-1 'a] |
        )d4-3 d'-1 d |
        d r r |
@@ -188,33 +172,41 @@ Aborted (core dumped)
        \bar "|.";
 }
 
-global  = \melodic{
+global = \melodic{
        \meter 3/4;
        \key bes;
 }
 
+treble_staff = \type Staff = treble <
+       \global
+       \one
+>
+
+bass_staff = \type Staff = bass <
+% bass = Staff <
+       \clef "bass";
+       \global
+       \two
+>
+
+grand_staff = \type Grandstaff <
+       \treble_staff
+       \bass_staff
+>
+
+widea4 = \paper {
+       \paper_twenty
+%      arithmetic_basicspace = 2.;
+%      arithmetic_multiplier = 6.\pt;
+       arithmetic_basicspace = 2.;
+       arithmetic_multiplier = 8.\pt;
+       linewidth= 195.\mm;
+}
+
 \score{
-       % Moderato
-       % it would be nice to shut-off fingering...
-       \melodic \type Grandstaff < 
-               <
-                       \global 
-                       \rh
-               >
-               <
-                       \global 
-                       \lh
-               >
-       >
-       \paper{
-               \paper_twenty
-               linewidth= 195.\mm;
-%              arithmetic_basicspace = 2.;
-%              arithmetic_multiplier = 6.\pt;
-               arithmetic_basicspace = 2.;
-               arithmetic_multiplier = 8.\pt;
-       }
-       \midi{
-               \tempo 4 = 90;
-       }
+        % Moderato
+       \grand_staff
+       \paper{ \widea4 }
+       \midi{ \tempo 4 = 90; }
 }
+
index b25d5a287faafb42c5723602b48bd283f29e5a89..1c46d4b0cd564a7ebad44e85513ed9a64da6f911 100644 (file)
@@ -22,7 +22,7 @@ one = \melodic{
        [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] \!e'4-5\> |
+       fis4-4 g r8\<-"rall." [g16-1( bes-2] \!e'4-5 |
        \!)d'1-5
        \bar "|.";
 }
@@ -41,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.] s4 r16 [bes-2 a-2 \!g-1] |
+       r16 [e-3 d-1 c!-2] ['bes! d8.] s4 r16\> [bes-2 a-2 \!g-1] |
        fis1-2
 }
 
@@ -79,65 +79,45 @@ four = \melodic{
        b2-1 a-1 |
        g a4. [gis16 a] |
        gis2 <[g8 cis> <f-3 d-1]> e4-2 |
-       d4. [fis16-3 g-2] r16 b8.-1 ~ b4 |
+       d4. [fis16-3 g-2] r16 bes8.-1 ~ bes4 |
        \stemdown
        d1-5
 }
 
-rh = \melodic{
-       \one
-       \multi 2 < 
-               \one
-               \two
-       >
-       \bar "|.";
+global = \melodic{
+       \meter 4/4;
+       \key bes;
 }
 
 
-lh = \melodic{
+treble_staff = \type Staff = treble <
+       \global
+       \one
+       \two
+>
+
+bass_staff = \type Staff = bass <
+% bass = Staff <
        \clef "bass";
-       \multi 2 <
-             \three
-             \four
-       >
-       \bar "|.";
-}
+       \global
+       \three
+       \four
+>
 
+grand_staff = \type Grandstaff <
+       \treble_staff
+       \bass_staff
+>
 
-global  = \melodic{
-       \meter 4/4;
-       \key bes;
+a4 = \paper{
+       \paper_twenty
+       linewidth = 195.\mm;
 }
 
 \score{
-       % Allegretto
-       % it would be nice to shut-off fingering...
-       \melodic \type Grandstaff < 
-               \type Staff=treble  < 
-                       \global 
-% huh? try these iso directly!
-%                      \lh
-                       \multi 2 < 
-                                 \one
-                                 \two
-                       >
-               >
-               \type Staff=bass  < 
-                       \global 
-%                      \rh
-% or try \two having here, iso above!
-                       \clef "bass";
-                       \multi 2 <
-                                 \three
-                                 \four
-                       >
-               >
-       >
-       \paper{
-               \paper_twenty
-               linewidth= 195.\mm;
-       }
-       \midi{
-               \tempo 4 = 40;
-       }
+        % Allegretto
+       \grand_staff
+       \paper{ \a4 }
+       \midi{ \tempo 4 = 40; }
 }
+
index 942bd2d55bfee481b686b007f0e34745ea2038e8..6bed0be4d8809e5c2e36eef0a5cfd39ec3d2a65d 100644 (file)
@@ -8,7 +8,7 @@
 \hsize210mm
 \vsize269mm
 \advance\topmargin-25mm
-\advance\textheight45mm
+\advance\textheight50mm
 \pagestyle{empty}
 
 \input titledefs
@@ -39,7 +39,6 @@
 \kern-\staffheight
 
 \piece{1}{preludes-1}{Moderato}
-\vskip2\staffheight
 \piece{2}{preludes-2}{Moderato}
 \newpage
 \piece{3}{preludes-3}{Semplice e non troppo legato}
index 56b5484e9fe0bfe5a0a27764a0735ab5016e4132..0b9e7fcabcbedd9d736477601da48c2d90741431 100644 (file)
@@ -14,19 +14,18 @@ copyright =  "Public Domain";
 
 \version "0.1.9";
 
+keyCminor = \melodic \key bes es as;
                                     % should add \need{dutch.ini} for
                                     % correct parsing of note names
 
-global = 
-    \melodic {
+global = \melodic {
          \meter 4/4;                % should be \meter C
          \keyCminor 
         \skip 1*31;
         \bar "|."; |
-    }
+}
   
-dux =
-    \melodic {
+dux = \melodic {
         \clef "violin";
         \octave c';
 
@@ -72,11 +71,10 @@ dux =
 %% 30
         f4 r8 f [f es16 d] [es8 <f as]> |
         <B d> r <B d> r <G2 c> |
-    }
+}
 
 
-comes =
-    \melodic {
+comes = \melodic {
         \octave c'';
         \stemup
         r1 |
@@ -117,10 +115,9 @@ comes =
 %% 30
         [As c16 B] [c8 <d 'b! 'as!]> [G8 c16 B] [c8 d] |
         [F16 G] As4 [G16 F] E2 |
-    }
+}
 
-bassdux =
-    \melodic {
+bassdux = \melodic {
         \clef "bass";
         \octave c';
         r1 |
@@ -167,7 +164,7 @@ bassdux =
 
         
 \score {
-    \melodic \type Grandstaff < 
+       \type Grandstaff < 
        \type Staff=treble  < 
                        \global 
                        \dux
index 3c9b7f1438e0207bcc28fe2f5de8d9eb270aa868..4032e1351a6089794185dbfba88f0506fac3b329 100644 (file)
@@ -1,30 +1,39 @@
 % dyndefs.tex
 %
 
+%\let\dyn\dynfont
 \def\dyn{\dynfont}
-\def\dynaf{\dynfont\char0}
-\def\dynnf{\dynfont\char1}
-\def\dynnf{\dynfont\char1}
-\def\dynp{\dynfont\char2}
-\def\dynm{\raise.08ex\hbox{\dynfont\char3}}
-\def\dynr{\raise.1ex\hbox{\dynfont\char4}}
-\def\dyns{\raise.1ex\hbox{\dynfont\char5}}
-\def\dynz{\raise.1ex\hbox{\dynfont\char6}}
 
-\def\kdynf{\dynnf\kern-.25ex}
-\def\kdynp{\dynp\kern-.15ex}
+\chardef\dynaf = 0
+\chardef\dynnf = 1
+\chardef\dynnp = 2
+\chardef\dynnm = 3
+\chardef\dynnr = 4
+\chardef\dynns = 5
+\chardef\dynnz = 6
 
-\def\dynf{{\dynaf}}
-\def\dynpp{{\kdynp\dynp}}
-\def\dynppp{{\kdynp\kdynp\dynp}}
-\def\dynmp{{\raise.1ex\hbox{\dynm}\kern -.25ex\dynp}}
-\def\dynmf{{\dynfont\raise.08ex\hbox{\dynm}\kern-.45ex\dynnf}}
-\def\dynff{{\kdynf\dynnf}}
-\def\dynfff{{\kdynf\kdynf\dynnf}}
+\def\dynm{\raise .2ex\hbox{\dynnm}}
+\def\dynmm{\raise .1ex\hbox{\dynnm}}
+\def\dynr{\raise .2ex\hbox{\dynnr}}
+\def\dyns{\raise .15ex\hbox{\dynns}}
+\def\dynz{\raise .15ex\hbox{\dynnz}}
 
-\def\dynfp{{\kdynf\kern.1ex\dynp}}
-\def\dynsf{{\dyns\kern-.5ex\dynnf}}
-\def\dynsfz{{\dynsf\kern-.15ex\dynz}}
-\def\dynfz{{\dynf\dynz}}
-\def\dynrf{{\dynr\kern-.4ex\dynf}}
+\def\kdynf{\dynnf\kern -0.1em}
+\def\kdynp{\dynnp\kern -0.05em}
 
+\def\dynp{{\dyn\dynnp}}
+\def\dynpp{{\dyn\kdynp\dynnp}}
+\def\dynppp{{\dyn\kdynp\kdynp\dynnp}}
+\def\dynmp{{\dyn\dynmm\kern -0.07em\dynnp}}
+\def\dynmf{{\dyn\dynm\kern -0.14em\dynnf}}
+\def\dynf{{\dyn\dynaf}}
+\def\dynff{{\dyn\kdynf\dynnf}}
+\def\dynfff{{\dyn\kdynf\kdynf\dynnf}}
+
+\def\dynfp{{\dyn\dynnf\kern -0.04em\dynnp}}
+\def\dynsf{{\dyn\dyns\kern -0.13em\dynnf}}
+\def\dynsfz{{\dyn\dynsf\dynz}}
+\def\dynfz{{\dyn\dynnf\dynz}}
+\def\dynrf{{\dyn\dynr\kern -0.1em\dynnf}}
+
+\endinput
index 0552dd37ae603a96ba87f2a3e09087b66491fbcc..d8e63ccbab8a07071b028b3f5a64559ee3e8e5ac 100644 (file)
@@ -1,45 +1,49 @@
 % fetdefs.tex
 % encapsulating tex backend for auto-generated feta definitions
 
-\def\fetsixteendefs{
-        \font\feta=feta16
-        \font\vetfont=feta-beams16
-        \font\fetanummer=feta-nummer8
-        \font\dynfont=feta-din10 scaled \magstep1
-        \font\bracefont=feta-braces16
-        \font\fingerfont=feta-nummer4
+\def\fetsixteendefs{%
+  \font\feta = feta16
+  \font\vetfont = feta-beams16
+  \font\fetanummer = feta-nummer8
+  \font\dynfont = feta-din10 scaled \magstep 1
+  \font\bracefont = feta-braces16
+  \font\fingerfont = feta-nummer4
 }
-\def\fettwentydefs{
-        \font\feta=feta20
-        \font\vetfont=feta-beams20
-        \font\fetanummer=feta-nummer10
-        \font\dynfont=feta-din10 scaled \magstep2
-        \font\bracefont=feta-braces20
-        \font\fingerfont=feta-nummer5
+
+\def\fettwentydefs{%
+  \font\feta = feta20
+  \font\vetfont = feta-beams20
+  \font\fetanummer = feta-nummer10
+  \font\dynfont = feta-din10 scaled \magstep 2
+  \font\bracefont = feta-braces20
+  \font\fingerfont = feta-nummer5
 }
-\def\fettwentysixdefs{
-        \font\feta=feta26
-        \font\vetfont=feta-beams26
-        \font\fetanummer=feta-nummer12
-        \font\dynfont=feta-din10 scaled \magstep3
-        \font\bracefont=feta-braces16
-        \font\fingerfont=feta-nummer7
+
+\def\fettwentysixdefs{%
+  \font\feta = feta26
+  \font\vetfont = feta-beams26
+  \font\fetanummer = feta-nummer12
+  \font\dynfont = feta-din10 scaled \magstep 3
+  \font\bracefont = feta-braces16
+  \font\fingerfont = feta-nummer7
 }
-\def\fetthirteendefs{
-      \font\feta=feta13
-        \font\vetfont=feta-beams26
-        \font\fetanummer=feta-nummer5
-        \font\dynfont=feta-din10 scaled \magstep0
-        \font\bracefont=feta-braces16
-        \font\fingerfont=feta-nummer3
+
+\def\fetthirteendefs{%
+  \font\feta = feta13
+  \font\vetfont = feta-beams26
+  \font\fetanummer = feta-nummer5
+  \font\dynfont = feta-din10 scaled \magstep 0
+  \font\bracefont = feta-braces16
+  \font\fingerfont = feta-nummer3
 }
-\def\fetelevendefs{
-        \font\feta=feta11
-        \font\vetfont=feta-beams26
-        \font\fetanummer=feta-nummer5
-        \font\dynfont=feta-din10 %scaled \magstep-1
-        \font\bracefont=feta-braces16
-        \font\fingerfont=feta-nummer3
+
+\def\fetelevendefs{%
+  \font\feta = feta11
+  \font\vetfont = feta-beams26
+  \font\fetanummer = feta-nummer5
+  \font\dynfont = feta-din10        % scaled \magstep-1
+  \font\bracefont = feta-braces16
+  \font\fingerfont = feta-nummer3
 }
 
 
@@ -48,9 +52,9 @@
 \def\twentysixfonts{\fettwentysixdefs\cmrtwenty}
 \def\elevenfonts{\fetelevendefs\cmreleven}
 \def\thirteenfonts{\fetthirteendefs\cmrthirteen}
-\def\fetdef#1#2{\def#1{%
-        \hbox{\fetchar{#2}}}}
 
+\def\fetdef#1#2{%
+  \def#1{\hbox{\fetchar{#2}}}}
 \def\fetchar#1{\feta\char#1}
 
 %\input feta16
 % stacked numbers; overrules def in lilyponddefs
 % widest num should be .40 balkheight
 % oeps: \meter 12/8;
+%
+% \allabreve, \threetwometer etc. have zero as the second parameter.
+
 \def\generalmeter#1#2{%
-        \vbox to 0pt{\vss%
-        \hbox to0.45\staffheight{\hss\fetanummer #1\hss}%
-        \nointerlineskip%
-        \hbox to0.45\staffheight{\hss\fetanummer #2\hss}%
-        \vss}}
+  \ifnum #2 = 0\relax
+    \ifcase #1
+    \or\or
+      % 2
+      \allabreve
+    \or
+      % 3
+      \threetwometer    % tempus perfectum cum prolatione imperfecta
+    \or
+      % 4
+      \fourfourmeter    % tempus imperfectum cum prolatione imperfecta
+    \or\or
+      % 6
+      \sixfourmeter     % tempus imperfectum cum prolatione perfecta
+    \or\or\or
+      % 9
+      \ninefourmeter    % tempus perfectum cum prolatione perfecta
+    \fi
+  \else
+    \vbox to 0pt{%
+      \vss
+      \hbox to 0.45\staffheight{\hss\fetanummer #1\hss}%
+      \nointerlineskip
+      \hbox to 0.45\staffheight{\hss\fetanummer #2\hss}%
+      \vss}%
+  \fi}
 
 \def\pianobrace#1{{\bracefont\char #1}}
 
 %
 % \input lily-mf-defs
 
-\def\EndLilyPondOutput{
-        \embedclose
-        \csname bye\endcsname
+\def\EndLilyPondOutput{%
+  \embedclose
+  \csname bye\endcsname
 }
 
-
-
+\endinput
index 7a841241557419b1d30083f832a42621667ae395..67cfd2e3bfdb8245d043d642e6e1ed83bb3ac6c5 100644 (file)
@@ -72,7 +72,7 @@
 
 \def\cmrtwenty{
         \font\meterfont=cmbx15
-        \font\italicfont=cmti10
+        \font\italicfont=cmti10 scaled \magstep1
         \font\musicmathfont=cmsy10
         \font\normaltextfont=cmr10 %\textfont is a primitive
         \font\smalltextfont=cmr8
@@ -83,7 +83,7 @@
         \font\smalltextfont=cmr6
         \font\normaltextfont=cmr8 %\textfont is a primitive
         \font\meterfont=cmbx12
-        \font\italicfont=cmti8
+        \font\italicfont=cmti9
         \font\textmusic=cmmi10
         \font\boldfont=cmbx8
 }