]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/stem.cc
Fix some bugs in the dynamic engraver and PostScript backend
[lilypond.git] / lily / stem.cc
index d95ff4be3951c8ac7b6403a76fa0e09e09f2225e..a25c37f777211d6a77936decee08787fb8cf1016 100644 (file)
@@ -65,9 +65,7 @@ Stem::get_beaming (Grob *me, Direction d)
     return 0;
 
   SCM lst = index_get_cell (pair, d);
-
-  int len = scm_ilength (lst);
-  return max (len, 0);
+  return scm_ilength (lst);
 }
 
 Interval
@@ -227,32 +225,6 @@ Stem::is_invisible (Grob *me)
           && scm_to_int (me->get_property ("duration-log")) >= 1);
 }
 
-MAKE_SCHEME_CALLBACK (Stem, pure_height, 3)
-SCM
-Stem::pure_height (SCM smob, SCM start, SCM end)
-{
-  (void) start;
-  (void) end;
-  
-  
-  Grob *me = unsmob_grob (smob);
-  Real ss = Staff_symbol_referencer::staff_space (me);
-  Real len = scm_to_double (calc_length (smob)) * ss / 2;
-  Direction dir = get_grob_direction (me);
-
-  Interval iv;
-  Interval hp = head_positions (me);
-  if (dir == UP)
-    iv = Interval (0, len);
-  else
-    iv = Interval (-len, 0);
-
-  if (!hp.is_empty ())
-    iv.translate (hp[dir] * ss / 2);
-
-  return ly_interval2scm (iv);
-}
-
 MAKE_SCHEME_CALLBACK (Stem, calc_stem_end_position, 1)
 SCM
 Stem::calc_stem_end_position (SCM smob)
@@ -262,11 +234,6 @@ Stem::calc_stem_end_position (SCM smob)
   if (!head_count (me))
     return scm_from_double (0.0);
 
-  if (Grob *beam = get_beam (me))
-    {
-      (void) beam->get_property ("quantized-positions");
-      return me->get_property ("stem-end-position");
-    }
   
   Real ss = Staff_symbol_referencer::staff_space (me);
   int durlog = duration_log (me);
@@ -686,8 +653,6 @@ SCM
 Stem::print (SCM smob)
 {
   Grob *me = unsmob_grob (smob);
-  Grob *beam = get_beam (me);
-    
   Stencil mol;
   Direction d = get_grob_direction (me);
 
@@ -701,6 +666,7 @@ Stem::print (SCM smob)
     = to_boolean (me->get_property ("avoid-note-head"))
     ? last_head (me)
     : first_head (me);
+  Grob *beam = get_beam (me);
 
   if (!lh && !stemlet)
     return SCM_EOL;