]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/percent-repeat-engraver.cc
release: 1.5.22
[lilypond.git] / lily / percent-repeat-engraver.cc
index 193a350c6cc6b6f09b9aca4be2ae9cbe1d36d111..7dac5fc84d7b8f7641af8d2fe1763e84987aa599 100644 (file)
@@ -36,8 +36,7 @@ class Percent_repeat_engraver : public Engraver
 {
   void typeset_perc ();
 public:
-  VIRTUAL_COPY_CONS (Translator);
-  Percent_repeat_engraver ();
+  TRANSLATOR_DECLARATIONS(Percent_repeat_engraver);
 protected:
   Repeated_music * repeat_;
 
@@ -167,17 +166,8 @@ Percent_repeat_engraver::process_music ()
       /*
        forbid breaks on a % line. Should forbid all breaks, really.
        */
-         Score_engraver * e = 0;
-         Translator * t  =  daddy_grav_l ();
-         for (; !e && t;  t = t->daddy_trans_l_)
-           {
-             e = dynamic_cast<Score_engraver*> (t);
-           }
-
-         if (!e)
-           programming_error ("No score engraver!");
-         else
-           e->forbid_breaks ();        // guh. Use properties!      
+
+           top_engraver()->forbid_breaks ();   // guh. Use properties!      
        }
       next_moment_ = next_moment_ + body_length_;
     }
@@ -244,6 +234,12 @@ Percent_repeat_engraver::stop_translation_timestep ()
   typeset_perc ();
 }
 
-ADD_THIS_TRANSLATOR (Percent_repeat_engraver);
 
 
+
+ENTER_DESCRIPTION(Percent_repeat_engraver,
+/* descr */       "Make beat, whole bar and double bar repeats.",
+/* creats*/       "PercentRepeat RepeatSlash DoublePercentRepeat",
+/* acks  */       "",
+/* reads */       "measureLength currentCommandColumn",
+/* write */       "");