]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.2.14
authorfred <fred>
Tue, 26 Mar 2002 22:41:45 +0000 (22:41 +0000)
committerfred <fred>
Tue, 26 Mar 2002 22:41:45 +0000 (22:41 +0000)
44 files changed:
TODO
lily/auto-change-iterator.cc
lily/break-algorithm.cc
lily/column-x-positions.cc
lily/gourlay-breaking.cc
lily/include/break-algorithm.hh [new file with mode: 0644]
lily/include/column-x-positions.hh
lily/include/gourlay-breaking.hh
lily/include/lily-proto.hh
lily/include/simple-spacer.hh
lily/sequential-music-iterator.cc
lily/stem.cc
ly/property.ly
ly/textscripts.ly
make/lilypond.spec.in
mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-3.ly [new file with mode: 0644]
mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-score.ly [new file with mode: 0644]
mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly
mutopia/J.S.Bach/Solo-Cello-Suites/allemande-viola.ly
mutopia/J.S.Bach/Solo-Cello-Suites/courante-cello.ly
mutopia/J.S.Bach/Solo-Cello-Suites/courante-viola.ly
mutopia/J.S.Bach/Solo-Cello-Suites/gigue-cello.ly
mutopia/J.S.Bach/Solo-Cello-Suites/gigue-viola.ly
mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-cello.ly
mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-viola.ly
mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly
mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly
mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-cello.ly
mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-viola.ly
mutopia/J.S.Bach/Solo-Cello-Suites/scs-paper.ly
mutopia/J.S.Bach/Solo-Cello-Suites/scsii-cello.ly
mutopia/J.S.Bach/Solo-Cello-Suites/solo-cello-suite-ii.ly
mutopia/W.A.Mozart/GNUmakefile
mutopia/W.A.Mozart/horn-concerto-3/GNUmakefile [new file with mode: 0644]
mutopia/W.A.Mozart/horn-concerto-3/allegro.ly [new file with mode: 0644]
mutopia/W.A.Mozart/horn-concerto-3/cadenza.ly [new file with mode: 0644]
mutopia/W.A.Mozart/horn-concerto-3/horn-concerto-3.ly [new file with mode: 0644]
mutopia/W.A.Mozart/horn-concerto-3/romanze.ly [new file with mode: 0644]
mutopia/W.A.Mozart/horn-concerto-3/rondo.ly [new file with mode: 0644]

diff --git a/TODO b/TODO
index bb0eb7d53570cef63f0b290aac7042a256f612ab..f2df107e6c070008aa137ec15245653cd7f399f8 100644 (file)
--- a/TODO
+++ b/TODO
@@ -12,6 +12,8 @@ Grep -i for TODO, FIXME and ugh/ugr/urg.
 . * use Rhythmic_head::position_i () for all Staff_referenced 
 . * .po -> .pot.
 . * setting indent to 0 with \shape fails
+. * ly2dvi : don't repeat opus if same.
+. * breaks before mmrests are favored.
 . * hara kiri _8 clef.
 . * junk -M ?
 . * mudela-book doco
