]> git.donarmstrong.com Git - lilypond.git/commitdiff
(LINK_GXX_STATICALLY): python 2.4 req.
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 12 May 2006 00:08:24 +0000 (00:08 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 12 May 2006 00:08:24 +0000 (00:08 +0000)
ChangeLog
Documentation/topdocs/NEWS.tely
configure.in
lily/beam.cc
lily/beaming-info.cc
lily/include/beaming.hh

index 2390b5e802a312405bfd4104f6945a288f016bf8..3e68ee049c9bf381b64834b233a8ddcaedcdcb55 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2006-05-12  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * configure.in (LINK_GXX_STATICALLY): python 2.4 req.
+
 2006-05-11  Graham Percival  <gpermus@gmail.com>
 
        * Documentation/user/programming-interface.itely: first round of
@@ -71,7 +75,7 @@
 
        * lily/paper-column-engraver.cc (stop_translation_timestep): set
        line-break-permission if forbidBreak is not set.
-       
+
 2006-05-09  Joe Neeman  <joeneeman@gmail.com>
 
        * scm/define-context-properties.scm:
index 890a38586561a870c365a870d791928b98e8eb92..5e818224e035ac8d19c68560fef403c1a3086a54 100644 (file)
@@ -66,6 +66,11 @@ which scares away people.
 
 @end ignore
 
+@item 
+The MusicXML convertor has been sped up, and has rudimentary support
+for percussion notation.  It will also condense multi-bar rests to
+enable part extraction.
+
 @item
 The beam printing code has been completely rewritten, and now includes
 support for feathered beaming,
index 9d831c8d035dfbf9c421911e0b308c4fa6e61ec4..1e69994e1cbc97801cd21e7ed1189f7a560e32ea 100644 (file)
@@ -83,7 +83,7 @@ AC_MSG_RESULT($NCSB_SOURCE_FILES)
 
 
 
-STEPMAKE_PYTHON(REQUIRED, 2.3)
+STEPMAKE_PYTHON(REQUIRED, 2.4)
 STEPMAKE_GCC(REQUIRED, 4.0)
 STEPMAKE_CXX(REQUIRED)
 STEPMAKE_GXX(REQUIRED, 4.0)
index acc4c7a7b3e416067947f8bd343f47f5f2dd51ac..f6c07a84cb1623c72bde207c615a976a155d9bd8 100644 (file)
@@ -1211,13 +1211,13 @@ Beam::set_beaming (Grob *me, Beaming_info_list const *beaming)
          if (beaming_prop == SCM_EOL
              || index_get_cell (beaming_prop, d) == SCM_EOL)
            {
-             int b = beaming->infos_.at (i).beams_i_drul_[d];
+             int count = beaming->infos_.at (i).beam_count_drul_[d];
              if (i > 0
                  && i < stems.size () -1
                  && Stem::is_invisible (stem))
-               b = min (b, beaming->infos_.at (i).beams_i_drul_[-d]);
+               count = min (count, beaming->infos_.at (i).beam_count_drul_[-d]);
 
-             Stem::set_beaming (stem, b, d);
+             Stem::set_beaming (stem, count, d);
            }
        }
       while (flip (&d) != LEFT);
index fb4b934a9e09efe4e530c0a050b06df82095dd8f..417a20372c193de23bda8312f61b27930d7f9a94 100644 (file)
 
 Beaming_info::Beaming_info ()
 {
-  start_mom_ = 0;
-  beams_i_drul_[LEFT] = 0;
-  beams_i_drul_[RIGHT] = 0;
+  start_moment_ = 0;
+  beam_count_drul_[LEFT] = 0;
+  beam_count_drul_[RIGHT] = 0;
 }
 
 Beaming_info::Beaming_info (Moment m, int i)
 {
-  start_mom_ = m;
-  beams_i_drul_[LEFT] = i;
-  beams_i_drul_[RIGHT] = i;
+  start_moment_ = m;
+  beam_count_drul_[LEFT] = i;
+  beam_count_drul_[RIGHT] = i;
 }
 
-const int at_beat = 1 << 15;
+const int at_beat = 1 << 15;   //  WTF is this.
 
 int
