]> git.donarmstrong.com Git - lilypond.git/commitdiff
* lily/beam.cc (set_stem_lengths): only lengthen stems
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 23 Sep 2003 14:52:45 +0000 (14:52 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 23 Sep 2003 14:52:45 +0000 (14:52 +0000)
for gapped beams.

* lily/beam-quanting.cc (score_forbidden_quants): divide demerit
by beamcount.

* lily/beam-quanting.cc: tune down SECONDARY_BEAM_DEMERIT, so stem
length is more important than forbidden quants.

ChangeLog
lily/beam-quanting.cc
lily/beam.cc

index e3567464bcffc5107328a8da51def5e8b15371d4..ee39a4b098d2e579c4b2c51b1a9ac6de985ee22c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2003-09-23  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
 
+       * lily/beam.cc (set_stem_lengths): only lengthen stems
+       for gapped beams.
+
+       * lily/beam-quanting.cc (score_forbidden_quants): divide demerit
+       by beamcount.
+
        * buildscripts/lilypond-profile.sh (Error): more zsh stuff: print
        a warning that the warning may erroneous.
 
index 5993ade1fab2e9887ac30445a6c735e74502bd51..9576f33cce5545647f835750b8720537b64a3b23 100644 (file)
@@ -21,7 +21,7 @@
 #include "align-interface.hh"
 
 const int INTER_QUANT_PENALTY = 1000;
-const int SECONDARY_BEAM_DEMERIT  = 5;
+const Real SECONDARY_BEAM_DEMERIT  = 10.0;
 const int STEM_LENGTH_DEMERIT_FACTOR = 5;
 
 // possibly ridiculous, but too short stems just won't do
@@ -355,6 +355,8 @@ Beam::score_forbidden_quants (Real yl, Real yr,
 {
   Real dy = yr - yl;
 
+  Real extra_demerit = SECONDARY_BEAM_DEMERIT / beam_count;
+  
   Real dem = 0.0;
   for (int i = 0; i < 2; i++)
     {
@@ -370,14 +372,13 @@ Beam::score_forbidden_quants (Real yl, Real yr,
       Real sit = (thickness - slt) / 2;
       Real inter = 0.5;
       Real hang = 1.0 - (thickness - slt) / 2;
-      
 
       if (fabs (yl - ldir * beam_translation) < radius
          && fabs (my_modf (yl) - inter) < 1e-3)
-       dem += SECONDARY_BEAM_DEMERIT;
+       dem += extra_demerit;
       if (fabs (yr - rdir * beam_translation) < radius
          && fabs (my_modf (yr) - inter) < 1e-3)
-       dem += SECONDARY_BEAM_DEMERIT;
+       dem += extra_demerit;
 
       Real eps = 1e-3;
 
@@ -396,22 +397,22 @@ Beam::score_forbidden_quants (Real yl, Real yr,
        {
          if (ldir == UP && dy <= eps
              && fabs (my_modf (yl) - sit) < eps)
-           dem += SECONDARY_BEAM_DEMERIT;
+           dem += extra_demerit;
          
          if (ldir == DOWN && dy >= eps
              && fabs (my_modf (yl) - hang) < eps)
-           dem += SECONDARY_BEAM_DEMERIT;
+           dem += extra_demerit;
        }
 
       if (fabs (yr - rdir * beam_translation) < radius + inter)
        {
          if (rdir == UP && dy >= eps
              && fabs (my_modf (yr) - sit) < eps)
-           dem += SECONDARY_BEAM_DEMERIT;
+           dem += extra_demerit;
          
          if (rdir == DOWN && dy <= eps
              && fabs (my_modf (yr) - hang) < eps)
-           dem += SECONDARY_BEAM_DEMERIT;
+           dem += extra_demerit;
        }
       
       if (beam_count >= 3)
@@ -420,22 +421,22 @@ Beam::score_forbidden_quants (Real yl, Real yr,
            {
              if (ldir == UP && dy <= eps
                  && fabs (my_modf (yl) - straddle) < eps)
-               dem += SECONDARY_BEAM_DEMERIT;
+               dem += extra_demerit;
              
              if (ldir == DOWN && dy >= eps
                  && fabs (my_modf (yl) - straddle) < eps)
-               dem += SECONDARY_BEAM_DEMERIT;
+               dem += extra_demerit;
            }
          
          if (fabs (yr - 2 * rdir * beam_translation) < radius + inter)
            {
              if (rdir == UP && dy >= eps
                  && fabs (my_modf (yr) - straddle) < eps)
-               dem += SECONDARY_BEAM_DEMERIT;
+               dem += extra_demerit;
              
              if (rdir == DOWN && dy <= eps
                  && fabs (my_modf (yr) - straddle) < eps)
-               dem += SECONDARY_BEAM_DEMERIT;
+               dem += extra_demerit;
            }
        }
     }
index 3ab8587d7a10e012c43200c71252ff593c654f15..3b04092c5138d18b02e61add951c1b14ae9fc011 100644 (file)
@@ -1268,8 +1268,8 @@ Beam::set_stem_lengths (Grob *me)
 
   bool gap = false;
   Real thick =0.0;
-  if (gh_number_p (me->get_grob_property ("gap"))
-      &&gh_scm2double (me->get_grob_property ("gap")))
+  if (gh_number_p (me->get_grob_property ("gap-count"))
+      &&gh_scm2int (me->get_grob_property ("gap-count")))
     {
       gap = true;
       thick = get_thickness(me);