]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/glissando-engraver.cc
(bezier-sandwich): New function.
[lilypond.git] / lily / glissando-engraver.cc
index 9435968bd3127637f15a0fa16bfa558ec1c8165a..884f5e3665dcfeef368eef1558ed5ca3c9a4f154 100644 (file)
@@ -3,7 +3,7 @@
   
   source file of the GNU LilyPond music typesetter
   
-  (c) 2000--2003 Jan Nieuwenhuizen <janneke@gnu.org>
+  (c) 2000--2004 Jan Nieuwenhuizen <janneke@gnu.org>
  */
 
 #include "warn.hh"
@@ -19,7 +19,7 @@
 class Glissando_engraver : public Engraver
 {
 public:
-  TRANSLATOR_DECLARATIONS(Glissando_engraver);
+  TRANSLATOR_DECLARATIONS (Glissando_engraver);
 
 protected:
   virtual void acknowledge_grob (Grob_info);
@@ -55,10 +55,7 @@ Glissando_engraver::process_music ()
 {
   if (event_)
     {
-      last_line_ = line_;
-      
-      line_ = new Spanner (get_property ("Glissando"));
-      announce_grob (line_, event_->self_scm ());
+      line_ = make_spanner ("Glissando", event_->self_scm ());
     }
 }
 
@@ -83,11 +80,14 @@ Glissando_engraver::stop_translation_timestep ()
 {
   if (last_line_ && last_line_->get_bound (RIGHT))
     {
-      typeset_grob (last_line_);
       last_line_ =0;
     }
-
-  last_line_ = line_;
+  if (line_)
+    {
+      if ( last_line_)
+       programming_error ("Overwriting glissando.");
+      last_line_ = line_;
+    }
   line_ = 0;
   event_ = 0;
 }
@@ -111,7 +111,7 @@ Glissando_engraver::finalize ()
 
 
 
-ENTER_DESCRIPTION(Glissando_engraver,
+ENTER_DESCRIPTION (Glissando_engraver,
 /* descr */       "Engrave a glissandi",
 /* creats*/       "Glissando",
 /* accepts */     "glissando-event",