From 3bdc23009ca06852741a78a67bc6eaf56816215a Mon Sep 17 00:00:00 2001
From: fred <fred>
Date: Tue, 26 Mar 2002 21:46:03 +0000
Subject: [PATCH] lilypond-1.1.21

---
 Documentation/tex/GNUmakefile                 |   2 +-
 TODO                                          |  13 +-
 input/test/beam-interstaff.ly                 |   4 +-
 input/test/slur-interstaff.ly                 |  33 ++
 lily/beam.cc                                  |   2 +
 lily/bow.cc                                   |   4 +
 lily/encompass-info.cc                        |  42 +-
 lily/include/beam.hh                          |   2 +-
 lily/include/bow.hh                           |   2 +
 lily/include/direction.hh                     |   2 +
 lily/include/slur.hh                          |   7 +-
 lily/include/stem.hh                          |   3 +
 lily/slur-engraver.cc                         |   9 +
 lily/slur.cc                                  |   3 +-
 lily/stem-info.cc                             |  24 +-
 mutopia/GNUmakefile                           |   2 +-
 .../J.S.Bach/Petites-Preludes/preludes-1.ly   |  74 +++-
 mutopia/L.Mozart/GNUmakefile                  |  10 +
 mutopia/L.Mozart/sinfonia.ly                  | 373 ++++++++++++++++++
 19 files changed, 567 insertions(+), 44 deletions(-)
 create mode 100644 input/test/slur-interstaff.ly
 create mode 100644 mutopia/L.Mozart/GNUmakefile
 create mode 100644 mutopia/L.Mozart/sinfonia.ly

diff --git a/Documentation/tex/GNUmakefile b/Documentation/tex/GNUmakefile
index 6102deb049..4d5c1ecc18 100644
--- a/Documentation/tex/GNUmakefile
+++ b/Documentation/tex/GNUmakefile
@@ -16,7 +16,7 @@ OUTTEX_FILES = $(addprefix $(outdir)/, $(TEX_FILES))
 OUTDOC_FILES = $(addprefix $(outdir)/, $(DOC_FILES))
 EL_FILES = $(wildcard *.el)
 BIB_FILES= $(wildcard *.bib)
-EXTRA_DIST_FILES= $(BIB_FILES) $(DOC_FILES) $(DATA_FILES) $(EL_FILES) $(YO_URG_FILES) $(TEX_FILES)
+EXTRA_DIST_FILES= $(BIB_FILES) $(DOC_FILES) $(DATA_FILES) $(EL_FILES) $(YO_URG_FILES) $(TEX_FILES) $(wildcard *.sty)
 HTML_FILES = $(addprefix $(outdir)/, $(YO_FILES:.yo=.html))
 PS_FILES = $(DVI_FILES:.dvi=.ps)
 
diff --git a/TODO b/TODO
index f01020231f..7daa95514f 100644
--- a/TODO
+++ b/TODO
@@ -7,6 +7,9 @@ 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
 
+
+	* decimal point in \paper {}
+
 	> I have changed Mark_engraver to use the G_... classes.
 	> My implementation has the following shortcomings at the
 	> moment.
@@ -47,10 +50,16 @@ BUGS:
 
 	* fix:  cello suites
 
+	* fix:  petites preludes (rediculous dims)
+
 	* fix extender
 
+	* fix fingering 'a-5': font direction broken *again*
+
 	* fix braces
 
+	* multibar rests: SkipBars=0
+
 	* ly2dvi barfs on linewidth = -1.
 
 	* fix midi output.
@@ -585,10 +594,6 @@ SMALLISH PROJECTS
 
 	* handle EOF graciously in error messages.
 
-	* really centered whole rest
-
-	* centered multi-bar-rest
-
 	* declare notenametab?
 
 	* midi esp.: use I32 iso int where 32 bits are needed (or assumed...)
diff --git a/input/test/beam-interstaff.ly b/input/test/beam-interstaff.ly
index 65e0a5d2c2..d09e796c21 100644
--- a/input/test/beam-interstaff.ly
+++ b/input/test/beam-interstaff.ly
@@ -23,8 +23,8 @@
 	\paper{
 		\translator{
 			\GrandStaffContext
-			minVerticalAlign = 2.5*\staffheight;
-			maxVerticalAlign = 2.5*\staffheight;
+			minVerticalAlign = 3.0*\staffheight;
+			maxVerticalAlign = 3.0*\staffheight;
 		}
 		linewidth=-1.;
 	}
diff --git a/input/test/slur-interstaff.ly b/input/test/slur-interstaff.ly
new file mode 100644
index 0000000000..2d6ccbf281
--- /dev/null
+++ b/input/test/slur-interstaff.ly
@@ -0,0 +1,33 @@
+\score{
+	\type GrandStaff <
+	\type Staff=one \notes\relative c'{
+		\stemup c8( c \translator Staff=two \stemup c )c
+		r2
+		\translator Staff=one
+		\stemdown c8( c \translator Staff=two \stemup c )c
+		r2
+		\stemdown c8( c \translator Staff=one \stemdown c )c
+		r2
+		\translator Staff=two
+		\stemup c8( c \translator Staff=one \stemdown c )c
+		r2
+	}
+	\type Staff=two \notes\relative c'{
+		\clef bass;
+		s1
+		s1
+		s1
+		s1
+	}
+	>
+	\paper{
+		% no slur damping
+		slur_slope_damping = 10.0;
+		\translator{
+			\GrandStaffContext
+			minVerticalAlign = 3.0*\staffheight;
+			maxVerticalAlign = 3.0*\staffheight;
+		}
+		linewidth=-1.;
+	}
+}
diff --git a/lily/beam.cc b/lily/beam.cc
index af118cb5dd..90476e1e9f 100644
--- a/lily/beam.cc
+++ b/lily/beam.cc
@@ -41,6 +41,8 @@ Beam::Beam ()
   damping_i_ = 1;
   quantisation_ = NORMAL;
   multiple_i_ = 0;
