From 5beff739d36abac7157475038d5f9b5126a143c7 Mon Sep 17 00:00:00 2001
From: fred <fred>
Date: Tue, 26 Mar 2002 21:25:36 +0000
Subject: [PATCH] lilypond-1.0.8

---
 Documentation/index.yo                        |   2 +-
 Documentation/ntweb/index.yo                  |   8 +-
 Documentation/topdocs/AUTHORS.yo              |   2 +
 TODO                                          |  77 ++--
 init/engraver.ly                              |   6 +-
 input/keys.ly                                 |   2 +-
 input/kortjakje.ly                            |   2 +-
 input/pedal.ly                                |   2 +-
 input/praeludium-fuga-E.ly                    |  14 +-
 input/rhythm.ly                               |   2 +-
 input/scales.ly                               |   2 +-
 input/scripts.ly                              |   2 +-
 input/test/a.ly                               |   2 +-
 input/test/beams.ly                           |   2 +-
 input/test/broken.ly                          |   2 +-
 input/test/collisions.ly                      |   2 +-
 input/test/denneboom.ly                       |   2 +-
 input/test/font-body.ly                       |   2 +-
 input/test/font.ly                            |   2 +-
 input/test/font16.ly                          |   2 +-
 input/test/gourlay.ly                         |   2 +-
 input/test/knee.ly                            |   2 +-
 input/test/sleur.ly                           |   2 +-
 input/test/slur-damping.ly                    |   2 +-
 input/test/slurs.ly                           |   2 +-
 input/test/spacing.ly                         |   2 +-
 input/test/stem.ly                            |   2 +-
 input/test/title.ly                           |   2 +-
 input/test/transposition.ly                   |   2 +-
 input/tril.ly                                 |   2 +-
 input/twinkle-pop.ly                          |   2 +-
 input/twinkle.ly                              |  25 +-
 lily/chord-iterator.cc                        |  26 +-
 lily/include/chord-iterator.hh                |  14 +-
 lily/include/identifier.hh                    |  25 +-
 lily/include/lily-proto.hh                    |  13 +-
 lily/include/linear-programming.hh            |  11 +-
 lily/include/music-list.hh                    |  55 +--
 lily/include/music.hh                         |   5 +-
 lily/include/musical-pitch.hh                 |   7 +-
 lily/include/musical-request.hh               |   2 +-
 lily/include/my-lily-parser.hh                |   8 +-
 lily/include/request.hh                       |   2 +-
 lily/include/score-column.hh                  |   2 -
 lily/include/voice-iterator.hh                |  18 +-
 lily/item.cc                                  |   7 +-
 lily/linear-programming.cc                    |  29 +-
 lily/music-iterator.cc                        |   8 +-
 lily/music-list.cc                            | 116 +++---
 lily/music-sequence.cc                        |  49 +++
 lily/music.cc                                 |   1 -
 lily/my-lily-parser.cc                        |  35 +-
 lily/parser.yy                                | 109 ++----
 lily/request-iterator.cc                      |   2 +-
 lily/voice-iterator.cc                        |  32 +-
 make/lilypond-vars.make                       |   7 +-
 make/mutopia-targets.make                     |   6 +
 mi2mu/mudela-stream.cc                        |   2 +-
 mudela-mode.el                                |   2 +-
 mutopia/Coriolan/bassi-part.ly                |   2 +-
 mutopia/Coriolan/clarinetti-part.ly           |   2 +-
 mutopia/Coriolan/clarinetti.ly                |   2 +-
 mutopia/Coriolan/clarinetto-1.ly              |   2 +-
 mutopia/Coriolan/clarinetto-2.ly              |   2 +-
 mutopia/Coriolan/contrabasso-part.ly          |   2 +-
 mutopia/Coriolan/contrabasso.ly               |   2 +-
 mutopia/Coriolan/coriolan.ly                  |   2 +-
 mutopia/Coriolan/corni-part.ly                |   2 +-
 mutopia/Coriolan/corni.ly                     |   2 +-
 mutopia/Coriolan/corno-1.ly                   |   2 +-
 mutopia/Coriolan/corno-2.ly                   |   2 +-
 mutopia/Coriolan/fagotti-part.ly              |   2 +-
 mutopia/Coriolan/fagotti.ly                   |   2 +-
 mutopia/Coriolan/fagotto-1.ly                 |   2 +-
 mutopia/Coriolan/fagotto-2.ly                 |   2 +-
 mutopia/Coriolan/flauti-part.ly               |   2 +-
 mutopia/Coriolan/flauti.ly                    |   2 +-
 mutopia/Coriolan/flauto-1.ly                  |   2 +-
 mutopia/Coriolan/flauto-2.ly                  |   2 +-
 mutopia/Coriolan/global.ly                    |   2 +-
 mutopia/Coriolan/oboe-1.ly                    |   2 +-
 mutopia/Coriolan/oboe-2.ly                    |   2 +-
 mutopia/Coriolan/oboi-part.ly                 |   2 +-
 mutopia/Coriolan/oboi.ly                      |   2 +-
 mutopia/Coriolan/timpani.ly                   |   2 +-
 mutopia/Coriolan/trombe-part.ly               |   2 +-
 mutopia/Coriolan/trombe.ly                    |   2 +-
 mutopia/Coriolan/trombo-1.ly                  |   2 +-
 mutopia/Coriolan/trombo-2.ly                  |   2 +-
 mutopia/Coriolan/viola-1.ly                   |   2 +-
 mutopia/Coriolan/viola-2.ly                   |   2 +-
 mutopia/Coriolan/viola-part.ly                |   2 +-
 mutopia/Coriolan/violino-1-part.ly            |   2 +-
 mutopia/Coriolan/violino-1.ly                 |   2 +-
 mutopia/Coriolan/violino-2-part.ly            |   2 +-
 mutopia/Coriolan/violino-2.ly                 |   2 +-
 mutopia/Coriolan/violoncello-part.ly          |   2 +-
 mutopia/Coriolan/violoncello.ly               |   2 +-
 .../Cembalo-Partitas/Partita_II_Allemande.ly  | 148 ++++++++
 .../Cembalo-Partitas/Partita_II_Sinfonia.ly   | 341 ++++++++++++++++++
 .../J.S.Bach/Petites-Preludes/preludes-1.ly   |   2 +-
 .../J.S.Bach/Petites-Preludes/preludes-2.ly   |   2 +-
 .../J.S.Bach/Petites-Preludes/preludes-4.ly   |   2 +-
 .../J.S.Bach/Petites-Preludes/preludes-5.ly   |   2 +-
 .../J.S.Bach/Petites-Preludes/preludes-6.ly   |   2 +-
 .../Solo-Cello-Suites/allemande-cello.ly      |   2 +-
 .../Solo-Cello-Suites/allemande-viola.ly      |   2 +-
 .../Solo-Cello-Suites/courante-cello.ly       |   2 +-
 .../Solo-Cello-Suites/courante-viola.ly       |   2 +-
 .../J.S.Bach/Solo-Cello-Suites/gigue-cello.ly |   2 +-
 .../J.S.Bach/Solo-Cello-Suites/gigue-viola.ly |   2 +-
 .../Solo-Cello-Suites/menuetto-cello.ly       |   2 +-
 .../Solo-Cello-Suites/menuetto-viola.ly       |   2 +-
 .../Solo-Cello-Suites/prelude-cello.ly        |   2 +-
 .../Solo-Cello-Suites/prelude-viola.ly        |   2 +-
 .../Solo-Cello-Suites/sarabande-cello.ly      |   2 +-
 .../Solo-Cello-Suites/sarabande-viola.ly      |   2 +-
 mutopia/J.S.Bach/wtk1-fugue1.ly               |   2 +-
 mutopia/J.S.Bach/wtk1-fugue2.ly               |   2 +-
 mutopia/J.S.Bach/wtk1-prelude1.ly             |   2 +-
 mutopia/W.A.Mozart/cadenza.ly                 |   2 +-
 mutopia/W.A.Mozart/horn-concerto-3.ly         |   2 +-
 mutopia/gallina.ly                            |  42 ++-
 mutopia/los-toros-oboe.ly                     |   2 +-
 mutopia/standchen-16.ly                       |   6 +-
 mutopia/standchen-20.ly                       |   2 +-
 mutopia/standchen.ly                          |   2 +-
 scripts/convert-mudela.py                     |  12 +
 scripts/mudela-book.py                        |   8 +-
 stepmake/Documentation/topdocs/AUTHORS.yo     |  14 +-
 tex/fetdefs.tex                               |   3 +-
 tex/lily-debug.tex                            |  26 ++
 132 files changed, 1048 insertions(+), 457 deletions(-)
 create mode 100644 lily/music-sequence.cc
 create mode 100644 mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Allemande.ly
 create mode 100644 mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly
 create mode 100644 tex/lily-debug.tex

