]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/metronome-engraver.cc
Metronome mark: check for interface rather than grob name in non-break-aligned.
[lilypond.git] / lily / metronome-engraver.cc
index 7eaf3145ad2086308997e38c09bf5d10a2fd0b6f..aed027544c498ac6a65fe607f9e74b740b57283c 100644 (file)
@@ -99,24 +99,17 @@ Metronome_mark_engraver::acknowledge_break_aligned (Grob_info info)
     }
 }
 
-SCM
-grob_name_scm (Grob *g)
-{
-  SCM name_pair = scm_assq (ly_symbol2scm ("name"), g->get_property ("meta"));
-  return (scm_is_pair (name_pair)
-         ? ly_camel_case_2_lisp_identifier (scm_cdr (name_pair))
-         : SCM_EOL);
-}
-
 void
 Metronome_mark_engraver::acknowledge_grob (Grob_info info)
 {
   Grob *g = info.grob ();
 
-  if (text_
-      && safe_is_member (grob_name_scm (g),
-                        text_->get_property ("non-break-align-symbols")))
-    text_->set_parent (g, X_AXIS);
+  if (text_)
+    for (SCM s = text_->get_property ("non-break-align-symbols");
+        scm_is_pair (s);
+        s = scm_cdr (s))
+      if (g->internal_has_interface (scm_car (s)))
+       text_->set_parent (g, X_AXIS);
 }
 
 void