+  vertical_align_drul_[MIN] = 0;
+  vertical_align_drul_[MAX] = -1;
 }
 
 void
diff --git a/lily/bow.cc b/lily/bow.cc
index 935eae60b3..66c1bfd562 100644
--- a/lily/bow.cc
+++ b/lily/bow.cc
@@ -22,6 +22,9 @@ Bow::Bow ()
   dy_f_drul_[LEFT] = dy_f_drul_[RIGHT] = 0.0;
   dx_f_drul_[LEFT] = dx_f_drul_[RIGHT] = 0.0;
   dash_i_ = 0;
+  interstaff_f_ = 0;
+  vertical_align_drul_[MIN] = 0;
+  vertical_align_drul_[MAX] = -1;
 }
 
 Molecule*
@@ -54,6 +57,7 @@ Bow::do_brew_molecule_p () const
 
   Molecule* mol_p = new Molecule;
   mol_p->add_atom (a);
+  mol_p->translate_axis (-interstaff_f_, Y_AXIS);
 
   return mol_p;
 }
diff --git a/lily/encompass-info.cc b/lily/encompass-info.cc
index 1a352c49a7..f8854f0292 100644
--- a/lily/encompass-info.cc
+++ b/lily/encompass-info.cc
@@ -12,6 +12,9 @@
 #include "note-column.hh"
 #include "paper-def.hh"
 #include "encompass-info.hh"
+#include "slur.hh"
+#include "staff-sym.hh"
+#include "debug.hh"
 
 Encompass_info::Encompass_info ()
 {
@@ -26,15 +29,15 @@ Encompass_info::Encompass_info (Note_column const* note, Direction dir)
   Real notewidth = paper->note_width () * 0.8;
   Real internote = interline / 2;
 
-  Stem* stem = note->stem_l_;
+  Stem* stem_l_ = note->stem_l_;
   /* 
     set o_.x () to middle of notehead or on the exact position of stem,
     according to slur direction
    */
-  o_.x () = stem->hpos_f ();
+  o_.x () = stem_l_->hpos_f ();
 
   /*
-     stem->dir == dir
+     stem_l_->dir == dir
                       ________
            |   |     /        \
           x|  x|       |x  |x
@@ -42,16 +45,39 @@ Encompass_info::Encompass_info (Note_column const* note, Direction dir)
 
    */
 
-  if (stem->dir_ != dir)
-    o_.x () -= 0.5 * notewidth * stem->dir_;
+  if (stem_l_->dir_ != dir)
+    o_.x () -= 0.5 * notewidth * stem_l_->dir_;
 
-  o_.y () = stem->extent (Y_AXIS)[dir];
+  o_.y () = stem_l_->extent (Y_AXIS)[dir];
   /*
    leave a gap: slur mustn't touch head/stem
    */
   o_.y () += 2.5 * internote * dir;
 
-  if (stem->dir_ != dir)
+  if (stem_l_->dir_ != dir)
     o_.y () += 1.0 * internote * dir;
-}
 
+  Slur* slur_l_ = stem_l_->slur_l_;
+  if (slur_l_->encompass_arr_.size ()
+      && stem_l_->staff_sym_l_ != slur_l_->encompass_arr_[0]->stem_l_->staff_sym_l_)
+    {
+      if (stem_l_->staff_sym_l_->dim_cache_[Y_AXIS].valid_b ())
+	{
+	  slur_l_->interstaff_f_ = stem_l_->staff_sym_l_->absolute_coordinate (Y_AXIS)
+	    - slur_l_->encompass_arr_[0]->stem_l_->staff_sym_l_->absolute_coordinate (Y_AXIS);
+	}
+      else
+	{
+	  warning (_ ("invalid dimension cache: guessing staff position"));
+	  if (slur_l_->vertical_align_drul_[MIN] != 
+	      slur_l_->vertical_align_drul_[MAX])
+	    warning (_ ("minVerticalAlign != maxVerticalAlign: interstaff slurs may be broken"));
+	  slur_l_->interstaff_f_ = slur_l_->vertical_align_drul_[MIN];
+	  // urg, guess staff order:
+	  // if our stem ends higher, our staff is probably lower...
+	  if (stem_l_->chord_start_f () > slur_l_->encompass_arr_[0]->stem_l_->chord_start_f ())
+	    slur_l_->interstaff_f_ *= -1;
+	}
+      o_.y () += slur_l_->interstaff_f_;
+    }
+}
diff --git a/lily/include/beam.hh b/lily/include/beam.hh
index a94b0eba90..1e4bf9d0b9 100644
--- a/lily/include/beam.hh
+++ b/lily/include/beam.hh
@@ -41,7 +41,7 @@ public:
   int multiple_i_;
 
   /// vertical align distance between staffs
-  Real vertical_align_f_;
+  Drul_array<Real> vertical_align_drul_;
 
   Array<Stem_info> sinfo_;
   
diff --git a/lily/include/bow.hh b/lily/include/bow.hh
index e8e8d54dc9..7a59b7fdf4 100644
--- a/lily/include/bow.hh
+++ b/lily/include/bow.hh
@@ -26,6 +26,8 @@ public:
   
 
   int dash_i_;