-Beaming_info_list::best_splitpoint_index (Moment &beat_length, bool subdivide) const
+Beaming_info_list::best_splitpoint_index (Moment &beat_length,
+                                         bool subdivide) const
 {
-  int minden = INT_MAX;
-  int minidx = -1;
+  int min_denominator = INT_MAX;
+  int min_index = -1;
   Moment beat_pos;
 
   for (vsize i = 1; i < infos_.size (); i++)
     {
-      beat_pos = infos_[i].start_mom_ / beat_length;
+      beat_pos = infos_[i].start_moment_ / beat_length;
       int den = beat_pos.den ();
-      if (infos_[i].beams_i_drul_[LEFT] == infos_[i - 1].beams_i_drul_[RIGHT] && !subdivide)
+      if (infos_[i].beam_count_drul_[LEFT] == infos_[i - 1].beam_count_drul_[RIGHT]
+         && !subdivide)
        den *= 2;
-      if (den < minden)
+      
+      if (den < min_denominator)
        {
-         minidx = i;
-         minden = den;
+         min_index = i;
+         min_denominator = den;
        }
     }
 
-  return minidx | (minden == 1 && subdivide ? at_beat : 0);
+  return min_index | (min_denominator == 1 && subdivide ? at_beat : 0);
 }
 
 int
 Beaming_info_list::beam_extend_count (Direction d) const
 {
   if (infos_.size () == 1)
-    return infos_[0].beams_i_drul_[d];
+    return infos_[0].beam_count_drul_[d];
 
   Beaming_info thisbeam = boundary (infos_, d, 0);
   Beaming_info next = boundary (infos_, d, 1);
 
-  return min (thisbeam.beams_i_drul_[-d], next.beams_i_drul_[d]);
+  return min (thisbeam.beam_count_drul_[-d], next.beam_count_drul_[d]);
 }
 
 void
@@ -66,17 +69,22 @@ Beaming_info_list::beamify (Moment &beat_length, bool subdivide)
     return;
 
   Drul_array<Beaming_info_list> splits;
+
   int m = best_splitpoint_index (beat_length, subdivide);
-  bool split = subdivide && (m & at_beat); m = m & ~at_beat;
+  bool split = subdivide && (m & at_beat);
+  m = m & ~at_beat;
+
   splits[LEFT].infos_ = vector<Beaming_info> (infos_.begin (),
-                                                  infos_.begin () + m);
+                                             infos_.begin () + m);
   splits[RIGHT].infos_ = vector<Beaming_info> (infos_.begin () + m,
-                                                   infos_.end ());
+                                              infos_.end ());
 
   Direction d = LEFT;
 
   do
-    splits[d].beamify (beat_length, subdivide);
+    {
+      splits[d].beamify (beat_length, subdivide);
+    }
   while (flip (&d) != LEFT);
 
   int middle_beams = (split ? 1
@@ -86,12 +94,14 @@ Beaming_info_list::beamify (Moment &beat_length, bool subdivide)
   do
     {
       if (splits[d].infos_.size () != 1)
-       boundary (splits[d].infos_, -d, 0).beams_i_drul_[-d] = middle_beams;
+       boundary (splits[d].infos_, -d, 0).beam_count_drul_[-d] = middle_beams;
     }
   while (flip (&d) != LEFT);
 
   infos_ = splits[LEFT].infos_;
-  infos_.insert (infos_.end (), splits[RIGHT].infos_.begin (), splits[RIGHT].infos_.end ());
+  infos_.insert (infos_.end (),
+                splits[RIGHT].infos_.begin (),
+                splits[RIGHT].infos_.end ());
 
   clip_edges ();
 }
@@ -107,7 +117,7 @@ Beaming_info_list::clip_edges ()
 {
   if (infos_.size ())
     {
-      infos_[0].beams_i_drul_[LEFT] = 0;
-      infos_.back ().beams_i_drul_[RIGHT] = 0;
+      infos_[0].beam_count_drul_[LEFT] = 0;
+      infos_.back ().beam_count_drul_[RIGHT] = 0;
     }
 }
index 40603cb478bdea96a33708023698f41184ad07ce..32a9ed4c821fdfd1f77fce761ae8f1bc87e86591 100644 (file)
@@ -14,8 +14,8 @@
 
 struct Beaming_info
 {
-  Moment start_mom_;
-  Drul_array<int> beams_i_drul_;
+  Moment start_moment_;
+  Drul_array<int> beam_count_drul_;
 
   Beaming_info (Moment, int);
   int count (Direction d);