]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/page-turn-engraver.cc
Doc-es: various updates.
[lilypond.git] / lily / page-turn-engraver.cc
index 874ebe7e7e56ce62791f5d2281e5270f8a609e72..b294dce7d7f803ca9b083d4a75235870178d2b01 100644 (file)
@@ -29,9 +29,6 @@
 
 #include "translator.icc"
 
-using std::string;
-using std::vector;
-
 class Page_turn_event
 {
 public:
@@ -64,7 +61,7 @@ public:
         return ret;
       }
 
-    Real new_pen = std::max (penalty_, penalty.penalty_);
+    Real new_pen = max (penalty_, penalty.penalty_);
 
     if (duration_[LEFT] < penalty.duration_[LEFT])
       ret.push_back (Page_turn_event (duration_[LEFT], penalty.duration_[LEFT], permission_, penalty_));
@@ -100,8 +97,8 @@ class Page_turn_engraver : public Engraver
   Grob *breakable_column (Page_turn_event const &);
 
 protected:
-  DECLARE_TRANSLATOR_LISTENER (break);
-  DECLARE_ACKNOWLEDGER (note_head);
+  void listen_break (Stream_event *);
+  void acknowledge_note_head (Grob_info);
 
 public:
   TRANSLATOR_DECLARATIONS (Page_turn_engraver);
@@ -110,7 +107,8 @@ public:
   void finalize ();
 };
 
-Page_turn_engraver::Page_turn_engraver ()
+Page_turn_engraver::Page_turn_engraver (Context *c)
+  : Engraver (c)
 {
   repeat_begin_ = Moment (-1);
   repeat_begin_rest_length_ = 0;
@@ -121,8 +119,8 @@ Page_turn_engraver::Page_turn_engraver ()
 Grob *
 Page_turn_engraver::breakable_column (Page_turn_event const &brk)
 {
-  vsize start = lower_bound (breakable_moments_, brk.duration_[LEFT], std::less<Rational> ());
-  vsize end = upper_bound (breakable_moments_, brk.duration_[RIGHT], std::less<Rational> ());
+  vsize start = lower_bound (breakable_moments_, brk.duration_[LEFT], less<Rational> ());
+  vsize end = upper_bound (breakable_moments_, brk.duration_[RIGHT], less<Rational> ());
 
   if (start == breakable_moments_.size ())
     return NULL;
@@ -171,7 +169,6 @@ Page_turn_engraver::acknowledge_note_head (Grob_info gi)
   note_end_ = now_mom () + dur_ptr->get_length ();
 }
 
-IMPLEMENT_TRANSLATOR_LISTENER (Page_turn_engraver, break);
 void
 Page_turn_engraver::listen_break (Stream_event *ev)
 {
@@ -323,7 +320,7 @@ Page_turn_engraver::finalize ()
       if (pc)
         {
           SCM perm = max_permission (pc->get_property ("page-turn-permission"), brk.permission_);
-          Real pen = std::min (robust_scm2double (pc->get_property ("page-turn-penalty"), infinity_f), brk.penalty_);
+          Real pen = min (robust_scm2double (pc->get_property ("page-turn-penalty"), infinity_f), brk.penalty_);
           pc->set_property ("page-turn-permission", perm);
           pc->set_property ("page-turn-penalty", scm_from_double (pen));
         }
@@ -345,7 +342,13 @@ Page_turn_engraver::finalize ()
     }
 }
 
-ADD_ACKNOWLEDGER (Page_turn_engraver, note_head);
+
+void
+Page_turn_engraver::boot ()
+{
+  ADD_LISTENER (Page_turn_engraver, break);
+  ADD_ACKNOWLEDGER (Page_turn_engraver, note_head);
+}
 
 ADD_TRANSLATOR (Page_turn_engraver,
                 /* doc */