]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/beam-engraver.cc
* scm/output-ps.scm (new-text): don't access t glyph for getting
[lilypond.git] / lily / beam-engraver.cc
index e810b7052d1086d67a54085e64007713d8b42405..1e686f1c6521f3b31133def2e5d2f7e1770b357a 100644 (file)
@@ -8,7 +8,6 @@
  */
 
 #include "engraver.hh"
-#include "event.hh"
 #include "beam.hh"
 #include "stem.hh"
 #include "warn.hh"
@@ -84,12 +83,12 @@ Beam_engraver::valid_end_point ()
 Beam_engraver::Beam_engraver ()
 {
   beam_ = 0;
-  finished_beam_ =0;
-  finished_beam_info_=0;
-  beam_info_ =0;
+  finished_beam_ = 0;
+  finished_beam_info_ = 0;
+  beam_info_ = 0;
   now_stop_ev_ = 0;
   start_ev_ = 0;
-  prev_start_ev_ =0;
+  prev_start_ev_ = 0;
 }
 
 bool
@@ -107,7 +106,7 @@ Beam_engraver::try_music (Music *m)
        {
          start_ev_ = m;
        }
-      else if (d==STOP)
+      else if (d == STOP)
        {
          now_stop_ev_ = m;
        }
@@ -121,7 +120,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 +141,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 +150,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,9 +162,9 @@ 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_info_ = 0;
       finished_beam_ = 0;
     }
 }
@@ -182,7 +179,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));
     }
 }
 
@@ -279,7 +276,7 @@ Beam_engraver::acknowledge_grob (Grob_info info)
 
 
 
-ENTER_DESCRIPTION (Beam_engraver,
+ADD_TRANSLATOR (Beam_engraver,
 /* descr */       "Handles Beam events by engraving Beams.    If omitted, then notes will be "
 "printed with flags instead of beams.",
 /* creats*/       "Beam",
@@ -320,7 +317,7 @@ Grace_beam_engraver::valid_end_point ()
 
 
 
-ENTER_DESCRIPTION (Grace_beam_engraver,
+ADD_TRANSLATOR (Grace_beam_engraver,
 /* descr */       "Handles Beam events by engraving Beams.  If omitted, then notes will "
 "be printed with flags instead of beams. Only engraves beams when we "
 " are at grace points in time. "