From: hanwen <hanwen>
Date: Sat, 13 Jul 2002 18:42:32 +0000 (+0000)
Subject: quarter note beams
X-Git-Tag: release/1.5.71~157
X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=367462258cdad5145fed9d60804f6a835a3ea34a;p=lilypond.git

quarter note beams
---

diff --git a/ChangeLog b/ChangeLog
index fc55e0ef80..39be48aaa8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2002-07-13  Han-Wen  <hanwen@cs.uu.nl>
 
+	* lily/beam.cc (calc_stem_y): fix beams on quarter notes.
+
 	* lily/stem-tremolo.cc (brew_molecule): add code for stem tremolos.
 
 	* lily/auto-beam-engraver.cc (create_beam_p): remember Beam
@@ -22,7 +24,7 @@
 	(quanting): add french beaming support (property french-beaming)
 	(stem_beams): removed.
 
-2002-07-12  Mats Bengtsson  <matsb@s3.kth.se>
+i2002-07-12  Mats Bengtsson  <matsb@s3.kth.se>
 
 	* lily/beam.cc (after_line_breaking): Set correct stem lengths
 	also when beam positions are set manually.
diff --git a/input/regression/beam-funky.ly b/input/regression/beam-funky.ly
index cf4ba665a4..67601e418e 100644
--- a/input/regression/beam-funky.ly
+++ b/input/regression/beam-funky.ly
@@ -5,7 +5,7 @@
 \score { \notes
 \relative c'
 	 {
-
+	     \property Voice.Beam \set #'auto-knee-gap = #7
 	     \property Voice.subdivideBeams = ##t	     
 	     \time 8/8
 	     [c,16  g'''16  
diff --git a/lily/beam.cc b/lily/beam.cc
index 2cd3887e25..f505f25743 100644
--- a/lily/beam.cc
+++ b/lily/beam.cc
@@ -223,7 +223,8 @@ Beam::connect_beams (Grob *me)
 	    }
 	  while (flip (&d) != LEFT);
 
-	  last_int =  new_slice;
+	  if (!new_slice.empty_b())
+	    last_int =  new_slice;
 	}
       else
 	{
@@ -1366,11 +1367,15 @@ Beam::calc_stem_y (Grob *me, Grob* s, Interval pos, bool french)
   Real stem_y = stem_y_beam0;
   if (french)
     {
-      stem_y += beam_space * where_are_the_whole_beams (beaming)[-my_dir];
+      Slice bm = where_are_the_whole_beams (beaming);
+      if (!bm.empty_b())
+	stem_y += beam_space * bm[-my_dir];
     }
   else
     {
-      stem_y += (Stem::beam_multiplicity(s)[my_dir]) * beam_space;
+      Slice bm = Stem::beam_multiplicity(s);
+      if (!bm.empty_b())
+	stem_y +=bm[my_dir] * beam_space;
     }
 
   return stem_y;
diff --git a/scm/grob-description.scm b/scm/grob-description.scm
index c32aeb71dc..da6116ca6a 100644
--- a/scm/grob-description.scm
+++ b/scm/grob-description.scm
@@ -146,7 +146,7 @@
 	(slope-limit . 0.2)
 	(flag-width-function . ,default-beam-flag-width-function)
 	(damping . 1)
-;;	(auto-knee-gap . 7)
+	(auto-knee-gap . 7)
 	
 	(font-name . "cmr10")
 	(space-function . ,Beam::space_function)