+  Real interstaff_f_;
+  Drul_array<Real> vertical_align_drul_;
 
 protected:
   virtual Molecule* do_brew_molecule_p () const;
diff --git a/lily/include/direction.hh b/lily/include/direction.hh
index 45f574b83a..ea6adf88c0 100644
--- a/lily/include/direction.hh
+++ b/lily/include/direction.hh
@@ -18,6 +18,8 @@ enum Direction
   DOWN=-1,
   LEFT=-1,
   RIGHT=1,
+  MIN=-1,
+  MAX=1,
   CENTER=0,
   SMALLER=-1,
   BIGGER=1,
diff --git a/lily/include/slur.hh b/lily/include/slur.hh
index 491150c877..30123a335b 100644
--- a/lily/include/slur.hh
+++ b/lily/include/slur.hh
@@ -18,13 +18,12 @@
 class Slur : public Bow
 {
 public:
-  Link_array<Note_column> encompass_arr_;
-  void add_column (Note_column*);
-
   Slur ();
-
   VIRTUAL_COPY_CONS(Score_element);
+
+  void add_column (Note_column*);
   
+  Link_array<Note_column> encompass_arr_;
 
 protected:
   virtual Array<Offset> get_encompass_offset_arr () const;
diff --git a/lily/include/stem.hh b/lily/include/stem.hh
index 81f4617bf9..34e829d634 100644
--- a/lily/include/stem.hh
+++ b/lily/include/stem.hh
@@ -63,6 +63,9 @@ public:
    */
   Beam* beam_l_;
 
+  /// our slur (urg)
+  Slur* slur_l_;
+
   Drul_array<int> beams_i_drul_;
 
   /// maximum number of beams
diff --git a/lily/slur-engraver.cc b/lily/slur-engraver.cc
index e0e4253f86..9a6b20b38c 100644
--- a/lily/slur-engraver.cc
+++ b/lily/slur-engraver.cc
@@ -78,6 +78,15 @@ Slur_engraver::do_process_requests()
 	  Scalar prop = get_property ("slurdash", 0);
 	  if (prop.isnum_b ()) 
 	    s_p->dash_i_ = prop;
+
+	  prop = get_property ("minVerticalAlign", 0);
+	  if (prop.isnum_b ())
+	    s_p->vertical_align_drul_[MIN] = prop;
+
+	  prop = get_property ("maxVerticalAlign", 0);
+	  if (prop.isnum_b ())
+	    s_p->vertical_align_drul_[MAX] = prop;
+
 	  requests_arr_.push (slur_req_l);
 	  start_slur_l_arr_.push (s_p);
 	  announce_element (Score_element_info (s_p, slur_req_l));
diff --git a/lily/slur.cc b/lily/slur.cc
index b88c4b5614..f8a0fc3672 100644
--- a/lily/slur.cc
+++ b/lily/slur.cc
@@ -30,7 +30,6 @@
 #include "main.hh"
 
 
-
 Slur::Slur ()
 {
 }
@@ -41,6 +40,7 @@ Slur::add_column (Note_column*n)
   if (!n->head_l_arr_.size ())
     warning (_ ("Putting slur over rest."));
   encompass_arr_.push (n);
+  n->stem_l_->slur_l_ = this;
   add_dependency (n);
 }
 
@@ -280,6 +280,7 @@ Slur::get_encompass_offset_arr () const
       Encompass_info info (encompass_arr_[i], dir_);
       notes.push (info.o_ - left);
     }
+  d.y () += interstaff_f_;
   notes.push (d);
 
   return notes;
diff --git a/lily/stem-info.cc b/lily/stem-info.cc
index a25535b8dc..dec7ead2f1 100644
--- a/lily/stem-info.cc
+++ b/lily/stem-info.cc
@@ -16,6 +16,7 @@
 #include "lookup.hh"
 #include "stem-info.hh"
 #include "beam.hh"