index 4a52caeeb48643f6a7df7c9789391db6dd7f3824..7b4b7b1450181cec69dc4cad18591e24c553a840 100644 (file)
@@ -78,10 +78,10 @@ Auto_change_iterator::do_process_and_next (Moment m)
     {
       Musical_pitch p = spanish_inquisition.pitch_arr_[0];
       Direction s = Direction (sign(p.steps ()));
-      if (s && s != where_dir_)
+      if (s != where_dir_)
        {
          where_dir_ = s;
-         String to_id =  (s > 0) ?  "up" : "down";
+         String to_id =  (s >= 0) ?  "up" : "down";
          Auto_change_music const * auto_mus = dynamic_cast<Auto_change_music const* > (music_l_);
 
          change_to (it, auto_mus->what_str_, to_id);     
index 51486412c9bcbe3612d0b129c08a82e43ffaa901..fd5955fc3845a604f55641acf4e0d33e65a6794d 100644 (file)
@@ -7,7 +7,7 @@
 */
 
 #include "score-column.hh"
-#include "break.hh"
+#include "break-algorithm.hh"
 #include "paper-def.hh"
 #include "debug.hh"
 #include "line-of-score.hh"
@@ -57,12 +57,13 @@ Break_algorithm::find_breaks () const
 }
 
 
-Line_spacer*
+Simple_spacer*
 Break_algorithm::generate_spacing_problem (Line_of_cols curline, Interval line) const
 {
-  Line_spacer * sp =  new Simple_spacer;
-  
-  sp->default_space_f_ = pscore_l_->paper_l_->get_var ("loose_column_distance");
+  Simple_spacer * sp =  new Simple_spacer;
+  Paper_def * d = pscore_l_->paper_l_;
+  sp->compression_energy_factor_f_ = d->get_var ("compression_energy_factor");
+  sp->default_space_f_ = d->get_var ("loose_column_distance");
 
   sp->indent_f_ = line[LEFT];
 
@@ -77,7 +78,7 @@ Break_algorithm::generate_spacing_problem (Line_of_cols curline, Interval line)
     sp->line_len_f_ = line.length ();
   
   sp->add_columns (curline);
-  sp->prepare ();
+
 
   return sp;
 }
@@ -85,7 +86,6 @@ Break_algorithm::generate_spacing_problem (Line_of_cols curline, Interval line)
 Break_algorithm::Break_algorithm ()
 {
   pscore_l_ = 0;
-  get_line_spacer =0;
   linelength = 0;
 }
 
index 4ac09b029c4a7b43406e2d3f3599b753c4a087b3..91c616fcb079c0b43163f19288693bad34a0deb0 100644 (file)
@@ -7,9 +7,9 @@
 */
 
 #include "column-x-positions.hh"
+#include "simple-spacer.hh"    // ugh
 #include "real.hh"
 #include "debug.hh"
-#include "line-spacer.hh"
 
 Column_x_positions::Column_x_positions()
 {
@@ -38,32 +38,10 @@ Column_x_positions::print() const
 #endif
 }
 
-void
-Column_x_positions::OK() const
-{
-#ifndef NDEBUG
-  assert (config_.size() == cols_.size ());
-#endif
-}
 
 
-void
-Column_x_positions::stupid_solution()
-{
-  //  set_stupid_solution (spacer_l_->default_solution());
-}
 
-void
-Column_x_positions::solve_line() 
-{
-  spacer_l_->solve (this);
-}
 
 
-void
-Column_x_positions::approximate_solve_line() 
-{
-  spacer_l_->lower_bound_solution (this);
-}
 
 
index 562d06391e94b8a004426a35bfd16973b2bc1f4a..533092aeeee15c6ce705d8e1cf96224b8c771d53 100644 (file)
@@ -12,7 +12,7 @@
 #include "paper-column.hh"
 #include "paper-score.hh"
 #include "paper-def.hh"
-#include "line-spacer.hh"
+#include "simple-spacer.hh"
 
 #include "killing-cons.tcc"
 
@@ -33,7 +33,7 @@ struct Break_node {
    */
   int line_i_;
 
-  Real energy_f_;
+  Real demerits_f_;
   Column_x_positions line_config_;
   
   Break_node () 
@@ -57,7 +57,8 @@ Gourlay_breaking::do_solve () const
 
   Break_node first_node ;
   first_node.prev_break_i_ = -1;
-  first_node.line_config_.energy_f_ = 0;
+  first_node.line_config_.force_f_ = 0;
+  first_node.line_config_.energy_f_ = 0;  
   first_node.line_i_ = 0;
   
   optimal_paths[0] = first_node; 
@@ -65,19 +66,21 @@ Gourlay_breaking::do_solve () const
 
   for (; break_idx< breaks.size (); break_idx++) 
     {
-      Array<int> candidates;
-      Array<Column_x_positions> candidate_lines;
-      Cons_list<Line_spacer> spacer_p_list;
-       
       /*
        start with a short line, add measures. At some point 
        the line becomes infeasible. Then we don't try to add more 
        */
+      int minimal_start_idx = -1;
+      Column_x_positions minimal_sol;
+      Real minimal_demerits = infinity_f;
+
       for (int start_idx = break_idx; start_idx--;)
        {
+#if 0
          if  (break_idx - start_idx > max_measures_i_) 
            break;
-
+#endif
+         
          if (optimal_paths[start_idx].prev_break_i_ < 0
              && optimal_paths[start_idx].line_config_.energy_f_)
            continue;
@@ -92,78 +95,55 @@ Gourlay_breaking::do_solve () const
          if (!feasible (line))
            break;
            
-         Column_x_positions approx;
-         approx.cols_ = line;
-           
-         approx.spacer_l_ = generate_spacing_problem (line, 
-           pscore_l_->paper_l_->line_dimensions_int (optimal_paths[start_idx].line_i_));
-         spacer_p_list.append (new Killing_cons<Line_spacer> (approx.spacer_l_,0));
-
-         approx.approximate_solve_line ();
-           
-         if  (approx.energy_f_  > energy_bound_f_)
-           {
-             continue;
-           }
-           
-         // this is a likely candidate. Store it.
-         candidate_lines.push (approx);
-         candidates.push (start_idx);
-       }
+         Column_x_positions cp;
+         cp.cols_ = line;
+
+         Interval line_dims
+           = pscore_l_->paper_l_->line_dimensions_int (optimal_paths[start_idx].line_i_);
+         Simple_spacer * sp = generate_spacing_problem (line, line_dims);
+         sp->solve (&cp);
+         delete sp;
+         
+         if (!cp.satisfies_constraints_b_)
+           break;
 
-           
-      int minimal_j = -1;
-      Real minimal_energy = infinity_f;
-      for (int j=0; j < candidates.size (); j++) 
-       {
-         int start = candidates[j];
-         if (optimal_paths[start].line_config_.energy_f_
-              + candidate_lines[j].energy_f_  > minimal_energy)
-               
-           continue;
+         Real this_demerits 
+           = combine_demerits (optimal_paths[start_idx].line_config_, cp)
+           + optimal_paths[start_idx].demerits_f_;
 
-         if (!candidate_lines[j].satisfies_constraints_b_
+         if (this_demerits < minimal_demerits
            {
-             candidate_lines[j].solve_line ();
-           }
-           
-         Real this_energy 
-           = optimal_paths[start].line_config_.energy_f_ 
-           + candidate_lines[j].energy_f_ ;
-           
-         if (this_energy < minimal_energy) 
-           {
-             minimal_j = j;
-             minimal_energy = this_energy;
+             minimal_start_idx = start_idx;
+             minimal_sol = cp;
+             minimal_demerits = this_demerits;
            }
        }
 
-      if (minimal_j < 0) 
+      if (minimal_start_idx < 0) 
        {
          optimal_paths[break_idx].prev_break_i_ = -1;
          optimal_paths[break_idx].line_config_.energy_f_ = infinity_f;
        }
       else 
        {
-         optimal_paths[break_idx].prev_break_i_ = candidates[minimal_j];
-         optimal_paths[break_idx].line_config_ = candidate_lines[minimal_j];
-         optimal_paths[break_idx].line_i_ = 
-           optimal_paths[optimal_paths[break_idx].prev_break_i_].line_i_ + 1;
+         optimal_paths[break_idx].prev_break_i_ = minimal_start_idx;
+         optimal_paths[break_idx].line_config_ = minimal_sol;
+         optimal_paths[break_idx].demerits_f_ = minimal_demerits;
+         optimal_paths[break_idx].line_i_ =
+           optimal_paths[minimal_start_idx].line_i_ + 1;
        }
 
       if (! (break_idx % HAPPY_DOTS_I))
        *mlog << "[" << break_idx << "]" << flush;
-
-      spacer_p_list.junk ();
     }
 
+  /* do the last one */
   if  (break_idx % HAPPY_DOTS_I) 
     *mlog << "[" << break_idx << "]";
 
   *mlog << endl;
 
   Array<int> final_breaks;
-
   Array<Column_x_positions> lines;
 
   /* skip 0-th element, since it is a "dummy" elt*/
@@ -197,7 +177,16 @@ Gourlay_breaking::Gourlay_breaking ()
 void
 Gourlay_breaking::do_set_pscore ()
 {
-  energy_bound_f_ = pscore_l_->paper_l_->get_var ("gourlay_energybound");
   max_measures_i_ =int (rint (pscore_l_->paper_l_->get_var ("gourlay_maxmeasures")));
 }
 
+
+/*
+  TODO: uniformity parameter to control rel. importance of spacing differences.
+ */
+Real
+Gourlay_breaking::combine_demerits (Column_x_positions const &prev,
+                                   Column_x_positions const &this_one) const
+{
+  return abs (this_one.force_f_) + abs (prev.force_f_ - this_one.force_f_);
+}
diff --git a/lily/include/break-algorithm.hh b/lily/include/break-algorithm.hh
new file mode 100644 (file)
index 0000000..e0548ad
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+  break-algorithm.hh -- declare  Break_algorithm
+
+  source file of the GNU LilyPond music typesetter
+
+  (c) 1996,  1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+*/
+
+
+#ifndef BREAK_HH
+#define BREAK_HH
+#include "array.hh"
+#include "interval.hh"
+#include "lily-proto.hh"
+#include "column-x-positions.hh"
+
+
+/** Class representation of an algorithm which decides where to put
+  the column, and where to break lines.
+  
+  TODO:  A "parindent", caching of breakpoints
+  
+  */
+class Break_algorithm {
+protected:
+
+  Paper_score *pscore_l_;
+  Real linelength;
+
+  /// search all pcols which are breakable.
+  Line_of_cols find_breaks() const;
+
+  Array<int> find_break_indices() const;
+    
+
+  /// helper: solve for the columns in #curline#.
+  void solve_line (Column_x_positions*) const;
+
+  /// helper: approximate the energyv
+  void approximate_solve_line (Column_x_positions*) const;
+
+  /// does curline fit on the paper?    
+  bool feasible (Line_of_cols) const;
+    
+
+  Simple_spacer* generate_spacing_problem (Line_of_cols, Interval) const;
+
+  virtual Array<Column_x_positions> do_solve() const=0;
+  virtual void do_set_pscore();
+
+public:
+  
+  Simple_spacer* (*get_line_spacer)();
+    
+  Break_algorithm();
+  void set_pscore (Paper_score*);
+
+  /// check if the spacing/breaking problem is well-stated
+  void problem_OK() const;
+  void OK() const;
+  Array<Column_x_positions> solve() const;
+};
+
+#endif // BREAK_HH
+
index 2807eca851a84d790f75afd09704d63d54398cea..10487514016568720136f2595f46f270e6f88e81 100644 (file)
 typedef Link_array<Paper_column>  Line_of_cols;
 
 struct Column_x_positions {
-  Line_spacer * spacer_l_;
+  Simple_spacer * spacer_l_;
   Line_of_cols cols_;
   Array<Real> config_;
   
+  Real force_f_;
   Real energy_f_;
   bool satisfies_constraints_b_;
 
-  void OK() const;
   ~Column_x_positions();
-  void solve_line();
-  void approximate_solve_line();
-  /** generate a solution with no regard to idealspacings or
-    constraints.  should always work */
-  void stupid_solution();
   Column_x_positions();
   void add_paper_column (Paper_column*c);
   void print() const;
index 98c3294bf3bfa680d57fdd4839c67a22656ae990..fd8fe4b37cd864a15fb8a819b1b359ffe750e8d9 100644 (file)
 #ifndef GOURLAY_BREAKING_HH
 #define GOURLAY_BREAKING_HH
 
-#include "break.hh"
+#include "break-algorithm.hh"
 
 /**
   A dynamic programming solution to breaking scores into lines
  */
 struct Gourlay_breaking : public Break_algorithm
 {
-    Real energy_bound_f_ ;
+  Real energy_bound_f_ ;
     
     /// maximum number of measures in a line
-    int max_measures_i_;
-    void do_set_pscore();
-    Array<Column_x_positions> do_solve() const;
-    Gourlay_breaking();
+  int max_measures_i_;
+  void do_set_pscore();
+  Array<Column_x_positions> do_solve() const;
+  Gourlay_breaking();
+  Real combine_demerits (Column_x_positions const&,Column_x_positions const&) const;
 };
 #endif // GOURLAY_BREAKING_HH
index 7d4a55efd6ff11c003c54eef04bb2240e5a0bf37..d3c177c2a6398843b2b3fd0746687d0e58bde4c8 100644 (file)
@@ -113,7 +113,7 @@ struct Lily_stream;
 struct Line_group_engraver;
 struct Line_of_score;
 struct Line_of_staff;
-struct Line_spacer;
+struct Simple_spacer;
 struct Linestaff;
 struct Local_key;
 struct Local_key_engraver;
index 80f7a32904e504633d5e8e80a4b18e742949fc48..712349d878af07fcd6b619a09990ec34039ff05b 100644 (file)
@@ -11,7 +11,7 @@
 #define SIMPLE_SPACER_HH
 
 #include "parray.hh"
-#include "line-spacer.hh"
+#include "lily-proto.hh"
 
 
 struct Spring_description
@@ -59,17 +59,20 @@ struct Spring_description
 
 
    Perhaps this is not a bad thing, because the 1st looks better anyway.  */
-struct Simple_spacer: public Line_spacer
+struct Simple_spacer
 {
   Array<Spring_description> springs_;
+
   Real force_f_;
+  Real indent_f_;
+  Real line_len_f_;
+  Real default_space_f_;
+  Real compression_energy_factor_f_;
 
   Simple_spacer ();
   
-  virtual void solve (Column_x_positions *) const;
-  virtual void lower_bound_solution (Column_x_positions *) const;
-  virtual void add_columns (Link_array<Paper_column>);
-    
+  void solve (Column_x_positions *) const;
+  void add_columns (Link_array<Paper_column>);
   void my_solve_linelen ();
   void my_solve_natural_len ();
   Real active_springs_stiffness () const;
index acaa17fc2b26efdd54d91991a2eab550edeeb9c5..58e04051752d014ef79de72abae9c580a06c91d6 100644 (file)
@@ -79,7 +79,8 @@ Sequential_music_iterator::~Sequential_music_iterator()
 {
   if (iter_p_)
     {
-      music_l_->warning (_ ("Must stop before this music ends"));
+      if (iter_p_->ok ())
+       music_l_->warning (_ ("Must stop before this music ends"));
       delete iter_p_;
       iter_p_ = 0;
     }
index d7bb59dbd2030b43865a43c92d651b57e1dca724..aef8245546d93d250159dbe1348ccacd8d54e6b2 100644 (file)
@@ -270,6 +270,7 @@ Stem::do_pre_processing ()
 
    TODO: more advanced: supply height of noteheads as well, for more advanced spacing possibilities
  */
+
 void
 Stem::set_spacing_hints () 
 {
index dae72e45408259cfd3e4d1602886c14bf49c5c2b..351e34d0081ea93f7963a8df9e2b27176e87ff41 100644 (file)
@@ -139,4 +139,8 @@ endincipit = \notes{
 }
 
 autoBeamOff = \property Voice.noAutoBeaming = "1"
-autoBeamOn = \property Voice.noAutoBeaming = ""  
+autoBeamOn = \property Voice.noAutoBeaming = ""
+
+
+emptyText = \property Voice.textEmptyDimension = "1"
+fatText = \property Voice.textEmptyDimension = ""
index f563177719d5ae1ca1f746d162f1fcc03217fa5a..92cb7f4e4ef36b2d0c82312f30aceea91f838109 100644 (file)
@@ -12,7 +12,9 @@ f = \textscript "e" "dynamic"                 % see feta-din layout
 ff = \textscript "ff" "dynamic"
 fff = \textscript "fff" "dynamic"
 fp = \textscript "fp" "dynamic"
+cresc = \textscript "cresc." "italic"
 sf = \textscript "sf" "dynamic"
+sfp = \textscript "sfp" "dynamic"
 sff = \textscript "sff" "dynamic"
 sfz = \textscript "sfz" "dynamic"
 fz = \textscript "fz" "dynamic"
index c53c16de089d74f9868c2fd1e65effe3f1a23e56..2733a9d9bcdd293218010a818df7c4e5511a3e83 100644 (file)
@@ -14,6 +14,18 @@ Prereq: tetex
 %description 
 @BLURB@
 
+%package documentation
+Summary: Prebuilt website containing all LilyPond documentation.
+Group: Applications/Publishing
+
+%description documentation
+@BLURB@
+
+The documentation package is rather big, due to the many pictures and
+different documentation formats.  It is really a rip-off from the
+LilyPond website.  If you have direct internet access, you may always
+read the documentation documentation there: http://www.lilypond.org.
+
 %prep
 %setup
 %build
@@ -21,17 +33,17 @@ Prereq: tetex
 make all
 ln -s /usr/share/texmf/fonts/tfm/public/cm/ tfm
 
+# urg
+# %build documentation
+# line 42: second %build
+# ok, now make sure that lilypond package will succeed,
+# even if documentation fails to build
 make -C Documentation  || true
 make htmldoc || true
 
-
 %install
 rm -rf $RPM_BUILD_ROOT
 mkdir -p $RPM_BUILD_ROOT/tmp/lilypond-rpm-doc
-mkdir htmldocs
-tar -C htmldocs -xzf out/htmldoc.tar.gz
-mkdir -p out/examples/
-tar -cf - input/  | tar -C out/examples/ -xf-
 
 strip lily/out/lilypond midi2ly/out/midi2ly
 make prefix="$RPM_BUILD_ROOT/usr" install
@@ -41,6 +53,15 @@ mkdir -p $RPM_BUILD_ROOT/etc/profile.d
 cp buildscripts/out/lilypond-profile $RPM_BUILD_ROOT/etc/profile.d/lilypond.sh
 cp buildscripts/out/lilypond-login $RPM_BUILD_ROOT/etc/profile.d/lilypond.csh
 
+# urg
+#%install documentation
+#line 63: second %install
+# again, make sure that main package installs even if doco fails
+mkdir -p htmldocs
+tar -C htmldocs -xzf out/htmldoc.tar.gz
+mkdir -p out/examples/
+tar -cf - input/  | tar -C out/examples/ -xf-
+
 %post
 
 touch /tmp/.lilypond-install
@@ -54,18 +75,9 @@ fi
 
 
 %files
-%doc htmldocs/
-%doc out/examples/
-%doc mutopia/
-
-
 # hairy to hook it in (possibly non-existing) emacs
 %doc mudela-mode.el
 
-# this gets too messy...
-# %doc input/*.ly
-# verbatim include of input: list the directory without issuing a %dir 
-
 /usr/bin/abc2ly
 /usr/bin/convert-mudela
 /usr/bin/mudela-book
@@ -81,3 +93,10 @@ fi
 /usr/share/locale/*/LC_MESSAGES/lilypond.mo
 /etc/profile.d/lilypond.*
 
+%files documentation
+# this gets too messy...
+# %doc input/*.ly
+# verbatim include of input: list the directory without issuing a %dir 
+%doc htmldocs/
+%doc out/examples/
+%doc mutopia/
index 79ee1ae87ac7ff3e8f5f969d99514ad6fbca8c79..7d36bb4cb56127b36fd657a527d60fa8e939a7c8 100644 (file)
@@ -1,9 +1,8 @@
 \header{
 filename =      "preludes-1.ly";
-% urg?
-%opus = "BWV 924";
-% piece = "1";
-% blz 1
+%
+% page 1
+%
 % Clavierb"uchlein f"ur W. Fr. Bach
 % Clav. W. Fr. Bach: 2-Praeambulum I
 % ca 1720
@@ -124,10 +123,8 @@ global = \notes{
                >
        >
        \paper{
-               \include "preludes-paper.ly";
                % no slur damping
                slur_slope_damping = 10.0;
-               gourlay_maxmeasures = 4.0;
        }
        \midi{ \tempo 4 = 80; }
        \header {
index 7a73c477d8c6912e79e27c2c7856c54b895ede1b..21c88c41780ef05a1dbce7a43967f66b9d0a58ab 100644 (file)
@@ -1,8 +1,9 @@
 \header{
 filename =      "preludes-2.ly";
-% blz 10
+%
+% page 10
 % 
-% Six Petits Pr eludes
+% Six Petits Preludes
 % Collection Johann Peter Kellner
 % ca 1703- 1707
 composer =      "Johann Sebastian Bach (1685-1750)";
@@ -112,8 +113,6 @@ global = \notes{
                >
        >
        \paper{
-               \include "preludes-paper.ly";
-               gourlay_maxmeasures = 4.0;
        }
        \midi{ \tempo 4 = 100; }
        \header {
diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-3.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-3.ly
new file mode 100644 (file)
index 0000000..46cf656
--- /dev/null
@@ -0,0 +1,184 @@
+%{
+
+ Six Petits Preludes,
+ Collection Johann Peter Kellner
+ ca 1703 - 1707
+
+
+
+ Kellner was a student of Bach's.  
+%}
+\header{
+  copyright =   "public domain";
+  source = "Ed. Henry Lemoine Urtext";
+  title =       "Pr\\\"aludum in C moll";
+  subtitle = "f\\\"ur Laute";
+  composer =    "Johann Sebastian Bach (1685-1750)";
+  enteredby =   "jcn,hwn";
+  copyright =   "public domain";
+
+  % mutopia headers.
+  mutopiatitle = "Prelude";
+  mutopiacomposer = "J.S.Bach";
+  mutopiaopus = "BWV999";
+  mutopiainstrument = "Piano";
+  style = "baroque";
+  copyright = "Public Domain";
+  tagline =    "\\\\This music is part of the Mutopia project, http://sca.uwaterloo.ca/Mutopia/\\\\It has been typeset and placed in the public domain by Jan Nieuwenhuizen.\\\\Unrestricted modification and redistribution is permitted and encouraged - copy this music and share it!";
+  maintainer = "janneke@gnu.org";
+  lastupdated = "1999/Oct/16";
+  
+}
+%{
+
+TODO: this file needs additional layouting: the upper voice should
+switch staffs to avoid leger lines.
+
+%}
+\version "1.2.13";
+
+
+upper =  \notes \transpose c'' {
+       r16 [c es g] [es c es c] r c r c |
+       r16 [c es g] [es c es c] r c r c |
+       r16 [c f as] [f c f c] r c r c |
+       r16 [c f as] [f c f c] r c r c |
+       r16 [b, d f] [d b, d b,] r b, r b, |
+       r16 [b, d f] [d b, d b,] r b, r b, |
+       r16 [g, c es] [c g, c g,] r g, r g, |
+       r16 [g, c es] [c g, c g,] r g, r g, |
+       r16 [g, c es] [c g, c g,] r g, r g, |
+       r16 [g, c es] [c g, c g,] r g, r g, |
+       r16 [a, c es] [c a, c a,] r a, r a, |
+       r16 [a, c es] [c a, c a,] r a, r a, |
+       r16 [a, bes, d] [bes, a, bes, a,] r a, r a, |
+       r16 [g, bes, d] [bes, g, bes, g,] r g, r g, |
+       r16 [bes, d g] [d bes, d bes,] r bes, r bes, |
+       r16 [a, es g] [es a, es a,] r a, r a, |
+       r16 [a, c fis] [c a, c a,] r a, r a, |
+       r16 [a, c fis] [c a, c a,] r a, r a, |
+       r16 [bes, d g] [d bes, d bes,] r bes, r bes, |
+
+       r16 [c fis a] [fis c fis c] r c r c |
+       r16 [d g bes] [g d g d] r d r d |
+       r16 [d fis c'] [fis d fis d] r d r d |
+
+       r16 [cis g bes] [g cis g cis] r cis r cis |
+       r16 [c! es a] [es c es c] r c r c |
+       r16 [bes, e g] [e bes, e bes,] r bes, r bes, |
+       r16 [a, c g] [c a, c a,] r a, r a, |
+
+       r16 [a, c fis] [c a, c a,] r a, r a, |
+       r16 [g, bes, e] [bes, g, bes, g,] r g, r g, |
+       r16 [fis, a, es] [a, fis, a, fis,] r fis, r fis, |
+       r16 [g, bes, d] [bes, g, bes, g,] r g, r g, |
+       r16 [g, a, c] [a, g, a, g,] r g, r g, |
+       r16 [fis, a, c] [a, fis, a, fis,] r fis, r fis, |
+       r16 [fis, a, c] [a, fis, a, fis,] r fis, r fis, |
+       r16 [g, a, c] [b, g, b, g,] r g, r g,
+       r16 [a, c fis] [c a, c a,] r a, r a, |
+       r16 [c fis a] [fis c fis c] r c r c |
+       r16 [b, d g] [d b, d b,] r b, r b, |
+       r16 [b, d f] [d b, d b,] r b, r b, |
+       r16 [g, c es] [c g, c g,] r g, r g, |
+       r16 [fis, c es] [c fis, c fis,] r fis, r fis, |
+       r16 [fis, c es] [c fis, c fis,] r fis, r fis, |
+       r16 [g, b, d] [b, g, b, d] [es c a, fis] |
+       \context Staff <
+               \context Voice=i {\stemup g2.-\fermata\mf}
+               \context Voice=ii {\stemdown <b,2. d>}
+       >
+       \stemboth
+       \bar "|.";
+}
+
+lower =  \notes{
+       c4 r [g8 es] |
+       c4 r [g8 es] |
+       c4 r [as8 f] |
+
+       c4 r [as8 f] |
+       c4 r [as8 f] |
+       c4 r [as8 f] |
+
+       c4-- r [es8 c] |
+       bes,!4-- r [es8 c] |
+       as,!4-- r [es8 c] |
+
+       g,4-- r [es8 c] |
+       fis,4-- r [es8 c] |
+       fis,4 r [fis8 d] |
+
+       g,4 r [d8 bes,] |
+       g,4 r [bes,8 g,] |
+       es,4 r [g8 es] |
+
+       c4 r [c8 a,] |
+       d,4 r [d8 a,] |
+       d,4 r [d8 a,] |
+       d,4 r [d8 bes,] |
+
+
+       d,4 r [es8 c] |
+       d,4 r [g8 d] |
+       d,4 r [a8 fis] |
+
+       d,4 r [g8 es] |
+       d,4 r [fis8 d] |
+       d,4 r [e8 cis] |
+       d,4 r [es8 c] |
+
+       d,4 r [d8 a,] |
+       d,4 r [cis8 bes,] |
+       d,4 r [c!8 a,] |
+
+       d,4 r [bes,8 g,] |
+       d,4 r [es8 c] |
+       d,4 r [d8 a,] |
+
+       g,4 r [es8 c] |
+       g,4 r [d8 b,] |
+       g,4 r [es8 c] |
+       
+       g,4 r [es8 c] |
+       g,4 r [g8 d] |
+       g,4 r [as8 f] |
+       g,4 r [es8 c] |
+
+       g,4 r [es8 c] |
+       g,4 r [es8 c] |
+       g,4 r r |
+       g,2._\fermata 
+       \bar "|.";
+}
+
+global  = \notes{
+       \time 3/4;
+       \key es;
+}
+
+\score{
+       \context PianoStaff <
+               \context Staff = up <
+                       \global
+                       \upper
+               >
+               \context Staff = down <
+                       \global
+                       \clef "bass";
+                       \lower
+               >
+       >
+       \paper{
+               \translator { \PianoStaffContext
+                       minVerticalAlign = 2.2 * \staffheight; 
+                       maxVerticalAlign = 2.2 * \staffheight ;
+               }
+               \translator {\OrchestralScoreContext }
+       }
+       \midi{ \tempo 4 = 100; }
+       \header{
+               opus =  "BWV 999";
+       }
+}
index 289131cdf3dc0cb76613894a6abe4df7a0be72af..406d00b953259f96d8cfbf66b802b421cd5c2925 100644 (file)
@@ -1,6 +1,8 @@
 \header{
 filename =     "preludes-4.ly";
-% blz 8
+%
+% page 8
+%
 % Clavierb"uchlein f"ur W. Fr. Bach
 % Clav. W. Fr. Bach: 27-Praeludium ex d neutral
 % ca 1720
@@ -127,7 +129,7 @@ two = \context Staff \notes\relative c{
 three = \notes\relative c{
        \context Voice=iii
        \stemdown 
-       d4-3 c-4 b e-3 |
+       d4-3 cis-4 b e-3 |
        a16 a,-5\mf( cis-3 a-5  d-2 e-1 fis-2 d-4 
        g-1 fis-3 g a  g b a g |
        )fis4 fis e a-4 |
@@ -203,8 +205,6 @@ global = \notes{
                >
        >
        \paper{
-               \include "preludes-paper.ly";
-               gourlay_maxmeasures = 2.0;
        }
        \midi{ \tempo 4 = 70; }
        \header{
index e51569a8881b37888c3cf45d4f96eefc2606c0e0..f26b187f990091242bbe5204c6e7ec290036aaf9 100644 (file)
@@ -1,6 +1,8 @@
 \header{
 filename =     "preludes-5.ly";
-% blz 2
+%
+% page 2
+%
 % Clavierb"uchlein f"ur W. Fr. Bach
 % Clav. W. Fr. Bach: 4-Praeludium 2
 % ca 1720
@@ -87,7 +89,7 @@ upper = \context Staff \notes\relative c{
        %40
        s4 s16 [d16-1-"m.d." f-2 a-4] \stemdown [d,-2-"m.g." f a] \stemup d-1 |
        \stemboth
-       f a-4 f d  f-4 d b d-5  gis-2 b a gis, |
+       f a-4 f d  f-4 d b d-5  gis,-2 b a gis |
        <g'!4.-5\f e a,> a8-5 
        <
                {
@@ -198,8 +200,6 @@ global = \notes{
                >
        >
        \paper{
-               \include "preludes-paper.ly";
-               gourlay_maxmeasures = 5.0;
        }
        \midi{ \tempo 4 = 90; }
        \header{
index ca330c2ec4ab41210178054236cd538b1530bf44..3cc949bbc4526e7269314f6aa575fd8e33867b42 100644 (file)
@@ -1,6 +1,8 @@
 \header{
 filename =     "preludes-6.ly";
-% blz 11
+%
+% page 11
+%
 % Six Petits Preludes
 % Collection Johann Peter Kellner
 % ca 1703 - 1707
@@ -20,9 +22,9 @@ one = \context Staff \notes\relative c{
        )d16-5\mf a'-4( g f  e f-4 cis-2 d-1 
        e8.-\mordent f16  d8.-\prall-1 cis16-3 |
        \stemup
-       )cis4\> ~ cis16 a \!d8 ~ d4 c-5 |
+       )cis4\> ~ cis16 a \!d8 ~ d4 a( |
        %5
-       b2-4 ~ b4 a-5 ~ |
+       )b2-4 ~ b4 a-5 ~ |
        a16 a-5 \stemup g! f g4-4\< ~ g f-3 ~ |
        \!f16 a g f  e16 g8.-5 ~  g16 g-5 f-4 e-3  d-1 f8.-4 ~ |
        f16 f-3 e d b'4 a-5 g-5 |
@@ -80,10 +82,12 @@ four = \context Staff \notes\relative c{
        \context Voice=iv
        \stemdown 
        d2-3 cis-4 |
-       \skip 1*3; |
-       %5
+       \skip 1*2; |
+       \skip 4*3;
        \translator Staff=upper \stemup \property Voice.horizontalNoteShift = 1 
-       a'4 gis-2 ~ gis16 gis-3 fis e 
+       c''4-5 |
+       %5
+       a gis-2 ~ gis16 gis-3 fis e 
        \skip 4*1;
        \translator Staff=lower \stemdown \property Voice.horizontalNoteShift = 0 
        \stemup
@@ -117,8 +121,6 @@ global = \notes{
                >
        >
        \paper{
-               \include "preludes-paper.ly";
-               gourlay_maxmeasures = 3.0;
        }
        \midi{ \tempo 4 = 40; }
        \header{
diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-score.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-score.ly
new file mode 100644 (file)
index 0000000..845f084
--- /dev/null
@@ -0,0 +1,32 @@
+% This is the main score file of the Petites Preludes
+
+\header{
+title =         "Petites Pr\'eludes";
+% urg subtitle = "Clavierb\\"uchlein";
+subtitle = "Clavierbuechlein";
+composer =      "Johann Sebastian Bach (1685-1750)";
+enteredby =     "jcn";
+copyright =     "public domain";
+
+  % mutopia headers.
+  mutopiatitle = "Petites Pr&aigueludes";
+  mutopiacomposer = "J.S.Bach";
+  mutopiaopus = "BWV924,939,999,925,926,940";
+  mutopiainstrument = "Piano";
+  style = "baroque";
+  copyright = "Public Domain";
+  tagline =    "\\\\This music is part of the Mutopia project, http://sca.uwaterloo.ca/Mutopia/\\\\It has been typeset and placed in the public domain by Jan Nieuwenhuizen.\\\\Unrestricted modification and redistribution is permitted and encouraged - copy this music and share it!";
+  maintainer = "janneke@gnu.org";
+  lastupdated = "1999/Oct/16";
+  
+}
+
+
+\paper { linewidth = 18.0\cm; }
+
+\include "preludes-1.ly"
+\include "preludes-2.ly"
+\include "preludes-3.ly"
+\include "preludes-4.ly"
+\include "preludes-5.ly"
+\include "preludes-6.ly"
index 2091bb1ae4f886f91450165b2edc399e9cfdcb3e..da8e76a773cba0ce01e88139c2f3ff5308fceb3a 100644 (file)
@@ -1,19 +1,5 @@
-\header{
-filename =      "allemande-cello.ly";
-title =         "Solo Cello Suites";
-subtitle = "Suite II";
-%piece = "Allemande";
-% opus =        "BWV 1008";
-opus =  "";
-composer =      "Johann Sebastian Bach (1685-1750)";
-enteredby =     "JCN";
-copyright =     "public domain";
-}
 
-%{
- Tested Features:breaking algorithm, chords, multivoice, accents, 
- dotted slurs
-%}
+
 
 \version "1.2.0";
 
@@ -46,11 +32,10 @@ allemande_cello_staff = \context Staff <
 
 \score{
        \$allemande_cello_staff
-       \paper{
-               \include "scs-paper.ly";
-               gourlay_maxmeasures = 3.0;
-               
-       }
+       \paper{ }
        \midi{ \tempo 4 = 45; }
-       \header{ piece = "Allemande"; }
+       \header{ piece = "Allemande";
+         opus = "";
+
+         }
 }
index 0be45ea104faaad556335dcdc5b6351a85223dcc..543edf7588dc5e4d116275c5198a7dd1969d60df 100644 (file)
@@ -1,19 +1,3 @@
-\header{
-filename =      "allemande-viola.ly";
-title =         "Solo Cello Suites";
-subtitle = "Suite II";
-% piece = "Allemande";
-% opus =        "BWV 1008";
-opus =  "";
-composer =      "Johann Sebastian Bach (1685-1750)";
-enteredby =     "JCN";
-copyright =     "public domain";
-}
-
-%{
- Tested Features:breaking algorithm, chords, multivoice, accents, 
- dotted slurs
-%}
 
 \version "1.2.0";
 
@@ -46,11 +30,10 @@ allemande_viola_staff = \context Staff <
 
 \score{
        \$allemande_viola_staff
-       \paper{
-               \include "scs-paper.ly";
-               gourlay_maxmeasures = 3.0;
-       }
+       \paper{ }
        \midi{ \tempo 4 = 45; }
-       \header{ piece = "Allemande"; }
+       \header{ piece = "Allemande";
+         opus = "";
+       }
 }
 
index 7dead3a18fc3bd75ea03eea4bcd1fd9a4658d97a..e28db4df3c9eb7a588bb6761fccc4f11e239ad74 100644 (file)
@@ -1,19 +1,3 @@
-\header{
-filename =      "courante-cello.ly";
-title =         "Solo Cello Suites";
-subtitle = "Suite II";
-% piece = "Courante";
-% opus =        "BWV 1008";
-opus =  "";
-composer =      "Johann Sebastian Bach (1685-1750)";
-enteredby =     "JCN";
-copyright =     "public domain";
-}
-
-%{
- Tested Features:breaking algorithm, chords, multivoice, accents, 
- dotted slurs
-%}
 
 \version "1.2.0";
 
@@ -46,11 +30,10 @@ courante_cello_staff = \context Staff <
 
 \score{
        \$courante_cello_staff
-       \paper{
-               \include "scs-paper.ly";
-               gourlay_maxmeasures = 4.0;
-       }
+       \paper {}
        \midi{ \tempo 4 = 55; }
-       \header{ piece = "Courante"; }
+       \header{ piece = "Courante";
+                 opus = "";
+                 }
 }
 
index b1e9d556d9ee933161169937ec53e9c9e42dd257..9bc027b86d7e86a39534773af8b9751a370b9cb7 100644 (file)
@@ -1,19 +1,5 @@
-\header{
-filename =      "courante-viola.ly";
-title =         "Solo Cello Suites";
-subtitle = "Suite II";
-% piece = "Courante";
-% opus =        "BWV 1008";
-opus =  "";
-composer =      "Johann Sebastian Bach (1685-1750)";
-enteredby =     "JCN";
-copyright =     "public domain";
-}
 
-%{
- Tested Features:breaking algorithm, chords, multivoice, accents, 
- dotted slurs
-%}
+
 
 \version "1.2.0";
 
@@ -46,11 +32,11 @@ courante_viola_staff = \context Staff <
 
 \score{
        \$courante_viola_staff
-       \paper{
-               \include "scs-paper.ly";
-               gourlay_maxmeasures = 4.0;
-       }
+       \paper{ }
        \midi{ \tempo 4 = 55; }
-       \header{ piece = "Courante"; }
+       \header{
+               opus= "" ; 
+               piece ="Courante";
+       }
 }
 
index 1febb285303013062d71e1f2df65ff2a0dbf3d86..c1742e50c383a7d112ac8bca230632c16ecbc3f5 100644 (file)
@@ -1,19 +1,5 @@
-\header{
-filename =      "gigue-cello.ly";
-title =         "Solo Cello Suites";
-subtitle = "Suite II";
-% piece = "Gigue";
-% opus =        "BWV 1008";
-opus =  "";
-composer =      "Johann Sebastian Bach (1685-1750)";
-enteredby =     "JCN";
-copyright =     "public domain";
-}
 
-%{
- Tested Features:breaking algorithm, chords, multivoice, accents, 
- dotted slurs
-%}
+
 
 \version "1.2.0";
 
@@ -51,8 +37,6 @@ gigue_cello_staff = \context Staff <
 \score{
        \$gigue_cello_staff
        \paper{
-               \include "scs-paper.ly";
-               gourlay_maxmeasures = 7.0;
                \translator{
                        \VoiceContext
                        beamAutoEnd_8 = "3/4";
@@ -60,6 +44,8 @@ gigue_cello_staff = \context Staff <
                }
        }
        \midi{ \tempo 4 = 60; }
-       \header{ piece = "Gigue"; }
+       \header{
+       opus= "" ; 
+piece ="Gigue"; }
 }
 
index d533d6c0da26753ba4f6e601699f969085c5ee2b..b5fa115eacece9c83a50f67c89a9edd55b57dc05 100644 (file)
@@ -1,19 +1,4 @@
-\header{
-filename =      "gigue-viola.ly";
-title =         "Solo Cello Suites";
-subtitle = "Suite II";
-% piece = "Gigue";
-% opus =        "BWV 1008";
-opus =  "";
-composer =      "Johann Sebastian Bach (1685-1750)";
-enteredby =     "JCN";
-copyright =     "public domain";
-}
 
-%{
- Tested Features:breaking algorithm, chords, multivoice, accents, 
- dotted slurs
-%}
 
 \version "1.2.0";
 
@@ -50,8 +35,6 @@ gigue_viola_staff = \context Staff <
 \score{
        \$gigue_viola_staff
        \paper{
-               \include "scs-paper.ly";
-               gourlay_maxmeasures = 7.0;
                \translator{
                        \VoiceContext
                        beamAutoEnd_8 = "3/4";
@@ -59,6 +42,8 @@ gigue_viola_staff = \context Staff <
                }
        }
        \midi{ \tempo 4 = 60; }
-       \header{ piece = "Gigue"; }
+       \header{
+       opus= "" ; 
+       piece ="Gigue"; }
 }
 
index 40f3a86ce258edfe92c2a2e5cd818fb9727a5c31..840bf07e8c3f1b15f825ce1da42ffcdbfdb38e4e 100644 (file)
@@ -1,20 +1,5 @@
-\header{
-filename =      "menuetto-cello.ly";
-title =         "Solo Cello Suites";
-subtitle = "Suite II";
-%piece = "Menuetto I";
-source =        "?";
-% opus =        "BWV 1008 no. 5";
-opus =  "";
-composer =      "Johann Sebastian Bach (1685-1750)";
-enteredby =     "JCN";
-copyright =     "public domain";
-}
 
-%{
- Tested Features:breaking algorithm, chords, multivoice, accents, 
- dotted slurs
-%}
+
 
 \version "1.2.0";
 
@@ -66,15 +51,15 @@ menuetto_i_cello_staff = \context Staff <
 \score{
        \$menuetto_i_cello_staff
        \paper{
-               \include "scs-paper.ly";
-               gourlay_maxmeasures = 7.0;
                \translator{
                        \VoiceContext
                        beamAutoEnd_8 = "3/4";
                }
        }
        \midi{ \tempo 4 = 110; }
-       \header{ piece = "Menuetto I"; }
+       \header{
+       opus= "" ; 
+       piece ="Menuetto I"; }
 }
 
 menuetto_ii_cello_global = \notes{
@@ -103,9 +88,6 @@ menuetto_ii_cello_staff = \context Staff <
 \score{
        \$menuetto_ii_cello_staff
        \paper{
-               \include "scs-paper.ly";
-               gourlay_maxmeasures = 7.0;
-               
                \translator{
                        \VoiceContext
                        beamAutoEnd_8 = "3/4";
index 0145f42f8b5a64938f17514511038d30216b6093..614ddd16171f8cd07c591d4784a9d475c89a0231 100644 (file)
@@ -1,21 +1,5 @@
-\header{
-filename =      "menuetto-viola.ly";
-title =         "Solo Cello Suites";
-subtitle = "Suite II";
-% piece = "Menuetto I";
-description =   "Transcribed for Viola";
-source =        "?";
-% opus =        "BWV 1008 no. 5";
-opus =  "";
-composer =      "Johann Sebastian Bach (1685-1750)";
-enteredby =     "JCN";
-copyright =     "public domain";
-}
 
-%{
- Tested Features:breaking algorithm, chords, multivoice, accents, 
- dotted slurs
-%}
+
 
 \version "1.2.0";
 
@@ -72,7 +56,9 @@ menuetto_i_viola_staff = \context Staff <
                }
        }
        \midi{ \tempo 4 = 110; }
-       \header{ piece = "Menuetto I"; }
+       \header{
+       opus= "" ; 
+       piece ="Menuetto I"; }
 }
 
 menuetto_ii_viola_global = \notes{
@@ -99,14 +85,14 @@ menuetto_ii_viola_staff = \context Staff <
 \score{
        \$menuetto_ii_viola_staff
        \paper{
-               \include "scs-paper.ly";
-               gourlay_maxmeasures = 7.0;
                \translator{
                        \VoiceContext
                        beamAutoEnd_8 = "3/4";
                }
        }
        \midi{ \tempo 4 = 130; }
-       \header{ piece = "Menuetto II"; }
+       \header{
+       opus= "" ; 
+       piece ="Menuetto II"; }
 }
 
index 3bdb49c83910c7db694f0a617ecdf411304adf69..59231c48e30aedcabb018e8fca07499db0f0d904 100644 (file)
@@ -1,19 +1,5 @@
-\header{
-filename =      "prelude-cello.ly";
-title =         "Solo Cello Suites";
-subtitle = "Suite II";
-%piece = "Pr\\'elude";         % duh
-opus =  "BWV 1008";
-% opus =        "";
-composer =      "Johann Sebastian Bach (1685-1750)";
-enteredby =     "JCN";
-copyright =     "public domain";
-}
 
-%{
- Tested Features:breaking algorithm, chords, multivoice, accents, 
- dotted slurs
-%}
+
 
 \version "1.2.0";
 
@@ -38,11 +24,10 @@ prelude_cello_staff = \context Staff <
 
 \score{
        \$prelude_cello_staff
-       \paper{
-               \include "scs-paper.ly";
-               gourlay_maxmeasures = 7.0;
-       }
+       \paper{ }
        \midi{ \tempo 4 = 40; }
-       \header{ piece = "Pr\\'elude"; }        
+       \header{
+       opus= "" ; 
+       piece ="Pr\\'elude"; }  
 }
 
index d708f602dc166f59dc37fa68ae73719e751ace12..ca34467d2bd490d9a951869cc44511ddfea67543 100644 (file)
@@ -1,19 +1,5 @@
-\header{
-filename =      "prelude-viola.ly";
-title =         "Solo Cello Suites";
-subtitle = "Suite II";
-% piece = "Pr\\'elude";                % duh
-opus =  "BWV 1008";
-% opus =        "";
-composer =      "Johann Sebastian Bach (1685-1750)";
-enteredby =     "JCN";
-copyright =     "public domain";
-}
 
-%{
- Tested Features:breaking algorithm, chords, multivoice, accents, 
- dotted slurs
-%}
+
 
 \version "1.2.0";
 
@@ -38,11 +24,10 @@ prelude_viola_staff = \context Staff <
 
 \score{
        \$prelude_viola_staff
-       \paper{
-               \include "scs-paper.ly";
-               gourlay_maxmeasures = 7.0;
-       }
+       \paper{ }
        \midi{ \tempo 4 = 40; }
-       \header{ piece = "Pr\\'elude"; }
+       \header{
+       opus= "" ; 
+       piece ="Pr\\'elude"; }
 }
 
index 2ec74f62578c755ff5b4a49aa52544e75a626abb..9a9b238eff4c8c673120d26a4c6d6364e86a03d0 100644 (file)
@@ -1,19 +1,5 @@
-\header{
-filename =      "sarabande-cello.ly";
-title =         "Solo Cello Suites";
-subtitle = "Suite II";
-% piece = "Sarabande";
-% opus =        "BWV 1008";
-opus =  "";
-composer =      "Johann Sebastian Bach (1685-1750)";
-enteredby =     "JCN";
-copyright =     "public domain";
-}
 
-%{
- Tested Features:breaking algorithm, chords, multivoice, accents, 
- dotted slurs
-%}
+
 
 \version "1.2.0";
 
@@ -41,11 +27,10 @@ sarabande_cello_staff = \context Staff <
 
 \score{
        \$sarabande_cello_staff
-       \paper{
-               \include "scs-paper.ly";
-               gourlay_maxmeasures = 5.0;
-       }
+       \paper{ }
        \midi{ \tempo 4 = 40; }
-       \header{ piece = "Sarabande"; }
+       \header{
+       opus= "" ; 
+       piece ="Sarabande"; }
 }
 
index 80bfce29dc13a2880db9b128aaae78a55590d8f5..fdb2b4e899aab670bd2d3f4979b0f3321805cc8e 100644 (file)
@@ -1,20 +1,3 @@
-\header{
-filename =      "sarabande-viola.ly";
-title =         "Solo Cello Suites";
-subtitle = "Suite II";
-% piece = "Sarabande";
-% opus =        "BWV 1008";
-opus =  "";
-composer =      "Johann Sebastian Bach (1685-1750)";
-enteredby =     "JCN";
-copyright =     "public domain";
-}
-
-%{
- Tested Features:breaking algorithm, chords, multivoice, accents, 
- dotted slurs
-%}
-
 \version "1.2.0";
 
 \include "sarabande-urtext.ly";
@@ -41,11 +24,10 @@ sarabande_viola_staff = \context Staff <
 
 \score{
        \$sarabande_viola_staff
-       \paper{
-               \include "scs-paper.ly";
-               gourlay_maxmeasures = 5.0;
-       }
+       \paper{ }
        \midi{ \tempo 4 = 40; }
-       \header{ piece = "Sarabande"; }
+       \header{
+       opus= "" ; 
+       piece ="Sarabande"; }
 }
 
index 145e9737475834484c42386d80edcf224ab375f7..f71c9a130e9962b2a3e51ee6685c8f15dd37fc58 100644 (file)
@@ -1,3 +1 @@
 linewidth = 180.\mm;
-gourlay_maxmeasures = 10.0;
-\translator { \BarNumberingStaffContext }
index d5702db6658208e39299b11656c593b98704b01a..a12b5b723601554118c2b49209d53b024dcbc7c7 100644 (file)
@@ -3,5 +3,6 @@ instrument="Cello";
 }
 
 instrument="cello"
+
 \include "solo-cello-suite-ii.ly"
 
index 1896249d91a4de75f02940bc9725f2bff8b248d5..df83051e2337888a332fbafed65478aef80b59ba 100644 (file)
@@ -1,12 +1,11 @@
-\header{
-filename =      "solo-cello-suite-ii.ly";
-title =         "Solo Cello Suites";
-subtitle = "Suite II";
-opus =  "BWV 1008";
-composer =      "Johann Sebastian Bach (1685-1750)";
+\include "header.ly"
+% urg
+
+\paper {
+linewidth = 180.\mm;
+\translator { \BarNumberingStaffContext }
 }
 
-% urg
 
 % \include "prelude-" + \instrument + ".ly";
 
index 7c436a161970fe6497cc345289273d8f715892f7..bc10564db549f0abf285b3e1575ef45760940883 100644 (file)
@@ -3,6 +3,7 @@
 depth = ../..
 
 examples=# cadenza
+SUBDIRS=horn-concerto-3
 LOCALSTEPMAKE_TEMPLATES=mutopia
 
 include $(depth)/make/stepmake.make
diff --git a/mutopia/W.A.Mozart/horn-concerto-3/GNUmakefile b/mutopia/W.A.Mozart/horn-concerto-3/GNUmakefile
new file mode 100644 (file)
index 0000000..13fb5e5
--- /dev/null
@@ -0,0 +1,9 @@
+depth = ../../..
+
+examples=
+SUBDIRS=
+LOCALSTEPMAKE_TEMPLATES=mutopia
+
+include $(depth)/make/stepmake.make
+
+
diff --git a/mutopia/W.A.Mozart/horn-concerto-3/allegro.ly b/mutopia/W.A.Mozart/horn-concerto-3/allegro.ly
new file mode 100644 (file)
index 0000000..2352cb5
--- /dev/null
@@ -0,0 +1,143 @@
+
+
+allegro =
+       \notes
+       \relative c'
+{
+       \time 4/4;
+       r4 |
+       R1*4
+       c'2^"tutti" g
+       c, r
+       R1*1
+       r8 [g' g g] [g g e c]
+       g'4 g, r2
+       R1*18
+       r2 r4 g'4 |
+       e'4. () c8 [f (d c )b ]
+       [b()c] g4 r8 [g-. c-. e-.]
+       g2. ( [g16-.( f e ))f]
+       dis4 () e4-- r8 [c8-. c-. c-.]
+       c4.( [d16 )e]  f4 () e
+       a,() d g,() c
+       d-. d-. \grace e16( [)d8. c16 d8. e16]
+       c4 r r2
+       R1*3
+       c,2 ~ [c8 e( g )c]
+       [c () b ] b4-. r2
+       [c,8 () e g c] [e()g e c]
+       [c()b] b4-- r2
+       c4.() g8 e'4.() c8
+       [g'()d ] d4-- r4 d
+       [d8 () c] c4.( [d16 e] [d8 )c]
+       [c8(-\trill )b] b4 r2 |
+       d2( ~  [d8 e16 d] [c8 )b] |
+       [b()a-.] a4-> r8 [a-. a-. a-.]
+       a4 cis e g
+       \grace { \longgrace g16( }
+       [ fis8 e16 )d] d4-. r2 | 
+       \mark "B";
+       R1*3
+       r2 r4 [d8 (b ]
+       [a )g d'( b] [a )g e'( c ]
+       [b8 )a] a4 r4 [a8-. a-.]
+       [a( \< b c \!cis\< ]  d4 \! )c
+       [ais8() b] r8 b [b()c] r c
+       [cis ()d] r4 r2
+       g,1 ~ g2 ~ [g8 a16 b] [c()d e c]
+       f4-. d-. b-. g-.
+       r1
+       \emptyText
+       c,2\p e4 g c_\cresc e g4. e8 |
+       d4. [e16 fis] [g () fis e d] [c() b a g]
+       a1(-\trill \grace{ [g16 a] }
+       )g4 r r2
+       R1*15
+       \mark "D";
+       bes2-\mf d4 f
+       g,2~ [g8 g'( es )c]|
+       bes4( )a4. [c8 d es]
+       cis4()d r8 [bes (c )d]
+       es2 () d4 r
+       es2\p () d4 r
+       [c8(\mf g' es )c] bes4()c-.
+       c4.( cis8 )d4 r
+       R1*2
+       es1~es1|
+       e!
+       d
+       c
+       c,
+       e'
+       e,
+       c'2 [b8( a gis )a]
+       [gis8 e gis b ] e4 r |
+       r8 [e, a c] dis4 r
+       r8 [e, a c] dis4 r
+       r8 [e, g b] e4 r
+       r8 [fis, b dis] fis4 r
+       r8 [gis, b d] f4 r
+       r8 [g, b d_"rit."] f4 r
+       \mark  "E";
+       R1*8
+       r2 r8 [g,-. g-. g-.]
+       e'4.() c8 [f( d c )b]
+       [b()c] g4 r8 [g c e] |
+       g2. ( [g16( f e ))f]
+       dis4()e r8 [c-. c-. c-.]
+       c4.( [d16 e] f4 )e
+       a, ( d g, )c
+       d d [
+           \grace { e8( }
+          d8. c16 d8. e16] 
+       c4 r r2
+       \mark "F";
+       R1*3
+       c,2~[c8( e g )c]
+       [c8()b] b4 r2
+       [c,8()e g c ] [e ()g e c]
+       [c()b] b4 r2
+       c2 (bes )a [a8(b c )cis]
+       d2( ~ [d8 e16 d] [\grace { \longgrace d16( } )c8 b16 )c]
+       \grace { \longgrace c16 }[ b8( a16 )g] g4 r2 |
+       R1*3
+       r2 r4 [g'8()e]
+       \mark "G";
+       [d()c g'()e] [d()c a'()f]
+       [e()d] d4 r [d8 d]
+       d4(~ [d16 e d )e] [g8() f e d] |
+       c4 r r2
+       r1
+       c1 ~
+       c |
+       [c8-. c-.] r c-. [cis()d] r d-. |
+       [dis()e] r e-. [e()f] r f-. |
+       g4-. e-. c-. bes-. |
+       g-.\ff e-. c-. r |
+       a'2 ~ [a8_"sempre f" b16 c] [d( e d )e]%TODO
+
+       f4. () d8 [f8 ()d f d]
+       [c (e] )g2 \grace  { \longgrace f16( }  [)e8( d16 )c]
+       \grace { \aftergrace [c16 d] }
+       d1-\trill 
+       c4 r r2
+       r1 |
+       \mark "H";
+       \times 2/3 { [ c8 ()b a ] }     \times 2/3 { [ g a b] } \times 2/3 { [ c d e] } \times 2/3 { [ f()e d] } |
+       \times 2/3 { [ c () b a ] } \times 2/3 { [ g a b] } \times 2/3 { [ c d e] } \times 2/3 { [ f()e d] }|
+       c4 \times 2/3 {  r8 [g'()e]} c4 \times 2/3 {  r8 [e () c]} |
+       g4 \times 2/3 {  r8 [c8() g] } \times 2/3 { [ e ()g e] } \times 2/3 { [c ()e c] }|
+       g4 r8 g'\f [a b c d]|
+       \grace { \aftergrace [c16 d] }
+       d1(-\trill
+       )c4 r r2
+       R1*3
+       \grace{ \aftergrace [c16 d] }
+       c1-\trill_"Cadenza ad lib." ( 
+       )c4 r r2
+       R1*2
+       r4 [c8.^"tutti"-\f c16] c4 c
+       c [c,8. c16] c4 c|
+       c2 r2 \bar "|.";
+       
+}
diff --git a/mutopia/W.A.Mozart/horn-concerto-3/cadenza.ly b/mutopia/W.A.Mozart/horn-concerto-3/cadenza.ly
new file mode 100644 (file)
index 0000000..f7e1006
--- /dev/null
@@ -0,0 +1,82 @@
+\header{
+  title =       "Konzert Nr. 3 Es dur";
+  subtitle = "Cadenza ad lib.";
+  enteredby =   "HWN";
+  copyright = "public domain";
+  instrument = "Horn in Es";
+
+  mutopiatitle =        "Cadenza for horn concerto no. 3";
+  mutopiacomposer = "Anon.";
+  style = "classical";
+  tagline =    "\\\\This music is part of the Mutopia project, http://sca.uwaterloo.ca/Mutopia/\\\\It has been typeset and placed in the public domain by Han-Wen Nienhuys.\\\\Unrestricted modification and redistribution is permitted and encouraged - copy this music and share it!";
+  maintainer = "hanwen@cs.uu.nl";
+  lastupdated = "1999/Oct/16";
+  source = "Breitkopf & Haertel + own modifications";
+}
+
+
+
+%{
+
+This is a cadenza to Mozart 3, as given to me by Arthur Verhofstad
+(one of my teachers). The source is unknown
+
+Lots more can be found in Uijlenspiegel 1998 no. 1, in an article by
+Herman Jeurissen.
+
+%}
+
+\version "1.2.13";
+
+
+cad = \notes  \relative c' {
+       \property Score.midiInstrument = "french horn"
+       \context Staff {
+       \emptyText
+       \cadenza 1;
+       
+
+       \clef "violin";
+       c'4.\mf g8
+
+
+       [e'^"accel" () d  c b]
+       [b() c] g-\fermata
+               \bar "empty";
+                       c, ~ [c^\turn_"rubato" e g c]
+       e4. e8 [g () f_"rit" e d]
+
+       dis4() e4
+               \bar "" ;
+               r8 [c16 d] [e f g gis]
+
+       a4-> f,() e g'
+       f-> d,() cis e'
+
+       d4^\fermata
+               \bar "" ;
+
+       r8 a [b cis]
+       \grace { e8( }
+       [d16 cis d e]
+       f4 ~ [f16 e d c]
+       b4-\turn
+       \times 2/3 { [ d8 c8 a8] }
+       g2~
+               \bar "" ;
+       [g16 c, e g] [c e, g c]
+       [e g, c e] g4^\fermata 
+               \bar "" ;
+       [g8.(_"a tempo" e16 g8. )e16]
+       a4. g8 [f8 e8 d8 c8]
+       g2 d'2-\trill
+       \grace { [c32 d] }
+        c4
+       } }
+       
+\score {
+       \notes { \cad }
+%      \midi { \tempo 4 = 90; }
+       \paper {  casting_algorithm = \Wordwrap;}
+
+}
diff --git a/mutopia/W.A.Mozart/horn-concerto-3/horn-concerto-3.ly b/mutopia/W.A.Mozart/horn-concerto-3/horn-concerto-3.ly
new file mode 100644 (file)
index 0000000..4b6e4b4
--- /dev/null
@@ -0,0 +1,84 @@
+\header{
+  title =       "Konzert Nr. 3 Es dur";
+  subtitle = "f\\\"ur Horn und Orchester";
+  composer =    "Wolfgang Amadeus Mozart (1756-1792)";
+  enteredby =   "HWN";
+  opus = "K.V. 447";
+
+  copyright = "public domain";
+  instrument = "Horn in Es";
+  
+  mutopiatitle =        "Horn Concerto 3";
+  mutopiacomposer = "W.A.Mozart";
+  mutopiaopus = "KV447";
+  style = "classical";
+  tagline =    "\\\\This music is part of the Mutopia project, http://sca.uwaterloo.ca/Mutopia/\\\\It has been typeset and placed in the public domain by Han-Wen Nienhuys.\\\\Unrestricted modification and redistribution is permitted and encouraged - copy this music and share it!";
+  maintainer = "hanwen@cs.uu.nl";
+  lastupdated = "1999/Oct/16";
+  source = "Breitkopf & Haertel + own modifications";
+}
+
+%%%%%%% This is the main file.
+
+%{
+
+This is the Mozart 3 for horn.  It's from an old and fumbled part I
+have with lots of unidentified staccato dots, marcato's and dynamic
+markings; I left off most of them.
+
+Some of the marks are mine. Some of them are my teachers'.  Some of
+them are my teachers' teachers.  Some of them are B&H's. Some of them
+are Mozart's.
+
+--hwn
+
+%}
+
+longgrace = \property Grace.stemStyle = ""
+aftergrace = \property Grace.graceAlignPosition = \right
+
+
+\version "1.2.13";
+
+\include "allegro.ly"
+\include "romanze.ly"
+\include "rondo.ly"
+
+\paper{
+ \translator { \StaffContext \consists Mark_engraver;  }
+ \translator { \ScoreContext
+       skipBars = 1;
+  }
+  linewidth = 180. \mm;
+}
+
+\score
+{
+       < \allegro
+         \property Score.midiInstrument = "french horn"
+       >
+       \paper{ }
+       \header { piece = "allegro"; opus = ""; }       
+       \midi{ \tempo 4=90; }
+}
+
+\score
+{
+       < \romanze
+         \property Score.midiInstrument = "french horn"
+       >
+       \header { piece = "romanze"; opus = ""; }       
+       \midi{ \tempo 4 = 70;  }
+       \paper{}
+}
+\score
+{
+       < \rondo
+         \property Score.midiInstrument = "french horn"
+       >
+       \header { piece = "rondo"; opus = ""; }
+       \paper{
+               \translator { \BarNumberingStaffContext }
+       }
+       \midi{ \tempo 4 = 100; }
+}
diff --git a/mutopia/W.A.Mozart/horn-concerto-3/romanze.ly b/mutopia/W.A.Mozart/horn-concerto-3/romanze.ly
new file mode 100644 (file)
index 0000000..34906bd
--- /dev/null
@@ -0,0 +1,73 @@
+
+
+romanze = \notes \relative c' {
+       \key F;
+       \time 2/2;
+       \emptyText
+       c'4.( _\textscript "p. con molto espressione" "italic"  )
+               f8 a,4 a
+       [bes8( c d bes] )g4 r8 g
+       a r bes r c r [d()bes]
+       a2( [)g8 a( bes )b]
+       c4. () f8 a,4 a |
+       [bes8 (c d) bes] g4 r8 c,-.
+       [c8( e g )bes] [a( c f ) d]
+       c r e r f r r4
+       \mark "A";
+       R1*8
+       g4. ()f8  [e( d c) bes]
+       [bes( a d )c] c4 r
+       R1*2
+       g'4.() f8 [e( d c) bes]
+       [bes (a d ) c] c4 r
+       r1
+       [c16\mf () d c-. d-.] [e () f e-. f-.] [g()e c-. c-.] [f()d b-. b-.]
+       [c16\p () d c-. d-.] [e () f e-. f-.] [g()e c-. c-.] [f()d b-. b-.]
+       [c8 \< c, c c] [c c c \! c]     %B&H use tremolo.
+       \mark "B";
+       c1\f
+       R1*9
+       f'4.(\p )d8 b4 r8 g
+       g'4.() e8 c4 r8 cis |
+       d4(~ [d16 e d )e] [f8 () d f() d]
+       c2()b4 r
+       R1*4
+       e4. ()g8 c,4 ()cis
+       [d8( e f )d] b4 r8 g
+       [c ()e g g] [g( f e )d]
+       c4(
+       \grace { e16 }
+       [d8. )c16] [c8 c--( c-- )c--]
+       \mark "C";
+       des1\sfp
+       g,1\sfp 
+       c\sfp   
+       c,\sfp  
+       R1*3
+       r8 [c-\p c c] c2~
+       [c8 c' c c] c2~
+       [c8 \< e( g f] [e \!d \> c bes]
+       \mark "D";
+       \! )a4 r r2
+       R1*3
+       c4.-\p () f8 a,4 a |
+       [bes8 (c d) bes] g4 r8 c,-.
+       [c8( e g )bes] [a( c f ) d]
+       c-. r e-. r f4 r4
+       R1*3
+       r2 r4 r8 c,8
+       [c8( e g )bes] [a( c f ) d]
+       c-. r e-. r f4 r4       
+       g,1\pp
+       c,2~c4. c8
+       [c8( e g )bes] [a( c f ) d]
+       c r e r f4 r4                   % -. ? 
+
+       r1
+       c8-. r e-. r f4 r4
+
+       % Finish with F if played separately 
+       c8-. (  r c,-. r ) c4 r4| 
+       \bar "|.";
+}
+
diff --git a/mutopia/W.A.Mozart/horn-concerto-3/rondo.ly b/mutopia/W.A.Mozart/horn-concerto-3/rondo.ly
new file mode 100644 (file)
index 0000000..f10ace9
--- /dev/null
@@ -0,0 +1,160 @@
+
+rondotheme = \notes \relative c' {
+       [c'8 c c] [c c c]
+       c4( cis8 )d r g,
+       [d'8 d d] [d d d]
+       d4( dis8 )e r c |
+       [c()d e] [f g a]
+       [g ()e c] c4 d8
+       e4()d8 e4()f8
+       e4.()d8 r r |
+}
+
+lipbreaker = \notes \relative c'
+{
+       r8 [g'-. g-.] [c()e g,-.]
+       [c()e g,-.] [c()e g,-.]
+       [c c, c] [c c c]
+       [c c c] [c c c]
+}
+
+rightsixteenth = { \property Voice.stemLeftBeamCount = "1"
+  \property Voice.stemRightBeamCount = "2" }
+leftsixteenth = { \property Voice.stemLeftBeamCount = "2"
+  \property Voice.stemRightBeamCount = "1" }
+bothsixteenth = { \property Voice.stemLeftBeamCount = "2"
+  \property Voice.stemRightBeamCount = "2" }
+
+rondo = \notes         \relative c'
+{
+       \partial 8;
+       g'8-\p |
+       \time 6/8;
+       
+       \rondotheme
+       
+       R2.*13 |
+       r8 r-\fermata d [d e f]
+       [g ()e c-.] [d()e d-.]
+       c4 c8 [d e f]
+       [g()e c-.] [d()e d-.]
+       c4 r8 r4 r8 |
+       R2.*7
+       \mark  "A";
+       c4.\p \grace { e16( } [)d8 c d]
+       c4 r8 r4 r8
+       e4. \grace g16( [)f8 e f]
+       e4 r8 r4 r8
+       g4. e4 c8
+       g2.~
+       [g8 a b] [c d e ]
+       e4.()d8 r r
+       R2.*4
+       e2.~ |
+       [e8 d c] [c b a]
+       d2.~
+       [d8 c b] [b a g]
+       g'4()e8 b4()cis8
+       \mark "B";
+       d4 r8 r4 r8
+       R2.*3 |
+       r8 [d-. d-.] [d()g d-.]
+       [d()g d-.] [d d d]
+       [d()g] r r4 r8
+       R2.*1
+       \lipbreaker
+       c4 r8 [c' d e]
+       d4()g8 [c, d e]
+       d4 r8 r4 r8
+       R2. |
+       r4 r8 [c-. d-. e-.]
+       d4()g8 [c, d e]
+       [d()g fis] [e d c]
+       [b () e d] [c b a]
+       \mark "C";
+       g4 r8 r4 r8
+       r2. |
+       %
+       r8 [g g] [g( )b b]
+       [b()d d-.] [d()g g-.]
+       g2.~
+       [g8 a g] [f e d]
+       < \rondotheme
+         { s8-\p } >
+         
+       R2.*12
+       r4 r8 r4 c8
+       \mark "D";
+       c4 f8 c4 a8
+       a4.~a4 a8
+       bes4 c8 d4 bes8
+       g4. ~ g8 r r
+       R2.*3
+       r4 r8 r4 c8
+       a4. c
+       f ~ [f8. \rightsixteenth e16(  d )c]
+       bes4 g8 e4 g8
+       c4. ~ c8 r r
+       R2.*3| 
+       r4 r8 r4 c8
+       b4()c8 b4()c8
+       bes4. ~ bes4 g8
+       a4 c8 [f () d b]
+       d4. () c8 r r
+       \mark "E";
+       R2.*9  |
+       \lipbreaker 
+       [c8 c' c] c4.~
+       [c8 c d] [e e fis] 
+       g4 r8 r4 r8
+       r2.
+       r8 [g, g] [g g g] |
+       es'4. ~ [es8 d c]
+       b4 r8 r4 r8
+       r2. |
+       r8 [g g] [g g g]
+       es'4. ~ [es8 d c]
+       b4.\cresc  c4. d4. e4.
+       \mark "F";
+       f2.\f ~ |
+       f4 r8 r4 r8
+       r8 [g,\> g] [g g g]
+       [fis  g gis] % Edition breitkopf says a-flat (silly!)
+                [a bes \! b]
+       < \rondotheme
+         { s8-\p } >
+       R2.*7
+       \mark "G";
+       R2.*4
+       c,4.\mf c4 c8
+       c4. e4 c8
+       g'4. g4 g8
+       g4. g,4 g8
+       c4 r8 r4 r8
+       r4 r8 r4 g'8
+       [c ()e g,-.]    [c ()e g,-.]
+       [c ()e g,-.]    [c ()e g,-.]
+       \mark "H";
+       g'2._\cresc bes,2.
+       a4. [b16 c d e f g]
+       a4. f4 d8
+       [c8\f g' e] [c g e]
+       [\stemup c \stemdown e' c] \stemboth [g e c]
+       g4 r8 [g''8 e c]
+       \grace { \aftergrace [c16 d] }
+       d2.(-\trill 
+       )c4 r8 r4 r8
+       R2.*5
+       r8 r8-\fermata d8\p [d e f]
+       [g ()e c] [d()e d]
+       [c\cresc  c c] [d e f]
+       [g()e c] [d()e d]
+       c4\f r8 r4 r8
+       R2.*5
+       [c8\f c, c] [c c c]
+       c4 r8 c4 r8
+       c4 r8 r4 \bar "||.";            % B&H do another r8.
+}
+
+