]> git.donarmstrong.com Git - lilypond.git/blobdiff - src/beam.cc
release: 0.0.11
[lilypond.git] / src / beam.cc
index 49214c91f277ad5db850b9b112a2abe6a3fbad30..f8ca8b5ab8777be04b52b64257a74142a3287d8a 100644 (file)
@@ -15,6 +15,8 @@ struct Stem_info {
     Real miny;
     int no_beams;
 
+    ///////////////
+    
     Stem_info(){}
     Stem_info(const Stem*);
 };
@@ -58,7 +60,9 @@ Beam::set_default_dir()
        sc->dir = dir;
     }
 }
-
+/*
+  should use minimum energy formulation (cf linespacing)
+  */
 void
 Beam::solve_slope()
 {
@@ -88,13 +92,14 @@ Beam::solve_slope()
     left_pos *= dir;    
     slope *= dir;
     
-    {Real inter =paper()->interline()/2;
-    Real unitslope = slope*inter;
-
-    // set beamslope, for setting stems correctly
-    // ignoring return.
-    Symbol sy = paper()->lookup_->beam(unitslope, width().length());
-    slope =unitslope / inter;
+    {
+       Real inter =paper()->internote();
+       Real unitslope = slope*inter;
+
+       // set beamslope, for setting stems correctly
+       // ignoring return.
+       Symbol sy = paper()->lookup_->beam(unitslope, width().length());
+       slope =unitslope / inter;
     }
 }
 
@@ -159,7 +164,8 @@ Beam::width() const
 void
 Beam::brew_molecule()
 {
-    Real inter=paper()->interline()/2;
+    assert(left->line == right->line);
+    Real inter=paper()->internote();
     Real sl = slope*inter;
     Real w =  width().length() + paper()->rule_thickness();
     Symbol s = paper()->lookup_->beam(sl,w);