+#include "staff-sym.hh"
 
 Stem_info::Stem_info ()
 {
@@ -107,12 +108,23 @@ Stem_info::Stem_info (Stem*s)
   if (beam_l_->sinfo_.size ()
       && stem_l_->staff_sym_l_ != beam_l_->sinfo_[0].stem_l_->staff_sym_l_)
     {
-      // hmm, perhaps silly now to have vertical_align in Beam
-      interstaff_f_ = beam_l_->vertical_align_f_ / internote_f;
-      // urg, guess staff order:
-      // if our stem ends higher, our staff is probably lower...
-      if (idealy_f_ * beam_dir_ > beam_l_->sinfo_[0].idealy_f_ * beam_dir_)
-	interstaff_f_ *= -1;
+      if (stem_l_->staff_sym_l_->dim_cache_[Y_AXIS].valid_b ())
+	{
+	  interstaff_f_ = stem_l_->staff_sym_l_->absolute_coordinate (Y_AXIS)
+	    - beam_l_->sinfo_[0].stem_l_->staff_sym_l_->absolute_coordinate (Y_AXIS) / internote_f;
+	}
+      else
+	{
+	  warning (_ ("invalid dimension cache: guessing staff position"));
+	  if (beam_l_->vertical_align_drul_[MIN] != 
+	      beam_l_->vertical_align_drul_[MAX])
+	    warning (_ ("minVerticalAlign != maxVerticalAlign: interstaff slurs may be broken"));
+	  interstaff_f_ = beam_l_->vertical_align_drul_[MIN] / internote_f;
+	  // urg, guess staff order:
+	  // if our stem ends higher, our staff is probably lower...
+	  if (idealy_f_ * beam_dir_ > beam_l_->sinfo_[0].idealy_f_ * beam_dir_)
+	    interstaff_f_ *= -1;
+	}
       idealy_f_ += interstaff_f_ * beam_dir_;
       miny_f_ += interstaff_f_ * beam_dir_;
       maxy_f_ += interstaff_f_ * beam_dir_;
diff --git a/mutopia/GNUmakefile b/mutopia/GNUmakefile
index ef9ffc6a94..9a2952a512 100644
--- a/mutopia/GNUmakefile
+++ b/mutopia/GNUmakefile
@@ -2,7 +2,7 @@
 
 depth = ..
 
-SUBDIRS = J.S.Bach Coriolan W.A.Mozart F.Schubert D.Zipoli Hymns D.Scarlatti
+SUBDIRS = J.S.Bach Coriolan W.A.Mozart F.Schubert D.Zipoli Hymns D.Scarlatti L.Mozart
 
 examples= gallina
 LOCALSTEPMAKE_TEMPLATES=mutopia
diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly
index 1c00016cae..bc7bd540d0 100644
--- a/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly
+++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly
@@ -14,7 +14,13 @@ copyright =	 "public domain";
 
 \version "1.0.14";
 
-one = \notes\relative c {
+% urg, this all changed and was never fixed
+% howto get rid of these ridiculous dimensions????
+% to view the output, subsitute 0.0 with 0.0 in the .tex file...
+
+% one = \type Voice=one \notes\relative c {
+% one = \notes\relative c {
+one = \type Staff=treble \notes\relative c {
 	\property Voice . textstyle =  "italic"
 	r16\p_"legato"\< [g''-1( c-3 )e-5] r [g,-1( c )e]
 	r [g,( c )d] r [b-1( d-2 \!)g-5] |
@@ -34,15 +40,32 @@ one = \notes\relative c {
 	r [a, c g'-5] r [a, c f!-4] |
 	% ugh arpeggio
 	<
-		{ \voiceone  f4 r s }
-		{ \voicetwo  <g,4 d'> r s }
+		{ \voiceone  f4 r }
+		{ \voicetwo  <g,4 d'> r }
 	>
 	\onevoice 
+	% s
 	% ugh beam across staffs slur starts at lower staff
-	r16 [g,-1( b d] |
-	\voiceone 
-	)b s4 [g'16-1( b-2 d] )b s s s [f'-2 g-3 b-5 f-2] |
-	\onevoice 
+%	r16 [g,-1( b d] |
+%	\voiceone 
+%	)b s4 [g'16-1( b-2 d] )b s s s [f'-2 g-3 b-5 f-2] |
+%	\onevoice 
+	\translator Staff=bass\stemup
+	r16 [g,,-5( b-4 d ] 
+	[f-1 \translator Staff=treble\stemdown g16-1 b d] | \stemup )b
+	\translator Staff=bass\stemdown
+	[g-5( b-4 d-2] f-1 
+	\translator Staff=treble\stemup
+	[g16-1 b-2 d] )b
+	\translator Staff=bass\stemup
+	\clef "violin"; 
+	[g-4 b-2 d-1] 
+	\stemup
+	% urg, below translator change affects previous beam too!?
+	% howto separate translator command from previous beam end?
+	\skip 4*0;
+        [\translator Staff=treble f-2 g-3 b-5 f-2] |
+	\stemboth
 	[e-1\f c'-5( g-3 f-2] [e-1 c'-5 g-3 e-2] 
 	[)d c'-5( f,-3 e-2] [d-1 b'-5 f-3 d-2] |
 	[)c b'-5( e,-3 d-2] [c-1 a'-5 e-3 c-2] 
@@ -59,14 +82,16 @@ one = \notes\relative c {
 	[es-2 fis-3 a-4 c-5] 
 	< 
 		{ \voiceone  r [c8 b16] }
-		{ \voicetwo  [d,8 f-2] }
+		%%% urg urg ?{ \voicetwo  [d,8 f-2] }
 	>
 	\onevoice  |
 	<c1\mf g e>
 	\bar "|.";
 }
 
-two = \notes\relative c{
+% two = \notes\relative c{
+% two = \type Voice=three \notes\relative c{
+two = \type Staff=bass \notes\relative c{
 	\property Voice . textstyle =  "roman"
 	c4-5 e-3 g-\mordent^"(\\textsharp)" g,4 |
 	d'-\mordent-5 f-3 a-\mordent^"(\\textsharp)" a,4 |
@@ -76,13 +101,18 @@ two = \notes\relative c{
 	f4-1 e d-3-\prall c |
 	g'-\mordent^"(\\textsharp)" g, g'-\mordent g, |
 	g'-\mordent g, g'-\mordent g, |
-	% ugh f should be at upper staff
-	g'-\mordent r r16 [g,-5( b-4 d] )f-1 s s s |
-	s [g-5( b-4 d-2] )f-1 s s s s \clef "violin"; [g-4 b-2 d-1] 
-	s s s s \clef bass; |
+%	% ugh f should be at upper staff
+%	g'-\mordent r r16 [g,-5( b-4 d] )f-1 s s s |
+%	g'-\mordent r r16 [g,-5( b-4 d \translator Staff=treble )f-1 ] s s s |
+%	\translator Staff=bass
+%	s [g-5( b-4 d-2] )f-1 s s s s \clef "violin"; [g-4 b-2 d-1] 
+%	s s s s \clef bass; |
+	g' r s s | s s s s \clef bass; |
 	<
-		{ \voiceone  g,,1 ~ g ~ g ~ g ~ g ~ g ~ g }
-		{ \voicetwo  g,1 ~ g ~ g ~ g ~ g ~ g ~ g }
+%		{ \voiceone  g,,1 ~ g ~ g ~ g ~ g ~ g ~ g }
+%		{ \voicetwo  g,1 ~ g ~ g ~ g ~ g ~ g ~ g }
+		{ \voicethree  g1 ~ g ~ g ~ g ~ g ~ g ~ g }
+		{ \voicefour  g,1 ~ g ~ g ~ g ~ g ~ g ~ g }
 	>
 	<c,1 c,>
 	\bar "|.";
@@ -112,7 +142,19 @@ grand_staff = \type GrandStaff <
 \score{
         % Moderato
 	\grand_staff
-	\include "preludes-paper.ly";
+%	\include "preludes-paper.ly";
+	\paper{
+		% no slur damping
+		slur_slope_damping = 10.0;
+	%	linewidth= 193.\mm;
+		linewidth= 180.\mm;
+		gourlay_maxmeasures = 4.0;
+		\translator{ 
+		  \GrandStaffContext
+		  minVerticalAlign = 3.0*\staffheight;
+		  maxVerticalAlign = 3.0*\staffheight;
+		}
+	}
 	\midi{ \tempo 4 = 80; }
 	\header {
 		opus = "BWV 924";
diff --git a/mutopia/L.Mozart/GNUmakefile b/mutopia/L.Mozart/GNUmakefile
new file mode 100644
index 0000000000..2d7fc58cf0
--- /dev/null
+++ b/mutopia/L.Mozart/GNUmakefile
@@ -0,0 +1,10 @@
+# 
+
+depth = ../..
+
+examples=
+LOCALSTEPMAKE_TEMPLATES=mutopia
+
+include $(depth)/make/stepmake.make
+
+
diff --git a/mutopia/L.Mozart/sinfonia.ly b/mutopia/L.Mozart/sinfonia.ly
new file mode 100644
index 0000000000..17bc4457e0
--- /dev/null
+++ b/mutopia/L.Mozart/sinfonia.ly
@@ -0,0 +1,373 @@
+	%{
+Dit is de fout:
+
+GNU LilyPond 1.1.19.
+Parsing...[/home/lily/usr/share/lilypond/ly/init.ly[/home/lily/usr/share/lilypond/ly/declarations.ly[/home/lily/usr/share/lilypond/ly/dynamic.ly][/home/lily/usr/share/lilypond/ly/nederlands.ly][/home/lily/usr/share/lilypond/ly/chord-modifiers.ly][/home/lily/usr/share/lilypond/ly/script.ly][/home/lily/usr/share/lilypond/ly/paper20.ly[/home/lily/usr/share/lilypond/ly/table20.ly][/home/lily/usr/share/lilypond/ly/table13.ly][/home/lily/usr/share/lilypond/ly/table16.ly][/home/lily/usr/share/lilypond/ly/params.ly[/home/lily/usr/share/lilypond/ly/a4.ly][/home/lily/usr/share/lilypond/ly/paper.ly][/home/lily/usr/share/lilypond/ly/engraver.ly]]][/home/lily/usr/share/lilypond/ly/midi.ly[/home/lily/usr/share/lilypond/ly/performer.ly]][/home/lily/usr/share/lilypond/ly/property.ly][/home/lily/usr/share/lilypond/scm/lily.scm]][Sinfonia.ly]]
+Interpreting music...[8][16][24][32][40]
+Sinfonia.ly:239:24: warning: barcheck failed by: 1/4:
+	\times 2/3 {[e g fis] |
+                                [e fis g]} | fis4 r |
+
+Sinfonia.ly:87:34: warning: barcheck failed by: 1/4:
+	\times 2/3 {[g'8 b a] [g fis e] |
+                                          [a d, cis] [d cis d] |
+
+Sinfonia.ly:240:25: warning: barcheck failed by: 1/4:
+	\times 2/3 {[e8 g fis] |
+                                 [e fis g]} | fis4 r |
+
+Sinfonia.ly:88:21: warning: barcheck failed by: 1/4:
+	[g, b a] [g fis e] |
+                             [a d, cis] [d cis d]} |
+[48][56][64][72][80][88][96][104][112][120][123]
+time: 24.16 seconds
+Preprocessing elements... lilypond: score-element.cc:134: class
+Paper_def * Score_element::paper() const: Assertion `pscore_l_' failed.
+
+%}
+
+\header{
+filename="Sinfonia.ly";
+title="Sinfonia";
+subtitle="G major";
+composer="Leopold Mozart";
+arranger="(1719-1787)";
+copyright="public domain";
+enteredby="Maarten Storm";
+}
+
+
+global = \notes{
+	\key G;
+	\time 2/4;
+	s2*4 \break 
+	s2*5 \break
+	s2*5 \break
+	s2*5 \break
+	s2*5 \break
+	s2*5 \break
+	s2*5 \break
+	s2*5 \break
+	s2*5 \break
+	s2*5 \break
+	s2*6 \bar ":|"; \break
+	\bar "|:"; s2*6 \break
+	s2*5 \break
+	s2*5 \break
+	s2*5 \break
+	s2*5 \break
+	s2*5 \break
+        s2*5 \break
+        s2*5 \break
+	s2*5 \break
+        s2*5 \break
+        s2*5 \break
+	s2*4 \break
+	s2*5 \bar ":|";
+%fine
+}
+
+tempi = \notes{
+	\property Voice.textstyle = "large"
+        s8^"Allegro"
+	
+}
+
+dynamics = \notes{
+%	\type Voice=i
+}
+
+
+violinoi = \notes \relative c'{
+	\type Voice=i
+	\clef "violin";
+	[<g8 d' b' g'> g'' g g] | [g16 a b a] [g a b a] |
+	[<g,,8 d' b' g'> g'' g g] | [g16 a b a] [g a b a] |
+%5	
+	[<g,,8 d' b' g'> g'' g g] | [g16 d c b] [a g fis g] |
+	[e' fis g fis] [g e d c] | [b c d c] [d b a g] |
+	[e' fis g fis] [g e d c] | [b c d c] [d b a g] |
+%11	
+	[fis g a b] [c a g fis] | [g a b c] [d b a g] |
+	[a b c d] [e c b a] | [b c d c] [d b a g] |
+%15	
+	[fis g a g] [fis e d c] | [b a g8] r4 |
+	[<g8 d' b' g'> g'' g g] | \times 2/3 {[g8 d c] [b a g] |
+	[g'8\p d c] [b a g] |  
+%20	
+	[f'\f d c] [b a g]} | 
+	[<c,8 e c' e> e' e e] | <c,2 e c' e> |
+        [<a8 e' cis' a'> a'' a a] |
+	\times 2/3 {[a8 e d] [cis b a] | [a'\p e d] [cis b a] |
+%26	
+	[g'\f e d] [cis b a]} | [<d,8 a' fis'> fis' fis fis] |
+	<d,2 a' fis'> | \times 2/3 {[b'8 c d] [e fis g] |
+	[g fis g] [b, a g] | [a b cis] [d e fis] |
+%32
+	[fis e fis] [a, g fis] | [g a b] [cis d e] |
+	[e d e] [g, fis e]}
+%35
+	[fis16 d e d] [e d e d] | [g d e d] [e d e d] |
+	[a' d, e d] [e d e d] | [b' d, e d] [e d e d] |
+	[cis' a b a] [b a b a] | [d a b a] [b a b a] |
+	[e' a, b a] [a b a b] | [fis' a, b a] [a b a b] |
+%43
+	\times 2/3 {[g'8 b a] [g fis e] | [a d, cis] [d cis d] |
+	[g, b a] [g fis e] | [a d, cis] [d cis d]} |
+%47 
+	[b''16 g fis e] [a fis e d] | [g e d cis] [fis d cis b] | gis,2 |
+%50
+	a4 g'! | [fis16 fis e d] e4 | d d' | r8 r16 gis,16 a4 |
+	r8 [fis g! a] | d,2 
+	[d'8\p e f a,] | [gis a] r4 | 
+	\times 2/3 {[f8\f e d] [c b a]} | [gis a] r4 |
+%60
+	[c'8\p d e g,?] | [fis g] r4 |
+	\times 2/3 {[d8\f a' c] [b a b]} | [b a] r4 |
+%64 : reprise
+	[<g,8 d' b' g'> g'' g g] | [g16 a b a] [g a b a] |
+        [<g,,8 d' b' g'> g'' g g] | [g16 a b a] [g a b a] |
+        [<g,,8 d' b' g'> g'' g g] | [g16 d c b] [a g fis g] |
+%70        
+	[e' fis g fis] [g e d c] | [b c d c] [d b a g] |
+        [fis g a g] [fis e d c] | [b a g8] r4 |
+        [<g8 d' b' g'> g'' g g] | \times 2/3 {[g8 d c] [b a g] |
+	[f\f d c] [b a g]} | [e' c] r4 |
+%78	
+	[<a8 e' cis' a'> a'' a a] |
+        \times 2/3 {[a8 e d] [cis b a] | 
+        [g e d] [cis b a]} | [fis' d] r4 |	
+	\times 2/3 {[e'8 fis g] [a b c] | [c b c] [e, d c] |
+	[d e fis] [g a b] | [b a b] [d, c b] | [c d e] [fis g a] |
+	[a g a] [c, b a]} |
+%88
+	[b16 g a g] [a g a g] | [c g a g] [a g a g] | [d' g, a g] [a g a g] |
+	[e' g, a g] [a g a g] | [fis' d e d] [e d e d] | [g d e d] [e d e d] |
+	[a' d, e d] [e d e d] | [b' d, e d] [e d e d] | 
+%96
+	\times 2/3 {[c'8 e, d] [c b a] | [d g, fis] [g fis g] | 
+	[d c' c] [c b a] | [d g, fis] [g fis g]} |
+%100
+	[e'16 c b a] [d b a g] | [c a g fis] [b g fis e] | cis2 | d4 c'! |
+	[b16 b a g] a4 | g g' | 
+%106
+	r8 r16 cis,, d4 | r8 [b c? d] | [g,16 g'' g g] g4:16 | 
+	[fis16 g a g] [fis e d c] | [b g' g g] g4:16 | 
+	[fis16 g a g] [fis e d c] | [b g' g, a] a4 |
+	[b16 g' g, a] a4 | [b16 g' g, a] a4 | [g8 d] g,4 
+%fine  
+
+}
+
+violinoii = \notes \relative c'{
+	\type Voice=i
+	\clef "violin";
+	[<g8 d' b' g'> g'' g g] | [b,16 c d c] [b c d c] |
+	[<g,8 d' b' g'> g'' g g] | [b,16 c d c] [b c d c] |
+%5
+	[<g,8 d' b' g'> g'' g g] | [g16 d c b] [a g fis g] |
+	[e' fis g fis] [g e d c] | [b c d c] [d b a g] |
+	[e' fis g fis] [g e d c] | [b c d c] [d b a g] |
+%11	
+	[fis g a b] [c a g fis] | [g a b c] [d b a g] |
+        [a b c d] [e c b a] | [b c d c] [d b a g] |
+%15
+        [fis g a g] [fis e d c] | [b a g8] r4 |
+	[<g8 d' b' g'> g'' g g] | \times 2/3 {[g8 d c] [b a g] |
+	[g'8\p d c] [b a g] | [f'\f d c] [b a g]} |
+%21
+	[<c,8 e c' e> e' e e] | <c,2 e c' e> |
+	[<a8 e' cis' a'> a'' a a] |
+	\times 2/3 {[a8 e d] [cis b a] | [a'\p e d] [cis b a] |
+%26   
+        [g'\f e d] [cis b a]} | [<d, a' fis'> fis' fis fis] |
+        <d,2 a' fis'> | \times 2/3 {[b'8 c d] [e fis g] |
+        [g fis g] [b, a g] | [a b cis] [d e fis] |
+%32
+        [fis e fis] [a, g fis] | [g a b] [cis d e] |
+        [e d e] [g, fis e]}
+%35
+        [fis16 d e d] [e d e d] | [g d e d] [e d e d] |
+        [a' d, e d] [e d e d] | [b' d, e d] [e d e d] |
+        [cis' a b a] [b a b a] | [d a b a] [b a b a] |
+        [e' a, b a] [a b a b] | [fis' a, b a] [a b a b] |
+%43
+        \times 2/3 {[g'8 b a] [g fis e] | [a d, cis] [d cis d] |
+        [g, b a] [g fis e] | [a d, cis] [d cis d]} |
+%47
+        [b''16 g fis e] [a fis e d] | [g e d cis] [fis d cis b] | gis,2 |
+%50
+        a4 g'! | [fis16 fis e d] e4 | d d' | r8 r16 g,16 a4 |
+        r8 [fis g! a] | d,2
+	f4\p r8 f | [e-. ~ e-.] r4 |
+	\times 2/3 {[f8\f e d] [c b a]} | [gis a] r4 |
+%60
+	e'4\p r8 e | [d-. ~ d-.] r4 |
+	\times 2/3 {[d8\f a' c] [b a b]} | [b a] r4 |
+%64 : reprise
+	[<g,8 d' b' g'> g'' g g] | [b,16 c d c] [b c d c] |
+        [<g,8 d' b' g'> g'' g g] | [b,16 c d c] [b c d c] |
+        [<g,8 d' b' g'> g'' g g] | [g16 d c b] [a g fis g] |
+%70        
+	[e' fis g fis] [g e d c] | [b c d c] [d b a g] |
+        [fis g a g] [fis e d c] | [b a g8] r4 |
+        [<g8 d' b' g'> g'' g g] | \times 2/3 {[g8 d c] [b a g] |
+	[f\f d c] [b a g]} | [e' c] r4 |
+%78
+        [<a8 e' cis' a'> a'' a a] |
+        \times 2/3 {[a8 e d] [cis b a] | 
+        [g e d] [cis b a]} | [fis' d] r4 |
+	\times 2/3 {[e'8 fis g] [a b c] | [c b c] [e, d c] |
+        [d e fis] [g a b] | [b a b] [d, c b] | [c d e] [fis g a] |
+        [a g a] [c, b a]} |
+%88
+        [b16 g a g] [a g a g] | [c g a g] [a g a g] | [d' g, a g] [a g a g] |
+        [e' g, a g] [a g a g] | [fis' d e d] [e d e d] | [g d e d] [e d e d] |
+        [a' d, e d] [e d e d] | [b' d, e d] [e d e d] |
+%96
+        \times 2/3 {[c'8 e, d] [c b a] | [d g, fis] [g fis g] |
+        [d c' c] [c b a] | [d g, fis] [g fis g]} |
+%100
+        [e'16 c b a] [d b a g] | [c a g fis] [b g fis e] | cis2 | d4 c'! |
+        [b16 b a g] a4 | g g' |
+%106
+        r8 r16 cis,, d4 | r8 [b c? d] | [g,16 g'' g g] g4:16 |
+        [fis16 g a g] [fis e d c] | [b g' g g] g4:16 |
+        [fis16 g a g] [fis e d c] | [b g' g, a] a4 |
+        [b16 g' g, a] a4 | [b16 g' g, a] a4 | [g8 d] g,4
+%fine
+
+}
+
+viola = \notes \relative c'{
+	\type Voice=i
+	\clef "alto";
+	[b16 c d c] [b c d c] | [b8 b b b] | 
+	[b16 c d c] [b c d c] | [b8 b b b] |
+%5
+	[b16 c d c] [b c d c] | b4 r |
+	r8 [e g a] | [d, b b d] | [g, e' g a] |
+%10
+	[d, b d e] | [a, fis'16 g] [a fis e d] |
+	[d8 d d d] | r [a' a a] | [d, b d e] |
+	[a, d d a] | [g16 g' fis e] [d c b a] |
+	[g b d c] [b c d c] | b4 r | d d | d d |
+%21
+	[e16 f? g f] [e f g f] | [g8 e e d] |
+	[cis16 d e d] [cis d e d] | cis4 r | 
+%25
+	e\p e | e\f e | [fis16 g a g] [fis g a g] | 
+	[fis8 fis a a] | d4 b | b g' | cis,? a |
+	a fis' b, g' | a a, |
+%35
+	[a8 fis' fis fis] | r [g g g] | r [a a a] |
+	r [b, b b] | r [cis cis cis] | r [d d d] | r [e e e] |
+	r [fis fis fis] |
+%43
+	\times 2/3 {[e g fis] | [e fis g]} | fis4 r |
+	\times 2/3 {[e8 g fis] | [e fis g]} | fis4 r |
+%47
+	[d8 g d fis] | r [e a, d] | r b [b cis16 d] |
+	[e8 d e cis] | [d d d cis] | d4 d' | r8 r16 gis, a4 |
+	r8 [fis8 g! a] | d,2  
+	[d8\p d d d] | [d c!] r4 |
+	\times 2/3 {[f8\f e d] [c b a]} | [gis a] r4 |
+%60
+	[c8\p c c c] | [c b] r4 | [a8 fis e g] | [g fis] r4 |
+%64 : reprise
+	[b,16 c d c] [b c d c] | [b8 b b b] |
+        [b16 c d c] [b c d c] | [b8 b b b] |
+%68
+        [b16 c d c] [b c d c] | b4 r |
+	r8 [e g a] | [d b] r e | [a, a a a] |
+%73
+	[g16 b c d] [e fis g a] | [b c d c] [b c d c] | b4 r |
+	d, d | g, r | [cis16 d e d] [cis d e d] | cis 4 r | 
+%80
+	e4 e | [a,8 fis'16 g] [fis8 d] |
+	g,4 e' | e c' | fis, d | d b' | e, c | c d |
+%88
+	[d8 b b b] | r [c c c] | r [d d d] | r [e e e] | r [fis fis fis] |
+	r [g g g] | r [a a a] | r [b b b] | 
+%96
+	\times 2/3 {[a c b] [a b c]} | b4 r | \times 2/3 {[a,8 a g] [a b c]} |
+	b4 r | [g8 c g b] | r [a' d, g] | r e [e fis16 g] | [a8 g a fis] |
+%104
+	g8 g4 fis8 | g4 g | r8 r16 cis, d4 | r8 [b c! d] | [g, b d e] | 
+	[a, a a' a] | [d, b d e] | [a, a a' a] | [d, d e d] | [d d e d] | 
+	[d g g fis] | [g d] g,4
+%fine 
+ 
+}
+
+bassocontinuo = \notes \relative c'{
+	\type Voice=i
+	\clef "bass";
+	[g16 a b a] [g a b a] | [g8 g, g g'] |
+	[g16 a b a] [g a b a] | [g8 g, g g'] | 
+%5
+	[g16 a b a] [g a b a] | [g8 g,] r4 |
+	[c'8 c,] [e_"6" fis_"6"_"5" | [g g g b,_"6"] |
+	[c c] [e_"6" fis_"6"_"5" | [g g b_"6" c] |
+%11
+	[d d d c_"2"] | [b_"6" b b b] | [fis_"6"_"5" fis fis fis] |
+	[g g b_"6" c] | [d fis,_"6"_"5" fis fis] | [g16 g fis e] [d c b a] |
+%17
+	[g g' b a] [g a b a] | g4 r | b, b | b b |
+%21
+	[c16 d e d] [c d e d] | [c8 e' c a] | [a16 b cis b] [a b cis b] 
+	a4 r | cis, cis | cis cis |
+%27
+	[d16 e fis e] [d e fis e] | [d8 d fis fis] | g4 g | 
+	e e | fis fis | d d | e e | cis cis |
+%35
+	d2:8 | e2:8 | fis2:8 | g2:8 | a2:8 | b2:8 | [cis8 cis,? cis cis] |
+	d2:8 | cis4 cis | d r | cis cis | d r |
+%47
+	g8 r fis r | e r d r | r [e e d] | [cis b cis a] | [d fis g a] |
+	d,4 d' | r8 r16 gis, a4 | r8 [fis g! a] | d,2 
+	r2 | r |
+	\times 2/3 {[f8\f e d] [c b a]} | [gis a] r4 |
+%60
+	r2 | r |
+	[f'8 d g g,] | [d' d'] [d16 c b a] |
+%64 : reprise
+	[g16 a b a] [g a b a] | [g8 g, g g'] |
+        [g16 a b a] [g a b a] | [g8 g, g g'] |
+%68
+        [g16 a b a] [g a b a] | g4 r |
+	[c8 c,] [e fis] | [g g b c] | [e fis fis fis] |
+%73
+	[g16 g, a b] [c d e fis] | [g a b a] [g a b a] | g4 r |
+	b, b | [c8 c'16 d] [e d cis b] | [a b cis b] [a b cis b] |
+%79
+	a4 r | cis,4 cis | [d8 d'16 e] [d8 b] |	
+	c?4 c | a a | b b | g g | a a | fis fis | g2:8 | a2:8 |
+%90
+	[b8 b, b b] | c2:8 | d2:8 | e2:8 | fis2:8 | g2:8 | 
+	fis4 fis | g r | fis fis | g r | c8 r b r | a r g r |
+	r [a a g] | [fis e fis d] | [g, b c d] | g,4 g' |
+%106
+	r8 r16 cis, d4 | r8 [b c! d] | [g, g' b c] | [d fis, fis fis] |
+	[g g, b c] | [d fis fis fis] | [g b, c d] | [g, b c d] | 
+	[g, b c d] | [g d] g,4
+%fine
+}
+
+
+\score{
+        \type StaffGroup <
+                \type Staff = i < \tempi \global \dynamics \violinoi >
+                \type Staff = ii < \global \dynamics \violinoii >
+                \type Staff = iii < \global \dynamics \viola >
+                \type Staff = iv < \global \dynamics \bassocontinuo >
+        >
+        \paper{
+          %      \translator { \OrchestralScoreContext }
+        }
+        \midi{ \tempo 4 = 100; }
+}
+
+
+
+
-- 
2.39.5