]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/span-arpeggio-engraver.cc
Run `make grand-replace'.
[lilypond.git] / lily / span-arpeggio-engraver.cc
index 1e236324ac43aea6e8998b7f4ffcfac9c9d71397..07958a8a3e8da03bc8b7ad07c64160bb94a61db4 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 2000--2006 Jan Nieuwenhuizen <janneke@gnu.org>
+  (c) 2000--2008 Jan Nieuwenhuizen <janneke@gnu.org>
 
   Han-Wen Nienhuys <hanwen@xs4all.nl>
 */
@@ -58,7 +58,10 @@ Span_arpeggio_engraver::process_acknowledged ()
   */
   if (!span_arpeggio_ && arpeggios_.size () > 1
       && to_boolean (get_property ("connectArpeggios")))
-    span_arpeggio_ = make_item ("Arpeggio", SCM_EOL);
+    {
+      span_arpeggio_ = make_item ("Arpeggio", SCM_EOL);
+      span_arpeggio_->set_property ("cross-staff", SCM_BOOL_T);
+    }
 }
 
 void
@@ -73,12 +76,12 @@ Span_arpeggio_engraver::stop_translation_timestep ()
       for (vsize j = 0; j < arpeggios_.size (); j++)
        {
          extract_grob_set (arpeggios_[j], "stems", stems);
-         for (vsize i = stems.size (); i--;)
+         for (vsize i = 0; i < stems.size (); i++)
            Pointer_group_interface::add_grob (span_arpeggio_, ly_symbol2scm ("stems"),
                                               stems[i]);
 
          extract_grob_set (arpeggios_[j], "side-support-elements", sses);
-         for (vsize i = sses.size (); i--;)
+         for (vsize i = 0; i < sses.size (); i++)
            Pointer_group_interface::add_grob (span_arpeggio_, ly_symbol2scm ("side-support-elements"),
                                               sses[i]);
 
@@ -89,6 +92,8 @@ Span_arpeggio_engraver::stop_translation_timestep ()
          arpeggios_[j]->set_property ("transparent", SCM_BOOL_T);
        }
 
+
+      span_arpeggio_->set_parent (arpeggios_[0]->get_parent (Y_AXIS), Y_AXIS);
       span_arpeggio_ = 0;
     }
   arpeggios_.clear ();
@@ -98,7 +103,15 @@ Span_arpeggio_engraver::stop_translation_timestep ()
 
 ADD_ACKNOWLEDGER (Span_arpeggio_engraver, arpeggio);
 ADD_TRANSLATOR (Span_arpeggio_engraver,
-               /* doc */ "",
-               /* create */ "Arpeggio",
-               /* read */ "connectArpeggios",
-               /* write */ "");
+               /* doc */
+               "Make arpeggios that span multiple staves.",
+
+               /* create */
+               "Arpeggio ",
+
+               /* read */
+               "connectArpeggios ",
+
+               /* write */
+               ""
+               );