]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/accidental-engraver.cc
(path::parse_path): Oops.
[lilypond.git] / lily / accidental-engraver.cc
index 985fe638687526f8035465be2c7f4265b1de2a61..7d97b65d269598fb29b51e91616ef9472516c4ef 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 1997--2005 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  (c) 1997--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
   Modified 2001--2002 by Rune Zedeler <rz@daimi.au.dk>
 */
 
 #include "arpeggio.hh"
 #include "context.hh"
 #include "engraver.hh"
+#include "international.hh"
+#include "music.hh"
+#include "pitch.hh"
 #include "protected-scm.hh"
 #include "rhythmic-head.hh"
 #include "side-position-interface.hh"
 #include "tie.hh"
 #include "warn.hh"
-#include "music.hh"
-#include "pitch.hh"
 
 #include "translator.icc"
 
@@ -94,16 +95,6 @@ public:
   those.
 */
 
-static void
-set_property_on_children (Context *trans, char const *sym, SCM val)
-{
-  trans->set_property (sym, ly_deep_copy (val));
-  for (SCM p = trans->children_contexts (); scm_is_pair (p); p = scm_cdr (p))
-    {
-      Context *trg = unsmob_context (scm_car (p));
-      set_property_on_children (trg, sym, ly_deep_copy (val));
-    }
-}
 
 Accidental_engraver::Accidental_engraver ()
 {
@@ -121,7 +112,9 @@ void
 Accidental_engraver::update_local_key_signature ()
 {
   last_keysig_ = get_property ("keySignature");
-  set_property_on_children (context (), "localKeySignature", last_keysig_);
+  set_context_property_on_children (context (),
+                                   ly_symbol2scm ("localKeySignature"),
+                                   last_keysig_);
 
   Context *trans = context ()->get_parent_context ();
 
@@ -243,7 +236,7 @@ number_accidentals (bool *different,
   *different = false;
   if (scm_is_pair (accidentals) && !scm_is_symbol (scm_car (accidentals)))
     warning (_f ("accidental typesetting list must begin with context-name: %s",
-                ly_scm2string (scm_car (accidentals)).to_str0 ()));
+                ly_scm2string (scm_car (accidentals)).c_str ()));
 
   for (; scm_is_pair (accidentals) && origin;
        accidentals = scm_cdr (accidentals))
@@ -271,7 +264,7 @@ number_accidentals (bool *different,
            }
          else
            warning (_f ("ignoring unknown accidental: %s",
-                        ly_symbol2string (type).to_str0 ()));
+                        ly_symbol2string (type).c_str ()));
        }
 
       /* if symbol then it is a context name.  Scan parent contexts to
@@ -287,7 +280,7 @@ number_accidentals (bool *different,
        }
       else
        warning (_f ("pair or context-name expected for accidental rule, found %s",
-                    ly_scm2string (rule).to_str0 ()));
+                    ly_scm2string (rule).c_str ()));
     }
 
   return number;
@@ -539,7 +532,7 @@ Accidental_engraver::acknowledge_rhythmic_head (Grob_info info)
       && note->is_mus_type ("note-event"))
     {
       /*
-       String harmonics usually don't have accidentals.
+       std::string harmonics usually don't have accidentals.
       */
       if (to_boolean (get_property ("harmonicAccidentals"))
          || !ly_is_equal (info.grob ()->get_property ("style"),