]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/beam-engraver.cc
(move_away_from_staffline): new function.
[lilypond.git] / lily / beam-engraver.cc
index e810b7052d1086d67a54085e64007713d8b42405..727f329dd3fed139c8459f56f87a3edcf1a2c73a 100644 (file)
@@ -121,7 +121,7 @@ Beam_engraver::set_melisma (bool ml)
 {
   SCM b = get_property ("autoBeaming");
   if (!to_boolean (b))
-    daddy_context_->set_property ("beamMelismaBusy", ml ? SCM_BOOL_T :SCM_BOOL_F);
+    context ()->set_property ("beamMelismaBusy", ml ? SCM_BOOL_T :SCM_BOOL_F);
 }
 
 void
@@ -142,9 +142,8 @@ Beam_engraver::process_music ()
 
       set_melisma (true);
       prev_start_ev_ = start_ev_;
-      beam_ = make_spanner ("Beam");
-      SCM smp = get_property ("measurePosition");
-      Moment mp = (unsmob_moment (smp)) ? *unsmob_moment (smp) : Moment (0);
+      beam_ = make_spanner ("Beam", start_ev_->self_scm ());
+      Moment mp (robust_scm2moment (get_property ("measurePosition"), Moment (0)));
 
       beam_start_location_ = mp;
       beam_start_mom_ = now_mom ();
@@ -152,7 +151,6 @@ Beam_engraver::process_music ()
       beam_info_ = new Beaming_info_list;
       
       /* urg, must copy to Auto_beam_engraver too */
-      announce_grob (beam_, start_ev_->self_scm ());
     }
 
 }
@@ -165,7 +163,7 @@ Beam_engraver::typeset_beam ()
     {
       finished_beam_info_->beamify (beat_length_, subdivide_beams_);
       Beam::set_beaming (finished_beam_, finished_beam_info_);
-      typeset_grob (finished_beam_);
+      
       delete finished_beam_info_;
       finished_beam_info_ =0;
       finished_beam_ = 0;
@@ -182,7 +180,7 @@ Beam_engraver::start_translation_timestep ()
       set_melisma (true);
       
       subdivide_beams_ = to_boolean (get_property ("subdivideBeams"));
-      beat_length_ = *unsmob_moment (get_property ("beatLength"));
+      beat_length_ = robust_scm2moment (get_property ("beatLength"), Moment (1,4));
     }
 }