diff --git a/Documentation/index.yo b/Documentation/index.yo
index b9066871c0..aa87b18f09 100644
--- a/Documentation/index.yo
+++ b/Documentation/index.yo
@@ -39,7 +39,7 @@ nsubsect(Documentation: manuals)
 
 
 itemize(
-it()url(Mudela)(../tex/DOEXPAND(outdir)/mudela.html)
+it()url(Mudela)(../tex/DOEXPAND(outdir)/tutorial.html)
 it()url(TeX documents about LilyPond)(../tex/DOEXPAND(outdir)/index.html)
 it()url(Manual pages)(../man/DOEXPAND(outdir)/index.html)
 it()url(Musical vocabulary)(../tex/DOEXPAND(outdir)/vocabulary.html)
diff --git a/Documentation/ntweb/index.yo b/Documentation/ntweb/index.yo
index bb54acd47d..4460f700c8 100644
--- a/Documentation/ntweb/index.yo
+++ b/Documentation/ntweb/index.yo
@@ -115,11 +115,11 @@ subsect(Running LilyPond) label(running)
 
 itemize(
   it()Take a look at url(angels.ly)(angels.ly)
-  it()Save angles.ly to your local disk
+  it()Save angels.ly to your local disk
   it()From a Command Prompt run: nl()
-  bf(ly2dvi.py angles.ly) nl()
-  bf(dvips angles.dvi) nl()
-  bf(cmd /c angles.ps) nl()
+  bf(ly2dvi.py angels.ly) nl()
+  bf(dvips angels.dvi) nl()
+  bf(cmd /c angels.ps) nl()
 )
 
 link(Back to top)(contents)
diff --git a/Documentation/topdocs/AUTHORS.yo b/Documentation/topdocs/AUTHORS.yo
index a1cde6d1e0..99a54a24a9 100644
--- a/Documentation/topdocs/AUTHORS.yo
+++ b/Documentation/topdocs/AUTHORS.yo
@@ -24,6 +24,8 @@ it()nemail(Werner Lemberg)(xlwy01@uxp1.hrz.uni-dortmund.de),
     misc bugfixes, some Beam and Stem code. 
 it()nemail(David R. Linn)(drl@vuse.vanderbilt.edu),
     Mailing list maintenance.
+it()nemail(Adrian Moriano)()
+    Documentation fixes, glossary.
 it()nemail(Han-Wen Nienhuys)(hanwen@cs.uu.nl), 
     lurl(http://www.cs.uu.nl/~hanwen)
     nl()
diff --git a/TODO b/TODO
index 69008b66f2..76db5e603e 100644
--- a/TODO
+++ b/TODO
@@ -7,11 +7,12 @@ 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/urg
 
-	* fix LOCALE settings, and \def\foo{2,000pt} output
+	* egcs-1.1a support
 
+	* fix LOCALE settings, and \def\foo{2,000pt} output
 
-	* use streambufs to provide IO handling for TeX stream, mudela stream,
-data-file.
+	* use streambufs and iostream
+	to provide IO handling for TeX stream, mudela stream, data-file.
 
 	* seriously buffer TeX output (do profile of writing .5 mb TeX file.)
 
@@ -21,11 +22,30 @@ data-file.
 
 	* repeat bars: need distance after ":|" and before "|:"
 
-	* doco should not depend on a4
-
 	* text continuationss
 
-	* fix plain tex footer line.
+	* revise documentation
+
+	* abbrev -> tremolo
+
+	* Language:
+	- general plet mechanism.
+
+		\plet 2/3 { c8 c8 c8 }
+
+	ie.
+
+		Music: PLET int '/' int Music
+
+	- \type -> \context ?
+	- \translator -> ?
+	- fix \partial 
+	- \melodic -> \notes
+	- \bla {} vs \bla ; 
+	- mix engraver hacking with music ?
+	- \once\property  KEY = VAL
+	- \addtranslator, \removetranslator
+	- junk ^ and _ for scripts
 
 	* install TeX stuff into tex/generic directory.
 
@@ -76,24 +96,21 @@ data-file.
 
 	* fix vertical alignment and stafflines
 
-	*GrandStaff needs more work -- I want a single word `harpsichord' to the
-	   left of the grandstaff, not one on each stave.
-	   (Organ staff -- with separate pedal -- but common properties may be
-	   something to think about.  Of course for organ you want to be able
-	   to give stop indications on the way through, so the \property
-	   Voice.Instrument would be a stop, and \property
-	   GrandStaff.instrument would be PipeOrgan...)
-
+	* GrandStaff needs more work -- I want a single word
+	`harpsichord' to the left of the grandstaff, not one on each
+	stave.  (Organ staff -- with separate pedal -- but common
+	properties may be something to think about.  Of course for
+	organ you want to be able to give stop indications on the way
+	through, so the \property Voice.Instrument would be a stop,
+	and \property GrandStaff.instrument would be PipeOrgan...)
 
 	* make Tie_req a "command" { <c g> ~ <c g> }
 
 	* bib ep1988
 
-	* mix engraver hacking with music ?
-
 	* revise the Score_priority_align_engraver concept.  It sucks. 
 
-	* ly2xdvi
+	* ly2xdvi, ly2ps
 
 	* make new VoiceOne, VoiceTwo, VoiceThree contexts with
 ydirection and hshift preset
@@ -273,8 +290,6 @@ ydirection and hshift preset
 
 	* xdvi: PS in magnifying glass.
 
-	* GNU patch 2.1: hardcoded limit of 1024 to the linelength
-
 	* GNU diff 2.7: diff -rN does not see a new directory with empty file
 
 	* GNU patch 2.1: <must find simple example> if patch chokes on a
@@ -294,7 +309,6 @@ ydirection and hshift preset
 	* GNU make: move hardcoded builtin rules to runtime ?
 
 	* GNU patch 
-	  - rewrite ? -> check out GNU patch 2.5
 	  - 'double-fix' mode: ignore identical fix, rather than suggest 
 	    to revert patch direction when (more or less? exactly) the same 
 	    thing is fixed
@@ -325,16 +339,12 @@ PROJECTS
  
 
 	* use properties for:
-	- Text_style
-	- default_octave
 	- plet?
 	- Staff_sym size
 	- default tempo.
 	- font size
 	- bartypes (get rid of derived Span_bar_engravers)
 	- cadenza mode? 
-	- MIDI instrument
-	- staff title
 
 	* page handling:
 	- PS output
@@ -355,11 +365,9 @@ PROJECTS
 	* \header
 	- output header info to MIDI too.
 
-	* Add mudela-output to Rosegarden. (contact Derek Wyatt)
-
 	* a musical dictionary. See Documentation/vocabulary-*, other
 	languages:
-	- explanation
+	- explanations
 	- italian
 	- german
 	- dutch
@@ -526,7 +534,7 @@ SMALLISH PROJECTS
 	* write Dynamic_line (to group dynamics horizontally)
 
 	* use Real for all y positions.
-	- use translate_axis( .. ,Y_AXIS) 
+	- use translate_axis( .. ,Y_AXIS)  iso separate variables.
 
 	* half-sharps, half-flats
 
@@ -536,9 +544,6 @@ SMALLISH PROJECTS
 
 	* centered whole rest
 
-        * qtor, btor, mtor-> tor( QUIET_ver ), tor( DEBUG_ver ), etc.
-	- use tors feature in lily (?)
-
 	* declare notenametab?
 
 	* midi esp.: use I32 iso int where 32 bits are needed (or assumed...)
@@ -558,10 +563,7 @@ SMALLISH PROJECTS
 
 	* textspanner: center position
 
-	* Brackets
-	
-
-            % toe to bheel   four to five
+        *   % toe to bheel   four to five
 	    %   ^_u            4_5  
 	    %     -                           
 	    %  --|x--         --|x--
@@ -611,12 +613,9 @@ IDEAS
 
 	* versioning stuff (cvt mudela, mudela, etc.)
 
-	* padded vertical alignment (rods for vertical placement)
-
-	* use String iso Text_def for lyrics.
-
 	* Klavarskribo?
 
 	* lyrics in chords still fuck up.
 
 	* Use hooks/dependency graphs for properties
+
diff --git a/init/engraver.ly b/init/engraver.ly
index d2f6c24d2d..010e47dae0 100644
--- a/init/engraver.ly
+++ b/init/engraver.ly
@@ -93,11 +93,6 @@ Voice = \translator {
 	%\accepts "Thread";
 }
 
-Thread = \translator {
-	\type "Engraver_group_engraver";
-%	\consists "Note_head_engraver" ;
-%	\consists "Tie_engraver";
-}
 
 GrandStaff = \translator {
 	\type "Line_group_engraver_group";
@@ -105,6 +100,7 @@ GrandStaff = \translator {
 	\consists "Span_bar_engraver";
 	\consists "Vertical_align_engraver";
 	\consists "Piano_bar_engraver";
+	minVerticalAlign = 1.5*\staffheight;
 
 	% This should come last
 	\accepts "Staff";
diff --git a/input/keys.ly b/input/keys.ly
index 2adf18aa12..b384b7a3a1 100644
--- a/input/keys.ly
+++ b/input/keys.ly
@@ -1,4 +1,4 @@
-\version "1.0.1";
+\version "1.0.2";
 
 
 blah = \melodic {
diff --git a/input/kortjakje.ly b/input/kortjakje.ly
index b32df6721f..8710a3ab34 100644
--- a/input/kortjakje.ly
+++ b/input/kortjakje.ly
@@ -10,7 +10,7 @@ copyright =	 "public domain";
 Tested Features: example file with comments
 
 %}
-\version "1.0.1";
+\version "1.0.2";
 
 
 % the % is a comment.
diff --git a/input/pedal.ly b/input/pedal.ly
index 7cfb0b0900..494fecc6e4 100644
--- a/input/pedal.ly
+++ b/input/pedal.ly
@@ -24,7 +24,7 @@
 % \lbheel \lbheel \lfheel \lftoe
 % \rbheel \rbtoe \rfheel \rftoe
 
-\version "1.0.1";
+\version "1.0.2";
 
 \score{
 		\melodic {
diff --git a/input/praeludium-fuga-E.ly b/input/praeludium-fuga-E.ly
index fe27b1a420..d9f89d4c3a 100644
--- a/input/praeludium-fuga-E.ly
+++ b/input/praeludium-fuga-E.ly
@@ -2,15 +2,19 @@
   filename =    "praeludium-fuga-E.ly";
   title =       "praeludium and fuga in E-major";
   opus =        "BWV 566";
-  description = "Praeludium 3 bar excerpt, "
-                "2nd fuga transposed subject -- 4 bar excerpt.  "
-                "We try to imitate the Griepenkerl/Keller edition which "
-                "gives the best approximation to Bach's original layout.";
   composer =    "Johann Sebastian Bach (1685-1750)";
   enteredby =   "JCN";
   copyright =   "public domain";
 }
+%{
+  description
+
+  Praeludium 3 bar excerpt,
+	2nd fuga transposed subject -- 4 bar excerpt. 
+        We try to imitate the Griepenkerl/Keller edition which
+	gives the best approximation to Bach's original layout
 
+%}
 %{
  Tested Features:
  purpose of this file is testing: 
@@ -19,7 +23,7 @@
    * organ staff...
 %}
 
-\version "1.0.1";
+\version "1.0.2";
 
 
 
diff --git a/input/rhythm.ly b/input/rhythm.ly
index 109ead0cc3..1ef9d13d0a 100644
--- a/input/rhythm.ly
+++ b/input/rhythm.ly
@@ -7,7 +7,7 @@ TestedFeatures =	 "multiple meters, beaming, unsynced bars, userdefd engravers";
 
 
 
-\version "1.0.1";
+\version "1.0.2";
 
 ritme = \melodic\transpose c'' {
 	\partial 8;
diff --git a/input/scales.ly b/input/scales.ly
index dc4144ca25..215a51d90c 100644
--- a/input/scales.ly
+++ b/input/scales.ly
@@ -12,7 +12,7 @@ copyright =	 "public domain";
 % scales with accents.
 %
 
-\version "1.0.1";
+\version "1.0.2";
 blah = 	\melodic {
 		\time 6/8;	
 \transpose c {
diff --git a/input/scripts.ly b/input/scripts.ly
index 17fb060c23..85fad377e8 100644
--- a/input/scripts.ly
+++ b/input/scripts.ly
@@ -1,5 +1,5 @@
 	
-\version "1.0.1";
+\version "1.0.2";
 
 
 blah = 	\melodic{ \transpose c'' {
diff --git a/input/test/a.ly b/input/test/a.ly
index d65526c2e0..31f665f3e3 100644
--- a/input/test/a.ly
+++ b/input/test/a.ly
@@ -5,7 +5,7 @@ TestedFeatures =	 "This file tests Feta embedded slurs"
 	 "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 shortlong = \melodic\transpose c'{
 	c4()c( c c  |
diff --git a/input/test/beams.ly b/input/test/beams.ly
index 4912d94725..40815dfad3 100644
--- a/input/test/beams.ly
+++ b/input/test/beams.ly
@@ -6,7 +6,7 @@ copyright =	 "PD";
 
 TestedFeatures =	 "beams and beamflags";
 }
-\version "1.0.1";
+\version "1.0.2";
 
 \score{
 	<
diff --git a/input/test/broken.ly b/input/test/broken.ly
index f4e4932a7a..0ad9fdbb2b 100644
--- a/input/test/broken.ly
+++ b/input/test/broken.ly
@@ -5,7 +5,7 @@ TestedFeatures =	 "This file tests Feta embedded slurs"
 	 "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 shortlong = \melodic{
 	c4()c( c c  |
diff --git a/input/test/collisions.ly b/input/test/collisions.ly
index d0fa529d20..8e0e87b599 100644
--- a/input/test/collisions.ly
+++ b/input/test/collisions.ly
@@ -5,7 +5,7 @@ enteredby =	 "HWN,JCN";
 copyright =	 "public domain";
 Tested =	 "test the Collision resolution ";
 }
-\version "1.0.1";
+\version "1.0.2";
 
 
 
diff --git a/input/test/denneboom.ly b/input/test/denneboom.ly
index be5fea4a6d..81a9f726a0 100644
--- a/input/test/denneboom.ly
+++ b/input/test/denneboom.ly
@@ -7,7 +7,7 @@ TestedFeatures = "This file tests silly line shapes";
 
 \include "paper20.ly"
 
-\version "1.0.1";
+\version "1.0.2";
 
 oden = \lyric{ 
 	O8 |
diff --git a/input/test/font-body.ly b/input/test/font-body.ly
index 6b4ca16955..1d7c1dbf88 100644
--- a/input/test/font-body.ly
+++ b/input/test/font-body.ly
@@ -1,4 +1,4 @@
-\version "1.0.1";
+\version "1.0.2";
 
 FontBody=	\melodic\transpose c''{ 
 		\bar "|:";
diff --git a/input/test/font.ly b/input/test/font.ly
index f139a81f1a..61f689b328 100644
--- a/input/test/font.ly
+++ b/input/test/font.ly
@@ -7,7 +7,7 @@ description = "This file tests the Feta music font";
 % "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "font-body.ly"
 \score{
diff --git a/input/test/font16.ly b/input/test/font16.ly
index 2540a40788..d0b6efe5bd 100644
--- a/input/test/font16.ly
+++ b/input/test/font16.ly
@@ -7,7 +7,7 @@ description = "This file tests the Feta music font";
 % "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 \include "font-body.ly"
 
 \score{
diff --git a/input/test/gourlay.ly b/input/test/gourlay.ly
index 4263aeae1e..a1c477eb01 100644
--- a/input/test/gourlay.ly
+++ b/input/test/gourlay.ly
@@ -4,7 +4,7 @@ copyright =	 "PD";
 TestedFeatures =	 "This file tests some nasty Gourlay spacings";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 %{
 
diff --git a/input/test/knee.ly b/input/test/knee.ly
index 2d6f9beb13..2a6edb5386 100644
--- a/input/test/knee.ly
+++ b/input/test/knee.ly
@@ -1,4 +1,4 @@
-\version "1.0.1";
+\version "1.0.2";
 \score{
 	\melodic\relative c'{
 		[c16 \stemdown c'' \stemboth c,, d]
diff --git a/input/test/sleur.ly b/input/test/sleur.ly
index a63a95a592..6ddcf2a130 100644
--- a/input/test/sleur.ly
+++ b/input/test/sleur.ly
@@ -5,7 +5,7 @@ TestedFeatures =	 "This file tests Feta embedded slurs"
 	 "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 shortlong = \melodic{
 	c4()c( c c  |
diff --git a/input/test/slur-damping.ly b/input/test/slur-damping.ly
index 6e733c02e1..5b8f29263e 100644
--- a/input/test/slur-damping.ly
+++ b/input/test/slur-damping.ly
@@ -1,5 +1,5 @@
 % test damping
-\version "1.0.1";
+\version "1.0.2";
 
 \score{
 	\melodic\relative c'{
diff --git a/input/test/slurs.ly b/input/test/slurs.ly
index cd49211b87..ffb11d6995 100644
--- a/input/test/slurs.ly
+++ b/input/test/slurs.ly
@@ -1,5 +1,5 @@
 
-\version "1.0.1";
+\version "1.0.2";
 
 \score{
 	\melodic\transpose c'{
diff --git a/input/test/spacing.ly b/input/test/spacing.ly
index 9c1fc724c7..db64053342 100644
--- a/input/test/spacing.ly
+++ b/input/test/spacing.ly
@@ -6,7 +6,7 @@ copyright =	 "public domain";
 TestedFeatures =	 "This file tests various spacings";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 multipart = \melodic{ 
     \type StaffGroup < 
diff --git a/input/test/stem.ly b/input/test/stem.ly
index 7bc33a1b4a..cf4f28d3c1 100644
--- a/input/test/stem.ly
+++ b/input/test/stem.ly
@@ -8,7 +8,7 @@ of beams";
 	
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 beamintervals = \melodic{
 		\time 7/4;
diff --git a/input/test/title.ly b/input/test/title.ly
index 30869a2225..318a68efa4 100644
--- a/input/test/title.ly
+++ b/input/test/title.ly
@@ -10,7 +10,7 @@ source = 	"urtext";
 instrument=	"Instrument";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 \score{
 	\melodic
diff --git a/input/test/transposition.ly b/input/test/transposition.ly
index d2b9011647..f5e258305c 100644
--- a/input/test/transposition.ly
+++ b/input/test/transposition.ly
@@ -22,7 +22,7 @@ copyright =	 "public domain";
 }
 
 
-\version "1.0.1";
+\version "1.0.2";
 
 vOne = \melodic \relative c''{
         \clef"violin";
diff --git a/input/tril.ly b/input/tril.ly
index ce996bcf1a..64b2a357a1 100644
--- a/input/tril.ly
+++ b/input/tril.ly
@@ -5,7 +5,7 @@ TestedFeatures =	 "This file tests trills"
 	 "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 \score{
 	\melodic{ 
diff --git a/input/twinkle-pop.ly b/input/twinkle-pop.ly
index da173b7487..de7b6036ab 100644
--- a/input/twinkle-pop.ly
+++ b/input/twinkle-pop.ly
@@ -12,7 +12,7 @@ copyright =	 "public domain";
 Tested Features		lyrics and chords
 %}
 
-\version "1.0.1";
+\version "1.0.2";
 
 melodie = \melodic\relative c {
         \clef"violin";
diff --git a/input/twinkle.ly b/input/twinkle.ly
index 3c3a054371..5be1280c2a 100644
--- a/input/twinkle.ly
+++ b/input/twinkle.ly
@@ -1,21 +1,26 @@
 \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";
 
 composer =	 "Traditional";
 enteredby =	 "HWN & JCN";
 copyright =	 "public domain";
 }
 
+%{
+DESCRIPTION
+
+traditional song in various languages.
+  "Ah, vous dirais-je, maman" 
+  "Altijd is Kortjakje ziek"
+  "Twinkle twinkle little star"
+%}
+
 %{
 Tested Features: lyrics, interleaving lyrics and staffs
 %}
 
-\version "1.0.1";
+\version "1.0.2";
 
 melody = \melodic \relative c'' {
 	\clef violin;
@@ -81,12 +86,12 @@ hegedraagjetekst = \lyric{
 texte = \lyric{ 
 	\property Lyrics . textstyle" =  "italic" 
 %	\property Lyrics . textstyle" =  "roman" 
- 	Ah!4 vous dir- ai_- je ma man2
+ 	Ah!4 vous dir- ai_- je ma- man2
 	Ce4 qui cau- se mon tour- ment2
-	Pa-4 pa veut que je rai- sonne2
-	Comme4 un- e grand- e per- sonne2
-	Moi4 je dis que les bon- bons2
-	Val-4 ent mieux que la rai- son2
+	Pa-4 pa veut que je rai- son- ne
+	Comm' u- ne gran- de per- son- ne
+	Moi je dis que les bon- bons2
+	Va-4 lent mieux que la rai- son2
 }
 
 texti = \lyric{
diff --git a/lily/chord-iterator.cc b/lily/chord-iterator.cc
index 777a9bcb44..998ac40224 100644
--- a/lily/chord-iterator.cc
+++ b/lily/chord-iterator.cc
@@ -1,5 +1,5 @@
 /*
-  chord-iter.cc -- implement Chord_iterator
+  Simultaneous_music-iter.cc -- implement Simultaneous_music_iterator
 
   source file of the GNU LilyPond music typesetter
 
@@ -13,27 +13,27 @@
 #include "music-list.hh"
 
 
-Chord_iterator::~Chord_iterator()
+Simultaneous_music_iterator::~Simultaneous_music_iterator()
 {
 }
 
-Chord_iterator::Chord_iterator (Chord const *chord_C)
+Simultaneous_music_iterator::Simultaneous_music_iterator (Simultaneous_music const *simultaneous_music_C)
 {
-  chord_C_ = chord_C;
+  simultaneous_music_C_ = simultaneous_music_C;
 }
 
 void
-Chord_iterator::construct_children()
+Simultaneous_music_iterator::construct_children()
 {
   int j = 0;
-  for (PCursor<Music*> i (chord_C_->music_p_list_.top());  
+  for (PCursor<Music*> i (simultaneous_music_C_->music_p_list_p_->top());  
        i.ok(); j++, i++) 
     {
       Music_iterator * mi = get_iterator_p (i.ptr());
       if (mi->ok()) 
 	{
-	  if  (chord_C_->translator_type_str_.empty_b ())
-	    set_translator (mi->report_to_l()->ancestor_l (chord_C_->multi_level_i_));
+	  if  (simultaneous_music_C_->translator_type_str_.empty_b ())
+	    set_translator (mi->report_to_l()->ancestor_l (simultaneous_music_C_->multi_level_i_));
 	  children_p_list_.bottom().add (mi);
 	}
       else 
@@ -43,7 +43,7 @@ Chord_iterator::construct_children()
 
 
 void
-Chord_iterator::do_print() const
+Simultaneous_music_iterator::do_print() const
 {
 #ifndef NPRINT
   for (PCursor<Music_iterator*> i (children_p_list_.top()); i.ok (); i++) 
@@ -54,7 +54,7 @@ Chord_iterator::do_print() const
 }
 
 void
-Chord_iterator::process_and_next (Moment until)
+Simultaneous_music_iterator::process_and_next (Moment until)
 {
   for (PCursor<Music_iterator*> i (children_p_list_.top()); i.ok ();) 
     {
@@ -71,10 +71,10 @@ Chord_iterator::process_and_next (Moment until)
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Chord_iterator,Music_iterator);
+IMPLEMENT_IS_TYPE_B1(Simultaneous_music_iterator,Music_iterator);
 
 Moment
-Chord_iterator::next_moment() const
+Simultaneous_music_iterator::next_moment() const
 {
   Moment next;
   next.set_infinite (1);
@@ -86,7 +86,7 @@ Chord_iterator::next_moment() const
 
 
 bool
-Chord_iterator::ok() const
+Simultaneous_music_iterator::ok() const
 {
   return children_p_list_.size();
 }
diff --git a/lily/include/chord-iterator.hh b/lily/include/chord-iterator.hh
index 1dea414961..be48f33572 100644
--- a/lily/include/chord-iterator.hh
+++ b/lily/include/chord-iterator.hh
@@ -7,20 +7,20 @@
 */
 
 
-#ifndef CHORD_ITER_HH
-#define CHORD_ITER_HH
+#ifndef Simultaneous_music_ITER_HH
+#define Simultaneous_music_ITER_HH
 
 
 #include "music-iterator.hh"
 #include "plist.hh"
 
-class Chord_iterator : public Music_iterator
+class Simultaneous_music_iterator : public Music_iterator
 {
-  const Chord *chord_C_;
+  const Simultaneous_music *simultaneous_music_C_;
   Pointer_list<Music_iterator*> children_p_list_;
 public:
-  ~Chord_iterator();
-  Chord_iterator (Chord const*);
+  ~Simultaneous_music_iterator();
+  Simultaneous_music_iterator (Simultaneous_music const*);
   DECLARE_MY_RUNTIME_TYPEINFO;
 protected:
   virtual void do_print() const;
@@ -30,4 +30,4 @@ protected:
   virtual bool ok() const;
 };
 
-#endif // CHORD_ITER_HH
+#endif // Simultaneous_music_ITER_HH
diff --git a/lily/include/identifier.hh b/lily/include/identifier.hh
index 56898a043e..de26489e32 100644
--- a/lily/include/identifier.hh
+++ b/lily/include/identifier.hh
@@ -12,8 +12,27 @@
 #include "input.hh"
 #include "virtual-methods.hh"
 
+
+#define DECLARE_TYPE_NAME(Class)
+class Translator_identifier;
+class Music_identifier;
+class General_script_def_identifier;
+class Symtables_identifier;
+class Midi_def_identifier;
+class Paper_def_identifier;
+class Lookup_identifier;
+class Real_identifier;
+class int_identifier;
+class String_identifier;
+class Request_identifier;
+class Score_identifier;
+class Duration_identifier;
+
+
+
 #define IDACCESSOR(Class)\
-virtual Class *  access_ ## Class (bool=true) const { error (#Class  + String ("_identifier")); return 0; }
+virtual Class *  access_ ## Class (bool=true) const { error (#Class  + String ("_identifier")); return 0; }\
+virtual Class ## _identifier * access_ ## Class ## _identifier () { return 0; }
 
 /**
    A declarable data structure in mudela. 
@@ -60,6 +79,10 @@ struct Class ## _identifier : Identifier {\
 			     Class ## _identifier (Class ## _identifier const&);\
 			     Class ## _identifier (Class*st, int code);\
 			     VIRTUAL_COPY_CONS (Class ## _identifier, Identifier);\
+			     virtual Class ## _identifier * access_ ## Class ## _identifier ()\
+    {\
+      return this;\
+    }\
 			     virtual Class* access_ ## Class (bool copy_b = true) const;\
 			     ~Class ## _identifier();\
 			     virtual void do_print () const; \
diff --git a/lily/include/lily-proto.hh b/lily/include/lily-proto.hh
index e7aaedbea1..f80f11dece 100644
--- a/lily/include/lily-proto.hh
+++ b/lily/include/lily-proto.hh
@@ -50,13 +50,12 @@ struct Break_req;
 struct Cadenza_req;
 struct Change_iterator;
 struct Change_translator;
-struct Chord;
+struct Simultaneous_music;
 struct Clef_change_req;
 struct Clef_item;
 struct Clef_engraver;
 struct Clef_performer;
 struct Column_x_positions;
-struct Chord;
 struct Column_info;
 struct Collision;
 struct Collision_engraver;
@@ -141,12 +140,11 @@ struct Molecule;
 struct Multi_measure_rest;
 struct Multi_measure_rest_req;
 struct Multi_measure_rest_engraver;
-struct Music_general_chord;
 struct Musical_script_req;
-struct Music_voice;
+struct Music_list;
 struct Musical_req;
 struct Music;
-struct Music_list;
+struct Music_sequence;
 struct My_lily_parser;
 struct Note_column;
 struct Note_column_engraver;
@@ -245,9 +243,8 @@ struct Vertical_group_spanner;
 struct Vertical_align_spanner;
 struct Vertical_align_engraver;
 struct Align_element;
-struct Voice;
+struct Sequential_music;
 struct Request_chord;
-struct Voice_group_performer;
-struct Voice_list;
+
 typedef Rational Moment;
 #endif // LILY_PROTO_HH
diff --git a/lily/include/linear-programming.hh b/lily/include/linear-programming.hh
index c0648e8b26..6ba38eaa55 100644
--- a/lily/include/linear-programming.hh
+++ b/lily/include/linear-programming.hh
@@ -1,5 +1,5 @@
 /*   
-  linear-programming.hh -- declare 
+  linear-programming.hh -- declare Linear_programming
   
   source file of the GNU LilyPond music typesetter
   
@@ -14,6 +14,8 @@
 
 /**
 
+   Solve the following problem:
+   
    min c* x
 
    constraints_[i] * x = constraint_rhss_ [i]
@@ -26,12 +28,15 @@ class Linear_programming
   Array<Vector> constraints_;
   Array<Real> constraint_rhss_;
   Vector cost_vec_;
-
+  int dim_;
 public:
-  Vector constraint_solve (Vector initial) const;
+  Vector constraint_solve (Vector initial_basic_solution) const;
+
   int dim () const;
   Vector solve (Vector) const;
   void add_constraint (Vector c, double r);
+
+  
   Linear_programming (int n);
   void set_cost (Vector);
   void print () const;
diff --git a/lily/include/music-list.hh b/lily/include/music-list.hh
index 78a2ac1a6b..05822a649f 100644
--- a/lily/include/music-list.hh
+++ b/lily/include/music-list.hh
@@ -1,5 +1,5 @@
 /*
-  music-list.hh -- declare Music_list, Chord and Voice
+  music-list.hh -- declare Music_sequence, Simultaneous_music and Sequential_music
 
   source file of the GNU LilyPond music typesetter
 
@@ -7,46 +7,53 @@
 */
 
 
-#ifndef MUSIC_LIST_HH
-#define MUSIC_LIST_HH
+#ifndef Music_sequence_HH
+#define Music_sequence_HH
 
 #include "music.hh"
 #include "plist.hh"
 
 
+class Music_list : public Pointer_list<Music*>
+{
+public:
+  Musical_pitch do_relative_octave (Musical_pitch, bool); 
+  void add_music (Music*);
+  Music_list (Music_list const&);
+  Music_list ();
+};
+
+
 /**
   Music can be a list of other "Music" elements
  */
-class Music_list : public Music
+class Music_sequence : public Music
 {
     
 public:
   int multi_level_i_;
-
-  Musical_pitch do_relative_octave (Musical_pitch, bool); 
-  Music_list (Music_list const&);
-  Music_list();
+  Music_list * music_p_list_p_;
+  
+  Music_sequence (Music_sequence const&);
+  Music_sequence (Music_list *l_p);
   DECLARE_MY_RUNTIME_TYPEINFO;
-  VIRTUAL_COPY_CONS(Music_list,Music);
-  virtual void add (Music*);
+  VIRTUAL_COPY_CONS(Music_sequence,Music);
+
   virtual void transpose (Musical_pitch );
-    
-  Pointer_list<Music*> music_p_list_;
+  void add_music (Music *music_p);
 protected:
- 
   virtual void do_print() const;
 };
 
 /**
-  Chord is a list of music-elements which happen simultaneously
+  Simultaneous_music is a list of music-elements which happen simultaneously
  */
-
-class Chord : public Music_list
+class Simultaneous_music : public Music_sequence
 {
 public:
-  Chord();
+  Simultaneous_music(Music_list *);
   DECLARE_MY_RUNTIME_TYPEINFO;
-  VIRTUAL_COPY_CONS(Chord,Music);
+  VIRTUAL_COPY_CONS(Simultaneous_music,Music);
   
   virtual Musical_pitch to_relative_octave (Musical_pitch);
   virtual void translate (Moment dt);
@@ -57,7 +64,7 @@ public:
   The request is a collection of Requests. A note that you enter in mudela is 
   one Request_chord, one syllable of lyrics is one Request_chord
  */
-class Request_chord : public Chord
+class Request_chord : public Simultaneous_music
 {
 public:
   DECLARE_MY_RUNTIME_TYPEINFO;
@@ -66,18 +73,18 @@ public:
   VIRTUAL_COPY_CONS(Request_chord, Music);
 };
 /**
-  Voice is a list of music-elements which are placed behind each other.
+  Sequential_music is a list of music-elements which are placed behind each other.
  */
-class Voice : public Music_list
+class Sequential_music : public Music_sequence
 {
     
 public:
   Moment offset_mom_;
   virtual Musical_pitch to_relative_octave (Musical_pitch);
-  Voice();
+  Sequential_music(Music_list*);
   DECLARE_MY_RUNTIME_TYPEINFO;
-  VIRTUAL_COPY_CONS(Voice, Music);
+  VIRTUAL_COPY_CONS(Sequential_music, Music);
   virtual void translate (Moment dt);
   virtual MInterval time_int() const;
 };
-#endif // MUSIC_LIST_HH
+#endif // Music_sequence_HH
diff --git a/lily/include/music.hh b/lily/include/music.hh
index 083e476f73..9a7b6f2d97 100644
--- a/lily/include/music.hh
+++ b/lily/include/music.hh
@@ -25,16 +25,15 @@
 
   Music is hierarchical: 
 
-  @see Music_list
+  @see Music_sequence
 
   */
 class Music:public Input {
 public:
-  Music_list * parent_music_l_;
     
   /** The kind of iterator needed to walk this music.  This doesn't
     make sense for simple (ie non-list) music, but it does no harm
-    here. Yes, it did harm Music_list: you can forget to copy it.
+    here. Yes, it did harm Music_sequence: you can forget to copy it.
       
     */
   String translator_type_str_;
diff --git a/lily/include/musical-pitch.hh b/lily/include/musical-pitch.hh
index ed3e8ed015..2c4f1a55de 100644
--- a/lily/include/musical-pitch.hh
+++ b/lily/include/musical-pitch.hh
@@ -13,10 +13,11 @@
 #include "lily-proto.hh"
 #include "input.hh"
 
-/** The pitch as it figures in diatonal western music (12 semitones in
-   an octave).
+/** A "tonal" pitch. This is a pitch as it figures in diatonal western
+   music (12 semitones in an octave), as opposed to a frequence in Hz
+   or a integer number of semitones.
 
-   It is not Music because, it has to duration associated
+   It is not Music because, it has no duration associated.
 */
 struct Musical_pitch : public Input
 {
diff --git a/lily/include/musical-request.hh b/lily/include/musical-request.hh
index f6bb89cec5..d7bce858fa 100644
--- a/lily/include/musical-request.hh
+++ b/lily/include/musical-request.hh
@@ -194,7 +194,7 @@ public:
 };
 
 /**
-  Start a tie at this voice element, end it at the next
+  Start a tie at this note, end it at the next
  */
 class Tie_req : public Musical_req {
 public:
diff --git a/lily/include/my-lily-parser.hh b/lily/include/my-lily-parser.hh
index 04e1871305..d92762265a 100644
--- a/lily/include/my-lily-parser.hh
+++ b/lily/include/my-lily-parser.hh
@@ -24,11 +24,11 @@ class My_lily_parser {
   Array<Input> define_spot_array_;
   String init_str_;
 
-  void add_requests (Chord*v);
+  void add_requests (Simultaneous_music*v);
 
-  Chord * get_note_element (Note_req * ,Duration *);
-  Chord* get_rest_element (String, Duration *);
-  Chord* get_word_element (String, Duration*);
+  Simultaneous_music * get_note_element (Note_req * ,Duration *);
+  Simultaneous_music* get_rest_element (String, Duration *);
+  Simultaneous_music* get_word_element (String, Duration*);
   Melodic_req* get_melodic_req (Melodic_req* melodic, int quotes);
   String notename_str (Melodic_req* melodic);
   void set_last_duration (Duration const *);
diff --git a/lily/include/request.hh b/lily/include/request.hh
index d63a7cd7f1..eab7b2d8b0 100644
--- a/lily/include/request.hh
+++ b/lily/include/request.hh
@@ -21,7 +21,7 @@
 
 
 /**
- a voice element wants something printed.
+   An atom of musical information .
  Hungarian postfix: req
  @see lilygut manpage
  */
diff --git a/lily/include/score-column.hh b/lily/include/score-column.hh
index 10d55a798d..6f0d7a6cdf 100644
--- a/lily/include/score-column.hh
+++ b/lily/include/score-column.hh
@@ -48,8 +48,6 @@ public:
   void preprocess();
   bool musical_b() { return musical_b_; }
   void do_print() const;
-
-
 };
 
 #endif // SCORE_COLUMN_HH
diff --git a/lily/include/voice-iterator.hh b/lily/include/voice-iterator.hh
index 887999e912..d029496f41 100644
--- a/lily/include/voice-iterator.hh
+++ b/lily/include/voice-iterator.hh
@@ -1,5 +1,5 @@
 /*
-  voice-iter.hh -- declare Voice_iterator
+  Sequential_music-iter.hh -- declare Sequential_music_iterator
 
   source file of the GNU LilyPond music typesetter
 
@@ -7,32 +7,32 @@
 */
 
 
-#ifndef VOICE_ITER_HH
-#define VOICE_ITER_HH
+#ifndef Sequential_music_ITER_HH
+#define Sequential_music_ITER_HH
 
 
 #include "music-iterator.hh"
 #include "pcursor.hh"
 
-class Voice_iterator :  private PCursor<Music*>, public Music_iterator
+class Sequential_music_iterator :  private PCursor<Music*>, public Music_iterator
 {
   Moment here_mom_;
-  const Voice * voice_C_;
+  const Sequential_music * sequential_music_C_;
   Music_iterator * iter_p_;
   void start_next_element();
   void leave_element();
-  void set_voice_translator();
+  void set_Sequential_music_translator();
     
 public:
-  Voice_iterator (Voice const*);
+  Sequential_music_iterator (Sequential_music const*);
   DECLARE_MY_RUNTIME_TYPEINFO;
 protected:
   virtual void do_print() const;
   virtual void construct_children();
-  ~Voice_iterator();    
+  ~Sequential_music_iterator();    
   virtual void process_and_next (Moment);
   virtual Moment next_moment() const;
   virtual bool ok() const;
 };
 
-#endif // VOICE_ITER_HH
+#endif // Sequential_music_ITER_HH
diff --git a/lily/item.cc b/lily/item.cc
index 610c6b5c08..78db9884e9 100644
--- a/lily/item.cc
+++ b/lily/item.cc
@@ -155,9 +155,10 @@ Item::do_junk_links()
 void
 Item::do_unlink()
 {
-  for (int i=0; i < attached_span_l_arr_.size (); i++)
+  Link_array<Spanner> attached=attached_span_l_arr_;
+  for (int i=0; i < attached.size (); i++)
     {
-      Spanner *&s= attached_span_l_arr_[i];
+      Spanner *s= attached[i];
 
       Direction d= LEFT;
       do {
@@ -168,7 +169,7 @@ Item::do_unlink()
 	  unbroken_original_l_->broken_to_drul_[d] = 0;
       } while (flip (&d) != LEFT);
     }
-  attached_span_l_arr_.set_size (0);
+  assert (!attached_span_l_arr_.size ());
   unbroken_original_l_ =0;
 }
 
diff --git a/lily/linear-programming.cc b/lily/linear-programming.cc
index 6ccc0b31e4..727d3fc46d 100644
--- a/lily/linear-programming.cc
+++ b/lily/linear-programming.cc
@@ -13,13 +13,15 @@
 Linear_programming::Linear_programming (int n)
   : cost_vec_ (n)
 {
+  dim_ = n;  
 }
 int
 Linear_programming::dim () const
 {
-  return cost_vec_.dim ();
+  return dim_;
 }
 
+
 void
 Linear_programming::add_constraint (Vector c, double r)
 {
@@ -31,6 +33,7 @@ Linear_programming::add_constraint (Vector c, double r)
 void
 Linear_programming::set_cost (Vector c)
 {
+  assert (dim_ == c.dim ());
   cost_vec_ = c;
 }
 
@@ -57,6 +60,8 @@ bool
 Linear_programming::check_constraints (Vector v) const
 {
   bool is_cool = true;
+  assert (v.dim () == dim_);
+  
   for (int i=0; is_cool && i < v.dim (); i++)
     is_cool = is_cool && v[i] >= 0;
   for (int i=0; is_cool && i < constraints_.size (); i++)  
@@ -68,8 +73,28 @@ Linear_programming::check_constraints (Vector v) const
 }
 
 Vector
-Linear_programming::solve (Vector initial) const
+Linear_programming::solve (Vector initial_basic_solution) const
 {
+  assert (check_constraints (initial_basic_solution));
+  
+  Array<bool> basis; 
+  for (int i=0; i < dim_; i++)
+    basis.push (bool(initial_basic_solution[i]));
+
+  Vector x = initial_basic_solution;
+  Real current_cost = x * cost_vec_;
+  while (iter < MAXITER)
+    {
+      // select pivot
+      
+
+      iter ++;
+    }
+
+
+
+      
+  
   Array<int> binding, nonbinding;
   
   assert (check_constraints (initial));
diff --git a/lily/music-iterator.cc b/lily/music-iterator.cc
index 97352020af..81622368a4 100644
--- a/lily/music-iterator.cc
+++ b/lily/music-iterator.cc
@@ -131,10 +131,10 @@ Music_iterator::static_get_iterator_p (Music *m,
   Music_iterator * p =0;
   if (m->is_type_b (Request_chord::static_name()))
     p = new Request_chord_iterator ((Request_chord*) m);
-  else if (m->is_type_b (Chord::static_name())) 
-    p =  new Chord_iterator ((Chord*) m);
-  else if (m->is_type_b (Voice::static_name())) 
-    p =  new Voice_iterator ((Voice*) m);
+  else if (m->is_type_b (Simultaneous_music::static_name())) 
+    p =  new Simultaneous_music_iterator ((Simultaneous_music*) m);
+  else if (m->is_type_b (Sequential_music::static_name())) 
+    p =  new Sequential_music_iterator ((Sequential_music*) m);
   else if (m->is_type_b (Translation_property::static_name ()))
     p = new Property_iterator((Translation_property *) m);
   else if (m->is_type_b (Change_translator::static_name ()))
diff --git a/lily/music-list.cc b/lily/music-list.cc
index 5642127ff3..a14a6ce44c 100644
--- a/lily/music-list.cc
+++ b/lily/music-list.cc
@@ -1,5 +1,5 @@
 /*
-  music-list.cc -- implement Music_list, Chord, Voice
+  music-list.cc -- implement Music_sequence, Simultaneous_music, Sequential_music
 
   source file of the GNU LilyPond music typesetter
 
@@ -7,58 +7,50 @@
 */
 
 
-#include <limits.h>
-#include "music.hh"
-#include "debug.hh"
+
 #include "music-list.hh"
 #include "musical-pitch.hh"
 #include "request.hh"
 #include "musical-request.hh"
 
-Music_list::Music_list (Music_list const&s)
-  : Music (s)
-{
-  multi_level_i_ = s.multi_level_i_;   
-  for (iter (s.music_p_list_.top(), i); i.ok (); i++)
-    add (i->clone());
-}
 
-IMPLEMENT_IS_TYPE_B1(Music_list, Music);
-IMPLEMENT_IS_TYPE_B1(Voice,Music_list);
-IMPLEMENT_IS_TYPE_B1(Chord,Music_list);
+IMPLEMENT_IS_TYPE_B1(Sequential_music,Music_sequence);
+IMPLEMENT_IS_TYPE_B1(Simultaneous_music,Music_sequence);
 
 MInterval
-Chord::time_int() const
+Simultaneous_music::time_int() const
 {
   MInterval m;
-  for (iter (music_p_list_.top(), i); i.ok (); i++)
+  for (iter (music_p_list_p_->top(), i); i.ok (); i++)
     m.unite (i->time_int());
 
   return m;
 }
 
 void
-Chord::translate (Moment m)
+Simultaneous_music::translate (Moment m)
 {
-  for (iter (music_p_list_.top(), i); i.ok (); i++)
+  for (iter (music_p_list_p_->top(), i); i.ok (); i++)
     i->translate (m); 
 }
 
-Chord::Chord()
+Simultaneous_music::Simultaneous_music(Music_list *p)
+  : Music_sequence (p)
 {
 
 }
 
-Voice::Voice()
+Sequential_music::Sequential_music(Music_list *p)
+  : Music_sequence (p)
 {
   offset_mom_ =0;
 }
 
 MInterval
-Voice::time_int() const
+Sequential_music::time_int() const
 {
   Moment last=0;
-  for (iter (music_p_list_.top(), i); i.ok (); i++) 
+  for (iter (music_p_list_p_->top(), i); i.ok (); i++) 
     {
       MInterval interval = i->time_int();
 	
@@ -72,85 +64,74 @@ Voice::time_int() const
 }
 
 Musical_pitch
-Voice::to_relative_octave (Musical_pitch p)
+Sequential_music::to_relative_octave (Musical_pitch p)
 {
-  return do_relative_octave (p, false);
+  return music_p_list_p_->do_relative_octave (p, false);
 }
 
 Musical_pitch
-Chord::to_relative_octave (Musical_pitch p)
+Simultaneous_music::to_relative_octave (Musical_pitch p)
 {
-  return do_relative_octave (p, true);
+  return music_p_list_p_->do_relative_octave (p, true);
 }
 
 void
-Voice::translate (Moment dt)
+Sequential_music::translate (Moment dt)
 {
   offset_mom_ += dt;
 }
 
 
-Music_list::Music_list()
-{
-  multi_level_i_ = 0;
-}
 
-void
-Music_list::add (Music*m_p)
-{
-  if (!m_p)
-    return;
 
-  m_p->parent_music_l_ = this;
-  music_p_list_.bottom().add (m_p);
+Musical_pitch 
+Music_list::do_relative_octave (Musical_pitch last, bool ret_first)
+{
+  Musical_pitch retval;
+  int count=0;
+  for (PCursor<Music*> i (top ()); i.ok (); i++)
+    {
+      last = i->to_relative_octave (last);
+      if (!count ++ )
+	retval = last;
+    }
+  if (!ret_first)
+    retval = last;
+  return retval;
 }
 
-void
-Music_list::transpose (Musical_pitch rq)
+
+Music_list::Music_list (Music_list const &s)
+  : Pointer_list<Music*> (s)
 {
-  for (iter (music_p_list_.top(),i); i.ok (); i++)
-    i->transpose (rq);    
+  for (PCursor<Music*> i(s.top()); i.ok (); i++)
+    add_music (i->clone());
 }
 
 void
-Music_list::do_print() const
+Music_list::add_music (Music*m_p)
 {
-#ifndef NPRINT
-  for (iter (music_p_list_.top(),i); i.ok (); i++)
-    i->print();
-#endif 
+  if (!m_p)
+    return;
+
+  bottom().add (m_p);
 }
 
-IMPLEMENT_IS_TYPE_B1(Request_chord, Chord);
+
+IMPLEMENT_IS_TYPE_B1(Request_chord, Simultaneous_music);
 
 
 Request_chord::Request_chord()
+  : Simultaneous_music (new Music_list)
 {
   multi_level_i_ =0;
 }
 
 
-Musical_pitch 
-Music_list::do_relative_octave (Musical_pitch last, bool ret_first)
-{
-
-  Musical_pitch retval;
-  int count=0;
-  for (iter (music_p_list_.top(),i); i.ok (); i++)
-    {
-      last = i->to_relative_octave (last);
-      if (!count ++ )
-	retval = last;
-    }
-  if (!ret_first)
-    retval = last;
-  return retval;
-}
-
 Musical_pitch
 Request_chord::to_relative_octave (Musical_pitch last)
 {
-  for (iter (music_p_list_.top(),i); i.ok (); i++)
+  for (iter (music_p_list_p_->top(),i); i.ok (); i++)
     {
       Musical_req *m =((Request*)i.ptr ())->access_Musical_req ();
       if (m && m->access_Melodic_req ())
@@ -164,3 +145,6 @@ Request_chord::to_relative_octave (Musical_pitch last)
 }
 
 
+Music_list::Music_list ()
+{
+}
diff --git a/lily/music-sequence.cc b/lily/music-sequence.cc
new file mode 100644
index 0000000000..fd00a120e8
--- /dev/null
+++ b/lily/music-sequence.cc
@@ -0,0 +1,49 @@
+/*   
+  music-sequence.cc --  implement Music_sequence
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  
+ */
+#include "music-list.hh"
+#include "debug.hh"
+#include "musical-pitch.hh"
+
+Music_sequence::Music_sequence (Music_sequence const&s)
+  : Music (s)
+{
+  multi_level_i_ = s.multi_level_i_;
+  music_p_list_p_ = new Music_list (*s.music_p_list_p_);
+}
+
+IMPLEMENT_IS_TYPE_B1(Music_sequence, Music);
+
+Music_sequence::Music_sequence(Music_list *mlist_p)
+{
+  multi_level_i_ = 0;
+  music_p_list_p_ = mlist_p;
+}
+
+void
+Music_sequence::transpose (Musical_pitch rq)
+{
+  for (iter (music_p_list_p_->top(),i); i.ok (); i++)
+    i->transpose (rq);    
+}
+
+void
+Music_sequence::do_print() const
+{
+#ifndef NPRINT
+  for (iter (music_p_list_p_->top(),i); i.ok (); i++)
+    i->print();
+#endif 
+}
+
+
+void
+Music_sequence::add_music (Music *m_p)
+{
+  music_p_list_p_->add_music (m_p);
+}
diff --git a/lily/music.cc b/lily/music.cc
index 4ba377fc91..10ee1a3b3f 100644
--- a/lily/music.cc
+++ b/lily/music.cc
@@ -56,7 +56,6 @@ IMPLEMENT_IS_TYPE_B(Music);
   
 Music::Music()
 {
-  parent_music_l_ =0;
 }
 
 Musical_pitch
diff --git a/lily/my-lily-parser.cc b/lily/my-lily-parser.cc
index bdb3846692..0494553930 100644
--- a/lily/my-lily-parser.cc
+++ b/lily/my-lily-parser.cc
@@ -117,27 +117,27 @@ My_lily_parser::set_last_duration (Duration const *d)
 }
 
 
-Chord*
+Simultaneous_music*
 My_lily_parser::get_word_element (String s, Duration * duration_p)
 {
-  Chord* velt_p = new Request_chord;
+  Simultaneous_music* velt_p = new Request_chord;
 
   Lyric_req* lreq_p = new Lyric_req;
   lreq_p ->text_str_ = s;
   lreq_p->duration_ = *duration_p;
   lreq_p->set_spot (here_input());
 
-  velt_p->add (lreq_p);
+  velt_p->add_music (lreq_p);
 
   delete  duration_p;
   return velt_p;
 }
 
 
-Chord *
+Simultaneous_music *
 My_lily_parser::get_rest_element (String s,  Duration * duration_p)
 {
-  Chord* velt_p = new Request_chord;
+  Simultaneous_music* velt_p = new Request_chord;
   velt_p->set_spot (here_input());
 
   if (s=="s")
@@ -146,7 +146,7 @@ My_lily_parser::get_rest_element (String s,  Duration * duration_p)
       skip_p->duration_ = *duration_p;
 
       skip_p->set_spot (here_input());
-      velt_p->add (skip_p);
+      velt_p->add_music (skip_p);
     }
   else
     {
@@ -154,20 +154,20 @@ My_lily_parser::get_rest_element (String s,  Duration * duration_p)
       rest_req_p->duration_ = *duration_p;
       rest_req_p->set_spot (here_input());
 
-      velt_p->add (rest_req_p);
+      velt_p->add_music (rest_req_p);
     }
 
   delete duration_p;
   return velt_p;
 }
 
-Chord *
+Simultaneous_music *
 My_lily_parser::get_note_element (Note_req *rq, Duration * duration_p)
 {
-  Chord*v = new Request_chord;
+  Simultaneous_music*v = new Request_chord;
   v->set_spot (here_input ());
 
-  v->add (rq);
+  v->add_music (rq);
 
   // too bad parser reads (default) duration via member access,
   // this hack will do for now..
@@ -280,25 +280,18 @@ My_lily_parser::get_parens_request (int t)
 }
 
 void
-My_lily_parser::add_requests (Chord*v)
+My_lily_parser::add_requests (Simultaneous_music*v)
 {
   for (int i = 0; i < pre_reqs.size(); i++)
     {
-      v->add (pre_reqs[i]);
+      v->add_music (pre_reqs[i]);
     }
   pre_reqs.clear();
   for (int i = 0; i <post_reqs.size(); i++)
     {
-      v->add (post_reqs[i]);
+      v->add_music (post_reqs[i]);
     }
-#if 0 //disabling...
-  if (default_abbrev_i_)
-    {
-      Abbreviation_req* a = new Abbreviation_req;
-      a->type_i_ = default_abbrev_i_;
-      v->add (a);
-    }
-#endif
+
   post_reqs.clear();
 }
 
diff --git a/lily/parser.yy b/lily/parser.yy
index b39eae1ec1..ca673730c7 100644
--- a/lily/parser.yy
+++ b/lily/parser.yy
@@ -45,7 +45,7 @@
 
 // mmm
 Mudela_version oldest_version ("1.0.1");
-Mudela_version version ("1.0.1");
+Mudela_version version ("1.0.2");
 
 
 // needed for bison.simple's malloc() and free()
@@ -84,12 +84,12 @@ Paper_def* current_paper = 0;
     Array<String> * strvec;
     Array<int> *intvec;
     Box *box;
-    Chord * chord;
+    Simultaneous_music *chord;
     Duration *duration;
     Identifier *id;
     Translator* trans;
     Music *music;
-    Music_list *musiclist;
+    Music_list *music_list;
     Score *score;
     Header *header;
     Interval *interval;
@@ -204,7 +204,6 @@ yylex (YYSTYPE *s,  void * v_l)
 %token <id>	IDENTIFIER
 
 %token <id>	MUSIC_IDENTIFIER
-%token <id>	VOICE_IDENTIFIER
 %token <id>	POST_REQUEST_IDENTIFIER
 %token <id>	SCRIPT_IDENTIFIER
 %token <id>	COMMAND_IDENTIFIER
@@ -247,10 +246,9 @@ yylex (YYSTYPE *s,  void * v_l)
 %type <duration>	duration_length
 
 %type <scalar>  scalar
-%type <music>	Music transposed_music relative_music
+%type <music>	Music transposed_music relative_music Sequential_music Simultaneous_music
 %type <music>	property_def translator_change
-%type <musiclist> Voice Voice_body
-%type <chord>	Chord Chord_body
+%type <music_list> Music_list
 %type <paper>	paper_block paper_body
 %type <real>	dim real
 %type <real>	real_mult_expression real_primary
@@ -271,7 +269,6 @@ yylex (YYSTYPE *s,  void * v_l)
 %type <symtable>	symtable symtable_body
 %type <trans>	translator_spec translator_spec_body
 %type <tempo> 	tempo_request
-%type <string>	concat_strings
 
 %expect 1
 
@@ -326,7 +323,7 @@ mudela_header_body:
 		{
 		$$ = new Header;
 	}
-	| mudela_header_body STRING '=' concat_strings ';' {
+	| mudela_header_body STRING '=' string ';' {
 		(*$$)[*$2] = *$4;
 		delete $2;
 		delete $4;
@@ -340,15 +337,6 @@ mudela_header:
 	;
 
 
-concat_strings:
-		{
-		$$ = new String;
-	}
-	| concat_strings STRING	{
-		*$$ += *$2;
-	}
-
-
 /*
 	DECLARATIONS
 */
@@ -429,10 +417,21 @@ translator_spec_body:
 		$$ = t;
 		delete $2;
 	}
-	| translator_spec_body STRING '=' scalar ';'	{ 
-		$$-> set_property (*$2, *$4);
-		delete $2;
+	| translator_spec_body STRING '=' simple_identifier_init ';'	{ 
+		Identifier* id = $4;
+		String_identifier *s = id->access_String_identifier ();
+		Real_identifier *r= id->access_Real_identifier ();
+		int_identifier *i = id->access_int_identifier ();
+	
+		String str;
+		if (s) str = *s->access_String (false); 
+		if (i) str = to_str (*i->access_int (false));
+		if (r) str = to_str (*r->access_Real (false));
+		if (!s && !i && !r)
+			THIS->parser_error (_("Wrong type for property value"));
+
 		delete $4;
+		$$->set_property (*$2, str);
 	}
 	| translator_spec_body CONSISTS STRING ';' {
 		$$->group_l ()->consists_str_arr_.push (*$3);
@@ -641,25 +640,26 @@ tempo_request:
 	}
 	;
 
-Voice:
-	'{' Voice_body '}'	{
-		$$ = $2;
+Music_list: /* empty */ {
+		$$ = new Music_list;
 	}
-	;
-
-Voice_body:
-	/**/		{
-		$$ = new Voice;
-		$$->set_spot (THIS->here_input ());
+	| Music_list Music {
+		$$->add_music ($2);
 	}
-	| Voice_body Music	{
-		$$->add ($2);
+	| Music_list error {
 	}
-	| Voice_body error			{
-		$$ = new Music_list;
+	;
+
+
+Sequential_music: '{' Music_list '}'		{
+		$$ = new Sequential_music ($2);
 	}
 	;
 
+Simultaneous_music: '<' Music_list '>'	{
+		$$ = new Simultaneous_music ($2);
+	}
+	;
 Music:
 	request_chord		{ $$ = $1; }
 	| TYPE STRING Music	{
@@ -674,8 +674,8 @@ Music:
 		delete $2;
 		delete $4;
 	}
-	| Voice		{ $$ = $1; }
-	| Chord			{ $$ = $1; }
+	| Simultaneous_music		{ $$ = $1; }
+	| Sequential_music		{ $$ = $1; }
 	| transposed_music	{ $$ = $1; }
 	| MUSIC_IDENTIFIER { $$ = $1->access_Music (); }
 	| MELODIC
@@ -737,24 +737,6 @@ scalar:
 	;
 
 
-Chord:
-	'<' Chord_body '>'	{ $$  = $2; }
-	;
-
-Chord_body:
-	/**/	{
-		$$ = new Chord;
-		$$-> multi_level_i_ = 0;
-		$$->set_spot (THIS->here_input ());
-	}
-	| Chord_body Music {
-		$$->add ($2);
-	}
-	| Chord_body error {
-		$$ = new Chord;
-	}
-	;
-
 transposed_music:
 	TRANSPOSE musical_pitch Music {
 		$$ = $3;
@@ -764,12 +746,9 @@ transposed_music:
 	;
 
 
-/*
-	VOICE ELEMENTS
-*/
 request_chord:
 	pre_requests simple_element post_requests	{
-	 	THIS->add_requests ((Chord*)$2);//ugh
+	 	THIS->add_requests ((Simultaneous_music*)$2);//ugh
  		$$ = $2;
 	}
 	| command_element
@@ -783,7 +762,7 @@ command_element:
 		$$ = new Request_chord;
 		$$-> set_spot (THIS->here_input ());
 		$1-> set_spot (THIS->here_input ());
-		((Chord*)$$) ->add ($1);//ugh
+		((Simultaneous_music*)$$) ->add_music ($1);//ugh
 
 	}
 	;
@@ -900,13 +879,9 @@ post_request:
 		$$ = $1;
 	}
 	| abbrev_type	{
-#if 1 // re-instating
 		Abbreviation_req* a = new Abbreviation_req;
 		a->type_i_ = $1;
 		$$ = a;
-#else // and disabling just created ugly sticky abbrev_req
-		THIS->default_abbrev_i_ = $1;
-#endif
 	}
 	;
 
@@ -930,17 +905,14 @@ sub_quotes:
 steno_musical_pitch:
 	NOTENAME_PITCH	{
 		$$ = $1;
-		// $$->octave_i_ += THIS->default_octave_i_;
 	}
 	| NOTENAME_PITCH sup_quotes 	{
 		$$ = $1;
-		// $$->octave_i_ += THIS->default_octave_i_ + $2;
 		$$->octave_i_ +=  $2;
 	}
 	| NOTENAME_PITCH sub_quotes	 {
 		$$ = $1;
 		$$->octave_i_ += - $2;
-		// $$->octave_i_ += THIS->default_octave_i_ - $2;
 	}
 	;
 
@@ -1189,7 +1161,6 @@ pre_requests:
 absolute_musical_pitch:
 	steno_musical_pitch	{
 		$$ = $1;
-		// $$->octave_i_ -=  THIS->default_octave_i_;
 	}
 	;
 
@@ -1280,9 +1251,9 @@ simple_element:
 		m->duration_ = *$2;
 		delete $2;
 
-		Chord*velt_p = new Request_chord;
+		Simultaneous_music*velt_p = new Request_chord;
 		velt_p->set_spot (THIS->here_input ());
-		velt_p->add (m);
+		velt_p->add_music (m);
 		$$ = velt_p;
 
 	}
diff --git a/lily/request-iterator.cc b/lily/request-iterator.cc
index 81b7fd2686..37a25ba848 100644
--- a/lily/request-iterator.cc
+++ b/lily/request-iterator.cc
@@ -59,7 +59,7 @@ Request_chord_iterator::process_and_next (Moment mom)
 {
   if (first_b_)
     {
-      for (PCursor<Music*> i (elt_l_->music_p_list_); i.ok(); i++)
+      for (PCursor<Music*> i (elt_l_->music_p_list_p_->top ()); i.ok(); i++)
 	{
 	  assert (i->is_type_b (Request::static_name()));
 	  Request * req_l = (Request*)i.ptr();
diff --git a/lily/voice-iterator.cc b/lily/voice-iterator.cc
index a640580afa..c4478031e7 100644
--- a/lily/voice-iterator.cc
+++ b/lily/voice-iterator.cc
@@ -1,5 +1,5 @@
 /*
-  voice-iter.cc -- implement Voice_iterator
+  Sequential_music-iter.cc -- implement Sequential_music_iterator
 
   source file of the GNU LilyPond music typesetter
 
@@ -13,22 +13,22 @@
 
 
 void
-Voice_iterator::do_print() const
+Sequential_music_iterator::do_print() const
 {
   if (iter_p_)
     iter_p_->print();
 }
 
-Voice_iterator::Voice_iterator (Voice const*v)
-  : PCursor<Music*> (v->music_p_list_)
+Sequential_music_iterator::Sequential_music_iterator (Sequential_music const*v)
+  : PCursor<Music*> (*v->music_p_list_p_)
 {
   here_mom_ = v->offset_mom_;
-  voice_C_ = v;
+  sequential_music_C_ = v;
   iter_p_ =0;
 }
 
 void
-Voice_iterator::construct_children()
+Sequential_music_iterator::construct_children()
 {
   while (PCursor<Music*>::ok()) 
     {
@@ -39,14 +39,14 @@ Voice_iterator::construct_children()
 	}
       else 
 	{
-	  set_voice_translator();
+	  set_Sequential_music_translator();
 	  break;
 	}
     }
 }
 
 void 
-Voice_iterator::leave_element()
+Sequential_music_iterator::leave_element()
 {
   delete iter_p_;
   iter_p_ =0;
@@ -57,29 +57,29 @@ Voice_iterator::leave_element()
 }
 
 void
-Voice_iterator::start_next_element()
+Sequential_music_iterator::start_next_element()
 {
   assert (!iter_p_);
   iter_p_ = get_iterator_p (ptr());
 }
 
 void
-Voice_iterator::set_voice_translator()
+Sequential_music_iterator::set_Sequential_music_translator()
 {
   if (iter_p_->report_to_l()->depth_i () > report_to_l ()->depth_i ())
     set_translator (iter_p_->report_to_l());
 }
 
-Voice_iterator::~Voice_iterator()
+Sequential_music_iterator::~Sequential_music_iterator()
 {
   assert (! iter_p_);
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Voice_iterator,Music_iterator);
+IMPLEMENT_IS_TYPE_B1(Sequential_music_iterator,Music_iterator);
 
 void
-Voice_iterator::process_and_next (Moment until)
+Sequential_music_iterator::process_and_next (Moment until)
 {
   while (1) 
     {
@@ -100,7 +100,7 @@ Voice_iterator::process_and_next (Moment until)
 	  if (PCursor<Music*>::ok()) 
 	    {
 	      start_next_element();
-	      set_voice_translator();
+	      set_Sequential_music_translator();
 	    }
 	  else 
 	    {
@@ -115,13 +115,13 @@ loopexit:
 }
 
 Moment
-Voice_iterator::next_moment() const
+Sequential_music_iterator::next_moment() const
 {
   return iter_p_->next_moment() + here_mom_;
 }
 
 bool
-Voice_iterator::ok() const
+Sequential_music_iterator::ok() const
 {
   return iter_p_;
 }
diff --git a/make/lilypond-vars.make b/make/lilypond-vars.make
index 1452731b2d..eb26aaaa23 100644
--- a/make/lilypond-vars.make
+++ b/make/lilypond-vars.make
@@ -1,6 +1,5 @@
-
 export PATH:=$(topdir)/lily/out:$(topdir)/buildscripts/out:$(PATH)
-export MFINPUTS:=$(topdir)/mf/:.:$(MFINPUTS)::
-export TEXINPUTS:=$(topdir)/tex/:.:$(TEXINPUTS)::
-export LILYINCLUDE=$(topdir)/init:$(topdir)/mf/out
+export MFINPUTS:=$(topdir)/mf/$(PATHSEP)$(MFINPUTS)$(PATHSEP)$(PATHSEP)
+export TEXINPUTS:=$(topdir)/tex/$(PATHSEP)$(TEXINPUTS)$(PATHSEP)$(PATHSEP)
+export LILYINCLUDE=$(topdir)/init$(PATHSEP)$(topdir)/mf/out
 
diff --git a/make/mutopia-targets.make b/make/mutopia-targets.make
index 4aa51ff017..541d10b016 100644
--- a/make/mutopia-targets.make
+++ b/make/mutopia-targets.make
@@ -7,3 +7,9 @@ local-WWW: $(ly_examples) $(fly_examples) $(ps_examples) $(gif_examples)
 	(cd $(outdir); $(PYTHON) ../$(buildscripts)/mutopia-index.py --package=$(topdir) --prefix=../ --suffix=/$(outdir) $(html_subdirs) $(all_examples))
 	$(PYTHON) $(step-bindir)/add-html-footer.py --package=$(topdir) --index=$(depth)/$(outdir)/index.html $(outdir)/index.html
 	echo $^ > $(depth)/wwwlist
+
+convert-mudela: local-convert-mudela
+	$(LOOP)
+
+local-convert-mudela:
+	$(PYTHON) $(depth)/scripts/convert-mudela.py -e *ly
diff --git a/mi2mu/mudela-stream.cc b/mi2mu/mudela-stream.cc
index 0f5ab11b8f..cdaa6f7ae7 100644
--- a/mi2mu/mudela-stream.cc
+++ b/mi2mu/mudela-stream.cc
@@ -92,7 +92,7 @@ Mudela_stream::header()
   *os_p_ << filename_str_g;
   *os_p_ << "\n\n";
   // ugh
-  *os_p_ << "\\version \"1.0.0\";\n";
+  *os_p_ << "\\version \"1.0.2\";\n";
 }
 
 void
diff --git a/mudela-mode.el b/mudela-mode.el
index 87a08060b1..bd66bb4d4f 100644
--- a/mudela-mode.el
+++ b/mudela-mode.el
@@ -38,7 +38,7 @@
 		     "musical_pitch" "meter" "midi" "mm" "multi" "header"
 		     "notenames" "octave" "output" "partial" "paper" "plet"
 		     "property" "pt" "shape" "relative" "include" "score"
-		     "script" "skip" "staff" "table" "spandynamic" "symboltables"
+		     "script" "skip"  "table" "spandynamic" "symboltables"
 		     "tempo" "texid" "textstyle" "transpose" "version" "grouping"
 		     ))
        (kwregex (mapconcat (lambda (x) (concat "\\\\" x))  keywords "\\|")))
diff --git a/mutopia/Coriolan/bassi-part.ly b/mutopia/Coriolan/bassi-part.ly
index e66e414d6c..f8c6a0dc44 100644
--- a/mutopia/Coriolan/bassi-part.ly
+++ b/mutopia/Coriolan/bassi-part.ly
@@ -7,7 +7,7 @@ enteredby =	 "JCN";
 copyright =	 "public domain";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "global.ly"
 \include "violoncello.ly"
diff --git a/mutopia/Coriolan/clarinetti-part.ly b/mutopia/Coriolan/clarinetti-part.ly
index 026d38ebe5..2698afa816 100644
--- a/mutopia/Coriolan/clarinetti-part.ly
+++ b/mutopia/Coriolan/clarinetti-part.ly
@@ -7,7 +7,7 @@ enteredby =	 "JCN";
 copyright =	 "public domain";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "global.ly"
 \include "clarinetti.ly"
diff --git a/mutopia/Coriolan/clarinetti.ly b/mutopia/Coriolan/clarinetti.ly
index d79ea0fdb9..be6fc080a9 100644
--- a/mutopia/Coriolan/clarinetti.ly
+++ b/mutopia/Coriolan/clarinetti.ly
@@ -9,7 +9,7 @@ copyright =	 "public domain";
 
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "clarinetto-1.ly"
 \include "clarinetto-2.ly"
diff --git a/mutopia/Coriolan/clarinetto-1.ly b/mutopia/Coriolan/clarinetto-1.ly
index 44ff9ef9a4..ef713c0441 100644
--- a/mutopia/Coriolan/clarinetto-1.ly
+++ b/mutopia/Coriolan/clarinetto-1.ly
@@ -9,7 +9,7 @@ copyright =	 "public domain";
 
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 clarinetto1 = \melodic \relative c {
 	R1 *2 | d''4-.\ff r r2 | R1 *3 | e4-. r r2 | R1 *3 |
diff --git a/mutopia/Coriolan/clarinetto-2.ly b/mutopia/Coriolan/clarinetto-2.ly
index 58564653ed..be27d99bb9 100644
--- a/mutopia/Coriolan/clarinetto-2.ly
+++ b/mutopia/Coriolan/clarinetto-2.ly
@@ -9,7 +9,7 @@ copyright =	 "public domain";
 
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 clarinetto2 = \melodic \relative c { 
 	R1*2 bes''4-.\ff r r2 | R1*3 | cis4-. r r2 | R1 *3 | 
diff --git a/mutopia/Coriolan/contrabasso-part.ly b/mutopia/Coriolan/contrabasso-part.ly
index 980ee0bf72..420d022a91 100644
--- a/mutopia/Coriolan/contrabasso-part.ly
+++ b/mutopia/Coriolan/contrabasso-part.ly
@@ -7,7 +7,7 @@ enteredby =	 "JCN";
 copyright =	 "public domain";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "global.ly"
 \include "contrabasso.ly"
diff --git a/mutopia/Coriolan/contrabasso.ly b/mutopia/Coriolan/contrabasso.ly
index 55d22b546e..b0a5617c71 100644
--- a/mutopia/Coriolan/contrabasso.ly
+++ b/mutopia/Coriolan/contrabasso.ly
@@ -7,7 +7,7 @@ enteredby =	 "JCN";
 copyright =	 "public domain";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 contrabasso = \melodic \relative c {
 %	\translator Staff=violoncello
diff --git a/mutopia/Coriolan/coriolan.ly b/mutopia/Coriolan/coriolan.ly
index 896bf7fb42..c044c050fa 100644
--- a/mutopia/Coriolan/coriolan.ly
+++ b/mutopia/Coriolan/coriolan.ly
@@ -7,7 +7,7 @@ enteredby =	 "JCN";
 copyright =	 "public domain";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "global.ly"
 
diff --git a/mutopia/Coriolan/corni-part.ly b/mutopia/Coriolan/corni-part.ly
index db65dc3c8e..2c7009e73b 100644
--- a/mutopia/Coriolan/corni-part.ly
+++ b/mutopia/Coriolan/corni-part.ly
@@ -7,7 +7,7 @@ enteredby =	 "JCN";
 copyright =	 "public domain";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "global.ly"
 \include "corni.ly"
diff --git a/mutopia/Coriolan/corni.ly b/mutopia/Coriolan/corni.ly
index 32d1412a3a..966b68376c 100644
--- a/mutopia/Coriolan/corni.ly
+++ b/mutopia/Coriolan/corni.ly
@@ -9,7 +9,7 @@ copyright =	 "public domain";
 
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "corno-1.ly"
 \include "corno-2.ly"
diff --git a/mutopia/Coriolan/corno-1.ly b/mutopia/Coriolan/corno-1.ly
index 1ce84c1c7f..c2af389e41 100644
--- a/mutopia/Coriolan/corno-1.ly
+++ b/mutopia/Coriolan/corno-1.ly
@@ -7,7 +7,7 @@ enteredby =	 "JCN";
 copyright =	 "public domain";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 corno1 = \melodic \relative c {
 	R1 *2 | f''4-.\ff r r2 | R1 *3 | f4-. r r2 | R1 *3 |
diff --git a/mutopia/Coriolan/corno-2.ly b/mutopia/Coriolan/corno-2.ly
index ad8ba33261..b203ddaa6b 100644
--- a/mutopia/Coriolan/corno-2.ly
+++ b/mutopia/Coriolan/corno-2.ly
@@ -7,7 +7,7 @@ enteredby =	 "JCN";
 copyright =	 "public domain";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 corno2 = \melodic \relative c {
 	R1 *2 | d''4-.\ff r r2 | R1 *3 | d4-. r r2 | R1 *3 |
diff --git a/mutopia/Coriolan/fagotti-part.ly b/mutopia/Coriolan/fagotti-part.ly
index f3cb5cf194..bb255eb527 100644
--- a/mutopia/Coriolan/fagotti-part.ly
+++ b/mutopia/Coriolan/fagotti-part.ly
@@ -9,7 +9,7 @@ copyright =	 "public domain";
 
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "global.ly"
 \include "fagotti.ly"
diff --git a/mutopia/Coriolan/fagotti.ly b/mutopia/Coriolan/fagotti.ly
index a4bf8c26d2..f98dbd3cc4 100644
--- a/mutopia/Coriolan/fagotti.ly
+++ b/mutopia/Coriolan/fagotti.ly
@@ -9,7 +9,7 @@ copyright =	 "public domain";
 
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "fagotto-1.ly"
 \include "fagotto-2.ly"
diff --git a/mutopia/Coriolan/fagotto-1.ly b/mutopia/Coriolan/fagotto-1.ly
index fa029e8947..34447df55f 100644
--- a/mutopia/Coriolan/fagotto-1.ly
+++ b/mutopia/Coriolan/fagotto-1.ly
@@ -9,7 +9,7 @@ copyright =	 "public domain";
 
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 fagotto1 = \melodic \relative c {
 	R1 *2 | as'4-.\ff r r2 | R1 *3 | as4-. r r2 | R1 *3 |
diff --git a/mutopia/Coriolan/fagotto-2.ly b/mutopia/Coriolan/fagotto-2.ly
index 07610f2507..ab55c98ce1 100644
--- a/mutopia/Coriolan/fagotto-2.ly
+++ b/mutopia/Coriolan/fagotto-2.ly
@@ -7,7 +7,7 @@ enteredby =	 "JCN";
 copyright =	 "public domain";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 fagotto2 = \melodic \relative c {
 	R1 *2 | f4-.\ff r r2 | R1 *3 | f4-. r r2 | R1 *3 |
diff --git a/mutopia/Coriolan/flauti-part.ly b/mutopia/Coriolan/flauti-part.ly
index 65621ede25..9c45290df2 100644
--- a/mutopia/Coriolan/flauti-part.ly
+++ b/mutopia/Coriolan/flauti-part.ly
@@ -9,7 +9,7 @@ copyright =	 "public domain";
 
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "global.ly"
 \include "flauti.ly"
diff --git a/mutopia/Coriolan/flauti.ly b/mutopia/Coriolan/flauti.ly
index 2e14b35ba0..ea4f964420 100644
--- a/mutopia/Coriolan/flauti.ly
+++ b/mutopia/Coriolan/flauti.ly
@@ -9,7 +9,7 @@ copyright =	 "public domain";
 
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "flauto-1.ly"
 \include "flauto-2.ly"
diff --git a/mutopia/Coriolan/flauto-1.ly b/mutopia/Coriolan/flauto-1.ly
index abdf417cce..51fcf1f1d1 100644
--- a/mutopia/Coriolan/flauto-1.ly
+++ b/mutopia/Coriolan/flauto-1.ly
@@ -7,7 +7,7 @@ enteredby =	 "JCN";
 copyright =	 "public domain";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 flauto1 = \melodic \relative c {
 	R1 *2 | c'''4-.\ff r r2 | R1 *3 | d4-. r r2 | R1 *3 |
diff --git a/mutopia/Coriolan/flauto-2.ly b/mutopia/Coriolan/flauto-2.ly
index ba9288f126..56a4f4c718 100644
--- a/mutopia/Coriolan/flauto-2.ly
+++ b/mutopia/Coriolan/flauto-2.ly
@@ -7,7 +7,7 @@ enteredby =	 "JCN";
 copyright =	 "public domain";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 flauto2 = \melodic \relative c {
 	R1 *2 | as'''4-.\ff r r2 | R1 *3 | b4-. r r2 | R1 *3 | 
diff --git a/mutopia/Coriolan/global.ly b/mutopia/Coriolan/global.ly
index bbd1ea28db..1849424a1a 100644
--- a/mutopia/Coriolan/global.ly
+++ b/mutopia/Coriolan/global.ly
@@ -9,7 +9,7 @@ copyright =	 "public domain";
 
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 global = \melodic {
 	\time 4/4;
diff --git a/mutopia/Coriolan/oboe-1.ly b/mutopia/Coriolan/oboe-1.ly
index 3458fa8638..d35301bc65 100644
--- a/mutopia/Coriolan/oboe-1.ly
+++ b/mutopia/Coriolan/oboe-1.ly
@@ -7,7 +7,7 @@ enteredby =	 "JCN";
 copyright =	 "public domain";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 oboe1 = \melodic \relative c'' {
 	R1 *2 | as'4-.\ff r r2 | R1 *3 | as4-. r r2 | R1 *3 |
diff --git a/mutopia/Coriolan/oboe-2.ly b/mutopia/Coriolan/oboe-2.ly
index bf4b77a19d..c5506b5d80 100644
--- a/mutopia/Coriolan/oboe-2.ly
+++ b/mutopia/Coriolan/oboe-2.ly
@@ -9,7 +9,7 @@ copyright =	 "public domain";
 
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 oboe2 = \melodic \relative c{
 	R1 *2| f''4-.\ff r r2 | R1 *3 | f4-. r r2 | R1 *3 |
diff --git a/mutopia/Coriolan/oboi-part.ly b/mutopia/Coriolan/oboi-part.ly
index 16aa625b44..b389779b57 100644
--- a/mutopia/Coriolan/oboi-part.ly
+++ b/mutopia/Coriolan/oboi-part.ly
@@ -9,7 +9,7 @@ copyright =	 "public domain";
 
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "global.ly"
 \include "oboi.ly"
diff --git a/mutopia/Coriolan/oboi.ly b/mutopia/Coriolan/oboi.ly
index 981973b036..1c90c9e922 100644
--- a/mutopia/Coriolan/oboi.ly
+++ b/mutopia/Coriolan/oboi.ly
@@ -9,7 +9,7 @@ copyright =	 "public domain";
 
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "oboe-1.ly"
 \include "oboe-2.ly"
diff --git a/mutopia/Coriolan/timpani.ly b/mutopia/Coriolan/timpani.ly
index a9d52b4efb..1c7f7642cf 100644
--- a/mutopia/Coriolan/timpani.ly
+++ b/mutopia/Coriolan/timpani.ly
@@ -9,7 +9,7 @@ copyright =	 "public domain";
 
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 timpani = \melodic \relative c {
 	R1 *2 | c4-.\ff r r2 | R1 *3 | c4-. r r2 | R1 *3 |
diff --git a/mutopia/Coriolan/trombe-part.ly b/mutopia/Coriolan/trombe-part.ly
index c3f13d2c06..5ee208541b 100644
--- a/mutopia/Coriolan/trombe-part.ly
+++ b/mutopia/Coriolan/trombe-part.ly
@@ -9,7 +9,7 @@ copyright =	 "public domain";
 
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "global.ly"
 \include "trombe.ly"
diff --git a/mutopia/Coriolan/trombe.ly b/mutopia/Coriolan/trombe.ly
index 36583629d0..50489f6d5c 100644
--- a/mutopia/Coriolan/trombe.ly
+++ b/mutopia/Coriolan/trombe.ly
@@ -9,7 +9,7 @@ copyright =	 "public domain";
 
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "trombo-1.ly"
 \include "trombo-2.ly"
diff --git a/mutopia/Coriolan/trombo-1.ly b/mutopia/Coriolan/trombo-1.ly
index 74b717a03e..92d5257048 100644
--- a/mutopia/Coriolan/trombo-1.ly
+++ b/mutopia/Coriolan/trombo-1.ly
@@ -7,7 +7,7 @@ enteredby =	 "JCN";
 copyright =	 "public domain";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 trombo1 = \melodic \relative c {
 	R1 *2 | c''4-.\ff r r2 | R1 *3 | c4-. r r2 | R1 *3 |
diff --git a/mutopia/Coriolan/trombo-2.ly b/mutopia/Coriolan/trombo-2.ly
index be909a3430..afdf2fd34f 100644
--- a/mutopia/Coriolan/trombo-2.ly
+++ b/mutopia/Coriolan/trombo-2.ly
@@ -7,7 +7,7 @@ enteredby =	 "JCN";
 copyright =	 "public domain";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 trombo2 = \melodic \relative c {
 	R1 *2 | c'4-.\ff r r2 | R1 *3 | c4-. r r2 | R1 *3 |
diff --git a/mutopia/Coriolan/viola-1.ly b/mutopia/Coriolan/viola-1.ly
index b6b000ee30..4ea6f86b9c 100644
--- a/mutopia/Coriolan/viola-1.ly
+++ b/mutopia/Coriolan/viola-1.ly
@@ -7,7 +7,7 @@ enteredby =	 "JCN";
 copyright =	 "public domain";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 viola1 = \melodic \relative c {
 	\type Voice=one
diff --git a/mutopia/Coriolan/viola-2.ly b/mutopia/Coriolan/viola-2.ly
index e3109c9ac0..d1b7a2074f 100644
--- a/mutopia/Coriolan/viola-2.ly
+++ b/mutopia/Coriolan/viola-2.ly
@@ -7,7 +7,7 @@ enteredby =	 "JCN";
 copyright =	 "public domain";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 viola2 = \melodic \relative c {
 	% starts on (actualy, most part is on) same staff as viola1
diff --git a/mutopia/Coriolan/viola-part.ly b/mutopia/Coriolan/viola-part.ly
index ad8c60a676..cd17993ab9 100644
--- a/mutopia/Coriolan/viola-part.ly
+++ b/mutopia/Coriolan/viola-part.ly
@@ -7,7 +7,7 @@ enteredby =	 "JCN";
 copyright =	 "public domain";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "global.ly"
 \include "viola-1.ly"
diff --git a/mutopia/Coriolan/violino-1-part.ly b/mutopia/Coriolan/violino-1-part.ly
index cdfa1a723e..23482fc138 100644
--- a/mutopia/Coriolan/violino-1-part.ly
+++ b/mutopia/Coriolan/violino-1-part.ly
@@ -7,7 +7,7 @@ enteredby =	 "JCN";
 copyright =	 "public domain";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "global.ly"
 \include "violino-1.ly"
diff --git a/mutopia/Coriolan/violino-1.ly b/mutopia/Coriolan/violino-1.ly
index d623a38d76..355ff61d77 100644
--- a/mutopia/Coriolan/violino-1.ly
+++ b/mutopia/Coriolan/violino-1.ly
@@ -7,7 +7,7 @@ enteredby =	 "JCN";
 copyright =	 "public domain";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 violino1 = \melodic \relative c {
 	c'1\ff ~ | c | <f4-. c'-. as'-.> r r2 | R1 |
diff --git a/mutopia/Coriolan/violino-2-part.ly b/mutopia/Coriolan/violino-2-part.ly
index d8b426945b..e31f101382 100644
--- a/mutopia/Coriolan/violino-2-part.ly
+++ b/mutopia/Coriolan/violino-2-part.ly
@@ -7,7 +7,7 @@ enteredby =	 "JCN";
 copyright =	 "public domain";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "global.ly"
 \include "violino-2.ly"
diff --git a/mutopia/Coriolan/violino-2.ly b/mutopia/Coriolan/violino-2.ly
index f9693fdf0a..8c59934845 100644
--- a/mutopia/Coriolan/violino-2.ly
+++ b/mutopia/Coriolan/violino-2.ly
@@ -7,7 +7,7 @@ enteredby =	 "JCN";
 copyright =	 "public domain";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 violino2 = \melodic \relative c {
 	c'1\ff ~ | c | <f4-. c'-. as'-.> r r2 | R1 |
diff --git a/mutopia/Coriolan/violoncello-part.ly b/mutopia/Coriolan/violoncello-part.ly
index 953d20a304..78bd4822ed 100644
--- a/mutopia/Coriolan/violoncello-part.ly
+++ b/mutopia/Coriolan/violoncello-part.ly
@@ -7,7 +7,7 @@ enteredby =	 "JCN";
 copyright =	 "public domain";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "global.ly"
 \include "violoncello.ly"
diff --git a/mutopia/Coriolan/violoncello.ly b/mutopia/Coriolan/violoncello.ly
index 622ea85ab9..3b86a7306c 100644
--- a/mutopia/Coriolan/violoncello.ly
+++ b/mutopia/Coriolan/violoncello.ly
@@ -9,7 +9,7 @@ copyright =	 "public domain";
 
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 violoncello = \melodic \relative c {
 	c1\ff ~ | c | f,4-. r r2 | r1 | c'1\ff ~ | c | f,4-. r r2 |
diff --git a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Allemande.ly b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Allemande.ly
new file mode 100644
index 0000000000..d8a9a7cfab
--- /dev/null
+++ b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Allemande.ly
@@ -0,0 +1,148 @@
+\header{
+	enteredby = "Tom Cato Amundsen";
+	copyright = "Public Domain";
+	piece = "Allemande";
+}
+
+\version "1.0.2";
+
+global = \melodic{
+	\time 4/4;
+	\partial 8*3;
+	\key es;
+	\skip 1*15;
+	\skip 4*3;
+	\skip 16*4;
+	\bar ":|:";
+	\skip 16*3;
+	\skip 1*16;
+	\bar ":|";
+}
+
+hoyreEn = \melodic\relative c'''{
+%	\partial 4.; 
+	[as16 g f] |
+	[g16 d es b][c f es d][es b c g][as d c b] |
+	[c g as es][f es' d c][b8. a16][g8 b] |
+	[c16 d es8][f,16 es' d c][d es f8][g,16 f' es d] |
+	[es16 f g8][as,16 g' f es][f g as8][b,16  as' g f] |
+%5
+	\type Staff < { 
+		\stemup es4~ [es8. c16] d4~ [d8. b16] |
+		c4.~ [c16 b] c4~ [c16 c bes as] |
+		\stemboth [g c32 d es16 c][g8 as] \stemup bes4~ [bes8 g'~] |
+		\stemboth [g16 c,32 d es16 c][a f' c32 d es16] \stemup d4~ [d8 d] |
+		[d8 c] r16 [fis g a][es8 d] r16 [g a bes] |
+		[f8 e] r16 [a bes c][g8 fis] r16 [es d c] |
+	} {
+		\stemdown r16 [b c g][as es f8] r16 [g as f][g d es8~] |
+%TODO når du får tak i en til urtekst må denne og neste takt sammenliknes.
+		[es16 f32 g as16 f][d f8.~][f16 f es d][es8 f] |
+		s4 r4 r16 [f g d] es8 r |
+		s2 r16 [a bes8~][bes fis] |
+		g4 r a r |
+		bes r c r
+	} >
+%11
+	[d16 a bes fis][g c bes a][bes fis g d][es a g fis] |
+	[g d es b][c f es d][es c d fis][a es d c] |
+	[bes d g bes~][bes fis g bes,][c es g bes~][bes fis g c,] |
+	[d fis g bes~][bes fis g d][es fis g bes~][bes fis g bes] |
+	[e a, bes fis][g bes a g][fis d es bes][c es d c] |
+	\type Staff <
+		{ \stemup [bes8 d'][bes a16 g] g4~ g16 }
+		{ \stemup s2 s16 d8.~ d16 }
+		{ \stemdown r8 <g d> <[g d><fis c]> r16 [d16 b8~] b16 }
+	>
+	[es'16 d c] |
+%17
+	[d a b g][as f es d][es( f32 )g c,8] r16 [as'' g f] |
+	[g d e c][des bes as g][as( bes32 )c f,8] r16 [c f g] |
+	[as e f c][des c' bes as][bes f g d][e des' c bes] |
+	[c g as e][f es' des c][des a bes g] g'4~ |
+	[g16( )c, f( )e][as( g f )e][f( )c es( )des][bes'( as g )f] |
+%22
+	[e16( f32 )g c,16 bes][as f' g, e'] f4~ [f32 g f e f16 g] |
+	[as16 e f c][as f es' c][d a bes d][f as g f] |
+	[g d es bes][g es d' b][c g as c][es g f es] |
+	[f c d as][f d c' a][b fis g b][d f es d] |
+	[es b c as][g f es' d][c b c d][g,8 d'] |
+	[es16 g c g][es d c b][c es g8~][g16 bes, as g] |
+%28
+	[as c f c][as g f e][f b d8~][d16 f, es d] |
+	[c8 es'( as, )g][d f'( as, )g] |
+	[es g'( as, )g][f as'16( g][as g fis )g] |
+	fis4.~ [fis16 e32 fis][g16 d f es][d c b a] |
+	\type Staff <
+		{ \stemup [g8 g'][es d16 c] c4. }
+		{ \stemdown r8 <g c es> <[g c> <f b]> <es4. g> } 
+	>	s8
+}
+
+venstreEn = \melodic\relative c{
+	\clef bass; 
+%	\partial 4.; 
+	r16 r8 |
+	[c8 c,] \clef treble; r16 [as''' g f][g d es b][c f es d] |
+	\clef bass; [es b c g][as8 f][g g,~][g16 f' es d] |
+	[es b c g][as g' f es][f c d a][bes as' g f] |
+	[g d es b][c bes' as g][as es f c][d8 b'] |
+%5
+	[c8 es][f, as][b, d][es, g] |
+	[as f][g g'][c, g']
+	\type Staff <
+		{ \stemup [c8 d] | es4 }
+		{ \stemdown c4 ~ | [c8. g32 f] }
+	>
+	\stemboth [es, f g16 c,32 d es16][g,8. bes32 as][g as bes16 es,32 f g16] |
+%8
+	[a,8 c][f a][bes. f''32 es][d es f16 bes,32 c d16] |
+	[es, g a bes][c d es c][fis, a bes c][d e fis d] |
+	[g, bes c d][e fis g es][a, c d es][d c bes a] |
+	[bes c d a][bes es d c][d a bes fis][g c bes a] |
+	[bes fis g d][es32 f g16 c,32 d es16] fis,4 r8 d8 |
+%13
+	[g8 bes'( es, )d][a c'( es, )d] |
+	[bes d'( es, )d][c es'( es, )d] |
+	<cis4 cis,> r8 cis8 [d a][fis d] |
+%16
+	[g16 a bes c][d8 d,]
+	\type Staff <
+		{ \stemup r8 r16 d' g }
+		{ \stemdown g,4~ g16 }
+	>
+	r16 r8 |
+%17
+	[g,8 g'] r16 [as g f][g d es b][c f, es d] |
+	[c8 c'] r16 [des' c bes][c g as e][f bes, as g] |
+	[f g as8][bes,16 as' g f][g as bes8][c,16 bes' as g] |
+	[as bes c8][des,16 c' bes as][bes c des8][e,16 des' c bes] |
+	[as8 c][f, as][des f g, bes~] |
+%22
+	[bes8 as16 bes][c8 c,][f16 c' f g][as f as c] |
+	[f8 as, c f,][bes f' d bes] |
+	[es g, bes es,][as es' c as] |
+	[d f, as d,][g d'][b g] |
+	[c es,][as f][g g,~][g16 as' g f] |
+	[g d es b][c f es d][es b c g][as des c bes] |
+%28
+	[c g as e][f bes as g][as f g b][d as g f] |
+	[es( g c )es~][es b c es,][f( as c )es~][es b c f,] |
+	[g( b c )es~][es b c g][as b c es~][es b c es] |
+	[a d, es b][c es d c][b g as es][f as g f] |
+	[es g c es][g8 g,] <c4. c,> s8
+}
+
+\score{
+	\type GrandStaff <
+		\type Staff = treble <
+			\global
+			\hoyreEn
+		>
+		\type Staff = bass <
+			\global
+			\venstreEn
+		>
+	>
+	\paper{}
+}
\ No newline at end of file
diff --git a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly
new file mode 100644
index 0000000000..ce919822dc
--- /dev/null
+++ b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly
@@ -0,0 +1,341 @@
+\header {
+  filename =    "";
+  title =       "Partita II";
+  piece =       "Sinfonia";
+  description = "6 Partite per il clavicembalo, Partita II (c-minor)";
+  opus =        "BWV 826";
+  source =      "Editio Musica Budapest (Urtext)";
+  composer =    "Johann Sebastian Bach (1685-1750)";
+  enteredby =   "Tom Cato Amundsen";
+  copyright =   "Public Domain";
+}
+
+\version "1.0.2";
+
+global = \melodic {
+	\time 4/4;
+	\key es;
+	\skip 1*7;
+	\bar "||";
+	\skip 1*22;
+	\time 3/4;
+	\skip 2.*62;
+	\bar "|.";
+}
+  
+hoyreOpp = \melodic\relative c''  {
+	\stemup
+	es4^"Grave adagio" r16 [es d. es32] f4 r16 [f16 f. g32] |
+	[as8. as16] [as16 g32 f g16. d32] es4 r16 [g g. as32] |
+%3
+	bes4 r16 [bes,16 bes. c32] [des8. des16] 
+	\type Staff < 
+		{ \stemup e4 }
+		{ \stemup \property Voice.hshift = 1 [des16 c32 bes c16. g32] }
+	>
+%4
+	f4 \stemboth r16 [f g. as32] \stemup d,4 r16 [d g. es32] |
+	c4 ~ [c32 es des c des16. f32] [b,16. c32 b16. c32] d4 ~ |
+	d2 ~ [d16. g,32 a16. b32] [c16. <b32 g> <c16. a> <d32 b]> |
+	<[es8. c> <es16 c]>
+	\type Staff <
+		{ \stemup fis4 }
+		{ \stemup \property Voice.hshift = 1 [es16 d32 c d16. a32] }
+	> g2
+}
+
+hoyreNed = \melodic\relative c'' {
+	\clef violin;
+	\stemdown
+	<c4 g> r16 [c b. c32] d4 r16 [d d. es32] |
+	[f8. f16] f8 r <c4 g> r16 [es16 es. f32] |
+	<c4 g' > r16 [g16 g16. as32] [bes8. bes16] bes8 r |
+	<c4 as> r16 s16*3 r16 [f, f. g32] g4 |
+%5
+	r16 [es es. f32] f4 [g16. a32 g16. a32] b4 ~ |
+	[b8. d,16] [f8. as16] [g16. f32 es16. d32] [es16. d32 es16. f32] |
+	g4 <c8 a> r <d2 b>
+}
+
+venstreOpp = \melodic\relative c' {
+	\clef bass;
+	\stemup
+	<c4 g es> r <b as f d> r |
+	r <b f d> <c g es> r |
+	<c g e> r r <c g> |
+	<c as f> r r16 <[as d,><as. d,><g32 d]> <g4 d> |
+%5
+	r16 <[g c,><g. c,><f32 c]> 
+	\type Staff <
+		{\stemup f4~ f}
+		{\stemup c4 d}
+	> r16 [f f. g32] |
+%6
+	[as8. as16]~ [as g32 f g16 d] <es4 c> r |
+	r <a es c> <g2 d>
+}
+
+venstreNed = \melodic\relative c{
+	\stemdown
+	c4 r c r | r c c r | c r r c | c r r16 [c c. bes32] bes4 |
+	r16 [bes bes. as32] as4_"tr" g r16 [d' d. es32] |
+	\type Staff <
+		{ \stemdown \property Voice.hshift = 1 [f8. f16] [b,8. b16] g4 r | }
+		{ \stemdown s4 g}
+	>
+	r g g2	
+}
+
+andanteEn = \melodic\relative c''{
+	[g16^"andante" c32 d es8~] [es16 d32 c es d c b] [c16 g as f] [g c g f] |
+	[es16 c'32 d es d c16] [g' c, as' c,] [b c d b] g16 r16 r8 |
+%10
+	\stemup [g'32 f es d c16 bes~] [bes des8 c16] 
+	[as'32 g f e f8~] [f32 g as g f es d es] |
+	[f es d c bes16 as~] [as c8 bes16] 
+	[g'32 f es d es8~] [es32 f g f es d c b]
+%12
+	\stemboth
+	[c bes as g f16 es'~] [es d32 c es d c b]
+	[c d es f g16 c,~] [c b32 c d c b c] |
+	[as'32 g f e f16 des~] [des c32 des es des c des]
+	[g f es d es16 c~] [c b32 c d c b c]
+%14
+	[f c b a b16 d] [f32 bes, as g as16 c] 
+	[f32 as, g f g8~] [g32 f' g as g16 f] |
+	[g16 b,8 c16~] [c16 bes32 as g f es d] [es g f es f es d es] [d8 c] |
+%16
+	r8 g'~ [g32 as g f g16 as] [bes16 d es8~] [es32 bes es f g16 es] |
+	[des16 c f8~] [f32 c f g as16 f] [es c d8~] [d32 f g as bes as g as] |
+%18
+	[bes32 as g16~] [g32 f e16~] [e32 d c16~] [c32 g' as bes] 
+	[as g f16~] [f32 es des16~] [des32 c bes16] [bes32 f' g as] |
+%19
+	[g f e f bes f e f] [as f e f g f e f] f4~ [f32 es d es f d es f] |
+	[bes,32 d f g as8~] [as32 g f as g f es d] 
+	[es bes es f g8~] [g32 f es g f es d c] |
+%21
+	[c'32( a g )fis es16 d~] [d32 g a bes cis,16 d] ~
+	[d32 fis g a c, es d c] [fis d e fis g a bes c] |
+%22
+	[bes32 a g fis ~ fis16 g~] [g d8 es16~] 
+	[es16 b8 c16~] [c32 bes as g as16 c]
+%23
+	[fis,32 es' d c bes'16. a32] [g8( )fis16.-\prall g32] g4~ 
+	[g32 f g as g f es d ] |
+	[f32 es d c g'8~] [g32 es f g f es d c] [es d c bes g'8~] 
+	[g32 d es f es d c bes] |
+%25
+	[d c bes a g'8~] [g32 c, d es d c bes a] [c bes a g g'8~] 
+	[g32 bes, c d c bes a g] |
+	as4~ [as32 as g as bes as g as] es'4~ [es32 c b c d c b c] |
+	[fis16 es8 d16] [g16 d8 c16] [a'16 c,8 bes16~] [bes32 d c bes g' bes, a g]
+%28
+	[bes'8-\fermata~ bes32 a g fis] [g bes a g fis e d c] [bes d c es d g fis e]
+	[d c bes a bes d bes g] |
+	r16 [e'32 fis fis16.-\prall \[2/3 e64 fis g\]1/1 ] 
+	\type Staff <
+	 	{	\stemup  
+			[bes,32 a g fis g32 bes16.~] [bes16 c32 bes a bes c a] [fis8. g16] }
+		{	\stemdown s8 g8 ~ g4 d}
+   >
+}
+
+andanteTo = \melodic\relative c{
+%8
+	[c8 c'] [f, g] [es c] [es g] |
+	[c as] [es f] [g g,]
+	\stemdown \translator Staff = treble r16 [f''16 es d] |
+%10
+	[es8 g] [e c] [f as] [f c] | 
+	[d f] [d bes] [es g] [es c] |
+	\stemboth \translator Staff = bass [as c] [f as,] [g c] [es g,] | 
+	[f as] [g f] [es g] [f es] |
+%14
+	[d f] [as c,] [b d] [g d] | 
+	[es as,] [f g] c,4~ [c16 d32 es f g a b] |
+	[c8 c'] [bes as] [g bes] [g es] |
+	[as c] [as f] [bes as] [g f] |
+	[e g] [c e,] [f as] [f des] |
+	[bes g] [c c,] [f16 g32 as bes c d e] [f8 es] |
+	[d f] [d bes] [g' bes] [es, g] |
+	[a, fis'] [g g,] [d' a'] [c d,] |
+%22
+	[g a] [bes b] [c d] [es c] |
+	[a g] [d' d,] [g a] [b g] |
+	[c es] [c a] [bes d] [bes g] |
+	[a c] [a fis] [g bes] [g es] |
+%26
+	[c16 d32 es f g as bes] [c16 c, c'8~] [c32 c, d es f g as bes][c16 c, c'8~]|
+	[c c,] [bes bes'] [fis d] [g es] |
+	\type Staff <
+		{ 	\stemup <g4 e> r <d'2 bes g> |
+			cis4~ [cis8. cis16] [d8 c16 bes] 
+			\type Staff <	
+				{ \stemup [a bes c8] }
+				{ \stemdown a4 } >
+		| }
+		{ 	\slurdown \stemdown cis,4 r d2( | )d1 \slurboth }
+	>
+}
+
+allegroEn = \melodic\relative c''{
+%30
+	[g8^"allegro" g16 a] [b8 c d es] |
+	[f16 es d es] [f8 g as d,] |
+	[f b, d g,] [g'16 f es d] |
+	es8 c'4 [bes16 as] [g f es d] |
+	c4~ [c16 d e f] [g as bes g] |
+	[e8 des'~] [des16 g, as bes] [as g f e] |
+	[f g as8~] [as16 g f es] [d c d f] |
+%37
+	[es f g8~] [g16 f es d] [c b c es] |
+	[d as' d, c] [d es f g] [ f es d c] |
+	[b g' f es] [d f d c] [b d b a] |
+	[g a b c] [d c b c] [d es f d] |
+	[b c d es] [f as g f] [es d c b] |
+	[c d es c] [a8 c] [f, es'] |
+%43
+	[bes16 c d bes] [g8 bes] [es, d'] |
+	[a16 bes c a] [fis8 a] [d, c'] |
+	[g16 a bes g] [es g d g] [cis, bes' a g] |
+	[fis e d e] [fis8 g a bes] |
+	[c16 bes a bes] [c8 d] [es a,] |
+	[c fis,] [a d,] [d'16 c bes a]
+%49
+	[bes a g a] [bes8 c d es] | 
+	[f16 es d c] [bes f' c bes] [as f' bes, as] |
+	[g16 f es f] [g8 a b c] | 
+	[d16 c b a] [g d' as g] [f d' g, f] |
+	[es c' g f] [es f g as] [g c g f] | 
+	[es c' g f] [es f g as] [g c g f]
+%55
+	[e bes' g f] [e f g as] [g bes g f] | 
+	[e bes' g f] [e g bes des] [c bes as g]|
+	[as f' c bes] \stemup [as bes c des] [ c f c bes] | 
+	[as f' c bes] \stemboth [as bes c des] [c f c bes] |
+	[a es' c bes] \stemup [a bes c des] [c es c bes] |
+	[a es' c bes] \stemboth [a c es ges] [f es des c] |
+%61
+	[des8 bes c des es des] | 
+	[c as bes c des c] [bes as bes g as bes] |
+	[e,16 d c d] [e8 f g as] | 
+	[bes16 as g as] [bes8 c] [des g,] |
+	[bes e,] [g c,] [c'16 bes as g]
+%67
+	[as g f8~] [f16 as g f] [es d c bes] | 
+	[g' f es8~] [es16 g f es] [d c b c] |
+	[f es d8~] [d16 f es d] [c b a g] | 
+	[es' f g8~] [g f16 es] [d a' b c] |
+	[d c b c] [d g f es] [d c b a] | 
+	g4~ [g16 a b c] [d es f d]
+%73
+	[b8 as'~] [as16 d, es f] [es d c b] | 
+	c4~ [c16 g' des c] [bes es bes as] |
+	[g as bes c] [des8 bes] g'4~ | 
+	[g8 c,16 bes] [as f' bes, as] [g des' g, f] |
+	[e f g as] [bes8 g] [e'.-\prallprall d32 e] |
+%78
+	[f8 f,16 g] [as8 bes c d] | 
+	[es16 d c d] [es8 f g as] |
+	[b,16 g' d c] \stemup [b c d es] [d g d c] | 
+	[b g' d c] [b c d es] [d g d c] |
+	[b f' d c] [b c d es] [d f d c] | 
+	[b f' d c] [b d f as] [g f es d] |
+%84
+	[es f g es] [c g' f es] [d c bes as] | 
+	\stemboth [g as bes8~] [bes16 c bes as] [g f e d] | 
+	[c g' c, bes] [c d e f] [es g c, bes] |
+	[c g' f e] [f c f g] [as bes c d] | [es d c d] [es8 f16 g] [as8 des,] |
+	[f b,] [d g,] [g'16 f es d] | 
+	\type Staff <
+		{ \stemup [es8. c16] c4 ~ [b8.-\prall c16] | c2-\fermata }
+		{ \stemdown r8 r16 <a16 es> <g2 d> | <g es> }
+	>
+}
+allegroTo = \melodic\relative c'{
+	\clef bass;
+%30
+	\type Staff <
+		{ \stemup <b8 g> r r4 r }
+		{ \stemdown g,8 r8 r4 r }
+	>
+	r2. | r2. | 	
+	\clef treble; r8 [c16 d] [es8 f] [g as] |
+	[bes16 as g as][bes8 c] [des g,]  
+	[bes e,][g c,][c'16 bes as g] | [as8 f g as][bes as] | 
+	[g es f g as g] | [f es f d es f] | [g g,16 a] [b8 c] [d es] |
+	[f16 es d es][f8 g][as d,] |
+	[f b,][d g,][g'16 f es d] | \clef bass;
+	[es d c8~][c16 es d c][bes a g f] |
+%43
+	[d' c bes8~][bes16 d c bes][a g fis g] |
+	[c bes a8~][a16 c bes a][g fis e d] | [bes'8 d][g, bes][e, cis'] |
+	[d8 d,~][d c16 bes][a g fis e] | d4~ [d16 e fis g][a bes c a]
+%48
+	[fis8 es'~][es16 a, bes c][bes a g fis] |
+	g4 r16 [g' as bes][as g f es] | [d8 f][d bes][c d] |
+	[es es,] r16 [es' f g][f es d c] | [b8 d][b g][a b] |
+	[c c,] r16 [d''16 es f][es8 d] | [c c,] r16 [as' bes c][bes8 as] |
+	[g c,] r16 [d' e f][e8 d] | [c c,] r16 [d e f][e8 c]
+%57
+	[f f,] \stemdown \translator Staff = treble r16 [g'' as bes][as8 g] |
+	[f  \stemboth \translator Staff = bass f,] r16 [des'16 es f][es8 des] |
+	[c f,] \stemdown \translator Staff = treble r16 [g' a bes][a8 g] | 
+	[f \stemdown \translator Staff = bass f,] \stemboth r16 [g a bes][a8 f] |
+	[bes16 c des8~][des16 c bes as][g f g bes] |
+%62
+	[as bes c8~][c16 bes as g][f e f as] | 
+	[g des' g, f][g as bes c][bes as g f] | 
+	[c'8 bes16 as][g c bes as][g f e d] |
+	c4~ [c16 d e f][g as bes g] | 
+	[e8 des'~][des16 g, as bes][as g f e] |
+%67
+	[f g as f][d8 f][bes, as'] | 
+	[es16 f g es][c8 es][as, g'] |
+	[d16 es f d][b8 d][g, f'] | 
+	[c16 d es c][as c g c][fis, es' d c] |
+	[b a g a][b8 c d es] | 
+	[f16 es d es][f8 g as d,] |
+%73
+	[f b,][d g,][g'16 f es d] | 
+	[es d c d][es8 f g as] |
+	[bes16 as g f][es bes' f es][des bes' es, des] |
+	[c bes as bes][c8 d e f] | 
+	[g16 f e d][c g' des c][bes g' c, bes] |
+	[as f' as, g][f c' des g,][a es' f b,]
+%79
+	[c f es d][c g' as d,][es b' c f,] | 
+	[g8 g,] \stemdown \translator Staff = treble r16 [a'' b c][b8 a] |
+	[g \translator Staff = bass g,] \translator Staff = treble
+		r16 [es' f g][f8 es] | 
+	[d \stemboth \translator Staff = bass g,] r16 [a b c][b8 a] |
+	[g8 g,] \stemdown \translator Staff = treble r8 [g''16 f][es d c b] |
+	[c8 \stemboth \translator Staff = bass c,16 d][es8 f g as] | 
+	[bes16 as g as][bes8 c des g,] |
+%86
+	[bes e,][g c,][c'16 bes as g] | as4~ [as16 bes as g][f g as f] |
+	[g f es d][c bes as g][f f' e f] | [as f e f][b, f' es d][es g c, es] |
+	[fis,8. fis'16] g4 g, | c,2-\fermata
+}
+
+\score {
+     \type GrandStaff < 
+      \type Staff = treble < 
+        \global 
+        { \hoyreOpp \andanteEn \allegroEn }
+        \hoyreNed
+      >
+      \type Staff = bass <
+        \global
+        { \venstreOpp \andanteTo \allegroTo }
+	\venstreNed
+      >
+    >
+  \paper {}
+}
+
+% EOF
+
+
+
diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly
index b794f9367e..cdfbc5c30e 100644
--- a/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly
+++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly
@@ -14,7 +14,7 @@ enteredby =	 "jcn";
 copyright =	 "public domain";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 one = \melodic\relative c {
 	\property Voice . textstyle =  "italic"
diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly
index 22dc7c74bf..f2b5e97956 100644
--- a/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly
+++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly
@@ -14,7 +14,7 @@ enteredby =	 "jcn";
 copyright =	 "public domain";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 one = \melodic\relative c{
 	\property Voice . textstyle =  "italic"
 	r8\mf [c'-1( e-2 g-4] [e-2 c-1 bes'-5 g-3] |
diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly
index 754ee16d34..ac4eb265a6 100644
--- a/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly
+++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly
@@ -12,7 +12,7 @@ composer =	 "Johann Sebastian Bach (1685-1750)";
 enteredby =	 "jcn";
 copyright =	 "public domain";
 }
-\version "1.0.1";
+\version "1.0.2";
 
 one = \melodic\relative c{
 	\property Voice . textstyle =  "italic"
diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly
index 9ba965c560..a259ee6f19 100644
--- a/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly
+++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly
@@ -12,7 +12,7 @@ composer =	 "Johann Sebastian Bach (1685-1750)";
 enteredby =	 "jcn";
 copyright =	 "public domain";
 }
-\version "1.0.1";
+\version "1.0.2";
 
 
 one = \melodic\relative c{
diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly
index 0bdcd15b06..708000efaf 100644
--- a/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly
+++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly
@@ -12,7 +12,7 @@ composer =	 "Johann Sebastian Bach (1685-1750)";
 enteredby =	 "jcn";
 copyright =	 "public domain";
 }
-\version "1.0.1";
+\version "1.0.2";
 
 
 one = \melodic\relative c{
diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly
index 97e59feb9d..5b3564a934 100644
--- a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly
+++ b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly
@@ -15,7 +15,7 @@ copyright =	 "public domain";
  dotted slurs
 %}
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "allemande-urtext.ly";
 
diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-viola.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-viola.ly
index 450639b718..3c072bb4b1 100644
--- a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-viola.ly
+++ b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-viola.ly
@@ -15,7 +15,7 @@ copyright =	 "public domain";
  dotted slurs
 %}
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "allemande-urtext.ly";
 
diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/courante-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/courante-cello.ly
index 1784fae420..a5125efd67 100644
--- a/mutopia/J.S.Bach/Solo-Cello-Suites/courante-cello.ly
+++ b/mutopia/J.S.Bach/Solo-Cello-Suites/courante-cello.ly
@@ -15,7 +15,7 @@ copyright =	 "public domain";
  dotted slurs
 %}
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "courante-urtext.ly";
 
diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/courante-viola.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/courante-viola.ly
index 2178cbf982..b0df15d92d 100644
--- a/mutopia/J.S.Bach/Solo-Cello-Suites/courante-viola.ly
+++ b/mutopia/J.S.Bach/Solo-Cello-Suites/courante-viola.ly
@@ -15,7 +15,7 @@ copyright =	 "public domain";
  dotted slurs
 %}
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "courante-urtext.ly";
 
diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-cello.ly
index 9283675475..4e848b5551 100644
--- a/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-cello.ly
+++ b/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-cello.ly
@@ -15,7 +15,7 @@ copyright =	 "public domain";
  dotted slurs
 %}
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "gigue-urtext.ly";
 
diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-viola.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-viola.ly
index d49bd990f8..043b189000 100644
--- a/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-viola.ly
+++ b/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-viola.ly
@@ -15,7 +15,7 @@ copyright =	 "public domain";
  dotted slurs
 %}
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "gigue-urtext.ly";
 
diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-cello.ly
index f8b4a17965..c3e8b8471d 100644
--- a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-cello.ly
+++ b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-cello.ly
@@ -16,7 +16,7 @@ copyright =	 "public domain";
  dotted slurs
 %}
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "menuetto-urtext.ly";
 
diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-viola.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-viola.ly
index 0cd664fb61..6250ba4690 100644
--- a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-viola.ly
+++ b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-viola.ly
@@ -17,7 +17,7 @@ copyright =	 "public domain";
  dotted slurs
 %}
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "menuetto-urtext.ly";
 
diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly
index 994d74cad5..47a7da3e52 100644
--- a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly
+++ b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly
@@ -15,7 +15,7 @@ copyright =	 "public domain";
  dotted slurs
 %}
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "prelude-urtext.ly";
 
diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly
index b70782a1ae..67e342d027 100644
--- a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly
+++ b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly
@@ -15,7 +15,7 @@ copyright =	 "public domain";
  dotted slurs
 %}
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "prelude-urtext.ly";
 
diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-cello.ly
index 32a1443ed8..f4ba6eaa5f 100644
--- a/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-cello.ly
+++ b/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-cello.ly
@@ -15,7 +15,7 @@ copyright =	 "public domain";
  dotted slurs
 %}
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "sarabande-urtext.ly";
 
diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-viola.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-viola.ly
index 051611fae9..cfb4b8e5a8 100644
--- a/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-viola.ly
+++ b/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-viola.ly
@@ -15,7 +15,7 @@ copyright =	 "public domain";
  dotted slurs
 %}
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "sarabande-urtext.ly";
 
diff --git a/mutopia/J.S.Bach/wtk1-fugue1.ly b/mutopia/J.S.Bach/wtk1-fugue1.ly
index 3ca2d85690..614311e8bc 100644
--- a/mutopia/J.S.Bach/wtk1-fugue1.ly
+++ b/mutopia/J.S.Bach/wtk1-fugue1.ly
@@ -11,7 +11,7 @@ copyright =	 "Public Domain";
 %{
 	
 %}
-\version "1.0.1";
+\version "1.0.2";
 
 
 global = 
diff --git a/mutopia/J.S.Bach/wtk1-fugue2.ly b/mutopia/J.S.Bach/wtk1-fugue2.ly
index 550835215b..49b0dab5b7 100644
--- a/mutopia/J.S.Bach/wtk1-fugue2.ly
+++ b/mutopia/J.S.Bach/wtk1-fugue2.ly
@@ -13,7 +13,7 @@
  Tested Features: stem direction, multivoice, forced accidentals.
 %}
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "nederlands.ly"                 % for correct parsing of note names
 
diff --git a/mutopia/J.S.Bach/wtk1-prelude1.ly b/mutopia/J.S.Bach/wtk1-prelude1.ly
index 584dfd295b..de0bfa0fae 100644
--- a/mutopia/J.S.Bach/wtk1-prelude1.ly
+++ b/mutopia/J.S.Bach/wtk1-prelude1.ly
@@ -8,7 +8,7 @@ enteredby =	 "Shay Rojansky";
 copyright =	 "Public Domain";
 }
 
-\version "1.0.1";
+\version "1.0.2";
 
 global = 
     \melodic {
diff --git a/mutopia/W.A.Mozart/cadenza.ly b/mutopia/W.A.Mozart/cadenza.ly
index e45f5fd9e7..1aa9c48de2 100644
--- a/mutopia/W.A.Mozart/cadenza.ly
+++ b/mutopia/W.A.Mozart/cadenza.ly
@@ -13,7 +13,7 @@ Tested Features: cadenza mode
 Ugh.. Wish we had grace notes....  It adds another dimension to this
 piece of music.  %}
 
-\version "1.0.1";
+\version "1.0.2";
 
 
 cad = \melodic  \relative c' {
diff --git a/mutopia/W.A.Mozart/horn-concerto-3.ly b/mutopia/W.A.Mozart/horn-concerto-3.ly
index 82fd269cb2..b8069a47d4 100644
--- a/mutopia/W.A.Mozart/horn-concerto-3.ly
+++ b/mutopia/W.A.Mozart/horn-concerto-3.ly
@@ -9,7 +9,7 @@ copyright =	 "public domain";
 }
 
 
-\version "1.0.1";
+\version "1.0.2";
 
 allegro =
 	\melodic
diff --git a/mutopia/gallina.ly b/mutopia/gallina.ly
index 63f1899b81..b3db2ae149 100644
--- a/mutopia/gallina.ly
+++ b/mutopia/gallina.ly
@@ -2,12 +2,12 @@
 title =	 "La Gallina à 2 violini";
 date =	 "1637";
 source =	 "the manuscript of Canzoni overo Sonate Concertate "
-	 "libro terzo, opera duodecima ";
+	+ "libro terzo, opera duodecima ";
 composer =	 "Tarquinio Merula (1594/95-1665)";
 enteredby =	 "Mats Bengtsson";
 copyright =	 "Public Domain ";
 subtitle = "from Canzoni overo Sonate Concertate libro terzo, "
-	"opera duodecima 1637";
+	+ "opera duodecima 1637";
 }
 
 
@@ -45,7 +45,7 @@ Voice engraver by uncommenting the lines in the paper
 definition below. --MB
 %} 
 
-\version "1.0.1";
+\version "1.0.2";
 
 vi1=\melodic \relative c'' {
   \time 4/4;
@@ -232,25 +232,27 @@ bc=\melodic\transpose c'{
     \bc
   >
   \paper{
-    %linewidth=18.\cm;
-     %\output "gallina.out";
     gourlay_maxmeasures=7.;
-%%%% Uncomment to get the original layout without beams.
+
+%{
+%% Uncomment to get the original layout without beams.
 %%%% Compare to the definition in init/engraver.ly.
-%    Voice = \translator {
-%       \type "Engraver_group_engraver";
-%       \consists "Dynamic_engraver";
-%       \consists "Rest_engraver";
-%       \consists "Stem_engraver";
-%       \consists "Plet_engraver";
-% %     \consists "Beam_engraver";
-%       \consists "Beam_req_swallow_translator";
-%       \consists "Abbreviation_beam_engraver";
-%       \consists "Script_engraver";
-%       \consists "Rhythmic_column_engraver";
-%       \consists "Slur_engraver";
-%       \accepts "Thread";
-%    }
+    Voice = \translator {
+       \type "Engraver_group_engraver";
+       \consists "Dynamic_engraver";
+       \consists "Rest_engraver";
+       \consists "Stem_engraver";
+       \consists "Plet_engraver";
+ %     \consists "Beam_engraver";
+       \consists "Beam_req_swallow_translator";
+       \consists "Abbreviation_beam_engraver";
+       \consists "Script_engraver";
+       \consists "Rhythmic_column_engraver";
+       \consists "Slur_engraver";
+       \accepts "Thread";
+    }
+%}
+    
   }
   \midi{ 
         \tempo 4=80;
diff --git a/mutopia/los-toros-oboe.ly b/mutopia/los-toros-oboe.ly
index bc9c0882f5..2381e61ca2 100644
--- a/mutopia/los-toros-oboe.ly
+++ b/mutopia/los-toros-oboe.ly
@@ -8,7 +8,7 @@ enteredby =	 "jcn";
 copyright =	 "public domain";
 latexheaders=    "headers";
 } 
-\version "1.0.1";
+\version "1.0.2";
 
 %{
 Silly latex file dropped; use ly2dvi
diff --git a/mutopia/standchen-16.ly b/mutopia/standchen-16.ly
index 88671e093b..36799f37f3 100644
--- a/mutopia/standchen-16.ly
+++ b/mutopia/standchen-16.ly
@@ -2,13 +2,13 @@
 filename =	 "standchen.ly";
 title =	 "St\"andchen (Serenade) \"Leise flehen meine Lieder\"";
 opus =	 "D. 957 No. 4";
-composer =	 "Franz Schubert (1797-1828)"
-	 "Text by Ludwig Rellstab (1799-1860)";
+composer =	 "Franz Schubert (1797-1828)";
+poet= "Text by Ludwig Rellstab (1799-1860)";
 enteredby =	 "JCN";
 description = "A schubert song in 16 pt";
 copyright =	 "public domain";
 } 
 
-\version "1.0.1";
+\version "1.0.2";
 
 \include "standchen.ly"
diff --git a/mutopia/standchen-20.ly b/mutopia/standchen-20.ly
index 364b13c08a..fa1f7219b0 100644
--- a/mutopia/standchen-20.ly
+++ b/mutopia/standchen-20.ly
@@ -9,7 +9,7 @@ copyright =	 "public domain";
 description = "A schubert song in 20 pt";
 } 
 
-\version "1.0.1";
+\version "1.0.2";
 
 % fool make-website
 % \include "standchen.ly";
diff --git a/mutopia/standchen.ly b/mutopia/standchen.ly
index 1a6f8f5b8c..3ceec46169 100644
--- a/mutopia/standchen.ly
+++ b/mutopia/standchen.ly
@@ -16,7 +16,7 @@ multiple \paper{}s in one \score
 Note: Original key F.
 %}
 
-\version "1.0.1";
+\version "1.0.2";
 
 $vocal_verse1 = \melodic\relative c{
 	% ugh: treble/bass
diff --git a/scripts/convert-mudela.py b/scripts/convert-mudela.py
index 0ce2191032..f0792639b2 100644
--- a/scripts/convert-mudela.py
+++ b/scripts/convert-mudela.py
@@ -168,6 +168,18 @@ if 1:					# need new a namespace
 		((1,0,1), conv, '\\accidentals -> \\keysignature, ' +
 		 'specialaccidentals -> keyoctaviation\n'))
 
+if 1:
+	def conv(lines):
+		found = 0
+		for x in lines:
+			if regex.search ('\\\\header', x) <> -1:
+				found = 1
+				break
+		if found:
+			sys.stderr.write ('\nNot smart enough to convert to new \\header format\n')
+		return lines
+	
+	conversions.append ((1,0,2), conv, '\header { key = concat + with + operator }\n')
 
 ############################
 
diff --git a/scripts/mudela-book.py b/scripts/mudela-book.py
index 6540542663..911539b716 100644
--- a/scripts/mudela-book.py
+++ b/scripts/mudela-book.py
@@ -263,8 +263,12 @@ for opt in options:
 		do_deps = 1
 
 def write_deps (fn, out,  deps):
-	f = open (outdir + fn, 'w')
-	f.write ('%s: %s\n'% (outdir + out + '.dvi', reduce (lambda x,y: x + ' '+ y, deps)))
+	out_fn = outdir + '/' + fn
+	print '\`writing \`%s\'\n\'' % out_fn
+	
+	f = open (out_fn, 'w')
+	f.write ('%s: %s\n'% (outdir + '/' + out + '.dvi',
+			      reduce (lambda x,y: x + ' '+ y, deps)))
 	f.close ()
 
 
diff --git a/stepmake/Documentation/topdocs/AUTHORS.yo b/stepmake/Documentation/topdocs/AUTHORS.yo
index b8d45e1ae8..8d4b9bf7be 100644
--- a/stepmake/Documentation/topdocs/AUTHORS.yo
+++ b/stepmake/Documentation/topdocs/AUTHORS.yo
@@ -4,23 +4,19 @@ AUTHORS - who did what on StepMake?
 
 nsect(DESCRIPTION)
 
-This file lists authors of StepMake, and what they wrote.
+This file lists authors of StepMake, and what they did.
 
 nsect(AUTHORS)
 itemize(
-it()nemail(Jan Nieuwenhuizen)(janneke@gnu.org),
-    lurl(http://www.xs4all.nl/~jantien)
-    nl()
-    Main author.
 it()nemail(Han-Wen Nienhuys)(hanwen@cs.uu.nl), 
     lurl(http://www.cs.uu.nl/people/hanwen)
     nl()
     Main author.
-)
-
-nsect(CONTRIBUTORS)
 
-itemize(
+it()nemail(Jan Nieuwenhuizen)(janneke@gnu.org),
+    lurl(http://www.xs4all.nl/~jantien)
+    nl()
+    Main author.
 it()nemail(Jeffrey B. Reed)(daboys@bga.com),
     Windows-nt fixes.
 )
diff --git a/tex/fetdefs.tex b/tex/fetdefs.tex
index d00e359195..1f1f6d9b74 100644
--- a/tex/fetdefs.tex
+++ b/tex/fetdefs.tex
@@ -52,7 +52,7 @@
   \font\bracefonteleven = feta-braces16
   \font\fingerfonteleven = feta-nummer3
   \font\markfonttwentysix = feta-nummer7
-\def\currentsize{eleven}
+  \def\currentsize{eleven}
 }
 
 \def\sixteenfonts{\fetsixteendefs\cmrsixteen}
@@ -61,7 +61,6 @@
 \def\elevenfonts{\fetelevendefs\cmreleven}
 \def\thirteenfonts{\fetthirteendefs\cmrthirteen}
 
-
 \def\bracefont{\csname bracefont\currentsize\endcsname}
 \def\fetanummer{\csname fetanummer\currentsize\endcsname}
 \def\dynfont{\csname dynfont\currentsize\endcsname}
diff --git a/tex/lily-debug.tex b/tex/lily-debug.tex
new file mode 100644
index 0000000000..295e44f061
--- /dev/null
+++ b/tex/lily-debug.tex
@@ -0,0 +1,26 @@
+
+% debugging stuff
+\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%
+}}
+
+
-- 
2.39.5