]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.1.21
authorfred <fred>
Tue, 26 Mar 2002 21:46:03 +0000 (21:46 +0000)
committerfred <fred>
Tue, 26 Mar 2002 21:46:03 +0000 (21:46 +0000)
19 files changed:
Documentation/tex/GNUmakefile
TODO
input/test/beam-interstaff.ly
input/test/slur-interstaff.ly [new file with mode: 0644]
lily/beam.cc
lily/bow.cc
lily/encompass-info.cc
lily/include/beam.hh
lily/include/bow.hh
lily/include/direction.hh
lily/include/slur.hh
lily/include/stem.hh
lily/slur-engraver.cc
lily/slur.cc
lily/stem-info.cc
mutopia/GNUmakefile
mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly
mutopia/L.Mozart/GNUmakefile [new file with mode: 0644]
mutopia/L.Mozart/sinfonia.ly [new file with mode: 0644]

index 6102deb049873953422eb730520ece392c86c9d9..4d5c1ecc18819e96d5152f137074f672ba54da12 100644 (file)
@@ -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 f01020231fc983a1dd2a926509386a0c999b93fd..7daa95514f06039c7df881735caa679633ed64ca 100644 (file)
--- 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...)
index 65e0a5d2c2b4c83b2c4f827266dbda265c31dc89..d09e796c21d9d89849788fcf2f1b2b2426619605 100644 (file)
@@ -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 (file)
index 0000000..2d6ccbf
--- /dev/null
@@ -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.;
+       }
+}
index af118cb5dddc8ee3b339b4cb628278f42ab76822..90476e1e9f4b3acaed60ffe8341a0482f199a557 100644 (file)
@@ -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
index 935eae60b3930c28a8c0020c54b9211d61c1bd79..66c1bfd5628eae1df82174df2c98ad3c2575a2e6 100644 (file)
@@ -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;
 }
index 1a352c49a76c677c876482babe55414830695135..f8854f0292dd91443fcf8e6987efac77a03799ea 100644 (file)
@@ -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_;
+    }
+}
index a94b0eba908ae61782ac1841540d6693362da578..1e4bf9d0b9e1d5180d80b05ff618834363b99131 100644 (file)
@@ -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_;
   
index e8e8d54dc9d9b1c94bfb03431b88857744b31aac..7a59b7fdf45a226a39d62522b9fe475592010ed2 100644 (file)
@@ -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;
index 45f574b83a8bc83e8db9f7c3dc484971cc7cf460..ea6adf88c0eb3d99ba45b41ebcba22d6f1ae8830 100644 (file)
@@ -18,6 +18,8 @@ enum Direction
   DOWN=-1,
   LEFT=-1,
   RIGHT=1,
+  MIN=-1,
+  MAX=1,
   CENTER=0,
   SMALLER=-1,
   BIGGER=1,
index 491150c877d1b3f531fd8a7e7d4f6dbdb8d71632..30123a335b1a23b8de06ee112c5d55c06755e947 100644 (file)
 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;
index 81f4617bf94d7b62d7ab1ba282ca360f579d5916..34e829d634ae8a00d1b13faac35ced2a8936b44f 100644 (file)
@@ -63,6 +63,9 @@ public:
    */
   Beam* beam_l_;
 
+  /// our slur (urg)
+  Slur* slur_l_;
+
   Drul_array<int> beams_i_drul_;
 
   /// maximum number of beams
index e0e4253f8601508cf925bb759d717bd4f6158989..9a6b20b38cc540c623dffaba1adaa43b664f20fd 100644 (file)
@@ -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));
index b88c4b5614f3fca46828d040f44c4fc4ba814414..f8a0fc3672654490bc0a9ac953128b7672af47e9 100644 (file)
@@ -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;
index a25535b8dc0df82c94ec337c4e2bc6d224ff73a9..dec7ead2f1fc35cd58b473572c426201dff805ed 100644 (file)
@@ -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_;
index ef9ffc6a94c68e244476291d940fb8f08fe56d74..9a2952a51260f45abd38d0b2784559c665552585 100644 (file)
@@ -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
index 1c00016cae435a2b6cf9077d2eb2cbde496c0059..bc7bd540d0021e9fa3ab6b0581ffd0e7befc28de 100644 (file)
@@ -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 }
-               { \voicetwo  <g,4 d'> r }
+               { \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 (file)
index 0000000..2d7fc58
--- /dev/null
@@ -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 (file)
index 0000000..17bc445
--- /dev/null
@@ -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; }
+}
+
+
+
+