summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.dstreamrc16
-rw-r--r--AUTHORS.text6
-rw-r--r--Documentation/AUTHORS.pod2
-rw-r--r--Documentation/Rules.make2
-rw-r--r--Documentation/gnu-music.pod13
-rw-r--r--Documentation/literature.pod16
-rw-r--r--INSTALL.text12
-rw-r--r--NEWS13
-rw-r--r--TODO25
-rw-r--r--VERSION4
-rw-r--r--bin/Makefile24
-rw-r--r--[-rwxr-xr-x]bin/clean-diaper.sh (renamed from bin/clearlily)4
-rwxr-xr-xbin/clean-fonts8
-rw-r--r--bin/clean-fonts.sh7
-rw-r--r--[-rwxr-xr-x]bin/conflily.sh (renamed from bin/conflily)0
-rw-r--r--bin/convert-mudela.pl (renamed from bin/convert-mudela.in)29
-rw-r--r--[-rwxr-xr-x]bin/cpgento.sh (renamed from bin/cpgento)0
-rw-r--r--bin/find-typenames.pl20
-rw-r--r--bin/genheader.py2
-rwxr-xr-xbin/lily.efence4
-rw-r--r--bin/make-docxx.sh5
-rw-r--r--[-rwxr-xr-x]bin/make-patch.sh (renamed from bin/make-patch)0
-rw-r--r--[-rwxr-xr-x]bin/make-version.sh (renamed from bin/make-version)0
-rw-r--r--bin/make-website.pl (renamed from bin/make-website.in)3
-rw-r--r--bin/mf-to-table.py33
-rw-r--r--bin/mudela-book.pl (renamed from bin/mudela-book.in)0
-rw-r--r--[-rwxr-xr-x]bin/release.sh (renamed from bin/release)2
-rw-r--r--bin/show-latest.pl (renamed from bin/show-latest.in)0
-rw-r--r--flower/TODO14
-rw-r--r--flower/include/string.hh5
-rw-r--r--init/engraver.ly2
-rw-r--r--init/font-en-tja16.ly95
-rw-r--r--init/font-en-tja20.ly95
-rw-r--r--init/script.ly18
-rw-r--r--init/symbol.ly2
-rw-r--r--init/table16.ly58
-rw-r--r--init/table20.ly65
-rw-r--r--init/vette-beams16.ly3
-rw-r--r--init/vette-beams20.ly3
-rw-r--r--input/abbrev.ly8
-rw-r--r--input/beams.ly21
-rw-r--r--input/cadenza.ly20
-rw-r--r--input/collisions.ly12
-rw-r--r--input/coriolan-alto.ly21
-rw-r--r--input/font.ly22
-rw-r--r--input/gallina.ly25
-rw-r--r--input/gourlay.ly16
-rw-r--r--input/keys.ly14
-rw-r--r--input/kortjakje.ly14
-rw-r--r--input/multi.ly10
-rw-r--r--input/pedal.ly2
-rw-r--r--input/rhythm.ly10
-rw-r--r--input/scales.ly10
-rw-r--r--input/scripts.ly15
-rw-r--r--input/scsii-menuetto.ly18
-rw-r--r--input/slurs.ly14
-rw-r--r--input/standchen-16.ly17
-rw-r--r--input/standchen-20.ly19
-rw-r--r--input/standchen.ly16
-rw-r--r--input/toccata-fuga-E.ly18
-rw-r--r--input/twinkle-pop.ly14
-rw-r--r--input/twinkle.ly30
-rw-r--r--input/wtk1-fugue1.ly16
-rw-r--r--input/wtk1-fugue2.ly18
-rw-r--r--input/wtk1-prelude1.ly16
-rw-r--r--lily/Stable.make2
-rw-r--r--lily/VERSION2
-rw-r--r--lily/abbreviation-beam.cc2
-rw-r--r--lily/atom.cc8
-rw-r--r--lily/axis.cc23
-rw-r--r--lily/bar.cc4
-rw-r--r--lily/beam-swallow-trans.cc15
-rw-r--r--lily/beam.cc8
-rw-r--r--lily/boxes.cc12
-rw-r--r--lily/clef-grav.cc8
-rw-r--r--lily/clef-item.cc10
-rw-r--r--lily/col-info.cc8
-rw-r--r--lily/dot-column.cc2
-rw-r--r--lily/dots.cc8
-rw-r--r--lily/graphical-element.cc6
-rw-r--r--lily/horizontal-align-item.cc4
-rw-r--r--lily/include/atom.hh2
-rw-r--r--lily/include/axes.hh8
-rw-r--r--lily/include/beam-swallow-trans.hh15
-rw-r--r--lily/include/clef-item.hh2
-rw-r--r--lily/include/col-info.hh4
-rw-r--r--lily/include/graphical-element.hh2
-rw-r--r--lily/include/lookup.hh4
-rw-r--r--lily/include/molecule.hh2
-rw-r--r--lily/include/my-lily-lexer.hh56
-rw-r--r--lily/key-item.cc8
-rw-r--r--lily/lexer.l57
-rw-r--r--lily/local-key-item.cc29
-rw-r--r--lily/lookup.cc10
-rw-r--r--lily/lyric-grav.cc2
-rw-r--r--lily/meter.cc1
-rw-r--r--lily/molecule.cc6
-rw-r--r--lily/my-lily-lexer.cc18
-rw-r--r--lily/my-lily-parser.cc1
-rw-r--r--lily/note-head.cc (renamed from lily/notehead.cc)22
-rw-r--r--lily/parser.y29
-rw-r--r--lily/rest.cc17
-rw-r--r--lily/scoreline.cc2
-rw-r--r--lily/script-def.cc4
-rw-r--r--lily/script.cc4
-rw-r--r--lily/span-bar.cc2
-rw-r--r--lily/spring-spacer.cc20
-rw-r--r--lily/staff-side.cc3
-rw-r--r--lily/staff-sym.cc2
-rw-r--r--lily/stem.cc42
-rw-r--r--lily/tex-slur.cc6
-rw-r--r--lily/text-item.cc4
-rw-r--r--lily/vertical-align-elem.cc20
-rw-r--r--make/Targets.make5
-rw-r--r--make/Variables.make9
-rw-r--r--make/lelievijver.lsm6
-rw-r--r--make/lilypond.lsm8
-rw-r--r--make/lilypond.spec7
-rw-r--r--make/lilypond.spec.in1
-rw-r--r--mf/Makefile2
-rw-r--r--mf/TODO5
-rw-r--r--mf/autometric.mf12
-rw-r--r--mf/dimen.tex1
-rw-r--r--mf/feta-banier.mf6
-rw-r--r--mf/feta-bolletjes.mf6
-rw-r--r--mf/feta-generic.mf15
-rw-r--r--mf/feta-macros.mf14
-rw-r--r--mf/feta-schrift.mf149
-rw-r--r--mf/feta-toevallig.mf6
-rw-r--r--mf/font-en-tja16.mf3
-rw-r--r--mf/font-en-tja20.mf3
-rw-r--r--mf/foo.mf0
-rw-r--r--mf/mfbug.mf21
-rw-r--r--tex/font-en-tja16.tex15
-rw-r--r--tex/font-en-tja20.tex15
-rw-r--r--tex/lilyponddefs.tex26
-rw-r--r--tex/vette-beams16.tex3
-rw-r--r--tex/vette-beams20.tex3
138 files changed, 988 insertions, 905 deletions
diff --git a/.dstreamrc b/.dstreamrc
index 7669e1cdb3..178573bd1a 100644
--- a/.dstreamrc
+++ b/.dstreamrc
@@ -5,18 +5,18 @@ Dstream 1
# yydebug
InitParser 1
-Parser 0
+Parser 1
InitDeclarations 1
Declarations 1
# FlexLexer debug
InitLexer 1
-Lexer 1
+Lexer 0
# flower lib
File_path 1
Matrix 0
-Vector 1
+Vector 0
# lily
Atom 0
@@ -35,11 +35,11 @@ Engraver_group_engraver 0
Group_change_req 0
Head_column 0
Idealspacing 0
-Ineq_constrained_qp 1
+Ineq_constrained_qp 0
Input_translator 0
Item 0
Key_item 0
-Lookup 1
+Lookup 0
Line_spacer 0
Melodic_req 0
Midi_def 0
@@ -47,7 +47,7 @@ Midistrings 1
Mixed_qp 0
Music 0
Music_iterator 0
-My_lily_lexer 0
+My_lily_lexer 1
Note_head 0
Note_performer 0
Note_req 0
@@ -80,8 +80,8 @@ Staff_commands 0
Stem 0
Stem 0
Stem_req 0
-Symtable 1
-Symtables 1
+Symtable 0
+Symtables 0
Text_def 0
Text_req 0
diff --git a/AUTHORS.text b/AUTHORS.text
index 59490e17be..45db5d4374 100644
--- a/AUTHORS.text
+++ b/AUTHORS.text
@@ -25,7 +25,8 @@ AAAAUUUUTTTTHHHHOOOORRRRSSSS
Documentation/mudela.pod, lib/*source-file*,
lib/duration.cc, lib/source*, flower/*{list,cursor}*,
lily/rest-collision*, lily/*abbreviation*, conflily,
- cygnus w32 stuff, lily/*perf*, some input files, mf/*
+ cygnus w32 stuff, lily/*perf*, some input files,
+ mf/*{bolletjes,wat-zie-ik,eindelijk}
and corresponding header files.
@@ -60,7 +61,6 @@ CCCCOOOONNNNTTTTRRRRIIIIBBBBUUUUTTTTOOOORRRRSS
-
-23/Sep/97 LilyPond 0.1.20 1
+10/Oct/97 LilyPond 0.1.22 1
diff --git a/Documentation/AUTHORS.pod b/Documentation/AUTHORS.pod
index 16f62c203f..1839dec915 100644
--- a/Documentation/AUTHORS.pod
+++ b/Documentation/AUTHORS.pod
@@ -24,7 +24,7 @@ lily/midi-*, mi2mu/*, parts flower/string*.cc, make/*.make, */Makefile
parts of Documentation/mudela.pod, lib/*source-file*, lib/duration.cc,
lib/source*, flower/*{list,cursor}*, lily/rest-collision*,
lily/*abbreviation*, conflily, cygnus w32 stuff, lily/*perf*, some
-input files, mf/*
+input files, mf/*{bolletjes,wat-zie-ik,eindelijk}
and corresponding header files.
diff --git a/Documentation/Rules.make b/Documentation/Rules.make
index 7e87d4ff6b..d5c66f344b 100644
--- a/Documentation/Rules.make
+++ b/Documentation/Rules.make
@@ -57,7 +57,7 @@ $(outdir)/%.dvi: $(depth)/input/%.ly $(depth)/VERSION
# generate the pixmap at twice the size, then rescale (for antialiasing)
$(outdir)/%.gif: $(outdir)/%.ps
- gs -q -sDEVICE=ppmraw -sOutputFile=- -r200 -dNOPAUSE $< -c quit |pnmscale 0.5| ppmtogif > $@
+ gs -q -sDEVICE=ppmraw -sOutputFile=- -r200 -dNOPAUSE $< -c quit |pnmscale 0.5| ppmtogif > $@
$(outdir)/%.ly.txt: $(depth)/input/%.ly
ln -f $< $@
diff --git a/Documentation/gnu-music.pod b/Documentation/gnu-music.pod
index 21a6385130..3a34a5dfac 100644
--- a/Documentation/gnu-music.pod
+++ b/Documentation/gnu-music.pod
@@ -93,17 +93,12 @@ of use and power.
=item A set of music fonts
Preferably in Metafont, suited to both screen display and use on
-paper; This is needed because
-
-1. the copyright heritage of {Opus,Musix}tex is unclear.
-
-2. We don't have any legal papers which make these fonts free (to use
-and alter)
+paper.
=item A typesetting engine
A system with rules on how to set properties of items to be printed
-(up/down directions, breaking, dimensoins, etc) LilyPond provides one,
+(up/down directions, breaking, dimensions, etc) LilyPond provides one,
but it is not (yet) suited to interactive typesetting
=item A display engine
@@ -170,10 +165,6 @@ formats.
=back
-The typesetting system has a complexity comparable to TeX's, the GUI
-would be comparable to LyX (?) with additional complexity in
-recognizing input.
-
=head1 TASKS (SHORT TERM)
=over 4
diff --git a/Documentation/literature.pod b/Documentation/literature.pod
index 038c86f577..a085af6c6a 100644
--- a/Documentation/literature.pod
+++ b/Documentation/literature.pod
@@ -44,14 +44,20 @@ notation issues as one is likely to get. MB]
Karl Hader. ``Aus der Werkstatt eines Notenstechers'' Waldheim--Eberle
Verlag, Vienna 1948
-[Hader was the leader of the Waldheim-Eberle music publishers. This
-book contains the most important rules on engraving]
+[Hader was the chief-engraver of the Waldheim-Eberle music publishers.
+This book contains the most important rules on engraving (according to
+[Chlapik])]
MPA. Standard music notation specifications for computer programming.
December 1996
[Pamphlet explaining some fine points in music font design HWN]
+D. Roush. ``Music Formatting Guidelines,'' Technical Report
+OSU-CISRC-3/88-TR10, Department of Computer and Information Science,
+The Ohio State University, 1988.
+
+[Rules on formatting music formulated for use in computers HWN]
=head2 Notation with computers
@@ -130,12 +136,6 @@ Computer and Information Science, The Ohio State University, 1987.
[Placement of balls, stems, dots which occur at the same moment
("Simultaneity") HWN]
-D. Roush. ``Music Formatting Guidelines,'' Technical Report
-OSU-CISRC-3/88-TR10, Department of Computer and Information Science,
-The Ohio State University, 1988.
-
-[Rules on formatting music formulated for use in computers HWN]
-
F. Sola. ``Computer Design of Musical Slurs, Ties and Phrase Marks,''
Technical Report OSU-CISRC-10/87-TR32, Department of Computer and
Information Science, The Ohio State University, 1987.
diff --git a/INSTALL.text b/INSTALL.text
index 638c007348..202a89efff 100644
--- a/INSTALL.text
+++ b/INSTALL.text
@@ -61,7 +61,7 @@ RRRRUUUUNNNNNNNNIIIINNNNGGGG
-8/Oct/97 LilyPond 0.1.21 1
+8/Oct/97 LilyPond 0.1.22 1
@@ -127,7 +127,7 @@ CCCCOOOONNNNFFFFIIIIGGGGUUUURRRRIIIINNNNGGGG a
-8/Oct/97 LilyPond 0.1.21 2
+8/Oct/97 LilyPond 0.1.22 2
@@ -193,7 +193,7 @@ INSTALL(1) LilyPond documentation INSTALL(1)
-8/Oct/97 LilyPond 0.1.21 3
+8/Oct/97 LilyPond 0.1.22 3
@@ -259,7 +259,7 @@ IIIINNNNSSSSTTTTAAAALLLLLLLLIIIINNNNGGGG
-8/Oct/97 LilyPond 0.1.21 4
+8/Oct/97 LilyPond 0.1.22 4
@@ -325,7 +325,7 @@ RRRREEEEDDDDHHHHAAAATTTT LLLLIIIINNNNUUUUXXXX
-8/Oct/97 LilyPond 0.1.21 5
+8/Oct/97 LilyPond 0.1.22 5
@@ -391,6 +391,6 @@ AAAAUUUUTTTTHHHHOOOORRRRSSSS
-8/Oct/97 LilyPond 0.1.21 6
+8/Oct/97 LilyPond 0.1.22 6
diff --git a/NEWS b/NEWS
index 3f196faa5e..abf20884ef 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,16 @@
+pl 22
+ - bf: lyric 's- Zondags
+ - bf: colliding accidentals: renamed translate(Real,Axis) to translate_axis()
+ - renaming of scripts
+ - strings with escaped characters.
+ - bf "string_with_\"_embedded"
+ - bf: mf/Makefile
+ - feta changes (trill, organ pedals)
+ - updated mf-to-table for new feta conventions
+ - changed header format to something sensible.
+ - moved staff to centerline == 0;
+
+********
pl 21
- shrinking uses more energy than stretching
- check IO error on writing (disk full?)
diff --git a/TODO b/TODO
index f3b65e6c36..e8416d1003 100644
--- a/TODO
+++ b/TODO
@@ -6,15 +6,15 @@ done, or is an idea that I want to think about
Most of the items are marked in the code as well, with full explanation.
grep for TODO and ugh/ugr
- * accidental placement
+ * todo key-sig placement.
+
+ * put errorlevel in Input
* AFM for font input?
* Make general "spanning"-elements and "placer"-elements
- * Unicode support?
-
- - naming Mozarella, Madeira, Muella, Fontaigna, Feta?
+ - naming Mozarella, Madeira, Muella, Feta?
- bf: abbrevs over whole note
- scoping for properties
@@ -53,20 +53,20 @@ grep for TODO and ugh/ugr
* Fix profiling. gprof bugreport?
- * read from mmap directly: bugreport to flex developers->
- yy_scan_buffer in C++..
-
- * (where are the) gcc compile warnings on linux
-
PROJECTS
+ * Unicode support?
+ - 16 bit Strings
+ - -u switch
+ - detect of 16/8 bit files
+ - examples to go with it.
+
* Spring_spacer:
- write a faster Spring_spacer ( without matrices if possible )
- relate energybound to linelen unitspace fontsize etc.
- used fixed point fp
* \header
- - revise lexer mode
- write perl script for handling it into databases
- write TeX macros to generate titles
@@ -102,16 +102,13 @@ languages:
- derive lily_stream, Dstream, texstream from ostream?
- indentable stream as baseclass for TeX stream, lily stream, Dstream.
- use dstream feature in mi2mu
+ - integrate IO checking into stream class
* input converters
- NIFF?
- ABC?
- SMDL?
- * robustification
- - check write errors
- - check read errors
-
* placement of bar-numbers
******************
diff --git a/VERSION b/VERSION
index eb47bd8f02..f54b7cfd6e 100644
--- a/VERSION
+++ b/VERSION
@@ -1,6 +1,6 @@
TOPLEVEL_MAJOR_VERSION = 0
TOPLEVEL_MINOR_VERSION = 1
-TOPLEVEL_PATCH_LEVEL = 21
-TOPLEVEL_MY_PATCH_LEVEL = .jcn1
+TOPLEVEL_PATCH_LEVEL = 22
+TOPLEVEL_MY_PATCH_LEVEL =
# use the above to send patches, always empty for released version:
diff --git a/bin/Makefile b/bin/Makefile
index 4b3c40476d..7850aabe65 100644
--- a/bin/Makefile
+++ b/bin/Makefile
@@ -4,24 +4,26 @@ depth = ..
include $(depth)/make/Include.make
# list of distribution files:
-SCRIPTS = clearlily cpgento make-patch lily.efence \
- make-version release conflily clean-fonts
-PERL_SCRIPTS_IN = $(wildcard *.in)
-PERL_SCRIPTS = $(addprefix $(outdir)/, $(PERL_SCRIPTS_IN:.in=))
+PERL_SCRIPTS_IN = $(wildcard *.pl)
+PERL_SCRIPTS = $(addprefix $(outdir)/, $(PERL_SCRIPTS_IN:.pl=))
+SH_SCRIPTS_IN = $(wildcard *.sh)
+SH_SCRIPTS = $(addprefix $(outdir)/, $(SH_SCRIPTS_IN:.sh=))
PYTHON_SCRIPTS_IN = $(wildcard *.py)
PYTHON_SCRIPTS = $(addprefix $(outdir)/, $(PYTHON_SCRIPTS_IN:.py=))
-EXTRA_DISTFILES = $(SCRIPTS) $(PERL_SCRIPTS_IN) $(PYTHON_SCRIPTS_IN)
-#
+EXTRA_DISTFILES = $(SH_SCRIPTS_IN) $(PERL_SCRIPTS_IN) $(PYTHON_SCRIPTS_IN)
-all: $(PERL_SCRIPTS) $(PYTHON_SCRIPTS)
-$(outdir)/%: %.in
-# cd .. && CONFIG_FILES=bin/$(notdir $@) CONFIG_HEADERS= ./config.status
-# mv $(< :.in=) $@
-# this nukes make/out/Configure_variables.make.
+all: $(PERL_SCRIPTS) $(PYTHON_SCRIPTS) $(SH_SCRIPTS)
+
+$(outdir)/%: %.pl
sed 's!@PERL@!$(PERL)!' < $< > $@
chmod 755 $@
+#FIXME. Check for bash?
+$(outdir)/%: %.sh
+ sed 's!@SH@!$(SH)!' < $< > $@
+ chmod 755 $@
+
$(outdir)/%: %.py
sed 's!@PYTHON@!$(PYTHON)!' < $< > $@
chmod 755 $@
diff --git a/bin/clearlily b/bin/clean-diaper.sh
index 22a4ea6df3..284346da82 100755..100644
--- a/bin/clearlily
+++ b/bin/clean-diaper.sh
@@ -4,6 +4,10 @@
rm -vf *.aux *.log `grep -li "^% Creator: GNU LilyPond" *.out` *.orig *~
rm -vf `grep -li "Creator: mi2mu" *.midi.ly`
rm -vf `grep -li "Creator: GNU LilyPond" *.midi`
+rm -vf `find -name 'core'`
+rm -vf `find -name *.orig`
+rm -vf `find -name *.rej`
+
# docxx mess
rm -vf *dvi
rm -vf *.class HIER*.html dxxgifs.tex gifs.db icon?.gif logo.gif down.gif \
diff --git a/bin/clean-fonts b/bin/clean-fonts
deleted file mode 100755
index cc1c070747..0000000000
--- a/bin/clean-fonts
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-# remove possibly stale .pk/.tfm files
-echo> /tmp/cleaning-font
-FILES=`find /var/lib/texmf/ -name 'font-en-tja*'`
-# FILES=`find /var/lib/texmf/ -name 'font-en-tja*' -o -name 'vette-beam*' -o -name 'dyn10*'`
-echo removing $FILES
-rm $FILES /tmp/cleaning-font
diff --git a/bin/clean-fonts.sh b/bin/clean-fonts.sh
new file mode 100644
index 0000000000..8494ff68a5
--- /dev/null
+++ b/bin/clean-fonts.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+# remove possibly stale .pk/.tfm files
+echo> /tmp/cleaning-font
+FILES=`find /var/lib/texmf/ -name 'font-en-tja*'` # -or -name 'vette-beam*'`
+echo removing $FILES
+rm $FILES /tmp/cleaning-font
diff --git a/bin/conflily b/bin/conflily.sh
index de2ce672f9..de2ce672f9 100755..100644
--- a/bin/conflily
+++ b/bin/conflily.sh
diff --git a/bin/convert-mudela.in b/bin/convert-mudela.pl
index 8b05c1561a..7c26746870 100644
--- a/bin/convert-mudela.in
+++ b/bin/convert-mudela.pl
@@ -119,6 +119,19 @@ sub convert_0_1_2_to_0_1_3
s/\\hshift ([^;]+) *;/\\property Voice.hshift = $1/g;
}
+my $header_b = 0;
+
+sub generic_conversion_scan
+{
+ if (/\\header *\{/)
+ {
+ $header_b = 1;
+ }
+ if ($header_b && /^ *\}/)
+ {
+ $header_b = 0;
+ }
+}
sub convert_0_1_4_to_0_1_5
{
s/([<{]) *\\id "Piano" (.+);/\\type Grandstaff = $3 $1/;
@@ -130,7 +143,16 @@ sub convert_0_1_5_to_0_1_6
{
s/< *\\multi (.*);/\\multi $1 </;
}
-
+
+sub convert_0_1_6_to_0_1_7
+{
+ if ($header_b)
+ {
+ s/^([a-zA-z]+)[ \t]+(.*)$/$1 =\t \"$2\";/;
+ s/^([ \t])+(.*)$/$1 \"$2\";/;
+ }
+}
+
###############################################################
sub last_conversion
@@ -177,14 +199,16 @@ my %minor_conversions = ("0.0.50" => \&no_conv,
"0.1.4" => \&no_conv,
"0.1.5" => \&convert_0_1_4_to_0_1_5,
"0.1.6" => \&convert_0_1_5_to_0_1_6
+ ,"0.1.7" => \&convert_0_1_6_to_0_1_7
);
+
sub versions
{
return (sort { cmpver; } (keys %minor_conversions));
}
-
+
sub show_rules
{
@@ -212,6 +236,7 @@ sub do_conversion
print STDERR "Applying following rules: ", join(", ", @mudela_levels) , "\n";
while (<INLY>) {
+ generic_conversion_scan;
foreach $subroutine (@applicable_conversion) {
&$subroutine;
diff --git a/bin/cpgento b/bin/cpgento.sh
index 74f77787db..74f77787db 100755..100644
--- a/bin/cpgento
+++ b/bin/cpgento.sh
diff --git a/bin/find-typenames.pl b/bin/find-typenames.pl
new file mode 100644
index 0000000000..e08fd00800
--- /dev/null
+++ b/bin/find-typenames.pl
@@ -0,0 +1,20 @@
+#!/usr/bin/perl
+
+open GREP, "egrep -h '^struct|^class' *.hh *.cc|";
+open OUT, "|sort | uniq";
+while (<GREP>) {
+
+ s/^struct/class/;
+ if (! /; *$/) {
+ s/:[^{]+{.*$//;
+ s/ *{.*$/;/;
+ }
+ if (! /; *$/) {
+ chop;
+ $_ .= ";\n";
+
+ }
+ print OUT;
+}
+close OUT;
+close GREP;
diff --git a/bin/genheader.py b/bin/genheader.py
index f8c1cc30f1..07bd450772 100644
--- a/bin/genheader.py
+++ b/bin/genheader.py
@@ -66,7 +66,7 @@ def head_str(filename):
def c_include(filename):
startdef= filename;
- trans = string.maketrans( string.lowercase + '.', string.uppercase + '_')
+ trans = string.maketrans( string.lowercase + '-.', string.uppercase + '__')
startdef = string.translate(filename, trans)
diff --git a/bin/lily.efence b/bin/lily.efence
deleted file mode 100755
index 5924253436..0000000000
--- a/bin/lily.efence
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-gdb --command=bin/efence.gdbinit
-
-
diff --git a/bin/make-docxx.sh b/bin/make-docxx.sh
new file mode 100644
index 0000000000..dc60f80f1c
--- /dev/null
+++ b/bin/make-docxx.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+p1=`find ./ -name '*.hh' |egrep -v out/`
+p2=`find ./ -name '*.cc' |egrep -v out/`
+doc++ -d out/ -S -k -p $p1 $p2
diff --git a/bin/make-patch b/bin/make-patch.sh
index e11d7b8533..e11d7b8533 100755..100644
--- a/bin/make-patch
+++ b/bin/make-patch.sh
diff --git a/bin/make-version b/bin/make-version.sh
index 3be14353cb..3be14353cb 100755..100644
--- a/bin/make-version
+++ b/bin/make-version.sh
diff --git a/bin/make-website.in b/bin/make-website.pl
index 9830035556..1d690e23ad 100644
--- a/bin/make-website.in
+++ b/bin/make-website.pl
@@ -295,8 +295,7 @@ sub docxx_update
$ban =~ s!index.html!../index.html!g;
print BANNER $ban;
close BANNER;
- my_system "$MAKE -C $depth docxx-opts=\"-p -S -k -B /tmp/lilybanner.html\" doc++";
- # should add a cute header.
+ my_system "BANNEROPT=\"-B /tmp/lilybanner.html\" $depth/bin/out/make-docxx";
}
sub do_tar
diff --git a/bin/mf-to-table.py b/bin/mf-to-table.py
index bf680f9377..1cd84f5ee6 100644
--- a/bin/mf-to-table.py
+++ b/bin/mf-to-table.py
@@ -18,8 +18,8 @@ import time
begin_autometric_re = regex.compile('@{')
end_autometric_re = regex.compile('@}')
-autometric_re = regex.compile('@{\([^@]*\)@}')
-version = '0.3'
+autometric_re = regex.compile('@{\(.*\)@}')
+version = '0.4'
class File:
"""silly wrapper for Python file object."""
@@ -63,10 +63,12 @@ class Feta_file(File):
def readline(self):
"""return what is enclosed in one @{ @} pair"""
line = '';
- while autometric_re.match(line) == -1 and not self.eof():
+ while autometric_re.search(line) == -1 and not self.eof():
line = self.read_autometricline()
+
if self.eof():
return '';
+
return autometric_re.group(1);
def __init__(self, nm):
File.__init__(self, nm)
@@ -105,16 +107,20 @@ class Indentable_file(File):
class Ly_file(Indentable_file):
"""extra provisions for mozarella quirks"""
def print_lit(self, str):
- self.write('\"' + str + '\" ')
+ self.write('\"%s\"\t' % str)
+
+ def print_f_dimen(self, f):
+ self.write( '%.2f\\pt\t' % f);
def print_dimen(self, str):
- self.write( '%.2f' % atof(str) + '\\pt ');
+ self.print_f_dimen(atof(str))
def neg_print_dimen(self, str):
- self.write( '%.2f' % -atof(str) + '\\pt ');
+ self.print_f_dimen(-atof(str));
+
def def_symbol(self, lily_id, tex_id, dims):
self.print_lit(lily_id)
- self.print_lit('\\' + tex_id)
+ self.print_lit('\\\\' + tex_id)
self.neg_print_dimen(dims [0])
self.print_dimen(dims [1])
@@ -126,9 +132,10 @@ class Ly_file(Indentable_file):
class Log_reader:
"""Read logs, destill info, and put into output files"""
def output_label(self, line):
+
if not line:
return;
- tags = split(line, ':')
+ tags = split(line, '@:')
label = tags[0]
name = tags[1]
ly = self.lyfile
@@ -155,14 +162,14 @@ class Log_reader:
ly.def_symbol(id, texstr, tags[3:7])
- self.texfile.write("\\fetdef\\" + texstr + '{' + code + '}\n')
+ self.texfile.write("\\fetdef\\%s{%s}\n" % (texstr, code))
else:
raise 'unknown label: ' + label
def do_file(self,filenm):
self.lyfile.write('\n% input from ' + filenm + '\n')
- self.texfile.write('\n% input from ' + filenm + '\n')
+ self.texfile.write('\n% input from ' + filenm + '\n')
feta = Feta_file(filenm)
while not feta.eof():
line = feta.readline()
@@ -173,9 +180,9 @@ class Log_reader:
self.lyfile = Ly_file(lyfile_nm, 'w')
self.texfile = Indentable_file(texfile_nm, 'w')
- headerstr = '% generated automatically by ' + program_id()
- headerstr = headerstr + '\n% on ' + today_str()
- headerstr = headerstr + '\n% Do not edit\n'
+
+ headerstr = '%% generated automatically by %s\n%% on %s\n%% Do not edit' % \
+ (program_id(), today_str())
self.lyfile.write(headerstr)
self.texfile.write(headerstr)
diff --git a/bin/mudela-book.in b/bin/mudela-book.pl
index 9aec75cb60..9aec75cb60 100644
--- a/bin/mudela-book.in
+++ b/bin/mudela-book.pl
diff --git a/bin/release b/bin/release.sh
index 7521b49f11..e6e3b679ef 100755..100644
--- a/bin/release
+++ b/bin/release.sh
@@ -50,7 +50,7 @@ patch=patch-$LILYVER.gz
mv $tarball $releasedir/
cd ../test
-$heredir/bin/make-patch $LASTVER $NEWVER lilypond
+sh $heredir/bin/make-patch.sh $LASTVER $NEWVER lilypond
gzip -f9 patch-$NEWVER
mv $patch $patchdir//
diff --git a/bin/show-latest.in b/bin/show-latest.pl
index a75250b54f..a75250b54f 100644
--- a/bin/show-latest.in
+++ b/bin/show-latest.pl
diff --git a/flower/TODO b/flower/TODO
index b71ad836c0..714f3ded6e 100644
--- a/flower/TODO
+++ b/flower/TODO
@@ -1,12 +1,18 @@
- * write a String_hash template
+ * write a decent Dictionary
+ - write a String_hash template
+ - write a Pointer_hash template
* Array::slice() upper too
- * write a Pointer_hash template
+ * fix ambiguous String constructor overloads, e.g.:
+ String( int ) and String( char ), use
+
+ class String {
+ explicit String(int);
+ }
- * fix/junk ambiguous String constructor overloads, e.g.:
- String( int ) and String( char )
+ * Automake, libtool
* version numbering for shared lib.
diff --git a/flower/include/string.hh b/flower/include/string.hh
index 9e60bf9858..69226f075b 100644
--- a/flower/include/string.hh
+++ b/flower/include/string.hh
@@ -83,10 +83,7 @@ public:
Byte const* byte_C() const;
char* ch_l();
Byte* byte_l();
-#if 0
- /// deprecated; use ch_C()
- operator char const*() const { return ch_C(); }
-#endif
+
String &operator =(String const & source);
/// concatenate s
diff --git a/init/engraver.ly b/init/engraver.ly
index 0852b4ca8c..528df1cc67 100644
--- a/init/engraver.ly
+++ b/init/engraver.ly
@@ -66,7 +66,7 @@ Lyric_voice =
\consists "Lyric_engraver";
\consists "Line_group_engraver";
- %\consists "Swallow_engraver";
+ \consists "Beam_req_swallow_translator";
}
Lyrics = \translator {
diff --git a/init/font-en-tja16.ly b/init/font-en-tja16.ly
index dddd3152d2..4d27f2f750 100644
--- a/init/font-en-tja16.ly
+++ b/init/font-en-tja16.ly
@@ -1,57 +1,58 @@
-% generated automatically by mf-to-table.py version 0.3
-% on Thu Oct 9 20:24:25 1997
+% generated automatically by mf-to-table.py version 0.4
+% on Fri Oct 10 21:22:38 1997
% Do not edit
-
% input from out/font-en-tja16.log
% name=\symboltables {
- "rests" = \table {
- "0" "\wholerest" -0.00\pt 6.00\pt 1.50\pt 4.00\pt
- "1" "\halfrest" -0.00\pt 6.00\pt -0.00\pt 2.50\pt
- "0o" "\outsidewholerest" -2.50\pt 8.50\pt 1.50\pt 4.00\pt
- "1o" "\outsidehalfrest" -2.50\pt 8.50\pt -0.00\pt 2.50\pt
- "2" "\quartrest" -0.00\pt 4.00\pt 3.00\pt 14.00\pt
- "3" "\eighthrest" -0.00\pt 5.33\pt 4.00\pt 11.47\pt
- "4" "\sixteenthrest" -0.00\pt 5.33\pt -0.00\pt 11.47\pt
- "5" "\thirtysecondrest" -0.00\pt 5.33\pt -0.00\pt 15.47\pt
- "6" "\sixtyfourthrest" -0.00\pt 5.33\pt -0.00\pt 19.47\pt
- "7" "\hundredtwentyeighthrest" -0.00\pt 5.33\pt -0.00\pt 23.47\pt
+ "rests" = \table {
+ "0" "\\wholerest" -0.00\pt 6.00\pt 1.50\pt 4.00\pt
+ "1" "\\halfrest" -0.00\pt 6.00\pt -0.00\pt 2.50\pt
+ "0o" "\\outsidewholerest" -2.50\pt 8.50\pt 1.50\pt 4.00\pt
+ "1o" "\\outsidehalfrest" -2.50\pt 8.50\pt -0.00\pt 2.50\pt
+ "2" "\\quartrest" -0.00\pt 4.00\pt 3.00\pt 14.00\pt
+ "3" "\\eighthrest" -0.00\pt 5.33\pt 4.00\pt 11.47\pt
+ "4" "\\sixteenthrest" -0.00\pt 5.33\pt -0.00\pt 11.47\pt
+ "5" "\\thirtysecondrest" -0.00\pt 5.33\pt -0.00\pt 15.47\pt
+ "6" "\\sixtyfourthrest" -0.00\pt 5.33\pt -0.00\pt 19.47\pt
+ "7" "\\hundredtwentyeighthrest" -0.00\pt 5.33\pt -0.00\pt 23.47\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" "\flat" -0.00\pt 3.00\pt -2.00\pt 8.00\pt
- "-2" "\flatflat" -0.00\pt 6.00\pt -2.00\pt 8.00\pt
- "2" "\sharpsharp" -0.00\pt 4.00\pt -2.00\pt 2.00\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" "\\flat" -0.00\pt 3.00\pt -2.00\pt 8.00\pt
+ "-2" "\\flatflat" -0.00\pt 6.00\pt -2.00\pt 8.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
+ "dots" = \table {
+ "dot" "\\dot" -0.00\pt 1.80\pt -0.90\pt 0.90\pt
}
- "balls" = \table {
- "-1" "\brevisball" -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
- "0" "\wholeball" -0.00\pt 7.92\pt -2.20\pt 2.20\pt
- "1" "\halfball" -0.00\pt 5.51\pt -2.20\pt 2.20\pt
- "2" "\quartball" -0.00\pt 5.28\pt -2.20\pt 2.20\pt
+ "balls" = \table {
+ "-1" "\\brevisball" -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
+ "0" "\\wholeball" -0.00\pt 7.92\pt -2.20\pt 2.20\pt
+ "1" "\\halfball" -0.00\pt 5.51\pt -2.20\pt 2.20\pt
+ "2" "\\quartball" -0.00\pt 5.28\pt -2.20\pt 2.20\pt
}
- "foobars" = \table {
- "ufermata" "\ufermata" -6.30\pt 6.30\pt -0.30\pt 6.80\pt
- "dfermata" "\dfermata" -6.30\pt 6.30\pt -6.80\pt 0.00\pt
- "accent" "\sforzatoaccent" -3.60\pt 3.60\pt -2.00\pt 2.00\pt
- "staccato" "\staccato" -0.50\pt 0.50\pt -0.50\pt 0.50\pt
- "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
- "dmarcato" "\dmarcato" -2.00\pt 2.00\pt -4.40\pt 0.00\pt
- "open" "\ouvert" -1.40\pt 1.40\pt -0.00\pt 3.50\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 7.80\pt
- "downbow" "\downbow" -3.50\pt 3.50\pt -0.00\pt 4.00\pt
- "turn" "\turn" -4.38\pt 4.38\pt -2.12\pt 2.12\pt
- "utrill" "\utrill" -0.00\pt 8.00\pt -0.00\pt 6.00\pt
+ "scripts" = \table {
+ "ufermata" "\\ufermata" -5.30\pt 5.30\pt -0.30\pt 5.80\pt
+ "dfermata" "\\dfermata" -5.30\pt 5.30\pt -5.80\pt 0.00\pt
+ "sforzato" "\\sforzatoaccent" -3.60\pt 3.60\pt -2.00\pt 2.00\pt
+ "staccato" "\\staccato" -0.60\pt 0.60\pt -0.60\pt 0.60\pt
+ "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
+ "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
+ "turn" "\\turn" -4.38\pt 4.38\pt -2.12\pt 2.12\pt
+ "trill" "\\trill" -0.00\pt 8.00\pt -0.00\pt 9.00\pt
+ "pedalheel" "\\pedalheel" -2.00\pt 2.00\pt -2.00\pt 2.67\pt
+ "pedaltoe" "\\pedaltoe" -2.00\pt 2.00\pt -0.00\pt 6.00\pt
}
- "floogbars" = \table {
- "3u" "\eighthflag" -0.20\pt 5.17\pt -12.77\pt 0.20\pt
- "3d" "\deighthflag" -0.20\pt 5.17\pt -0.20\pt 12.77\pt
+ "floogbars" = \table {
+ "3u" "\\eighthflag" -0.20\pt 4.10\pt -12.77\pt 0.20\pt
+ "3d" "\\deighthflag" -0.20\pt 4.10\pt -0.20\pt 12.77\pt
}
% } % $name
diff --git a/init/font-en-tja20.ly b/init/font-en-tja20.ly
index eee1f222b7..63af39049e 100644
--- a/init/font-en-tja20.ly
+++ b/init/font-en-tja20.ly
@@ -1,57 +1,58 @@
-% generated automatically by mf-to-table.py version 0.3
-% on Thu Oct 9 20:24:27 1997
+% generated automatically by mf-to-table.py version 0.4
+% on Fri Oct 10 21:22:44 1997
% Do not edit
-
% input from out/font-en-tja20.log
% name=\symboltables {
- "rests" = \table {
- "0" "\wholerest" -0.00\pt 7.50\pt 1.88\pt 5.00\pt
- "1" "\halfrest" -0.00\pt 7.50\pt -0.00\pt 3.13\pt
- "0o" "\outsidewholerest" -3.13\pt 10.62\pt 1.88\pt 5.00\pt
- "1o" "\outsidehalfrest" -3.13\pt 10.62\pt -0.00\pt 3.13\pt
- "2" "\quartrest" -0.00\pt 5.00\pt 3.75\pt 17.50\pt
- "3" "\eighthrest" -0.00\pt 6.67\pt 5.00\pt 14.33\pt
- "4" "\sixteenthrest" -0.00\pt 6.67\pt -0.00\pt 14.33\pt
- "5" "\thirtysecondrest" -0.00\pt 6.67\pt -0.00\pt 19.33\pt
- "6" "\sixtyfourthrest" -0.00\pt 6.67\pt -0.00\pt 24.33\pt
- "7" "\hundredtwentyeighthrest" -0.00\pt 6.67\pt -0.00\pt 29.33\pt
+ "rests" = \table {
+ "0" "\\wholerest" -0.00\pt 7.50\pt 1.88\pt 5.00\pt
+ "1" "\\halfrest" -0.00\pt 7.50\pt -0.00\pt 3.13\pt
+ "0o" "\\outsidewholerest" -3.13\pt 10.62\pt 1.88\pt 5.00\pt
+ "1o" "\\outsidehalfrest" -3.13\pt 10.62\pt -0.00\pt 3.13\pt
+ "2" "\\quartrest" -0.00\pt 5.00\pt 3.75\pt 17.50\pt
+ "3" "\\eighthrest" -0.00\pt 6.67\pt 5.00\pt 14.33\pt
+ "4" "\\sixteenthrest" -0.00\pt 6.67\pt -0.00\pt 14.33\pt
+ "5" "\\thirtysecondrest" -0.00\pt 6.67\pt -0.00\pt 19.33\pt
+ "6" "\\sixtyfourthrest" -0.00\pt 6.67\pt -0.00\pt 24.33\pt
+ "7" "\\hundredtwentyeighthrest" -0.00\pt 6.67\pt -0.00\pt 29.33\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" "\flat" -0.00\pt 3.75\pt -2.50\pt 10.00\pt
- "-2" "\flatflat" -0.00\pt 7.50\pt -2.50\pt 10.00\pt
- "2" "\sharpsharp" -0.00\pt 5.00\pt -2.50\pt 2.50\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" "\\flat" -0.00\pt 3.75\pt -2.50\pt 10.00\pt
+ "-2" "\\flatflat" -0.00\pt 7.50\pt -2.50\pt 10.00\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.13\pt 1.13\pt
+ "dots" = \table {
+ "dot" "\\dot" -0.00\pt 2.25\pt -1.13\pt 1.13\pt
}
- "balls" = \table {
- "-1" "\brevisball" -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
- "0" "\wholeball" -0.00\pt 9.90\pt -2.75\pt 2.75\pt
- "1" "\halfball" -0.00\pt 6.89\pt -2.75\pt 2.75\pt
- "2" "\quartball" -0.00\pt 6.61\pt -2.75\pt 2.75\pt
+ "balls" = \table {
+ "-1" "\\brevisball" -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
+ "0" "\\wholeball" -0.00\pt 9.90\pt -2.75\pt 2.75\pt
+ "1" "\\halfball" -0.00\pt 6.89\pt -2.75\pt 2.75\pt
+ "2" "\\quartball" -0.00\pt 6.61\pt -2.75\pt 2.75\pt
}
- "foobars" = \table {
- "ufermata" "\ufermata" -7.88\pt 7.88\pt -0.38\pt 8.50\pt
- "dfermata" "\dfermata" -7.88\pt 7.88\pt -8.50\pt 0.00\pt
- "accent" "\sforzatoaccent" -4.50\pt 4.50\pt -2.50\pt 2.50\pt
- "staccato" "\staccato" -0.63\pt 0.63\pt -0.63\pt 0.63\pt
- "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
- "dmarcato" "\dmarcato" -2.50\pt 2.50\pt -5.50\pt 0.00\pt
- "open" "\ouvert" -1.75\pt 1.75\pt -0.00\pt 4.38\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 9.75\pt
- "downbow" "\downbow" -4.38\pt 4.38\pt -0.00\pt 5.00\pt
- "turn" "\turn" -5.47\pt 5.47\pt -2.65\pt 2.65\pt
- "utrill" "\utrill" -0.00\pt 10.00\pt -0.00\pt 7.50\pt
+ "scripts" = \table {
+ "ufermata" "\\ufermata" -6.63\pt 6.63\pt -0.38\pt 7.25\pt
+ "dfermata" "\\dfermata" -6.63\pt 6.63\pt -7.25\pt 0.00\pt
+ "sforzato" "\\sforzatoaccent" -4.50\pt 4.50\pt -2.50\pt 2.50\pt
+ "staccato" "\\staccato" -0.75\pt 0.75\pt -0.75\pt 0.75\pt
+ "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
+ "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
+ "turn" "\\turn" -5.47\pt 5.47\pt -2.65\pt 2.65\pt
+ "trill" "\\trill" -0.00\pt 10.00\pt -0.00\pt 11.25\pt
+ "pedalheel" "\\pedalheel" -2.50\pt 2.50\pt -2.50\pt 3.33\pt
+ "pedaltoe" "\\pedaltoe" -2.50\pt 2.50\pt -0.00\pt 7.50\pt
}
- "floogbars" = \table {
- "3u" "\eighthflag" -0.25\pt 6.46\pt -15.91\pt 0.25\pt
- "3d" "\deighthflag" -0.25\pt 6.46\pt -0.25\pt 15.91\pt
+ "floogbars" = \table {
+ "3u" "\\eighthflag" -0.25\pt 5.13\pt -15.91\pt 0.25\pt
+ "3d" "\\deighthflag" -0.25\pt 5.13\pt -0.25\pt 15.91\pt
}
% } % $name
diff --git a/init/script.ly b/init/script.ly
index 508e43223f..a96f2adf76 100644
--- a/init/script.ly
+++ b/init/script.ly
@@ -13,10 +13,16 @@ staccato = \script { "staccato" 1 -1 0 0 0 }
tenuto = \script {"tenuto" 0 -1 0 0 0 }
upbow = \script { "upbow" 0 0 1 0 0 }
downbow = \script { "downbow" 0 0 1 0 0 }
-lheel = \script { "heel" 0 0 -1 0 0 }
-rheel = \script { "heel" 0 0 1 0 0 }
-ltoe = \script { "toe" 0 0 -1 0 0 }
-rtoe = \script { "toe" 0 0 1 0 0 }
+lheel = \script { "pedalheel" 0 0 -1 0 0 }
+rheel = \script { "pedalheel" 0 0 1 0 0 }
+ltoe = \script { "pedaltoe" 0 0 -1 0 0 }
+rtoe = \script { "pedaltoe" 0 0 1 0 0 }
+turn = \script { "turn" 0 0 1 0 0 }
+open = \script { "open" 0 0 1 0 0 }
+
+
+% could we do without this bloat?
+%
lbheel = \script { "bheel" 0 0 -1 0 0 }
rbheel = \script { "bheel" 0 0 1 0 0 }
lbtoe = \script { "btoe" 0 0 -1 0 0 }
@@ -25,8 +31,6 @@ lfheel = \script { "fheel" 0 0 -1 0 0 }
rfheel = \script { "fheel" 0 0 1 0 0 }
lftoe = \script { "ftoe" 0 0 -1 0 0 }
rftoe = \script { "ftoe" 0 0 1 0 0 }
-turn = \script { "turn" 0 0 1 0 0 }
-open = \script { "open" 0 0 1 0 0 }
%
% left toe: right heel:
@@ -45,3 +49,5 @@ open = \script { "open" 0 0 1 0 0 }
% being translated into priority...
back = \script { "back" 0 -1 -1 0 0 }
front = \script { "front" 0 -1 1 0 0 }
+
+trill =\script { "trill" 0 0 1 0 0 }
diff --git a/init/symbol.ly b/init/symbol.ly
index 3efcaa9b0b..564fca56cf 100644
--- a/init/symbol.ly
+++ b/init/symbol.ly
@@ -2,7 +2,7 @@
%
% FIXME other name
-\version "0.1.6";
+\version "0.1.7";
breve = \duration { -1 0 }
longa = \duration { -2 0 }
diff --git a/init/table16.ly b/init/table16.ly
index 0fe26c3108..4d80868a5b 100644
--- a/init/table16.ly
+++ b/init/table16.ly
@@ -10,35 +10,20 @@ table_sixteen=
\texid "\input lilyponddefs \musixsixteendefs"
% index TeXstring, xmin xmax ymin ymax
- "scripts" = \table {
- "stopped" "\plusstop" -2.20\pt 2.20\pt -2.20\pt 2.20\pt
- "open" "\ouvert" -1.07\pt 1.07\pt -0.00\pt 2.67\pt
- "fermata" "\ufermata" 0.0\pt 0.0\pt 0.0\pt 6.0\pt
- "-fermata" "\dfermata" 0.0\pt 0.0\pt -6.0\pt 0.0\pt
- "portato" "\portato" 0.0\pt 4.0\pt 0.0\pt 2.0\pt
- "-portato" "\iportato" 0.0\pt 4.0\pt -2.0\pt 0.0\pt
- "tenuto" "\utenuto" 0.0\pt 4.0\pt -1.0\pt 1.0\pt
- "-tenuto" "\dtenuto" 0.0\pt 4.0\pt -1.0\pt 1.0\pt
- "sforzato" "\sforzatoaccent" -0.8\pt 4.0\pt -1.92\pt 1.92\pt
- "marcato" "\umarcato" 0.0\pt 4.0\pt 0.0\pt 4.0\pt
- "-marcato" "\dmarcato" 0.0\pt 4.0\pt -4.0\pt 0.0\pt
- "staccato" "\staccato" 0.0\pt 0.0\pt -1.1\pt 1.1\pt
- "staccatissimo" "\ustaccatissimo" 0.0\pt 0.0\pt 0.0\pt 1.0\pt
- "-staccatissimo" "\dstaccatissimo" 0.0\pt 0.0\pt 0.0\pt 1.0\pt
- "upbow" "\upbow" -1.0\pt 6.0\pt 0.0\pt 5.0\pt
- "downbow" "\downbow" 0.0\pt 5.0\pt 0.0\pt 7.5\pt
+
+ %{
"back" "\backorfront" 0.0\pt 6.0\pt 0.0\pt 3.0\pt
"-front" "\backorfront" 0.0\pt 6.0\pt 0.0\pt 3.0\pt
"heel" "\heel" 0.0\pt 6.0\pt -1.0\pt 5.0\pt
- "toe" "\toe" 0.0\pt 6.0\pt -1.0\pt 5.0\pt
+ "toe" "\\toe" 0.0\pt 6.0\pt -1.0\pt 5.0\pt
"bheel" "\bheel" 0.0\pt 6.0\pt -1.0\pt 5.0\pt
"btoe" "\btoe" 0.0\pt 6.0\pt -1.0\pt 5.0\pt
"fheel" "\fheel" 0.0\pt 6.0\pt -1.0\pt 5.0\pt
"ftoe" "\ftoe" 0.0\pt 6.0\pt -1.0\pt 5.0\pt
"-back" "\backorfront" 0.0\pt 6.0\pt 0.0\pt 3.0\pt
"front" "\backorfront" 0.0\pt 6.0\pt 0.0\pt 3.0\pt
- "turn" "\turn" -2.0\pt 7.0\pt 0.0\pt 4.0\pt
- }
+ "turn" "\\turn" -2.0\pt 7.0\pt 0.0\pt 4.0\pt
+ %}
"style" = \table {
"roman" "\settext{%}" 0.0\pt 7.50\pt 0.0\pt 8.0\pt
@@ -83,8 +68,8 @@ table_sixteen=
}
"streepjes" = \table {
- "toplines" "\topledgerlines{%}{%}" -1.0\pt 7.0\pt 0.0\pt 0.0\pt
- "botlines" "\botledgerlines{%}{%}" -1.0\pt 7.0\pt 0.0\pt 0.0\pt
+ "toplines" "\\topledgerlines{%}{%}" -1.0\pt 7.0\pt 0.0\pt 0.0\pt
+ "botlines" "\\botledgerlines{%}{%}" -1.0\pt 7.0\pt 0.0\pt 0.0\pt
}
"bars" = \table {
@@ -100,26 +85,6 @@ table_sixteen=
}
- "rests" = \table {
- "-2o" "\longarest" 0.0\pt 6.0\pt 0.0\pt 4.0\pt
- "-2" "\longarest" 0.0\pt 6.0\pt 0.0\pt 4.0\pt
- "-1o" "\breverest" 0.0\pt 6.0\pt 0.0\pt 4.0\pt
- "-1" "\breverest" 0.0\pt 6.0\pt 0.0\pt 4.0\pt
- "0o" "\outsidewholerest" 0.0\pt 6.0\pt 0.0\pt 2.0\pt
- "0" "\wholerest" 0.0\pt 6.0\pt 0.0\pt 2.0\pt
- "1" "\halfrest" 0.0\pt 6.0\pt -2.0\pt 0.0\pt
- "1o" "\outsidehalfrest" 0.0\pt 6.0\pt -2.0\pt 0.0\pt
- "2o" "\quartrest" -5.0\pt 2.0\pt -5.0\pt 5.0\pt
- "3o" "\eighthrest" 0.0\pt 5.0\pt 0.0\pt 8.0\pt
- "4o" "\sixteenthrest" 0.0\pt 6.0\pt 0.0\pt 12.0\pt
- "2" "\quartrest" -5.0\pt 2.0\pt -5.0\pt 5.0\pt
- "3" "\eighthrest" 0.0\pt 5.0\pt 0.0\pt 8.0\pt
- "4" "\sixteenthrest" 0.0\pt 6.0\pt 0.0\pt 12.0\pt
- "5" "\thirtysecondrest" 0.0\pt 6.0\pt 0.0\pt 16.0\pt
- "6" "\sixtyfourthrest" 0.0\pt 6.0\pt 0.0\pt 16.0\pt
- "7" "\hundredtwentyeighthrest" 0.0\pt 6.0\pt 0.0\pt 16.0\pt
- }
-
"meters" = \table {
"C" "\fourfourmeter" 0.0\pt 10.0\pt -5.0\pt 5.0\pt
"C2" "\allabreve" 0.0\pt 10.0\pt -5.0\pt 5.0\pt
@@ -128,7 +93,7 @@ table_sixteen=
% dims ignored for this table
"param" = \table {
"brace" "\pianobrace{%}" 0.0\pt 0.0\pt 0.0\pt 0.0\pt
- "meter" "\generalmeter{%}{%}" 0.0\pt 10.0\pt -5.0\pt 5.0\pt
+ "meter" "\generalmeter{%}{%}" 0.0\pt 10.0\pt -8.0\pt 8.0\pt
"linestaf" "\linestafsym{%}{%}"
"stem" "\stem{%}{%}"
"fill" "\hbox{}"
@@ -137,16 +102,11 @@ table_sixteen=
"decrescendosym" "\decrescendosym{%}" 0.0\pt 0.0\pt -3.0\pt 3.0\pt
}
- "dots" = \table {
- "1" "\lsingledot" 0.0\pt 2.0\pt -1.0\pt 1.0\pt
- "2" "\ldoubledot" 0.0\pt 5.0\pt -1.0\pt 1.0\pt
- "3" "\ltripledot" 0.0\pt 8.0\pt -1.0\pt 1.0\pt
- }
"flags" = \table {
"u3" "\eighthflag" 0.0\pt 4.0\pt 0.0\pt 0.0\pt
"u4" "\sixteenthflag" 0.0\pt 4.0\pt 0.0\pt 0.0\pt
- "u5" "\thirtysecondflag" 0.0\pt 4.0\pt 0.0\pt 0.0\pt
+ "u5" "\\thirtysecondflag" 0.0\pt 4.0\pt 0.0\pt 0.0\pt
"u6" "\sixtyfourthflag" 0.0\pt 4.0\pt 0.0\pt 0.0\pt
"u7" "\hundredtwentyeighthflag" 0.0\pt 4.0\pt 0.0\pt 0.0\pt
"d3" "\deighthflag" 0.0\pt 4.0\pt 0.0\pt 0.0\pt
diff --git a/init/table20.ly b/init/table20.ly
index b98a254235..dd0daaa11a 100644
--- a/init/table20.ly
+++ b/init/table20.ly
@@ -11,36 +11,6 @@ table_twenty =
% index TeXstring, xmin xmax ymin ymax
- "scripts" = \table {
- "open" "\ouvert" -1.33\pt 1.33\pt -0.00\pt 3.33\pt
- "stopped" "\plusstop" -2.75\pt 2.75\pt -2.75\pt 2.75\pt
- "fermata" "\ufermata" 0.0\pt 0.0\pt 0.0\pt 6.0\pt
- "-fermata" "\dfermata" 0.0\pt 0.0\pt -6.0\pt 0.0\pt
- "portato" "\portato" 0.0\pt 4.0\pt 0.0\pt 2.0\pt
- "-portato" "\iportato" 0.0\pt 4.0\pt -2.0\pt 0.0\pt
- "tenuto" "\utenuto" 0.0\pt 4.0\pt -1.0\pt 1.0\pt
- "-tenuto" "\dtenuto" 0.0\pt 4.0\pt -1.0\pt 1.0\pt
- "sforzato" "\sforzatoaccent" -0.8\pt 4.0\pt -1.92\pt 1.92\pt
- "marcato" "\umarcato" 0.0\pt 4.0\pt 0.0\pt 4.0\pt
- "-marcato" "\dmarcato" 0.0\pt 4.0\pt -4.0\pt 0.0\pt
- "staccato" "\staccato" 0.0\pt 0.0\pt -1.1\pt 1.1\pt
- "staccatissimo" "\ustaccatissimo" 0.0\pt 0.0\pt 0.0\pt 1.0\pt
- "-staccatissimo" "\dstaccatissimo" 0.0\pt 0.0\pt 0.0\pt 1.0\pt
- "upbow" "\upbow" -1.0\pt 6.0\pt 0.0\pt 5.0\pt
- "downbow" "\downbow" 0.0\pt 5.0\pt 0.0\pt 7.5\pt
- "back" "\backorfront" 0.0\pt 6.0\pt 0.0\pt 3.0\pt
- "-front" "\backorfront" 0.0\pt 6.0\pt 0.0\pt 3.0\pt
- "heel" "\heel" 0.0\pt 6.0\pt -1.0\pt 5.0\pt
- "toe" "\toe" 0.0\pt 6.0\pt -1.0\pt 5.0\pt
- "bheel" "\bheel" 0.0\pt 6.0\pt -1.0\pt 5.0\pt
- "btoe" "\btoe" 0.0\pt 6.0\pt -1.0\pt 5.0\pt
- "fheel" "\fheel" 0.0\pt 6.0\pt -1.0\pt 5.0\pt
- "ftoe" "\ftoe" 0.0\pt 6.0\pt -1.0\pt 5.0\pt
- "-back" "\backorfront" 0.0\pt 6.0\pt 0.0\pt 3.0\pt
- "front" "\backorfront" 0.0\pt 6.0\pt 0.0\pt 3.0\pt
- "turn" "\turn" -2.0\pt 7.0\pt 0.0\pt 4.0\pt
- }
-
"style" = \table {
"roman" "\settext{%}" 0.0\pt 7.5\pt 0.0\pt 10.0\pt
"italic" "\setitalic{%}" 0.0\pt 0.0\pt 0.0\pt 8.0\pt
@@ -85,16 +55,9 @@ table_twenty =
"half" "\hslurchar%{%}" 0.0\pt 0.0\pt 0.0\pt 0.0\pt
}
- "accidentals" = \table {
- "-2" "\flatflat" 0.0\pt 10.2\pt -2.5\pt 7.5\pt
- "-1" "\flat" 0.0\pt 6.0\pt -2.5\pt 7.5\pt
- "0" "\natural" 0.0\pt 6.0\pt -7.5\pt 7.5\pt
- "1" "\sharp" 0.0\pt 6.0\pt -7.5\pt 7.5\pt
- "2" "\sharpsharp" 0.0\pt 6.0\pt -2.5\pt 7.5\pt
- }
"streepjes" = \table {
- "toplines" "\topledgerlines{%}{%}" -3.0\pt 9.0\pt 0.0\pt 0.0\pt
+ "toplines" "\\topledgerlines{%}{%}" -3.0\pt 9.0\pt 0.0\pt 0.0\pt
"botlines" "\botledgerlines{%}{%}" -3.0\pt 9.0\pt 0.0\pt 0.0\pt
}
@@ -110,24 +73,6 @@ table_twenty =
":|:" "\repeatbarstartrepeat" 0.0\pt 16.0\pt 0.0\pt 20.0\pt
}
- "rests" = \table {
- "-1o" "\breverest" 0.0\pt 6.0\pt 0.0\pt 4.0\pt
- "-1" "\breverest" 0.0\pt 6.0\pt 0.0\pt 4.0\pt
- "0o" "\outsidewholerest" 0.0\pt 6.0\pt 0.0\pt 2.0\pt
- "0" "\wholerest" 0.0\pt 6.0\pt 0.0\pt 2.0\pt
- "1" "\halfrest" 0.0\pt 6.0\pt -2.0\pt 0.0\pt
- "1o" "\outsidehalfrest" 0.0\pt 6.0\pt -2.0\pt 0.0\pt
- "2o" "\quartrest" -5.0\pt 2.0\pt -5.0\pt 5.0\pt
- "3o" "\eighthrest" 0.0\pt 5.0\pt 0.0\pt 8.0\pt
- "4o" "\sixteenthrest" 0.0\pt 6.0\pt 0.0\pt 12.0\pt
- "2" "\quartrest" -5.0\pt 2.0\pt -5.0\pt 5.0\pt
- "3" "\eighthrest" 0.0\pt 5.0\pt 0.0\pt 8.0\pt
- "4" "\sixteenthrest" 0.0\pt 6.0\pt 0.0\pt 12.0\pt
- "5" "\thirtysecondrest" 0.0\pt 6.0\pt 0.0\pt 16.0\pt
- "6" "\sixtyfourthrest" 0.0\pt 6.0\pt 0.0\pt 16.0\pt
- "7" "\hundredtwentyeighthrest" 0.0\pt 6.0\pt 0.0\pt 16.0\pt
- }
-
"meters" = \table {
"C" "\fourfourmeter" 0.0\pt 10.0\pt -5.0\pt 5.0\pt
"C2" "\allabreve" 0.0\pt 10.0\pt -5.0\pt 5.0\pt
@@ -145,16 +90,10 @@ table_twenty =
"decrescendosym" "\decrescendosym{%}" 0.0\pt 0.0\pt -3.0\pt 3.0\pt
}
- "dots" = \table {
- "1" "\lsingledot" 0.0\pt 8.0\pt -1.0\pt 1.0\pt
- "2" "\ldoubledot" 0.0\pt 12.0\pt -1.0\pt 1.0\pt
- "3" "\ltripledot" 0.0\pt 16.0\pt -1.0\pt 1.0\pt
- }
-
"flags" = \table {
"u3" "\eighthflag" 0.0\pt 5.0\pt 0.0\pt 0.0\pt
"u4" "\sixteenthflag" 0.0\pt 5.0\pt 0.0\pt 0.0\pt
- "u5" "\thirtysecondflag" 0.0\pt 5.0\pt 0.0\pt 0.0\pt
+ "u5" "\\thirtysecondflag" 0.0\pt 5.0\pt 0.0\pt 0.0\pt
"u6" "\sixtyfourthflag" 0.0\pt 5.0\pt 0.0\pt 0.0\pt
"u7" "\hundredtwentyeighthflag" 0.0\pt 5.0\pt 0.0\pt 0.0\pt
"d3" "\deighthflag" 0.0\pt 5.0\pt 0.0\pt 0.0\pt
diff --git a/init/vette-beams16.ly b/init/vette-beams16.ly
deleted file mode 100644
index 55fc84888e..0000000000
--- a/init/vette-beams16.ly
+++ /dev/null
@@ -1,3 +0,0 @@
-% generated at Fri Sep 26 15:26:29 1997 from out/vette-beams16.log
-% changes will be lost
-
diff --git a/init/vette-beams20.ly b/init/vette-beams20.ly
deleted file mode 100644
index 438f27e89a..0000000000
--- a/init/vette-beams20.ly
+++ /dev/null
@@ -1,3 +0,0 @@
-% generated at Fri Sep 26 15:26:46 1997 from out/vette-beams20.log
-% changes will be lost
-
diff --git a/input/abbrev.ly b/input/abbrev.ly
index e81a18a494..2b2de802f4 100644
--- a/input/abbrev.ly
+++ b/input/abbrev.ly
@@ -1,10 +1,10 @@
\header{
-enteredby jcn
-copyright PD
-TestedFeatures simple abbreviations
+enteredby = "jcn";
+copyright = "PD";
+TestedFeatures = "simple abbreviations";
}
-\version "0.1.6";
+\version "0.1.7";
\score{
\melodic{
diff --git a/input/beams.ly b/input/beams.ly
index 8dffc79edb..3dae027c33 100644
--- a/input/beams.ly
+++ b/input/beams.ly
@@ -1,16 +1,15 @@
-%{MudelaHeader
- filename: beams.ly
- title:
- description:
- composer(s): heu
- entered-by: jcn
- copyright: PD
+\header{
+filename = "beams.ly";
+title = "";
+description = "";
+composer = "heu";
+enteredby = "jcn";
+copyright = "PD";
- Tested Features: beams and beamflags
-EndMudelaHeader
-%}
-\version "0.1.6"
+TestedFeatures = "beams and beamflags";
+}
+\version "0.1.7"
\score{
\melodic \multi 3 <
diff --git a/input/cadenza.ly b/input/cadenza.ly
index 7127940dd4..e7538272f9 100644
--- a/input/cadenza.ly
+++ b/input/cadenza.ly
@@ -1,17 +1,17 @@
\header{
-filename cadenza.ly
-title Cadenza ad libitum
-description Cadenza to Mozart Horn concerto 3
-composer unknown
-enteredby HWN
-copyright public domain
+filename = "cadenza.ly";
+title = "Cadenza ad libitum";
+description = "Cadenza to Mozart Horn concerto 3";
+composer = "unknown";
+enteredby = "HWN";
+copyright = "public domain";
}
%{
Tested Features: cadenza mode
%}
-\version "0.1.6";
+\version "0.1.7";
cad = \melodic {
@@ -26,8 +26,8 @@ cad = \melodic {
c'4.\mf g8
- [e'^"accel" ~ d' c' b]
- [b~ c'] g-\fermata
+ [e'^"accel" () d' c' b]
+ [b() c'] g-\fermata
\bar "empty";
c [c_"rubato" e g c']
\octave c'';
@@ -56,7 +56,7 @@ cad = \melodic {
\bar "" ;
[g8.(_"a tempo" e g8. )e]
a4. g8 [f8 e8 d8 c8]
- 'g2 d2^"\tr"
+ 'g2 d2-\trill
c4
}}
\score {
diff --git a/input/collisions.ly b/input/collisions.ly
index d2c945889d..861ec2d936 100644
--- a/input/collisions.ly
+++ b/input/collisions.ly
@@ -1,11 +1,11 @@
\header{
-filename collisions.ly
-description random counterpoint to test collisions
-enteredby HWN,JCN
-copyright public domain
-Tested test the Collision resolution
+filename = "collisions.ly";
+description = "random counterpoint to test collisions";
+enteredby = "HWN,JCN";
+copyright = "public domain";
+Tested = "test the Collision resolution ";
}
-\version "0.1.6";
+\version "0.1.7";
diff --git a/input/coriolan-alto.ly b/input/coriolan-alto.ly
index f580b6eb99..9585e1fb7d 100644
--- a/input/coriolan-alto.ly
+++ b/input/coriolan-alto.ly
@@ -1,23 +1,22 @@
% remark: still temporarily broken.
-%{MudelaHeader
- filename: coriolan-alto.ly
- title:Ouverture zu Collins Trauerspiel "Coriolan" Opus 62
- description: a 5 bar fragment of the alto part
- composer(s): Ludwig van Beethoven (1770-1792)
- entered-by: JCN
- copyright: public domain
+\header{
+filename = "coriolan-alto.ly";
+title = "Ouverture zu Collins Trauerspiel "Coriolan" Opus 62";
+description = "a 5 bar fragment of the alto part";
+composer = "Ludwig van Beethoven (1770-1792)";
+enteredby = "JCN";
+copyright = "public domain";
- Tested Features:
-EndMudelaHeader
-%}
+TestedFeatures:
+}
%
% when lily can handle this, i-ll type the other 304 bars
% (maybe even sooner :-)
%
-\version "0.1.6";
+\version "0.1.7";
alto1 = \melodic{
\meter 4/4;
diff --git a/input/font.ly b/input/font.ly
index 4a29d2c8d1..3822fcfa4c 100644
--- a/input/font.ly
+++ b/input/font.ly
@@ -1,25 +1,25 @@
\header{
-enteredby jcn
-copyright PD
-TestedFeatures This file tests the Feta music-font
- (Feta definitively is not an abbreviation of Font-En-TjA)
+enteredby = "jcn";
+copyright = "PD";
+TestedFeatures = "This file tests the Feta music-font"
+ "(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "0.1.6";
+\version "0.1.7";
\score{
\melodic{
\octave c';
\meter 4/4;
- \multi 2 < { \stemup g'\longa a'\breve | }
+ \multi 2 < { \stemup e'\longa a\breve | }
{ \stemdown
c1 g c' a'
- c2 g } >
+ c2 g c' a'
+ } >
\stemboth
- c' a'
c4 g c' a' |
a\ppp-\upbow a\pp-\downbow a\p^\turn a\mp^\fermata |
- a\mf_\fermata a\f-\stopped a\ff-\open a\fff|
+ a\mf_\fermata a\f-\stopped a\ff-\open a\fff^\trill|
a\fp a4.\sf a4.\sfz | % a\fz a\rf
[c8 c] [a' a']
[c a'] [a' c] |
@@ -30,8 +30,8 @@ TestedFeatures This file tests the Feta music-font
\multi 2 < { \stemup c1 } {\stemdown r1}>
\stemboth
- c8_. c''8-> c4^^ c4_^
- c4 _| c4^|
+ c8_. c''8-> c16^^ c16_^
+ c32 _| c32^| g''32-\ltoe g''32-\lheel
}
\paper{
gourlay_maxmeasures =5.;
diff --git a/input/gallina.ly b/input/gallina.ly
index 2d110e4a79..fed49445bb 100644
--- a/input/gallina.ly
+++ b/input/gallina.ly
@@ -1,11 +1,11 @@
\header{
-title La Gallina a 2 violini
-date 1637
-source the manuscript of Canzoni overo Sonate Concertate
- libro terzo, opera duodecima
-composer Tarquinio Merula (1594/95-1665)
-enteredby Mats Bengtsson
-copyright Public Domain
+title = "La Gallina a 2 violini";
+date = "1637";
+source = "the manuscript of Canzoni overo Sonate Concertate "
+ "libro terzo, opera duodecima ";
+composer = "Tarquinio Merula (1594/95-1665)";
+enteredby = "Mats Bengtsson";
+copyright = "Public Domain ";
}
@@ -30,12 +30,15 @@ either.
Tested Features: Note placement, multipart score, figured base, \breve
-note: the sharp signs hoovering over the bass part are no mistake, but
-part of the basso continuo
-
%}
+%{
+
+note: the sharp signs hoovering over the bass part are no mistake, but
+part of the basso continuo --HWN
+
+%}
-\version "0.1.6";
+\version "0.1.7";
vi1=\melodic{
\meter 4/4;
diff --git a/input/gourlay.ly b/input/gourlay.ly
index 0a07d6d533..fb8e268d01 100644
--- a/input/gourlay.ly
+++ b/input/gourlay.ly
@@ -1,14 +1,18 @@
\header{
-enteredby jcn
-copyright PD
-TestedFeatures This file tests some nasty Gourlay spacings
+enteredby = "jcn";
+copyright = "PD";
+TestedFeatures = "This file tests some nasty Gourlay spacings";
}
-\version "0.1.6";
+\version "0.1.7";
+
+%{
+
+This is taken from [Gourlay]'s paper on breaking lines
+
+%}
\score{
-% huh?
-% \multi 2 \melodic < \octave c'';
\melodic \multi 2 < \octave c'';
{ \stemup; d2 d | d d | d4 d2. | }
\octave c';
diff --git a/input/keys.ly b/input/keys.ly
index da9286456c..05ec062c27 100644
--- a/input/keys.ly
+++ b/input/keys.ly
@@ -1,16 +1,4 @@
-%{MudelaHeader
-
- filename: keys.ly
- title:
- description:
- composers:
- entered-by:
- copyright:
-
- Tested Features: local key, key, forced accidentals
-EndMudelaHeader
-%}
-\version "0.1.6";
+\version "0.1.7";
blah = \melodic{
diff --git a/input/kortjakje.ly b/input/kortjakje.ly
index fb1eec4e06..86713c4995 100644
--- a/input/kortjakje.ly
+++ b/input/kortjakje.ly
@@ -1,17 +1,17 @@
\header{
-filename kortjakje.ly
-title Ah, vous dirais-je, maman (variations)
-description bare bones version. (written down from memory :-)
-composers Mozart, KV 265
-enteredby HWN
-copyright public domain
+filename = "kortjakje.ly";
+title = "Ah, vous dirais-je, maman (variations)";
+description = "bare bones version. (written down from memory :-)";
+composers = "Mozart, KV 265";
+enteredby = "HWN";
+copyright = "public domain";
}
%{
Tested Features: example file with comments
%}
-\version "0.1.6";
+\version "0.1.7";
% the % is a comment.
diff --git a/input/multi.ly b/input/multi.ly
index 0ee5fb1405..d63ddb0ab5 100644
--- a/input/multi.ly
+++ b/input/multi.ly
@@ -1,8 +1,8 @@
\header{
-filename multi.ly
-description stupid testfile for pl68 features.
-enteredby HWN
-copyright public domain
+filename = "multi.ly";
+description = "stupid testfile for pl68 features.";
+enteredby = "HWN";
+copyright = "public domain";
}
%{
Tested Features: \multi
@@ -10,7 +10,7 @@ Tested Features: \multi
%}
-\version "0.1.6";
+\version "0.1.7";
\score{
\melodic
diff --git a/input/pedal.ly b/input/pedal.ly
index cb22bd22d9..33c736c3e8 100644
--- a/input/pedal.ly
+++ b/input/pedal.ly
@@ -24,7 +24,7 @@
% \lbheel \lbheel \lfheel \lftoe
% \rbheel \rbtoe \rfheel \rftoe
-\version "0.1.6";
+\version "0.1.7";
\score{
\melodic {
diff --git a/input/rhythm.ly b/input/rhythm.ly
index cc1511bf16..897770ad63 100644
--- a/input/rhythm.ly
+++ b/input/rhythm.ly
@@ -1,13 +1,13 @@
\header{
-filename rhythm.ly
-enteredby HWN
-copyright public domain
-TestedFeatures multiple meters, beaming, unsynced bars, userdefd engravers
+filename = "rhythm.ly";
+enteredby = "HWN";
+copyright = "public domain";
+TestedFeatures = "multiple meters, beaming, unsynced bars, userdefd engravers";
}
-\version "0.1.6";
+\version "0.1.7";
ritme = \melodic{ %\octave ;
\partial 8;
diff --git a/input/scales.ly b/input/scales.ly
index e1736b9f77..a6b2b48367 100644
--- a/input/scales.ly
+++ b/input/scales.ly
@@ -1,18 +1,18 @@
\header{
-filename scales.ly
-enteredby HWN
-copyright public domain
+filename = "scales.ly";
+enteredby = "HWN";
+copyright = "public domain";
}
+
%{
Tested Features: scripts, beams, transposition,
-EndMudelaHeader
%}
%
% scales with accents.
%
-\version "0.1.6";
+\version "0.1.7";
blah = \melodic {
\meter 6/8;
\octave 'c ;
diff --git a/input/scripts.ly b/input/scripts.ly
index 1209028127..ad6503efb7 100644
--- a/input/scripts.ly
+++ b/input/scripts.ly
@@ -1,16 +1,5 @@
-%{MudelaHeader
-
- filename: scripts.ly
- title:
- description:
- composers:
- entered-by:HWN, MB
- copyright:
-
- Tested Features: scripts, text.
-EndMudelaHeader
-%}
-\version "0.1.6";
+
+\version "0.1.7";
blah = \melodic {
diff --git a/input/scsii-menuetto.ly b/input/scsii-menuetto.ly
index a2cb6fb0bd..c4c94498cc 100644
--- a/input/scsii-menuetto.ly
+++ b/input/scsii-menuetto.ly
@@ -1,19 +1,19 @@
\header{
-filename scsii-menuetto.ly
-title Solo Cello Suites, Suite II part V, Menuetto I
-description Cello suite transcribed for Viola
-source ?
-opus BWV 1008 no. 5
-composers Johann Sebastian Bach (1685-1750)
-enteredby JCN
-copyright public domain
+filename = "scsii-menuetto.ly";
+title = "Solo Cello Suites, Suite II part V, Menuetto I";
+description = "Cello suite transcribed for Viola";
+source = "?";
+opus = "BWV 1008 no. 5";
+composers = "Johann Sebastian Bach (1685-1750)";
+enteredby = "JCN";
+copyright = "public domain";
}
%{
Tested Features:breaking algorithm, chords, multivoice, accents
%}
-\version "0.1.6";
+\version "0.1.7";
%% Stuff from MPP version
% \lefttitle{Menuetto}
diff --git a/input/slurs.ly b/input/slurs.ly
index e7ddad01ee..26ff241da3 100644
--- a/input/slurs.ly
+++ b/input/slurs.ly
@@ -1,17 +1,5 @@
-%{MudelaHeader
- filename: slurs.ly
- title:
- description:
- composer(s): HWN
- entered-by: HWN
- copyright: PD
-
- Tested Features: test slurs and ties
-EndMudelaHeader
-%}
-
-\version "0.1.6";
+\version "0.1.7";
\score{
\melodic{\octave c';
diff --git a/input/standchen-16.ly b/input/standchen-16.ly
index 67c461f127..bb250a98fd 100644
--- a/input/standchen-16.ly
+++ b/input/standchen-16.ly
@@ -1,14 +1,13 @@
\header{
-filename standchen.ly
-title St\"andchen (Serenade) "Leise flehen meine Lieder"
-opus D. 957 No. 4
-composers Franz Schubert (1797-1828)
- Text by Ludwig Rellstab (1799-1860)
-enteredby JCN
-copyright public domain
-
+filename = "standchen.ly";
+title = "St\"andchen (Serenade) \"Leise flehen meine Lieder\"";
+opus = "D. 957 No. 4";
+composers = "Franz Schubert (1797-1828)"
+ "Text by Ludwig Rellstab (1799-1860)";
+enteredby = "JCN";
+copyright = "public domain";
}
+\version "0.1.7";
-% just a silly file to satisfy the make-website script
\include "standchen.ly"
diff --git a/input/standchen-20.ly b/input/standchen-20.ly
index 41246d19af..1a13f3fc11 100644
--- a/input/standchen-20.ly
+++ b/input/standchen-20.ly
@@ -1,12 +1,13 @@
\header{
-filename standchen.ly
-title St\"andchen (Serenade) "Leise flehen meine Lieder"
-opus D. 957 No. 4
-composers Franz Schubert (1797-1828)
- Text by Ludwig Rellstab (1799-1860)
-enteredby JCN
-copyright public domain
+filename = "standchen.ly";
+title = "St\"andchen (Serenade) Leise flehen meine Lieder\"";
+opus = "D. 957 No. 4";
+composers = "Franz Schubert (1797-1828)"
+ "Text by Ludwig Rellstab (1799-1860)";
+enteredby = "JCN";
+copyright = "public domain";
}
+\version "0.1.7";
-% just a silly file to satisfy the make-website script
-% this should be run after standchen-16
+% fool make-website
+% \include "standchen.ly";
diff --git a/input/standchen.ly b/input/standchen.ly
index c8edb90140..8f70db6ba6 100644
--- a/input/standchen.ly
+++ b/input/standchen.ly
@@ -1,11 +1,11 @@
\header{
-filename standchen.ly
-title St\"andchen (Serenade) "Leise flehen meine Lieder"
-opus D. 957 No. 4
-composers Franz Schubert (1797-1828)
- Text by Ludwig Rellstab (1799-1860)
-enteredby JCN
-copyright public domain
+filename = "standchen.ly";
+title = "St\"andchen (Serenade) \"Leise flehen meine Lieder\"";
+opus = "D. 957 No. 4";
+composers = "Franz Schubert (1797-1828)"
+ "Text by Ludwig Rellstab (1799-1860)";
+enteredby = "JCN";
+copyright = "public domain";
}
%{
@@ -13,7 +13,7 @@ copyright public domain
multiple \paper{}s in one \score
%}
-\version "0.1.6";
+\version "0.1.7";
commands = \melodic{
\skip 2.*4;
diff --git a/input/toccata-fuga-E.ly b/input/toccata-fuga-E.ly
index 091aa71c11..7a14e64255 100644
--- a/input/toccata-fuga-E.ly
+++ b/input/toccata-fuga-E.ly
@@ -1,13 +1,13 @@
\header{
-filename toccata-fuga-E.ly
-title toccata and fuga in E-major
-opus BWV 566
- toccata 3 bar excerpt
- 2nd fuga transposed subject --- 4 bar excerpt
+filename = "toccata-fuga-E.ly";
+title = "toccata and fuga in E-major ";
+opus = "BWV 566"
+ "toccata 3 bar excerpt"
+ "2nd fuga transposed subject --- 4 bar excerpt";
-composers Johann Sebastian Bach (1685-1750)
-enteredby JCN
-copyright public domain
+composers = "Johann Sebastian Bach (1685-1750)";
+enteredby = "JCN";
+copyright = "public domain";
}
@@ -20,7 +20,7 @@ copyright public domain
%}
-\version "0.1.6";
+\version "0.1.7";
toccata_commands = \melodic{
\meter 4/4;
diff --git a/input/twinkle-pop.ly b/input/twinkle-pop.ly
index d6aa38a153..2132cf3cb8 100644
--- a/input/twinkle-pop.ly
+++ b/input/twinkle-pop.ly
@@ -1,18 +1,18 @@
\header{
-filename twinkle.ly
-title Ah, vous dirais-je, maman
-description twinkle twinkle in pop-song-settings
-composers traditional
+filename = "twinkle.ly";
+title = "Ah, vous dirais-je, maman ";
+description = "twinkle twinkle in pop-song-settings";
+composers = "traditional";
-enteredby HWN, chords by Johan Vromans
-copyright public domain
+enteredby = "HWN, chords by Johan Vromans";
+copyright = "public domain";
}
%{
Tested Features lyrics and chords
%}
-\version "0.1.6";
+\version "0.1.7";
melodie = \melodic {
\clef"violin";
diff --git a/input/twinkle.ly b/input/twinkle.ly
index 2ec9b40ee0..6d5c243fd1 100644
--- a/input/twinkle.ly
+++ b/input/twinkle.ly
@@ -1,20 +1,20 @@
\header{
-filename twinkle.ly
-title twinkle twinkle little star
-description traditional song in various languages.
- "Ah, vous dirais-je, maman"
- "Altijd is Kortjakje ziek"
- "Twinkle twinkle little star"
-
-composers Traditional
-enteredby HWN & JCN
-copyright public domain
+filename = "twinkle.ly";
+title = "twinkle twinkle little star";
+description = "traditional song in various languages."
+ "Ah, vous dirais-je, maman"
+ "Altijd is Kortjakje ziek"
+ "Twinkle twinkle little star";
+
+composers = "Traditional";
+enteredby = "HWN & JCN";
+copyright = "public domain";
}
%{
Tested Features: lyrics
%}
-\version "0.1.6";
+\version "0.1.7";
melody = \melodic{
\clef violin;
@@ -54,11 +54,11 @@ global = \melodic {
tekst = \lyric{
Al-4 tijd is Kort- jak- je ziek,2
- midden4 in_de week maar s'_zon- dags niet.2
- s'_Zon-4 dags gaat ze naar de kerk,2
+ midden4 in_de week maar 's_zon- dags niet.2
+ 's_Zon-4 dags gaat ze naar de kerk,2
met4 een boek vol zil- ver werk.2
Al-4 tijd is Kort- jak- je ziek,2
- midden4 in_de week maar s'_zon- dags niet.2
+ midden4 in_de week maar 's_zon- dags niet.2
}
%{
@@ -70,7 +70,7 @@ tekst. Mogen wij ook af en toe ergens op afgeven?
hegedraagjetekst = \lyric{
Al-4 tijd zuigt Bill Gates mijn piek,2
"\TeX"4 is slecht- ser dan mu- ziek.2
- s'_Zon-4 dags gaat het door een raam,2
+ 's_Zon-4 dags gaat het door een raam,2
Weet4 dat ik me er- voor schaam.2
Al-4 tijd zuigt Bill Gates mijn piek,2
"\TeX"4 is slecht- ser dan mu- ziek.2
diff --git a/input/wtk1-fugue1.ly b/input/wtk1-fugue1.ly
index 62a25c5338..646c75ff30 100644
--- a/input/wtk1-fugue1.ly
+++ b/input/wtk1-fugue1.ly
@@ -1,17 +1,17 @@
\header{
-filename fugue1.ly
-title Fuga a 4
-description Das Wohltemperierte Clavier I, Fuga I (c-major)
-opus BWV 846
-composer Johann Sebastian Bach (1685-1750)
-enteredby Shay Rojansky
-copyright Public Domain
+filename = "fugue1.ly";
+title = "Fuga a 4";
+description = "Das Wohltemperierte Clavier I, Fuga I (c-major)";
+opus = "BWV 846";
+composer = "Johann Sebastian Bach (1685-1750)";
+enteredby = "Shay Rojansky";
+copyright = "Public Domain";
}
%{
%}
-\version "0.1.6";
+\version "0.1.7";
global =
diff --git a/input/wtk1-fugue2.ly b/input/wtk1-fugue2.ly
index 608ec4b873..ea304e7a8e 100644
--- a/input/wtk1-fugue2.ly
+++ b/input/wtk1-fugue2.ly
@@ -1,18 +1,18 @@
\header{
-filename wohltemperirt.ly
-title Fuga a 3
-description Das Wohltemperierte Clavier I, Fuga II (c-minor)
-opus BWV 847-Fuga
-source Henle's Urtext
-composer Johann Sebastian Bach (1685-1750)
-enteredby HWN and Werner Lemberg
-copyright Public Domain
+filename = "wohltemperirt.ly";
+title = "Fuga a 3";
+description = "Das Wohltemperierte Clavier I, Fuga II (c-minor)";
+opus = "BWV 847-Fuga";
+source = "Henle's Urtext";
+composer = "Johann Sebastian Bach (1685-1750)";
+enteredby = "HWN and Werner Lemberg";
+copyright = "Public Domain";
}
%{
Tested Features: stem direction, multivoice, forced accidentals.
%}
-\version "0.1.6";
+\version "0.1.7";
% should add \need{dutch.ini} for
% correct parsing of note names
diff --git a/input/wtk1-prelude1.ly b/input/wtk1-prelude1.ly
index 060b5866a5..5ed120b09d 100644
--- a/input/wtk1-prelude1.ly
+++ b/input/wtk1-prelude1.ly
@@ -1,14 +1,14 @@
\header{
-filename prelude1.ly
-title Preludium
-description Das Wohltemperierte Clavier I, Prelude I (c-major)
-opus BWV 846
-composer Johann Sebastian Bach (1685-1750)
-enteredby Shay Rojansky
-copyright Public Domain
+filename = "prelude1.ly";
+title = "Preludium";
+description = "Das Wohltemperierte Clavier I, Prelude I (c-major)";
+opus = "BWV 846";
+composer = "Johann Sebastian Bach (1685-1750)";
+enteredby = "Shay Rojansky";
+copyright = "Public Domain";
}
-\version "0.1.6";
+\version "0.1.7";
global =
\melodic {
diff --git a/lily/Stable.make b/lily/Stable.make
index 9214c7fb0b..6aebc2b0a5 100644
--- a/lily/Stable.make
+++ b/lily/Stable.make
@@ -1,7 +1,7 @@
# a hack to keep exec size under control.
-stablecc= offset.cc meter.cc boxes.cc \
+stablecc=meter.cc boxes.cc \
keyword.cc leastsquares.cc \
lookup.cc meter.cc\
parser.cc notename-table.cc lexer.cc\
diff --git a/lily/VERSION b/lily/VERSION
index 9b9967a6f2..c767ffade7 100644
--- a/lily/VERSION
+++ b/lily/VERSION
@@ -1,6 +1,6 @@
MAJOR_VERSION = 0
MINOR_VERSION = 1
-PATCH_LEVEL = 21
+PATCH_LEVEL = 22
# use to send patches, always empty for released version:
# include separator: ".postfix", "-pl" makes rpm barf
diff --git a/lily/abbreviation-beam.cc b/lily/abbreviation-beam.cc
index 309337dffb..ac36ae99d0 100644
--- a/lily/abbreviation-beam.cc
+++ b/lily/abbreviation-beam.cc
@@ -54,7 +54,7 @@ Abbreviation_beam::brew_molecule_p () const
sb.translate (Offset (x, (x * slope + left_pos)* inter_f));
mol_p->add (sb);
}
- mol_p->translate (x0 - spanned_drul_[LEFT]->absolute_coordinate (X_AXIS), X_AXIS);
+ mol_p->translate_axis (x0 - spanned_drul_[LEFT]->absolute_coordinate (X_AXIS), X_AXIS);
return mol_p;
#endif
}
diff --git a/lily/atom.cc b/lily/atom.cc
index 423181603d..870c6bece9 100644
--- a/lily/atom.cc
+++ b/lily/atom.cc
@@ -18,6 +18,12 @@ Atom::print() const
{
#ifndef NPRINT
DOUT << "texstring: " <<tex_<<"\n";
+
+ DOUT << "dim:";
+ for (Axis i=X_AXIS; i < NO_AXES; incr(i))
+ DOUT << axis_name_str(i) << " = " << dim_[i].str();
+
+ DOUT << "\noffset: " << off_.str ();
#endif
}
@@ -77,7 +83,7 @@ Atom::TeX_string() const
}
void
-Atom::translate (Real r, Axis a)
+Atom::translate_axis (Real r, Axis a)
{
off_[a] += r;
}
diff --git a/lily/axis.cc b/lily/axis.cc
index d98d745b4c..8689e1c1fe 100644
--- a/lily/axis.cc
+++ b/lily/axis.cc
@@ -6,6 +6,8 @@
(c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
*/
+#include <assert.h>
+
#include "axes.hh"
#include "string.hh"
@@ -14,3 +16,24 @@ axis_name_str (Axis a)
{
return String (a + 'x');
}
+
+/*
+ TODO inline these.
+ */
+Axis
+post_incr(Axis &a)
+{
+ assert(a < NO_AXES);
+ Axis b= a;
+ a = Axis(int(a) + 1);
+ return b;
+}
+
+Axis
+incr(Axis &a)
+{
+ assert(a < NO_AXES);
+ a = Axis(int(a) + 1);
+ return a;
+}
+
diff --git a/lily/bar.cc b/lily/bar.cc
index 05a8557148..8fb5728314 100644
--- a/lily/bar.cc
+++ b/lily/bar.cc
@@ -35,7 +35,9 @@ Bar::brew_molecule_p() const
{
Paper_def *p = paper();
Atom s = p->lookup_l()->bar (type_str_,
- p->get_var ("bar_size"));
+ p->get_var ("bar_size"));
+ s.translate_axis (-s.extent()[Y_AXIS].center (), Y_AXIS);
+
Molecule*output = new Molecule (Atom (s));
return output;
}
diff --git a/lily/beam-swallow-trans.cc b/lily/beam-swallow-trans.cc
new file mode 100644
index 0000000000..cf23d55088
--- /dev/null
+++ b/lily/beam-swallow-trans.cc
@@ -0,0 +1,15 @@
+/*
+ beam-swallow-trans.cc -- instantiate Beam_swallow_translator
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+
+ */
+
+#include "type-swallow-trans.hh"
+#include "musical-request.hh"
+
+
+
+DECLARE_REQUEST_SWALLOWER(Beam_req);
diff --git a/lily/beam.cc b/lily/beam.cc
index d2b5e1e3c6..b1dae43061 100644
--- a/lily/beam.cc
+++ b/lily/beam.cc
@@ -71,7 +71,7 @@ Beam::brew_molecule_p() const
sb.translate (Offset (x, (x * slope + left_pos)* inter_f));
mol_p->add (sb);
}
- mol_p->translate (x0 - spanned_drul_[LEFT]->absolute_coordinate(X_AXIS), X_AXIS);
+ mol_p->translate_axis (x0 - spanned_drul_[LEFT]->absolute_coordinate(X_AXIS), X_AXIS);
return mol_p;
}
@@ -311,7 +311,7 @@ Beam::stem_beams (Stem *here, Stem *next, Stem *prev) const
for (int j = 0; j < lhalfs; j++)
{
Atom b (a);
- b.translate (-dir_ * dy * (lwholebeams+j), Y_AXIS);
+ b.translate_axis (-dir_ * dy * (lwholebeams+j), Y_AXIS);
leftbeams.add (b);
}
}
@@ -332,7 +332,7 @@ Beam::stem_beams (Stem *here, Stem *next, Stem *prev) const
for (; j < nogap; j++)
{
Atom b (a);
- b.translate (-dir_ * dy * j, Y_AXIS);
+ b.translate_axis (-dir_ * dy * j, Y_AXIS);
rightbeams.add (b);
}
// TODO: notehead widths differ for different types
@@ -355,7 +355,7 @@ Beam::stem_beams (Stem *here, Stem *next, Stem *prev) const
for (; j < rwholebeams + rhalfs; j++)
{
Atom b (a);
- b.translate (-dir_ * dy * j, Y_AXIS);
+ b.translate_axis (-dir_ * dy * j, Y_AXIS);
rightbeams.add (b);
}
diff --git a/lily/boxes.cc b/lily/boxes.cc
index 28fdeade83..1529c70749 100644
--- a/lily/boxes.cc
+++ b/lily/boxes.cc
@@ -12,20 +12,22 @@
void
Box::translate (Offset o)
{
- x().translate (o.x ());
- y().translate (o.y ());
+ for (Axis i=X_AXIS; i < NO_AXES; incr(i))
+ interval_a_[i] += o[i];
}
void
Box::unite (Box b)
{
- x().unite (b.x ());
- y().unite (b.y ());
+ for (Axis i=X_AXIS; i < NO_AXES; incr(i))
+ interval_a_[i].unite (b[i]);
}
+/**
+ Initialize to empty.
+ */
Box::Box()
{
-
}
Box::Box (Interval ix, Interval iy)
diff --git a/lily/clef-grav.cc b/lily/clef-grav.cc
index fc70af6a0e..a8837f2cc1 100644
--- a/lily/clef-grav.cc
+++ b/lily/clef-grav.cc
@@ -28,19 +28,19 @@ Clef_engraver::set_type (String s)
clef_type_str_ = s;
if (clef_type_str_ == "violin")
{
- c0_position_i_= -2;
+ c0_position_i_= -6;
}
else if (clef_type_str_ == "alto")
{
- c0_position_i_= 4;
+ c0_position_i_= 0;
}
else if (clef_type_str_ == "tenor")
{
- c0_position_i_= 6;
+ c0_position_i_= 2;
}
else if (clef_type_str_ == "bass")
{
- c0_position_i_= 10;
+ c0_position_i_= 6;
}
else
return false;
diff --git a/lily/clef-item.cc b/lily/clef-item.cc
index a0ca99bcc5..d6c02e542c 100644
--- a/lily/clef-item.cc
+++ b/lily/clef-item.cc
@@ -39,13 +39,13 @@ Clef_item::read (String t)
{
type_= t;
if (type_ == "violin")
- y_off = 2;
+ y_position_i_ = -2;
if (type_ == "alto")
- y_off = 4;
+ y_position_i_ = 0;
if (type_ == "tenor")
- y_off = 6;
+ y_position_i_ = 2;
if (type_ == "bass")
- y_off = 6;
+ y_position_i_ = 2;
}
void
Clef_item::read (Clef_engraver const &k)
@@ -61,7 +61,7 @@ Clef_item::brew_molecule_p() const
t += "_change";
Atom s = paper()->lookup_l ()->clef (t);
Molecule*output = new Molecule (Atom (s));
- output->translate (paper()->internote_f () * y_off, Y_AXIS);
+ output->translate_axis (paper()->internote_f () * y_position_i_, Y_AXIS);
return output;
}
diff --git a/lily/col-info.cc b/lily/col-info.cc
index 086b7c7e3e..83c7f61fbc 100644
--- a/lily/col-info.cc
+++ b/lily/col-info.cc
@@ -18,7 +18,7 @@ Colinfo::print() const
if (fixed())
DOUT << "fixed at " << fixed_position()<<", ";
assert (pcol_l_);
- DOUT << "[" << minleft() << ", " << minright () << "]";
+ DOUT << width_.str();
DOUT <<"}\n";
#endif
}
@@ -29,9 +29,9 @@ Colinfo::Colinfo (Paper_column *col_l, Real const *fixed_C)
fixpos_p_.set_l (fixed_C);
ugh_b_ = false;
pcol_l_ = col_l;
- width = pcol_l_->width();
- if (width.empty_b())
- width = Interval(0,0);
+ width_ = pcol_l_->width();
+ if (width_.empty_b())
+ width_ = Interval(0,0);
}
diff --git a/lily/dot-column.cc b/lily/dot-column.cc
index 6da5e0bbce..58a16c1ce5 100644
--- a/lily/dot-column.cc
+++ b/lily/dot-column.cc
@@ -49,7 +49,7 @@ Dot_column::do_pre_processing ()
w.unite (head_l_arr_[i]->width ());
if (!w.empty_b ())
- translate (w[RIGHT] - width() [LEFT],X_AXIS);
+ translate_axis (w[RIGHT] - width() [LEFT],X_AXIS);
}
IMPLEMENT_IS_TYPE_B1(Dot_column, Horizontal_group_item);
diff --git a/lily/dots.cc b/lily/dots.cc
index 44e06c0b23..8bba43afcb 100644
--- a/lily/dots.cc
+++ b/lily/dots.cc
@@ -36,17 +36,17 @@ Dots::brew_molecule_p () const
Atom fill = paper()->lookup_l ()->fill (Box(Interval(0,0),Interval(0,0)));
out->add(fill);
- Atom d = paper ()->lookup_l ()->dots (0);
+ Atom d = paper ()->lookup_l ()->dots ();
Real dw = d.dim_[X_AXIS].length();
- d.translate(-dw,X_AXIS);
+ d.translate_axis(-dw,X_AXIS);
for (int i=no_dots_i_; i--; )
{
- d.translate(2*dw,X_AXIS);
+ d.translate_axis(2*dw,X_AXIS);
out->add (d);
}
Real inter_f = paper ()->internote_f ();
- out->translate (inter_f * position_i_, Y_AXIS);
+ out->translate_axis (inter_f * position_i_, Y_AXIS);
return out;
}
diff --git a/lily/graphical-element.cc b/lily/graphical-element.cc
index 98f29f77f4..b5c1046846 100644
--- a/lily/graphical-element.cc
+++ b/lily/graphical-element.cc
@@ -67,7 +67,7 @@ Graphical_element::absolute_offset() const
}
void
-Graphical_element::translate (Real y, Axis a)
+Graphical_element::translate_axis (Real y, Axis a)
{
if (axis_group_l_a_[a])
axis_group_l_a_[a]->invalidate_cache (a);
@@ -109,8 +109,8 @@ Graphical_element::common_group (Graphical_element const* s, Axis a) const
void
Graphical_element::translate (Offset offset)
{
- translate (offset[Y_AXIS], Y_AXIS);
- translate (offset[X_AXIS], X_AXIS);
+ translate_axis (offset[Y_AXIS], Y_AXIS);
+ translate_axis (offset[X_AXIS], X_AXIS);
}
Interval
diff --git a/lily/horizontal-align-item.cc b/lily/horizontal-align-item.cc
index 6e63be3daa..e5fe2e8d56 100644
--- a/lily/horizontal-align-item.cc
+++ b/lily/horizontal-align-item.cc
@@ -94,14 +94,14 @@ Horizontal_align_item::do_pre_processing()
for (int i=0 ; i < item_l_arr_.size(); i++)
{
Real dx = where_f -dims[i][-1];
- item_l_arr_[i]->translate (dx , X_AXIS);
+ item_l_arr_[i]->translate_axis (dx , X_AXIS);
if (item_l_arr_[i] == center_l_)
center_dx_f = where_f;
where_f += dims[i].length();
}
if (center_dx_f && !align_i_)
for (int i=0 ; i < item_l_arr_.size(); i++)
- item_l_arr_[i]->translate (- center_dx_f , X_AXIS);
+ item_l_arr_[i]->translate_axis (- center_dx_f , X_AXIS);
}
diff --git a/lily/include/atom.hh b/lily/include/atom.hh
index 66c4a6cbba..22b4cec972 100644
--- a/lily/include/atom.hh
+++ b/lily/include/atom.hh
@@ -24,7 +24,7 @@ struct Atom {
Atom (String, Box);
Atom ();
void translate (Offset o);
- void translate (Real r,Axis a);
+ void translate_axis (Real r,Axis a);
/// how big is #this#?
Box extent() const;
void print() const;
diff --git a/lily/include/axes.hh b/lily/include/axes.hh
index 812d983faa..3e0284b68d 100644
--- a/lily/include/axes.hh
+++ b/lily/include/axes.hh
@@ -20,4 +20,12 @@ class String;
String axis_name_str (Axis);
+/**
+ the operator ++ for Axis.
+ */
+Axis post_incr(Axis &);
+Axis incr(Axis &);
+//Axis operator++(Axis);
+
+
#endif // AXES_HH
diff --git a/lily/include/beam-swallow-trans.hh b/lily/include/beam-swallow-trans.hh
new file mode 100644
index 0000000000..7291fd0157
--- /dev/null
+++ b/lily/include/beam-swallow-trans.hh
@@ -0,0 +1,15 @@
+/*
+ beam-swallow-trans.hh -- declare
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+
+ */
+
+#ifndef BEAM_SWALLOW_TRANS_HH
+#define BEAM_SWALLOW_TRANS_HH
+
+
+#endif /* BEAM_SWALLOW_TRANS_HH */
+
diff --git a/lily/include/clef-item.hh b/lily/include/clef-item.hh
index 33190aceeb..311ea4f1ce 100644
--- a/lily/include/clef-item.hh
+++ b/lily/include/clef-item.hh
@@ -18,7 +18,7 @@ protected:
public:
String type_;
- int y_off;
+ int y_position_i_;
/// is this a change clef (smaller size)?
bool change_b_;
diff --git a/lily/include/col-info.hh b/lily/include/col-info.hh
index 505c11f991..46f6cf20c3 100644
--- a/lily/include/col-info.hh
+++ b/lily/include/col-info.hh
@@ -18,7 +18,7 @@
struct Colinfo {
Paper_column *pcol_l_;
P<Real> fixpos_p_;
- Interval width;
+ Interval width_;
int rank_i_;
/// did some tricks to make this column come out.
bool ugh_b_;
@@ -29,8 +29,6 @@ struct Colinfo {
void print() const;
bool fixed() const { return fixpos_p_.get_C();}
Real fixed_position() const { return *fixpos_p_; }
- Real minright() const { return width.right; }
- Real minleft() const { return -width.left; }
};
#endif // COL_INFO_HH
diff --git a/lily/include/graphical-element.hh b/lily/include/graphical-element.hh
index fae403280c..f5057a0c63 100644
--- a/lily/include/graphical-element.hh
+++ b/lily/include/graphical-element.hh
@@ -57,7 +57,7 @@ public:
translate in one direction
*/
- void translate (Real, Axis);
+ void translate_axis (Real, Axis);
Real relative_coordinate (Axis_group_element*group, Axis) const;
Offset absolute_offset() const;
diff --git a/lily/include/lookup.hh b/lily/include/lookup.hh
index 96cd46e6b7..d4f8663c35 100644
--- a/lily/include/lookup.hh
+++ b/lily/include/lookup.hh
@@ -24,7 +24,7 @@ struct Lookup {
void add (String, Symtable*);
void print() const;
- Atom linestaff (int n, Real w) const;
+ Atom linestaff (int n, Real ss, Real w) const;
Atom fill (Box b) const;
Atom beam_element (int,int,Real=0) const;
@@ -49,7 +49,7 @@ struct Lookup {
Atom clef (String) const;
Atom bar (String, Real height) const;
- Atom dots (int) const;
+ Atom dots () const;
Atom slur (int dy, Real &dx, Direction dir) const;
Atom half_slur (int dy, Real &dx, Direction dir, int xpart) const;
Atom half_slur_middlepart (Real &dx, Direction dir) const;
diff --git a/lily/include/molecule.hh b/lily/include/molecule.hh
index f83eda517b..ddea093d0e 100644
--- a/lily/include/molecule.hh
+++ b/lily/include/molecule.hh
@@ -28,7 +28,7 @@ struct Molecule {
void add (Molecule const &m);
void translate (Offset);
- void translate (Real,Axis);
+ void translate_axis (Real,Axis);
void add (Atom const & a) ;
/// how big is #this#?
Box extent() const;
diff --git a/lily/include/my-lily-lexer.hh b/lily/include/my-lily-lexer.hh
index e3272eb9cd..6b659ad7d9 100644
--- a/lily/include/my-lily-lexer.hh
+++ b/lily/include/my-lily-lexer.hh
@@ -26,37 +26,37 @@ void set_lexer();
/// lexer for Mudela
class My_lily_lexer : public Includable_lexer {
- int lookup_keyword (String);
- int scan_bare_word (String);
- int scan_escaped_word (String);
+ int lookup_keyword (String);
+ int scan_bare_word (String);
+ int scan_escaped_word (String);
- bool post_quotes_b_;
+ bool post_quotes_b_;
+ char escaped_char(char) const;
public:
- void * lexval_l;
+ void * lexval_l;
- Notename_table *note_tab_p_;
- Dictionary<Identifier*> *identifier_p_dict_p_;
- Keyword_table * keytable_p_;
- int errorlevel_i_;
-
- /* *************** */
-
- void clear_notenames();
- Identifier*lookup_identifier (String s);
- Melodic_req* lookup_melodic_req_l (String s);
- void push_header_state();
- void push_note_state();
- void push_lyric_state();
- void pop_state();
- void LexerError (char const *);
- My_lily_lexer();
- void set_identifier (String,Identifier*i);
- ~My_lily_lexer();
- int yylex();
- void print_declarations (bool init_b) const;
- void add_notename (String, Melodic_req*);
- bool note_state_b() const;
- bool lyric_state_b() const;
+ Notename_table *note_tab_p_;
+ Dictionary<Identifier*> *identifier_p_dict_p_;
+ Keyword_table * keytable_p_;
+ int errorlevel_i_;
+
+ /* *************** */
+
+ void clear_notenames();
+ Identifier*lookup_identifier (String s);
+ Melodic_req* lookup_melodic_req_l (String s);
+ void push_note_state();
+ void push_lyric_state();
+ void pop_state();
+ void LexerError (char const *);
+ My_lily_lexer();
+ void set_identifier (String,Identifier*i);
+ ~My_lily_lexer();
+ int yylex();
+ void print_declarations (bool init_b) const;
+ void add_notename (String, Melodic_req*);
+ bool note_state_b() const;
+ bool lyric_state_b() const;
};
#endif
diff --git a/lily/key-item.cc b/lily/key-item.cc
index 4dd094b667..bf44f42cb5 100644
--- a/lily/key-item.cc
+++ b/lily/key-item.cc
@@ -44,8 +44,10 @@ Key_item::read (Key_engraver const & key_grav_r)
void
Key_item::set_c_position (int c0)
{
- int octaves =(abs (c0) / 7) +1 ;
- c_position=(c0 + 7*octaves)%7;
+ int from_bottom_pos = c0 + 4; // ugh
+ int octaves =(abs (from_bottom_pos) / 7) +1 ;
+ from_bottom_pos =(from_bottom_pos + 7*octaves)%7;
+ c_position = from_bottom_pos - 4;
}
@@ -71,7 +73,7 @@ Key_item::brew_molecule_p() const
for (int i =0; i < pitch.size(); i++)
{
Atom a =paper()->lookup_l ()->accidental (acc[i]);
- a.translate ((c_position + pitch[i]) * inter, Y_AXIS);
+ a.translate_axis ((c_position + pitch[i]) * inter, Y_AXIS);
Molecule m (a);
output->add_at_edge (X_AXIS, RIGHT, m);
}
diff --git a/lily/lexer.l b/lily/lexer.l
index 453ababc7f..96ee56b49d 100644
--- a/lily/lexer.l
+++ b/lily/lexer.l
@@ -56,7 +56,6 @@ void strip_leading_white (String&);
%option warn
%x incl
-%x header
%x lyrics
%x notes
%x quote
@@ -67,11 +66,10 @@ A [a-zA-Z]
AA {A}|_
N [0-9]
AN {AA}|{N}
-PUNCT [?!,.:;']
+PUNCT [?!,.:']
ACCENT \\[`'"^]
-NATIONAL [\241-\377]
+NATIONAL [\001-\006\021-\027\031\036\200-\377]
TEX {AA}|-|{PUNCT}|{ACCENT}|{NATIONAL}
-
WORD {A}{AN}*
ALPHAWORD {A}+
INT -?{N}+
@@ -82,7 +80,8 @@ HORIZONTALWHITE [ \t]
BLACK [^ \n\t\f]
RESTNAME [rs]
NOTECOMMAND \\{A}+
-LYRICS ({AA}|{NATIONAL})[^0-9 \t\n\f]*
+LYRICS ({AA}|{TEX})[^0-9 \t\n\f]*
+ESCAPED [nt\\'"]
%%
@@ -123,29 +122,7 @@ LYRICS ({AA}|{NATIONAL})[^0-9 \t\n\f]*
yyterminate (); // can't move this, since it actually rets a YY_NULL
}
}
-<header>{
- [\{\}] {
- return YYText ()[0];
- }
- ^{WORD} {
- String s=YYText ();
- yylval.string = new String (s);
- return FIELDNAME;
- }
- {HORIZONTALWHITE}+{BLACK}.*\n {
- String s=YYText ();
- strip_leading_white (s);
- strip_trailing_white (s);
- yylval.string = new String (s);
- return RECORDLINE;
- }
- {WHITE}* {
- }
- . {
- return YYText ()[0];
- }
-}
<notes,INITIAL,lyrics>\\include {
@@ -222,13 +199,10 @@ LYRICS ({AA}|{NATIONAL})[^0-9 \t\n\f]*
start_quote ();
}
<quote>{
- \\\\ {
- *yylval.string += '\\';
- }
- \\\" {
- *yylval.string +='\"';
+ \\{ESCAPED} {
+ *yylval.string += escaped_char(YYText()[1]);
}
- [^"]+ {
+ [^\\"]+ {
*yylval.string += YYText ();
}
\" {
@@ -236,6 +210,9 @@ LYRICS ({AA}|{NATIONAL})[^0-9 \t\n\f]*
yy_pop_state ();
return STRING;
}
+ . {
+ *yylval.string += YYText ();
+ }
}
<lyrics>{
@@ -412,13 +389,8 @@ My_lily_lexer::lyric_state_b () const
return YY_START == lyrics;
}
-void
-My_lily_lexer::push_header_state ()
-{
- yy_push_state (header);
-}
-
-void strip_trailing_white (String&s)
+void
+strip_trailing_white (String&s)
{
int i=0;
for (; i < s.length_i (); i++)
@@ -427,7 +399,9 @@ void strip_trailing_white (String&s)
s = s.nomid_str (0, i);
}
-void strip_leading_white (String&s)
+
+void
+strip_leading_white (String&s)
{
int i=s.length_i ();
while (i--)
@@ -435,5 +409,4 @@ void strip_leading_white (String&s)
break;
s = s.left_str (i+1);
-
}
diff --git a/lily/local-key-item.cc b/lily/local-key-item.cc
index 2d24d07959..a2ddd1b43e 100644
--- a/lily/local-key-item.cc
+++ b/lily/local-key-item.cc
@@ -25,6 +25,8 @@ Local_key_item::Local_key_item (int i)
void
Local_key_item::add_support (Item*head_l)
{
+ if (support_items_.find_l(head_l))
+ return ;
support_items_.push (head_l);
add_dependency (head_l);
}
@@ -70,18 +72,17 @@ Local_key_item::brew_molecule_p() const
if (octave_mol_p)
{
Real dy =lastoct*7*paper()->internote_f ();
- octave_mol_p->translate (dy, Y_AXIS);
+ octave_mol_p->translate_axis (dy, Y_AXIS);
output->add (*octave_mol_p);
delete octave_mol_p;
}
octave_mol_p= new Molecule;
}
lastoct = accs[i].octave_i_;
-
Real dy = (accs[i].name_i_ + c0_position) * paper()->internote_f ();
Atom a (paper()->lookup_l ()->accidental (accs[i].accidental_i_));
- a.dim_[X_AXIS] += 1 PT; // todo
- a.translate (dy, Y_AXIS);
+
+ a.translate_axis (dy, Y_AXIS);
Molecule m(a);
octave_mol_p->add_at_edge (X_AXIS, RIGHT, m);
}
@@ -89,7 +90,7 @@ Local_key_item::brew_molecule_p() const
if (octave_mol_p)
{
Real dy =lastoct*7*paper()->internote_f ();
- octave_mol_p->translate (dy, Y_AXIS);
+ octave_mol_p->translate_axis (dy, Y_AXIS);
output->add (*octave_mol_p);
delete octave_mol_p;
}
@@ -100,8 +101,22 @@ Local_key_item::brew_molecule_p() const
Molecule m (paper()->lookup_l ()->fill (b));
output->add_at_edge (X_AXIS, RIGHT, m);
}
- Interval head_width=itemlist_width (support_items_);
- output->translate (-output->extent().x ().right + head_width.left , X_AXIS);
+
+ Interval x_int;
+ for (int i=0; i < support_items_.size(); i++)
+ {
+ Axis_group_element *common =
+ common_group (support_items_[i], X_AXIS);
+
+ Real x = support_items_[i]->relative_coordinate (common, X_AXIS)
+ -relative_coordinate (common, X_AXIS);
+
+ x_int.unite (x + support_items_[i]->width());
+ }
+ if (x_int.empty_b ())
+ x_int = Interval(0,0);
+
+ output->translate_axis (-output->extent()[X_AXIS][RIGHT] + x_int[LEFT], X_AXIS);
return output;
}
diff --git a/lily/lookup.cc b/lily/lookup.cc
index 64153dc8e7..38e31d9000 100644
--- a/lily/lookup.cc
+++ b/lily/lookup.cc
@@ -132,7 +132,7 @@ Lookup::clef (String s) const
}
Atom
-Lookup::dots (int j) const
+Lookup::dots () const
{
return (*symtables_)("dots")->lookup ("dot");
}
@@ -193,11 +193,10 @@ Lookup::hairpin (Real &wid, bool decresc) const
}
Atom
-Lookup::linestaff (int lines, Real wid) const
+Lookup::linestaff (int lines, Real interline_f, Real wid) const
{
- Real internote_f = paper_l_ ->internote_f();
Atom s;
- Real dy = (lines >0) ? (lines-1)*internote_f : 0;
+ Real dy = (lines >0) ? (lines-1)*interline_f : 0;
s.dim_ = Box (Interval (0,wid), Interval (0,dy));
Array<String> a;
@@ -207,6 +206,9 @@ Lookup::linestaff (int lines, Real wid) const
s.tex_ = (*symtables_)("param")->lookup ("linestaf").tex_;
s.tex_ = substitute_args (s.tex_, a);
+
+ s.translate_axis (-s.extent ()[Y_AXIS].center (), Y_AXIS);
+
return s;
}
diff --git a/lily/lyric-grav.cc b/lily/lyric-grav.cc
index 346ade0301..182658cd5f 100644
--- a/lily/lyric-grav.cc
+++ b/lily/lyric-grav.cc
@@ -37,7 +37,7 @@ Lyric_engraver::do_process_requests()
{
lyric_item_p_ = new Text_item (lreq_l_->tdef_p_);
- lyric_item_p_->translate (paper()->note_width ()/2 , X_AXIS);
+ lyric_item_p_->translate_axis (paper()->note_width ()/2 , X_AXIS);
lyric_item_p_->dir_ = DOWN;
lyric_item_p_->fat_b_ = true;
announce_element (Score_elem_info (lyric_item_p_, lreq_l_));
diff --git a/lily/meter.cc b/lily/meter.cc
index 0c4d4e0ad1..97df812358 100644
--- a/lily/meter.cc
+++ b/lily/meter.cc
@@ -14,6 +14,7 @@ Molecule*
Meter::brew_molecule_p() const
{
Atom s = paper()->lookup_l ()->meter (args);
+ s.translate_axis (-s.extent()[Y_AXIS].center (), Y_AXIS);
return new Molecule (Atom (s));
}
diff --git a/lily/molecule.cc b/lily/molecule.cc
index 4dfe7d6c13..f054a28021 100644
--- a/lily/molecule.cc
+++ b/lily/molecule.cc
@@ -40,10 +40,10 @@ Molecule::translate (Offset o)
}
void
-Molecule::translate (Real x,Axis a)
+Molecule::translate_axis (Real x,Axis a)
{
for (iter_top (ats,c); c.ok(); c++)
- c->translate (x,a);
+ c->translate_axis (x,a);
}
void
@@ -66,7 +66,7 @@ Molecule::add_at_edge (Axis a, Direction d, Molecule const &m)
}
Real offset = extent ()[a][d] - m.extent ()[a][-d];
Molecule toadd (m);
- toadd.translate (offset, a);
+ toadd.translate_axis (offset, a);
add (toadd);
}
diff --git a/lily/my-lily-lexer.cc b/lily/my-lily-lexer.cc
index 4c7f72e598..8abc8beb46 100644
--- a/lily/my-lily-lexer.cc
+++ b/lily/my-lily-lexer.cc
@@ -164,3 +164,21 @@ My_lily_lexer::clear_notenames()
delete note_tab_p_;
note_tab_p_ = new Notename_table;
}
+
+char
+My_lily_lexer::escaped_char(char c) const
+{
+ switch(c)
+ {
+ case 'n':
+ return '\n';
+ case 't':
+ return '\t';
+
+ case '\'':
+ case '\"':
+ case '\\':
+ return c;
+ }
+ return 0;
+}
diff --git a/lily/my-lily-parser.cc b/lily/my-lily-parser.cc
index bfa78512da..e2dd943b3a 100644
--- a/lily/my-lily-parser.cc
+++ b/lily/my-lily-parser.cc
@@ -129,6 +129,7 @@ My_lily_parser::parser_error (String s)
if (fatal_error_i_)
exit (fatal_error_i_);
error_level_i_ = 1;
+ exit_status_i_ = 1;
}
void
diff --git a/lily/notehead.cc b/lily/note-head.cc
index 97d69ec1ed..529e28d895 100644
--- a/lily/notehead.cc
+++ b/lily/note-head.cc
@@ -61,27 +61,27 @@ Note_head::brew_molecule_p() const
Real inter_f = p->internote_f ();
// ugh
- bool streepjes_b = (position_i_<-1) || (position_i_ > staff_size_i_+1);
+ int streepjes_i = abs(position_i_) < staff_size_i_/2
+ ? 0
+ : (abs(position_i_) - staff_size_i_/2) /2;
Atom s = p->lookup_l()->ball (balltype_i_);
out = new Molecule (Atom (s));
- out->translate (x_dir_ * s.dim_[X_AXIS].length (), X_AXIS);
+ out->translate_axis (x_dir_ * s.dim_[X_AXIS].length (), X_AXIS);
- if (streepjes_b)
+ if (streepjes_i)
{
int dir = sign (position_i_);
- int s =(position_i_<-1)
- ? -((-position_i_)/2)
- : (position_i_-staff_size_i_)/2;
- Atom str = p->lookup_l()->streepjes (balltype_i_, s);
+ Atom streepje = p->lookup_l()->streepjes (balltype_i_, dir* streepjes_i);
+
Molecule sm;
- sm.add (Atom (str));
+ sm.add (streepje);
if (position_i_ % 2)
- sm.translate (-inter_f* dir, Y_AXIS);
- out->add (sm);
+ sm.translate_axis (-inter_f* dir, Y_AXIS);
+ out->add (sm);
}
- out->translate (inter_f*position_i_, Y_AXIS);
+ out->translate_axis (inter_f*position_i_, Y_AXIS);
return out;
}
diff --git a/lily/parser.y b/lily/parser.y
index c9b1dd4949..9f02016a41 100644
--- a/lily/parser.y
+++ b/lily/parser.y
@@ -12,7 +12,7 @@
#include <iostream.h>
// mmm
-#define MUDELA_VERSION "0.1.6"
+#define MUDELA_VERSION "0.1.7"
#include "scalar.hh"
#include "translation-property.hh"
@@ -183,7 +183,6 @@ yylex (YYSTYPE *s, void * v_l)
%token <real> REAL
%token <string> DURATION RESTNAME
%token <string> STRING
-%token <string> FIELDNAME RECORDLINE
%token <i> POST_QUOTES
%token <i> PRE_QUOTES
@@ -228,9 +227,9 @@ yylex (YYSTYPE *s, void * v_l)
%type <symtable> symtable symtable_body
%type <trans> translator_spec translator_spec_body
%type <tempo> tempo_request
-%type <string> header_record
+%type <string> concat_strings
-%expect 2
+%expect 1
%%
@@ -281,34 +280,28 @@ mudela_header_body:
{
$$ = new Header;
}
- | mudela_header_body FIELDNAME header_record {
- (*$$)[*$2] = *$3;
+ | mudela_header_body STRING '=' concat_strings ';' {
+ (*$$)[*$2] = *$4;
delete $2;
- delete $3;
+ delete $4;
}
;
mudela_header:
- HEADER {
- THIS->lexer_p_->push_header_state ();
- }
-
- '{' mudela_header_body '}' {
- $$ = $4;
- THIS->lexer_p_->pop_state ();
+ HEADER '{' mudela_header_body '}' {
+ $$ = $3;
}
;
-header_record:
+concat_strings:
{
$$ = new String;
}
- | header_record RECORDLINE {
+ | concat_strings STRING {
*$$ += *$2;
- delete $2;
}
- ;
+
/*
DECLARATIONS
diff --git a/lily/rest.cc b/lily/rest.cc
index 6dc7dab858..d186608b26 100644
--- a/lily/rest.cc
+++ b/lily/rest.cc
@@ -1,5 +1,5 @@
/*
- rest.cc -- implement
+ rest.cc -- implement Rest
source file of the GNU LilyPond music typesetter
@@ -17,10 +17,9 @@
void
Rest::do_add_processing ()
{
- if (balltype_i_ == 0)
- position_i_ += 4;
- else if (balltype_i_ == 1)
- position_i_ += 4;
+ if (balltype_i_ != 0 && balltype_i_ != 1)
+ position_i_ -= 4;
+
Rhythmic_head::do_add_processing ();
if (dots_l_)
dots_l_->position_i_ = position_i_;
@@ -34,14 +33,12 @@ Rest::Rest ()
Molecule *
Rest::brew_molecule_p () const
{
- int staff_size_i_ =8;
- bool streepjes_b = (position_i_<-1) || (position_i_ > staff_size_i_+1);
- if (balltype_i_ < 0 || balltype_i_ > 1)
- streepjes_b = false;
+ int staff_size_i_ = 8;
+ bool streepjes_b = abs(position_i_) > staff_size_i_ /2 && (balltype_i_ == 0 || balltype_i_ == 1);
Atom s(paper ()->lookup_l()->rest (balltype_i_, streepjes_b));
Molecule * m = new Molecule ( Atom (s));
- m->translate (position_i_ * paper ()->internote_f (), Y_AXIS);
+ m->translate_axis (position_i_ * paper ()->internote_f (), Y_AXIS);
return m;
}
diff --git a/lily/scoreline.cc b/lily/scoreline.cc
index 9a6438a5ed..4a2df191c4 100644
--- a/lily/scoreline.cc
+++ b/lily/scoreline.cc
@@ -73,7 +73,7 @@ Line_of_score::set_breaking (Array<Col_hpositions> const &breaking)
for (int i=0; i < curline.size(); i++)
{
- curline[i]->translate(config[i],X_AXIS);
+ curline[i]->translate_axis (config[i],X_AXIS);
curline[i]->line_l_ = (Line_of_score*)line_l;
}
}
diff --git a/lily/script-def.cc b/lily/script-def.cc
index fa067cd3cc..e16eed4c09 100644
--- a/lily/script-def.cc
+++ b/lily/script-def.cc
@@ -75,8 +75,8 @@ Atom
Script_def::get_atom (Paper_def *p , Direction d) const
{
String preidx_str ="";
- if (invertsym_b_&& d < 0)
- preidx_str = "-";
+ if (invertsym_b_)
+ preidx_str = (d < 0)? "d" : "u";
return p->lookup_l()->script (preidx_str + symidx_str_);
}
diff --git a/lily/script.cc b/lily/script.cc
index df80dabd37..2ac9930199 100644
--- a/lily/script.cc
+++ b/lily/script.cc
@@ -102,8 +102,8 @@ Script::brew_molecule_p() const
Real dx = paper()->note_width()/2;
Molecule*out = new Molecule (specs_l_->get_atom (paper(), dir_));
- out->translate (dy * pos_i_, Y_AXIS);
- out->translate (dx, X_AXIS); // FIXME! ugh
+ out->translate_axis (dy * pos_i_, Y_AXIS);
+ out->translate_axis (dx, X_AXIS); // FIXME! ugh
return out;
}
diff --git a/lily/span-bar.cc b/lily/span-bar.cc
index 6076dd7d86..a73c27df42 100644
--- a/lily/span-bar.cc
+++ b/lily/span-bar.cc
@@ -110,7 +110,7 @@ Span_bar::brew_molecule_p() const
Atom s = get_bar_sym (y_int.length());
Molecule*output = new Molecule (Atom (s));
- output->translate (y_int[-1], Y_AXIS);
+ output->translate_axis (y_int[-1], Y_AXIS);
return output;
}
diff --git a/lily/spring-spacer.cc b/lily/spring-spacer.cc
index d1fb487b00..fc730f3965 100644
--- a/lily/spring-spacer.cc
+++ b/lily/spring-spacer.cc
@@ -160,8 +160,8 @@ Spring_spacer::check_constraints (Vector v) const
if (!i)
continue;
- Real mindist=cols[i-1].minright()
- +cols[i].minleft();
+ Real mindist=cols[i-1].width_[RIGHT]
+ -cols[i].width_[LEFT];
// ugh... compares
Real dif =v (i) - v (i-1)- mindist;
@@ -196,7 +196,7 @@ Spring_spacer::try_initial_solution() const
if (i > 0)
{
- Real r =initsol (i-1) + cols[i-1].minright();
+ Real r =initsol (i-1) + cols[i-1].width_[RIGHT];
if (initsol (i) < r)
{
warning ("overriding fixed position");
@@ -207,8 +207,8 @@ Spring_spacer::try_initial_solution() const
}
else
{
- Real mindist=cols[i-1].minright()
- +cols[i].minleft();
+ Real mindist=cols[i-1].width_[RIGHT]
+ - cols[i].width_[LEFT];
if (mindist < 0.0)
warning ("Excentric column");
initsol (i)=initsol (i-1)+mindist;
@@ -277,8 +277,8 @@ Spring_spacer::make_constraints (Mixed_qp& lp) const
c1(j)=1.0 ;
c1(j-1)=-1.0 ;
- lp.add_inequality_cons (c1, cols[j-1].minright() +
- cols[j].minleft());
+ lp.add_inequality_cons (c1,
+ cols[j-1].width_[RIGHT] - cols[j].width_[LEFT]);
}
}
}
@@ -529,7 +529,7 @@ Spring_spacer::calc_idealspacing()
{
if (!scol_l (i)->musical_b())
{
- Real symbol_distance =cols[i].minright() + 2 PT;
+ Real symbol_distance =cols[i].width_[RIGHT] + 2 PT;
Real durational_distance = 0;
if (i+1 < cols.size())
@@ -542,7 +542,7 @@ Spring_spacer::calc_idealspacing()
*/
if (delta_t)
durational_distance = paper_l()->duration_to_dist (delta_t,k);
- symbol_distance += cols[i+1].minleft();
+ symbol_distance += -cols[i+1].width_[LEFT];
}
ideal_arr_[i] = symbol_distance >? durational_distance;
@@ -576,7 +576,7 @@ Spring_spacer::calc_idealspacing()
extra space if this is not needed */
if (!scol_l (i+1)->musical_b())
{
- Real minimum_dist = cols[i+1].minleft() + 2 PT + cols[i].minright () ;
+ Real minimum_dist = - cols[i+1].width_[LEFT] + 2 PT + cols[i].width_[RIGHT];
if (ideal_arr_[i+1] + minimum_dist < dist)
{
ideal_arr_[i] = dist - ideal_arr_[i+1];
diff --git a/lily/staff-side.cc b/lily/staff-side.cc
index a58d2f2828..eba7d09a13 100644
--- a/lily/staff-side.cc
+++ b/lily/staff-side.cc
@@ -75,8 +75,9 @@ Staff_side::get_position_i() const
Real inter_f = paper()-> internote_f ();
if (!inside_staff_b_)
{
- y = (dir_ > 0 && staff_sym_l_) ? staff_sym_l_->steps_i() + 2: -2;
+ y = (staff_sym_l_) ? dir_ * (staff_sym_l_->steps_i() + 2) : -2;
y *=inter_f;
+
Interval v= support_height();
if (dir_ > 0)
diff --git a/lily/staff-sym.cc b/lily/staff-sym.cc
index 6b9b288aba..eda2e2b608 100644
--- a/lily/staff-sym.cc
+++ b/lily/staff-sym.cc
@@ -33,7 +33,7 @@ Staff_symbol::do_print() const
Molecule*
Staff_symbol::brew_molecule_p() const
{
- Atom a = paper()->lookup_l ()->linestaff (no_lines_i_, width ().length ());
+ Atom a = paper()->lookup_l ()->linestaff (no_lines_i_, paper ()->interline_f(), width ().length ());
return new Molecule (a);
}
diff --git a/lily/stem.cc b/lily/stem.cc
index 462567a47e..324624b15a 100644
--- a/lily/stem.cc
+++ b/lily/stem.cc
@@ -139,7 +139,7 @@ Stem::get_center_distance_from_top ()
if (dir_)
return (dir_ > 0) ? 0 : 1;
- int staff_center = staff_size_i_ / 2;
+ int staff_center = 0;
int max = max_head_i () - staff_center;
return max >? 0;
}
@@ -151,7 +151,7 @@ Stem::get_center_distance_from_bottom ()
if (dir_)
return (dir_ > 0) ? 1 : 0;
- int staff_center = staff_size_i_ / 2;
+ int staff_center = 0;
int min = staff_center - min_head_i ();
return min >? 0;
}
@@ -179,24 +179,22 @@ Stem::set_default_stemlen ()
if (!dir_)
set_default_dir ();
- // ugh... how about non 5-line staffs?
- bool on_ledger_line_b = ((max_head_i () < -2 && dir_ == 1)
- // || (min_head_i () > staff_size_i_ && dir_ == -1));
- || (min_head_i () > staff_size_i_ + 3 && dir_ == -1));
- if (on_ledger_line_b)
- {
- set_stemend (staff_size_i_ / 2 - 1);
- }
- else
+
+ Real dy = paper ()->interbeam_f ();
+ Real len = STEMLEN;
+ // ugh, should get nice *rule* for this
+ if (abbrev_flag_i_ > 1)
+ len += (abbrev_flag_i_ - 1)* dy / 2;
+ set_stemend ((dir_ > 0) ? max_head_i () + len :
+ min_head_i () - len);
+
+
+ if (dir_ * stem_end_f () < 0)
{
- Real dy = paper ()->interbeam_f ();
- Real len = STEMLEN;
- // ugh, should get nice *rule* for this
- if (abbrev_flag_i_ > 1)
- len += (abbrev_flag_i_ - 1)* dy / 2;
- set_stemend ((dir_ > 0) ? max_head_i () + len :
- min_head_i () - len);
+ set_stemend (0);
}
+
+
}
void
@@ -305,14 +303,14 @@ Stem::abbrev_mol () const
a.translate (Offset(- w / 2, stem_end_f () - (w / 2 * slope)));
// ugh
if (!beams_i)
- a.translate (dy + beamdy - dir_ * dy, Y_AXIS);
+ a.translate_axis (dy + beamdy - dir_ * dy, Y_AXIS);
else
- a.translate (2 * beamdy - dir_ * (beamdy - dy), Y_AXIS);
+ a.translate_axis (2 * beamdy - dir_ * (beamdy - dy), Y_AXIS);
for (int i = 0; i < abbrev_flag_i_; i++)
{
Atom b (a);
- b.translate (-dir_ * dy * (beams_i + i), Y_AXIS);
+ b.translate_axis (-dir_ * dy * (beams_i + i), Y_AXIS);
beams.add (b);
}
@@ -350,7 +348,7 @@ Stem::brew_molecule_p () const
if (head_l_arr_.size())
{
- mol_p->translate (note_delta_f (), X_AXIS);
+ mol_p->translate_axis (note_delta_f (), X_AXIS);
}
return mol_p;
}
diff --git a/lily/tex-slur.cc b/lily/tex-slur.cc
index 58783600f5..8ea4ba4a5d 100644
--- a/lily/tex-slur.cc
+++ b/lily/tex-slur.cc
@@ -69,7 +69,7 @@ Lookup::half_slur_middlepart (Real &dx, Direction dir) const
f +=String ("{") + String (idx) + "}";
s.tex_ = f;
- s.translate (dx/2, X_AXIS);
+ s.translate_axis (dx/2, X_AXIS);
return s;
}
@@ -206,7 +206,7 @@ Lookup::slur (int dy , Real &dx, Direction dir) const
s.tex_ = f;
- s.translate (dx/2, X_AXIS);
+ s.translate_axis (dx/2, X_AXIS);
return s;
}
@@ -239,7 +239,7 @@ Lookup::big_slur (int dy , Real &dx, Direction dir) const
mol.add_at_edge (X_AXIS, RIGHT, a);
mol.add_at_edge (X_AXIS, RIGHT, r);
- mol.translate (l_dy * internote_f, Y_AXIS);
+ mol.translate_axis (l_dy * internote_f, Y_AXIS);
Atom s;
s.tex_ = mol.TeX_string();
s.dim_ = mol.extent();
diff --git a/lily/text-item.cc b/lily/text-item.cc
index 4701f2b109..8d62ea7289 100644
--- a/lily/text-item.cc
+++ b/lily/text-item.cc
@@ -51,8 +51,8 @@ Text_item::brew_molecule_p() const
Molecule* mol_p = new Molecule (a);
if (dir_<0) // should do something better anyway.
- mol_p->translate (-mol_p->extent().y ().left , Y_AXIS);
- mol_p->translate (pos_i_ * paper()->internote_f (), Y_AXIS);
+ mol_p->translate_axis (-mol_p->extent().y ().left , Y_AXIS);
+ mol_p->translate_axis (pos_i_ * paper()->internote_f (), Y_AXIS);
return mol_p;
}
diff --git a/lily/vertical-align-elem.cc b/lily/vertical-align-elem.cc
index 4f83ba1b7b..8cc0ecfd49 100644
--- a/lily/vertical-align-elem.cc
+++ b/lily/vertical-align-elem.cc
@@ -22,10 +22,10 @@ Vertical_align_element::do_substitute_dependency (Score_elem*o,Score_elem*n)
{
int i;
while ((i = elem_l_arr_.find_i (o))>=0)
- if (n)
- elem_l_arr_[i] = n;
- else
- elem_l_arr_.del (i);
+ if (n)
+ elem_l_arr_[i] = n;
+ else
+ elem_l_arr_.del (i);
}
/**
@@ -40,18 +40,18 @@ Vertical_align_element::do_post_processing()
Array<Interval> dims;
for (int i=0; i < elem_l_arr_.size(); i++)
{
- Interval y = elem_l_arr_[i]->height() ;
- if (y.empty_b())
- y = Interval (0,0);
+ Interval y = elem_l_arr_[i]->height() ;
+ if (y.empty_b())
+ y = Interval (0,0);
- dims.push (y);
+ dims.push (y);
}
Real where_f=0;
for (int i=0 ; i < elem_l_arr_.size(); i++)
{
- elem_l_arr_[i]->translate (- dims[i][1] - where_f, Y_AXIS);
- where_f += dims[i].length();
+ elem_l_arr_[i]->translate_axis (- dims[i][1] - where_f, Y_AXIS);
+ where_f += dims[i].length();
}
}
diff --git a/make/Targets.make b/make/Targets.make
index d84b62e304..cf8390be0a 100644
--- a/make/Targets.make
+++ b/make/Targets.make
@@ -121,9 +121,6 @@ help:
doc:
$(MAKE) -C $(depth)/Documentation do-doc
-# doc++ documentation of classes
-doc++: $(progdocs)
- $(docxx) $(docxx-opts) -d $(DOCDIR) $^
# ugh. should generate in out/
dist:
@@ -190,7 +187,7 @@ endif
#
$(outdir)/version.hh: VERSION
- ./$(lily_bindir)/make-version > $@
+ sh ./$(lily_bindir)/make-version.sh > $@
# should this be in Rules?
diff --git a/make/Variables.make b/make/Variables.make
index c1a022fa19..abcc2dde58 100644
--- a/make/Variables.make
+++ b/make/Variables.make
@@ -200,12 +200,6 @@ STRIPDEBUG=true
DISTFILES=$(EXTRA_DISTFILES) Makefile $(ALL_SOURCES)
DOCDIR=$(depth)/$(outdir)
-# .hh should be first. Don't know why
-# take some trouble to auto ignore sources and obsolete stuff.
-progdocs=$(shell $(FIND) ./ -name '*.hh' |egrep -v '$(OUTDIR_NAME)') \
- $(shell $(FIND) ./ -name '*.cc' |egrep -v '$(OUTDIR_NAME)') \
-
-
pod2html=pod2html
pod2groff=pod2man --center="LilyPond documentation" --section="0"\
--release="LilyPond $(TOPLEVEL_MAJOR_VERSION).$(TOPLEVEL_MINOR_VERSION).$(TOPLEVEL_PATCH_LEVEL)" $< > $@
@@ -220,6 +214,3 @@ endif
DO_STRIP=true
-docxx-opts=-S -k -p
-docxx=doc++
-
diff --git a/make/lelievijver.lsm b/make/lelievijver.lsm
index 5c5950a0f0..99f1bb8260 100644
--- a/make/lelievijver.lsm
+++ b/make/lelievijver.lsm
@@ -1,6 +1,6 @@
Begin3
Titel: LilyPond
-Versie: 0.1.21.jcn1
+Versie: 0.1.22
Inschrijf datum: 10OCT97
Beschrijving: LilyPond is de muziek typesetter van het GNU Project.
Het programma genereert muziek in zichtbare of
@@ -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.21.jcn1.tar.gz
+ 395k lilypond-0.1.22.tar.gz
Oorspronkelijke plek: pcnov095.win.tue.nl /pub/lilypond/
- 395k lilypond-0.1.21.jcn1.tar.gz
+ 395k lilypond-0.1.22.tar.gz
Copi"eer politie: GPL
End
diff --git a/make/lilypond.lsm b/make/lilypond.lsm
index 3470c648c6..9077acff9c 100644
--- a/make/lilypond.lsm
+++ b/make/lilypond.lsm
@@ -1,7 +1,7 @@
Begin3
Title: LilyPond
-Version: 0.1.21
-Entered-date: 08OCT97
+Version: 0.1.22
+Entered-date: 10OCT97
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
@@ -14,8 +14,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
- 395k lilypond-0.1.21.tar.gz
+ 395k lilypond-0.1.22.tar.gz
Original-site: pcnov095.win.tue.nl /pub/lilypond/
- 395k lilypond-0.1.21.tar.gz
+ 395k lilypond-0.1.22.tar.gz
Copying-policy: GPL
End
diff --git a/make/lilypond.spec b/make/lilypond.spec
index 18049956f0..296e2fd7a5 100644
--- a/make/lilypond.spec
+++ b/make/lilypond.spec
@@ -1,9 +1,9 @@
Name: lilypond
-Version: 0.1.21
+Version: 0.1.22
Release: 1
Copyright: GPL
Group: Applications/Publishing
-Source0: pcnov095.win.tue.nl:/pub/lilypond/lilypond-0.1.21.tar.gz
+Source0: pcnov095.win.tue.nl:/pub/lilypond/lilypond-0.1.22.tar.gz
Summary: A preprocessor to make TeX typeset music.
URL: http://www.stack.nl/~hanwen/lilypond
Packager: Han-Wen Nienhuys <hanwen@stack.nl>
@@ -29,7 +29,7 @@ make -C Documentation gifs
make prefix="$RPM_BUILD_ROOT/usr" install
%files
%doc Documentation/out/AUTHORS.text Documentation/out/CodingStyle.text Documentation/out/INSTALL.text Documentation/out/MANIFESTO.text Documentation/out/convert-mudela.text Documentation/out/faq.text Documentation/out/gnu-music.text Documentation/out/index.text Documentation/out/internals.text Documentation/out/language.text Documentation/out/lilypond.text Documentation/out/links.text Documentation/out/literature.text Documentation/out/mi2mu.text Documentation/out/mudela-book.text Documentation/out/mutopia.text Documentation/out/other-packages.text BUGS TODO NEWS DEDICATION ANNOUNCE README
-%doc input/abbrev.ly input/beams.ly input/cadenza.ly input/collisions.ly input/coriolan-alto.ly input/font.ly input/gallina.ly input/gallina.tex input/header.ly input/keys.ly input/kortjakje.ly input/multi.ly input/pedal.ly input/rhythm.ly input/scales.ly input/scripts.ly input/scsii-menuetto.ly input/scsii-menuetto.tex input/slurs.ly input/standchen-16.ly input/standchen-16.tex input/standchen-20.ly input/standchen-20.tex input/standchen.ly input/toccata-fuga-E.ly input/twinkle-pop.ly input/twinkle.ly input/wtk1-fugue1.ly input/wtk1-fugue2.ly input/wtk1-prelude1.ly Documentation/mudela-course.doc Documentation/mudela-man.doc
+%doc input/abbrev.ly input/beams.ly input/cadenza.ly input/collisions.ly input/coriolan-alto.ly input/font.ly input/gallina.ly input/gallina.tex input/gourlay.ly input/header.ly input/keys.ly input/kortjakje.ly input/multi.ly input/pedal.ly input/rhythm.ly input/scales.ly input/scripts.ly input/scsii-menuetto.ly input/scsii-menuetto.tex input/slurs.ly input/standchen-16.ly input/standchen-16.tex input/standchen-20.ly input/standchen-20.tex input/standchen.ly input/toccata-fuga-E.ly input/twinkle-pop.ly input/twinkle.ly input/wtk1-fugue1.ly input/wtk1-fugue2.ly input/wtk1-prelude1.ly Documentation/mudela-course.doc Documentation/mudela-man.doc
%doc Documentation/out/lelie_logo.gif
/usr/bin/convert-mudela
/usr/bin/mudela-book
@@ -41,6 +41,7 @@ make prefix="$RPM_BUILD_ROOT/usr" install
/usr/man/man1/mudela-book.1
/usr/man/man1/convert-mudela.1
/usr/lib/texmf/texmf/tex/lilypond/
+/usr/lib/texmf/texmf/fonts/source/lilypond
/usr/share/lilypond/
%post
diff --git a/make/lilypond.spec.in b/make/lilypond.spec.in
index 7a871bacb4..a984487a74 100644
--- a/make/lilypond.spec.in
+++ b/make/lilypond.spec.in
@@ -41,6 +41,7 @@ make prefix="$RPM_BUILD_ROOT/usr" install
/usr/man/man1/mudela-book.1
/usr/man/man1/convert-mudela.1
/usr/lib/texmf/texmf/tex/lilypond/
+/usr/lib/texmf/texmf/fonts/source/lilypond
/usr/share/lilypond/
%post
diff --git a/mf/Makefile b/mf/Makefile
index 30a6654f79..64f8dc7264 100644
--- a/mf/Makefile
+++ b/mf/Makefile
@@ -41,7 +41,7 @@ $(outdir)/%.log: %.mf
rm $(basename $< ).*gf
$(lyout)/%.ly $(texout)/%.tex: $(outdir)/%.log
- mf-to-table --ly $(lyout)/$(<F:.log=.ly) --tex $(texout)/$(<F:.log=.tex) $<
+ $(depth)/bin/$(outdir)/mf-to-table --ly $(lyout)/$(<F:.log=.ly) --tex $(texout)/$(<F:.log=.tex) $<
localinstall:
$(INSTALL) -d $(MFDIR)/lilypond
diff --git a/mf/TODO b/mf/TODO
index 212eefa4f2..1c9189e7d2 100644
--- a/mf/TODO
+++ b/mf/TODO
@@ -5,7 +5,6 @@
* flags
* clefs
* some scripts:
- - toe/heel
- piano pedals,
* braces.
* trills
@@ -18,6 +17,6 @@
- check out Adobe Sonata/Petrucci font layout. They are the
standard for Music fonts
- - hack up GS to do round pixels iso. square pixels. (Printers
-don't do square pixels.)
+ - hack up GS or the mf-gray font to do round pixels
+iso. square pixels. (Printers don't do square pixels.)
diff --git a/mf/autometric.mf b/mf/autometric.mf
index cd924a3aab..8cddab9100 100644
--- a/mf/autometric.mf
+++ b/mf/autometric.mf
@@ -15,30 +15,30 @@
def fet_beginfont(expr name,size) =
font_identifier:=name&decimal size;
font_size size;
- message "@{font:"&name&":"&decimal size&"@}";
+ message "@{font@:"&name&"@:"&decimal size&"@}";
message "";
enddef;
def fet_endfont(expr name) =
- message "@{tnof:"&name&"@}";
+ message "@{tnof@:"&name&"@}";
message "";
enddef;
% group or table?
def fet_begingroup(expr name) =
- message "@{group:"&name&"@}";
+ message "@{group@:"&name&"@}";
message "";
begingroup
enddef;
def fet_endgroup(expr name) =
endgroup;
- message "@{puorg:"&name&"@}";
+ message "@{puorg@:"&name&"@}";
message "";
enddef;
def autometric_output_char=
- message "@{char:"&charnamestr&":"&decimal charcode&":"&decimal charbp&":"&decimal charwd&":"&decimal chardp&":"&decimal charht&":"&idstr&":"&texstr&"@}";
+ message "@{char@:"&charnamestr&"@:"&decimal charcode&"@:"&decimal charbp&"@:"&decimal charwd&"@:"&decimal chardp&"@:"&decimal charht&"@:"&idstr&"@:"&texstr&"@}";
enddef;
@@ -108,7 +108,7 @@ enddef;
def breapth_endchar =
scantokens extra_endchar;
if proofing > 0: makebox_with_breapth(proofrule); fi
- chardx := w + b;
+ chardx := 10*(w + b);
shipit;
endgroup
enddef;
diff --git a/mf/dimen.tex b/mf/dimen.tex
index 9d809332d7..44c59a4ef4 100644
--- a/mf/dimen.tex
+++ b/mf/dimen.tex
@@ -2,6 +2,7 @@
% A tex file to help determine dims.
%
+\font\black=black
\font\taupin=musix16
\font\fet=font-en-tja16
\font\vet=vette-beams16
diff --git a/mf/feta-banier.mf b/mf/feta-banier.mf
index f845fac0cc..5dad6a8216 100644
--- a/mf/feta-banier.mf
+++ b/mf/feta-banier.mf
@@ -10,12 +10,12 @@ save foot_thickness, foot_depth, foot_width;
flag_angle = 32;
-hip_thickness# = stafflinethickness#;
+hip_thickness# = 1.2 stafflinethickness#;
foot_thickness# = blot_diameter#;
flare# = 1.0 interline#;
hip_depth# = 15/7 interline#;
-hip_width# = 8/7 interline# + hip_thickness# /2 + stemthickness#/2;
+hip_width# = 7/8 interline# + hip_thickness# /2 + stemthickness#/2;
foot_depth# = flare# + 15/7 interline#;
foot_width# = .885 hip_width#;
@@ -35,8 +35,6 @@ define_pixels(flare,
% page 119
%
def draw_eight_flag =
-
-
penpos0(stemthickness, 0);
penpos1(flare, 90);
penpos2(hip_thickness, 0);
diff --git a/mf/feta-bolletjes.mf b/mf/feta-bolletjes.mf
index cef0590903..f99fed2e69 100644
--- a/mf/feta-bolletjes.mf
+++ b/mf/feta-bolletjes.mf
@@ -21,7 +21,7 @@ def draw_brevis =
head_width# = 2 interline#;
holeheight = 3 stafflinethickness;
- stem_width = 1.2 stafflinethickness;
+ stem_width = 1.4 stafflinethickness;
define_pixels(head_width);
@@ -66,8 +66,8 @@ fet_beginchar("Longa notehead", "-2", "longaball");
z7 = z5;
z6 - z7 = (-stem_width/2, -interline);
theta = angle(z6-z7)+ 90;
- penpos7(stafflinethickness, theta);
- penpos6(stem_width, theta);
+ penpos7(stem_width, theta);
+ penpos6(1.2 stem_width, theta);
fill z7r .. z6r{z6-z7} .. {z7-z6} z6l -- z7l -- cycle;
penlabels(6,7);
diff --git a/mf/feta-generic.mf b/mf/feta-generic.mf
index 7fa8ffd6b7..47c8223f98 100644
--- a/mf/feta-generic.mf
+++ b/mf/feta-generic.mf
@@ -1,4 +1,14 @@
+
+test:=0;
+
+if test = -1:
+ mode := smoke;
+fi
+
+mode_setup;
+
+
input feta-macros;
make_pen_stack;
@@ -6,7 +16,7 @@ make_picture_stack;
input feta-params;
-test:= 0;
+
if test = 0:
input feta-eindelijk;
@@ -16,5 +26,6 @@ if test = 0:
input feta-schrift;
input feta-banier;
else:
- input foo;
+
+ input feta-schrift;
fi
diff --git a/mf/feta-macros.mf b/mf/feta-macros.mf
index 7666427515..e50ef98781 100644
--- a/mf/feta-macros.mf
+++ b/mf/feta-macros.mf
@@ -25,6 +25,20 @@ def scaledabout(expr point, scale) =
shifted -point scaled scale shifted point
enddef;
+
+%
+% make a local (restored after endgroup) copy of t_var
+%
+def local_copy(text type, t_var)=
+ save copy_temp;
+ type copy_temp;
+ copy_temp := t_var;
+ save t_var;
+ type t_var;
+ t_var := copy_temp;
+enddef;
+
+
%
% Urgh! Want to do parametric types
%
diff --git a/mf/feta-schrift.mf b/mf/feta-schrift.mf
index de1786b860..05202ee229 100644
--- a/mf/feta-schrift.mf
+++ b/mf/feta-schrift.mf
@@ -3,7 +3,7 @@
%
-fet_begingroup("foobars")
+fet_begingroup("scripts")
def draw_fermata =
@@ -13,7 +13,7 @@ def draw_fermata =
% suggest ca 80 degrees iso half-circle
alpha := 10;
- radius# = 1.5 interline#;
+ radius# = 1.25 interline#;
crook_thinness# = 1.5stafflinethickness#;
crook_fatness# = 4 stafflinethickness#;
@@ -59,7 +59,7 @@ fet_endchar;
% FIXME: rounded endings
%
% `\accent' is TeX reserved.
-fet_beginchar("> accent", "accent", "sforzatoaccent")
+fet_beginchar("> accent", "sforzato", "sforzatoaccent")
set_char_box(.9 interline#, .9 interline#, .5 interline#, .5 interline#);
save thickness, diminish;
@@ -89,7 +89,7 @@ fet_endchar;
fet_beginchar("staccato dot", "staccato", "staccato")
save radius;
- radius# = 1.25 stafflinethickness#;
+ radius# = 1.5 stafflinethickness#;
define_pixels(radius);
pickup pencircle scaled 2 radius;
draw (0,0);
@@ -176,19 +176,19 @@ fet_endchar;
fet_beginchar("open (unstopped)", "open", "ouvert")
save thin, height, width, thick;
height# = 5/4 width#;
- height# = 7/8 interline#;
+ height# = interline#;
thin = 1.2 stafflinethickness;
thick = 1.4 thin;
- set_char_box(width#/2, width#/2, 0, height#);
+ set_char_box(width#/2, width#/2, height#/2, height#/2);
penpos1(thick, 0);
penpos2(thin, 90);
- z1r = (w,h/2);
+ z1r = (w, 0);
z2r = (0, h);
penlabels(1,2);
penstroke z1e{up} .. {left}z2e;
addto currentpicture also currentpicture xscaled -1;
- addto currentpicture also currentpicture reflectedabout((w,h/2), (0,h/2));
+ addto currentpicture also currentpicture yscaled -1;
fet_endchar;
@@ -237,10 +237,10 @@ fet_beginchar("Downbow", "downbow", "downbow")
save wd;
define_pixels(wd)
- wd# = 3/2 interline#;
+ wd# = 1.5 interline#;
stemthick = 1.2 stafflinethickness;
- set_char_box(wd#/2, wd#/2, 0, 4/3interline#);
+ set_char_box(wd#/2, wd#/2, 0, 4/3 interline#);
beamheight = 4/10 h;
@@ -271,7 +271,6 @@ fet_endchar;
%
% Inspired by a computer-set version of auf dem Strom by Baerenreiter.
%
-
fet_beginchar("Turn","turn","turn")
save thin, thick, ball_diam, darkness;
save wd, ht, thick_nibangle, ball_nib_thick;
@@ -280,7 +279,7 @@ fet_beginchar("Turn","turn","turn")
wd# = 35/16 interline#;
ht# = 18/17 interline#;
- darkness = 1.25 stafflinethickness;
+ darkness = 1.20 stafflinethickness;
set_char_box(wd#/2, wd#/2, ht#/2, ht#/2);
@@ -346,23 +345,41 @@ def draw_bulb(expr zl, zr, center_factor, radius_factor)=
endgroup
enddef;
-fet_beginchar("Trill (`tr')","utrill","utrill")
+%
+% Inspired by a (by now) PD edition of Durand & C'ie edition of
+% Saint-Saens' Celloconcerto no. 1
+%
+% FIXME take out hardcoded vars.
+% FIXME the two loops on the `t' should be smoother (and the left one bigger).
+% FIXME generic macros for serifs: top of the t and bottom of r
+%
+%
+
+fet_beginchar("Trill (`tr')","trill","trill")
save start_angle, ascender_extra, ex, hair_thick, fatness,
- slant_angle, slant, t_fatness, r_fatness, kerning;
+ slant_angle, slant, t_fatness, r_fatness, kerning, t_overshoot,
+ uitschieter, bulb_size;
+ ;
pair slant_vec;
- define_pixels(ex, ascender_extra, ascender);
ascender_extra# = 1/2 ex#;
ascender# = ascender_extra# + ex#;
- ex# = interline#;
+ ex# = 1.5 interline#;
+ kerning# = .75 ex#;
+ define_pixels(ex, ascender_extra, ascender, kerning);
+ t_overshoot = 0.03 ex;
fatness = 12/40 ex;
t_fatness = 8/10 fatness;
- r_fatness = 8/10 fatness;
-
- hair_thick = 2/3 blot_diameter;
+ r_fatness = .75 fatness;
+ uitschieter = 21/40 ex;
+ hair_thick = blot_diameter;
+ bulb_size = 0.47;
+ slant = .15;
+ local_copy(transform)(currenttransform);
+ currenttransform := currenttransform slanted slant;
y1 = ascender;
x1l = 0;
@@ -372,21 +389,22 @@ fet_beginchar("Trill (`tr')","utrill","utrill")
z2 = (x1, 7/18 ex);
penpos2(start_nib_wid, 25);
- z3l = (11/10 t_fatness, 0);
+ z3l = (11/10 t_fatness, - t_overshoot);
- z4l = (13/6 t_fatness, 3/8 ex);
+ z4l = (13/6 t_fatness, 5/16 ex);
penpos4(hair_thick, 180);
1.9 [z3l, z3r] = z4r;
z3 = .5 [z3l, z3r];
-
-
save t_p, krul_p;
path t_p, krul_p, r_p;
- t_p := z1l -- z2l{down} .. z3l{right} .. z4l{up} -- z4r{down}
+ t_p := z1l -- z2l{down} .. tension (1 + .5 slant)
+ .. z3l{right}
+
+ .. z4l{up} -- z4r{down}
.. z3r{left} .. z2r{up} .. z1r -- cycle;
fill t_p ;
@@ -396,28 +414,33 @@ fet_beginchar("Trill (`tr')","utrill","utrill")
z5 = (t_fatness/2, 2/3 ex);
- lft x6 = -18/40 ex;
+ lft x6 = - uitschieter;
y6 = y5 - 1/20 ex;
- z7 = (2 t_fatness, ex);
-
- krul_p := z4{up} .. tension 1.1 .. z5 .. {down}z6
- .. tension 1.1 .. z5 --- z7;
- draw krul_p;
-
- penpos7(hair_thick, angle (z7-z5) + 90);
+ z7 = z5 + whatever*dir krul_ang;
+ up_angle = krul_ang;
+ % angle (z7-z5)
+ x7 = 5/10 kerning + x5;
+
+ penpos7(hair_thick, up_angle + 90);
- z8l = (2 t_fatness + 2 hair_thick, ex);
- penpos8(2 hair_thick, 35);
+
+ x8l = .7 [x9r, x7r];
+ y8l = y7l;
+ penpos8(2 hair_thick, (up_angle +90)/2);
y9 = 3/4 ex;
- x9l = 2.8 t_fatness;
+ x9 = x1 + kerning;
penpos9(r_fatness, 0);
x10 = x9;
y10 = 0;
penpos10(r_fatness, 0);
+ krul_p := z4{up} .. tension 1.1 .. z5
+ .. tension 1 and .75 .. {down}z6
+ .. tension .85 and 1.1 .. z5 --- z7;
+ draw krul_p;
r_p := z7l{z7-z5} .. z8l{right} .. z9l{down} --- z10l -- z10r
--- z9r{up}
.. z8r{left} .. z7r{z5-z7} -- cycle;
@@ -428,12 +451,62 @@ fet_beginchar("Trill (`tr')","utrill","utrill")
penpos11(1/4 r_fatness, -20);
z11r = z9r;
- z13 = (x9 + 2 r_fatness, y11 + 1/16 ex);
+ z13 = (x9 + 2 r_fatness, y11 );
penpos13(r_fatness, 180);
fill z11r{dir 70} .. z13r{down} -- z13l{up} .. z11l{dir 250} -- cycle;
penlabels(range 1 thru 15);
- draw_bulb(z13r, z13l, 0.5, 1.5);
+ draw_bulb(z13r, z13l, bulb_size, 1.5);
fet_endchar;
-fet_endgroup("foobars");
+fet_beginchar("organ-heel", "pedalheel", "pedalheel")
+ save radius, thickness, wall;
+
+ radius# := .5 interline#;
+
+ define_pixels(radius);
+ set_char_box(radius#, radius#, radius#, 2/3 interline#);
+
+ thickness := 1.5 stafflinethickness;
+ pickup pencircle scaled thickness;
+ rt x1 = b;
+ top y1 = h;
+
+ x2 =x1;
+ y2 = 0;
+
+ x3 = 0;
+ bot y3 = -d;
+
+ draw z1{down} .. z2{down} .. z3{left};
+ addto currentpicture also currentpicture xscaled -1;
+ labels(1,2,3);
+fet_endchar;
+
+fet_beginchar("organ-toe", "pedaltoe", "pedaltoe")
+ save ht,wd;
+
+ thickness := 1.5 stafflinethickness;
+ ht# := 1.5 interline#;
+ wd# := 1/3 ht#;
+ define_pixels(ht,wd);
+
+
+ set_char_box(wd#, wd#, 0, ht#);
+
+ pickup pencircle scaled thickness;
+ lft x1 = -b;
+ bot y1 = 0;
+ x2 =0;
+ top y2 = h;
+ z3 = z1 xscaled -1;
+
+
+ draw z1 -- z2 -- z3;
+ labels(1,2,3);
+fet_endchar;
+
+
+
+
+fet_endgroup("scripts");
diff --git a/mf/feta-toevallig.mf b/mf/feta-toevallig.mf
index a0865df28d..69ef0a7315 100644
--- a/mf/feta-toevallig.mf
+++ b/mf/feta-toevallig.mf
@@ -171,8 +171,8 @@ fet_beginchar("Double sharp", "2", "sharpsharp")
set_char_box(0, interline#, .5 interline#, .5 interline#);
save klaverblad, klaversteel;
- klaversteel = 1/12 interline;
- klaverblad = 1/3 interline;
+ klaversteel = 1/15 interline;
+ klaverblad = .35 interline;
z1 = (klaversteel, 0);
z2 = (w/2 - klaverblad / 10, h - klaverblad);
@@ -180,7 +180,7 @@ fet_beginchar("Double sharp", "2", "sharpsharp")
z4 = z2 reflectedabout((0,0), (1,1));
z5 = z1 reflectedabout((0,0), (1,1));
-% labels(1,2,3,4,5);
+ labels(1,2,3,4,5);
draw_rounded_path(
z1{dir 45} .. {right}z2 -- z3 -- z4{down} .. {dir 225}z5 .. cycle,
1/20 interline);
diff --git a/mf/font-en-tja16.mf b/mf/font-en-tja16.mf
index 2749d8d557..8cd1246313 100644
--- a/mf/font-en-tja16.mf
+++ b/mf/font-en-tja16.mf
@@ -6,9 +6,6 @@
input autometric;
fet_beginfont("font-en-tja", 16);
-
-mode_setup;
-
staffsize#:=16pt#;
input feta-generic;
diff --git a/mf/font-en-tja20.mf b/mf/font-en-tja20.mf
index 7255d9f872..d1f600ff46 100644
--- a/mf/font-en-tja20.mf
+++ b/mf/font-en-tja20.mf
@@ -1,12 +1,11 @@
% font-en-tja20.mf
% part of LilyPond's pretty-but-neat music font
-mode_setup;
+staffsize#:=20pt#;
input autometric;
fet_beginfont("font-en-tja", 20);
-staffsize#:=20pt#;
input feta-generic;
diff --git a/mf/foo.mf b/mf/foo.mf
deleted file mode 100644
index e69de29bb2..0000000000
--- a/mf/foo.mf
+++ /dev/null
diff --git a/mf/mfbug.mf b/mf/mfbug.mf
deleted file mode 100644
index 5837988e0c..0000000000
--- a/mf/mfbug.mf
+++ /dev/null
@@ -1,21 +0,0 @@
-% is this OK? Or is it a bug;
-% changing the order of z1l and z1r in reflectedabout
-% stops mf from complaining
-fet_beginchar("open (unstopped)", "open", "ouvert")
- save thin, height, width, thick;
- height# = 5/4 width#;
- height# = 2/3 interline#;
- thin = .9 stafflinethickness;
- thick = 1.4 thin;
- set_char_box(width#/2, width#/2, 0, height#);
-
- penpos1(thick, 0);
- penpos2(thin, 90);
- z1r = (w,h/2);
- z2r = (0, h);
- penlabels(1,2);
- penstroke z1e{up} .. {left}z2e;
- addto currentpicture also currentpicture xscaled -1;
- addto currentpicture also currentpicture reflectedabout(z1l, z1r);
-fet_endchar;
-fet_endgroup("foobars");
diff --git a/tex/font-en-tja16.tex b/tex/font-en-tja16.tex
index 4163d8c260..e6809e2253 100644
--- a/tex/font-en-tja16.tex
+++ b/tex/font-en-tja16.tex
@@ -1,7 +1,6 @@
-% generated automatically by mf-to-table.py version 0.3
-% on Thu Oct 9 20:24:25 1997
+% generated automatically by mf-to-table.py version 0.4
+% on Fri Oct 10 21:22:38 1997
% Do not edit
-
% input from out/font-en-tja16.log
% name
% rests
@@ -33,7 +32,7 @@
\fetdef\halfball{19}
\fetdef\quartball{20}
-% foobars
+% scripts
\fetdef\ufermata{21}
\fetdef\dfermata{22}
\fetdef\sforzatoaccent{23}
@@ -48,9 +47,11 @@
\fetdef\upbow{32}
\fetdef\downbow{33}
\fetdef\turn{34}
-\fetdef\utrill{35}
+\fetdef\trill{35}
+\fetdef\pedalheel{36}
+\fetdef\pedaltoe{37}
% floogbars
-\fetdef\eighthflag{36}
-\fetdef\deighthflag{37}
+\fetdef\eighthflag{38}
+\fetdef\deighthflag{39}
diff --git a/tex/font-en-tja20.tex b/tex/font-en-tja20.tex
index 28a218fc45..1791d0ebad 100644
--- a/tex/font-en-tja20.tex
+++ b/tex/font-en-tja20.tex
@@ -1,7 +1,6 @@
-% generated automatically by mf-to-table.py version 0.3
-% on Thu Oct 9 20:24:27 1997
+% generated automatically by mf-to-table.py version 0.4
+% on Fri Oct 10 21:22:44 1997
% Do not edit
-
% input from out/font-en-tja20.log
% name
% rests
@@ -33,7 +32,7 @@
\fetdef\halfball{19}
\fetdef\quartball{20}
-% foobars
+% scripts
\fetdef\ufermata{21}
\fetdef\dfermata{22}
\fetdef\sforzatoaccent{23}
@@ -48,9 +47,11 @@
\fetdef\upbow{32}
\fetdef\downbow{33}
\fetdef\turn{34}
-\fetdef\utrill{35}
+\fetdef\trill{35}
+\fetdef\pedalheel{36}
+\fetdef\pedaltoe{37}
% floogbars
-\fetdef\eighthflag{36}
-\fetdef\deighthflag{37}
+\fetdef\eighthflag{38}
+\fetdef\deighthflag{39}
diff --git a/tex/lilyponddefs.tex b/tex/lilyponddefs.tex
index 2854a35417..add2284b62 100644
--- a/tex/lilyponddefs.tex
+++ b/tex/lilyponddefs.tex
@@ -153,6 +153,28 @@
\def\startrepeat{\repeatstartbar}
\def\repeatbarstartrepeat{\repeatstopstart}
+\def\vruler#1{{%
+ \def\wid{\dimen0}%
+ \def\inc{\dimen1}%
+ \wid=#1pt
+ \inc=\wid
+ \divide\inc by #1
+ \divide\wid by 2
+ \here=-\wid
+ \loop\ifdim\here<\wid\advance\here by\inc
+ \hbox to0pt{\vbox to0pt{\vss\hrule width2pt height 0.05pt\kern\here}\hss}%
+ \repeat%
+}}
+\def\hruler#1#2{\hbox{%
+ \def\wid{\dimen0}%
+ \def\here{\dimen3}%
+ \wid=#1pt
+ \divide\wid by 2
+ \here=-\wid
+ \loop\ifdim\here<\wid\advance\here by #2
+ \hbox to0pt{\kern\here\vrule width0.05pt height 1pt depth 1pt\hss}%
+ \repeat%
+}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -262,4 +284,6 @@
}\else{foo\hfil\the\pageno\hfil}\fi}}
\fi
-
+
+% debugging stuff:
+% \vbox to 0pt{\vskip .5cm \hruler{48}{3pt}\vss}
diff --git a/tex/vette-beams16.tex b/tex/vette-beams16.tex
deleted file mode 100644
index 55fc84888e..0000000000
--- a/tex/vette-beams16.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-% generated at Fri Sep 26 15:26:29 1997 from out/vette-beams16.log
-% changes will be lost
-
diff --git a/tex/vette-beams20.tex b/tex/vette-beams20.tex
deleted file mode 100644
index 438f27e89a..0000000000
--- a/tex/vette-beams20.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-% generated at Fri Sep 26 15:26:46 1997 from out/vette-beams20.log
-% changes will be lost
-