]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/stem-engraver.cc
Fix some bugs in the dynamic engraver and PostScript backend
[lilypond.git] / lily / stem-engraver.cc
index 878f0054b54b51f36ad2d4b84ce4b7f7d6254ac2..797406b4fbc062d28aa0cc9af6f152d3435073ce 100644 (file)
@@ -3,12 +3,15 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 1997--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 1997--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
 */
 
+#include "engraver.hh"
+
 #include "context.hh"
 #include "directional-element-interface.hh"
-#include "engraver.hh"
+#include "duration.hh"
+#include "international.hh"
 #include "item.hh"
 #include "misc.hh"
 #include "rhythmic-head.hh"
@@ -16,7 +19,6 @@
 #include "staff-symbol-referencer.hh"
 #include "stem-tremolo.hh"
 #include "stem.hh"
-#include "duration.hh"
 
 /**
    Make stems upon receiving noteheads.
@@ -33,7 +35,7 @@ class Stem_engraver : public Engraver
 protected:
   void make_stem (Grob_info);
 
-  DECLARE_ACKNOWLEDGER(rhythmic_head);
+  DECLARE_ACKNOWLEDGER (rhythmic_head);
   void stop_translation_timestep ();
   virtual bool try_music (Music *);
 };
@@ -51,7 +53,7 @@ Stem_engraver::make_stem (Grob_info gi)
 {
   /* Announce the cause of the head as cause of the stem.  The
      stem needs a rhythmic structure to fit it into a beam.  */
-  stem_ = make_item ("Stem", gi.music_cause ()->self_scm ());
+  stem_ = make_item ("Stem", gi.grob ()->self_scm ());
 
   /*
     we take the duration log from the Event, since the duration-log
@@ -59,7 +61,7 @@ Stem_engraver::make_stem (Grob_info gi)
   */
   Music *music = gi.music_cause ();
   Duration *dur = unsmob_duration (music->get_property ("duration"));
-  
+
   stem_->set_property ("duration-log", dur ? scm_from_int (dur->duration_log ()) : 0);
 
   if (tremolo_ev_)
@@ -117,11 +119,11 @@ Stem_engraver::acknowledge_rhythmic_head (Grob_info gi)
     return;
   Duration *d = unsmob_duration (cause->get_property ("duration"));
   if (!d)
-    return ;
-      
+    return;
+
   if (!stem_)
     make_stem (gi);
-      
+
   if (Stem::duration_log (stem_) != d->duration_log ())
     {
       // FIXME: 
@@ -169,11 +171,18 @@ Stem_engraver::try_music (Music *m)
 }
 
 #include "translator.icc"
-ADD_ACKNOWLEDGER(Stem_engraver,rhythmic_head);
+
+ADD_ACKNOWLEDGER (Stem_engraver, rhythmic_head);
+
 ADD_TRANSLATOR (Stem_engraver,
-               /* descr */ "Create stems and single-stem tremolos.  It also works together with "
+               /* doc */ "Create stems and single-stem tremolos.  It also works together with "
                "the beam engraver for overriding beaming.",
-               /* creats*/ "Stem StemTremolo",
-               /* accepts */ "tremolo-event",
-               /* reads */ "tremoloFlags stemLeftBeamCount stemRightBeamCount",
+               /* create */
+               "Stem "
+               "StemTremolo ",
+               /* accept */ "tremolo-event",
+               /* read */
+               "tremoloFlags "
+               "stemLeftBeamCount "
+               "stemRightBeamCount ",
                /* write */ "");