]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/volta-engraver.cc
* flower
[lilypond.git] / lily / volta-engraver.cc
index cedc195012d7aba69a25a2d0b175485ea9fe2a98..531c6fa02a9bbd6da648f849b66985c829a2ac98 100644 (file)
@@ -1,11 +1,10 @@
-/*   
+/*
   volta-engraver.cc -- implement Volta_engraver
-  
+
   source file of the GNU LilyPond music typesetter
-  
+
   (c) 2000--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-  
- */
+*/
 
 #include "engraver.hh"
 #include "context.hh"
@@ -19,7 +18,7 @@
 /*
   Create Volta spanners, by reading repeatCommands  property, usually
   set by Unfolded_repeat_iterator.
- */
+*/
 class Volta_engraver : public Engraver
 {
 public:
@@ -30,7 +29,7 @@ protected:
   virtual void finalize ();
   virtual void stop_translation_timestep ();
   virtual void process_music ();
-  
+
   Moment started_mom_;
   Spanner *volta_span_;
   Spanner *end_volta_span_;
@@ -38,7 +37,7 @@ protected:
   SCM start_string_;
 
   bool staff_eligible ();
+
 };
 
 Volta_engraver::Volta_engraver ()
@@ -48,14 +47,13 @@ Volta_engraver::Volta_engraver ()
   end_volta_span_ = 0;
 }
 
-
 /*
   TODO: this logic should be rewritten, it is buggy.
 
   One of the problems is that we can't determine wether or not to
   print the volta bracket during the first step, since that requires
   acknowledging the staff.
- */
+*/
 bool
 Volta_engraver::staff_eligible ()
 {
@@ -65,7 +63,6 @@ Volta_engraver::staff_eligible ()
       return to_boolean (doit);
     }
 
-
   if (!unsmob_grob (staff_))
     return false;
 
@@ -77,10 +74,10 @@ Volta_engraver::staff_eligible ()
 
   /*
     only put a volta on the top staff.
-       
+
     May be this is a bit convoluted, and we should have a single
     volta engraver in score context or somesuch.
-       
+
   */
   if (!scm_is_pair (staffs))
     {
@@ -94,17 +91,15 @@ Volta_engraver::staff_eligible ()
   return true;
 }
 
-
 void
 Volta_engraver::process_music ()
 {
   SCM cs = get_property ("repeatCommands");
 
   if (!staff_eligible ())
-    return ; 
+    return;
 
-    
-  bool  end = false;
+  bool end = false;
   start_string_ = SCM_EOL;
   while (scm_is_pair (cs))
     {
@@ -114,12 +109,12 @@ Volta_engraver::process_music ()
          && scm_car (c) == ly_symbol2scm ("volta")
          && scm_is_pair (scm_cdr (c)))
        {
-         if (scm_cadr (c) ==  SCM_BOOL_F)
+         if (scm_cadr (c) == SCM_BOOL_F)
            end = true;
          else
            start_string_ = scm_cadr (c);
        }
-      
+
       cs = scm_cdr (cs);
     }
 
@@ -127,14 +122,13 @@ Volta_engraver::process_music ()
     {
       SCM l (get_property ("voltaSpannerDuration"));
       Moment now = now_mom ();
-  
+
       bool early_stop = unsmob_moment (l)
        && *unsmob_moment (l) <= now - started_mom_;
-      
+
       end = end || early_stop;
     }
 
-  
   if (end && !volta_span_)
     {
       warning (_ ("No volta spanner to end")); // fixme: be more verbose.
@@ -145,38 +139,36 @@ Volta_engraver::process_music ()
       volta_span_ = 0;
     }
 
-  if (volta_span_ && 
-      (scm_is_string (start_string_) || scm_is_pair (start_string_)))
+  if (volta_span_
+      && (scm_is_string (start_string_) || scm_is_pair (start_string_)))
     {
       warning (_ ("Already have a volta spanner.  Stopping that one prematurely."));
-      
+
       if (end_volta_span_)
        {
          warning (_ ("Also have a stopped spanner.  Giving up."));
-         return ;
+         return;
        }
 
       end_volta_span_ = volta_span_;
       volta_span_ = 0;
     }
 
-  if (!volta_span_ && 
-      (scm_is_string (start_string_) || scm_is_pair (start_string_)))
+  if (!volta_span_
+      && (scm_is_string (start_string_) || scm_is_pair (start_string_)))
     {
-      started_mom_ = now_mom () ;
+      started_mom_ = now_mom ();
 
       volta_span_ = make_spanner ("VoltaBracket", SCM_EOL);
 
-      
       volta_span_->set_property ("text", start_string_);
     }
 }
 
-
 void
 Volta_engraver::acknowledge_grob (Grob_info i)
 {
-  if (Item* item = dynamic_cast<Item*> (i.grob_))
+  if (Item *item = dynamic_cast<Item *> (i.grob_))
     {
       if (Note_column::has_interface (item))
        {
@@ -188,7 +180,7 @@ Volta_engraver::acknowledge_grob (Grob_info i)
          if (volta_span_)
            Volta_bracket_interface::add_bar (volta_span_, item);
          if (end_volta_span_)
-           Volta_bracket_interface::add_bar (end_volta_span_ , item);
+           Volta_bracket_interface::add_bar (end_volta_span_, item);
        }
     }
   else if (Staff_symbol::has_interface (i.grob_))
@@ -209,9 +201,7 @@ Volta_engraver::finalize ()
 {
 }
 
-
-
-void 
+void
 Volta_engraver::stop_translation_timestep ()
 {
   if (volta_span_ && !staff_eligible ())
@@ -222,15 +212,15 @@ Volta_engraver::stop_translation_timestep ()
        we need to do this here, because STAFF_ is not initialized yet
        in the 1st call of process_music ()
       */
-      
-      volta_span_->suicide ( );
+
+      volta_span_->suicide ();
       volta_span_ = 0;
     }
-  
+
   if (end_volta_span_ && !end_volta_span_->get_bound (RIGHT))
     {
-      Grob * cc = unsmob_grob (get_property ("currentCommandColumn"));
-      Item * ci = dynamic_cast<Item*> (cc);
+      Grob *cc = unsmob_grob (get_property ("currentCommandColumn"));
+      Item *ci = dynamic_cast<Item *> (cc);
       end_volta_span_->set_bound (RIGHT, ci);
     }
 
@@ -238,21 +228,21 @@ Volta_engraver::stop_translation_timestep ()
 
   if (volta_span_ && !volta_span_->get_bound (LEFT))
     {
-      Grob * cc = unsmob_grob (get_property ("currentCommandColumn"));
-      Item * ci = dynamic_cast<Item*> (cc);
+      Grob *cc = unsmob_grob (get_property ("currentCommandColumn"));
+      Item *ci = dynamic_cast<Item *> (cc);
       volta_span_->set_bound (LEFT, ci);
     }
-  
+
 }
 
 /*
   TODO: should attach volta to paper-column if no bar is found.
- */
+*/
 
 ADD_TRANSLATOR (Volta_engraver,
-/* descr */       "Make volta brackets.",
-/* creats*/       "VoltaBracket",
-/* accepts */     "",
-/* acks  */       "bar-line-interface staff-symbol-interface note-column-interface",
-/* reads */       "repeatCommands voltaSpannerDuration stavesFound",
-/* write */       "");
+               /* descr */ "Make volta brackets.",
+               /* creats*/ "VoltaBracket",
+               /* accepts */ "",
+               /* acks  */ "bar-line-interface staff-symbol-interface note-column-interface",
+               /* reads */ "repeatCommands voltaSpannerDuration stavesFound",
+               /* write */ "");