]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/break-alignment-interface.cc
Issue 5167/6: Changes: show \markup xxx = ... \etc assignments
[lilypond.git] / lily / break-alignment-interface.cc
index bb7f02eda099cbce13e73a323ac4e3870b30fdcf..a1d7606445353ece111cbf221a4bc9eda9257f53 100644 (file)
@@ -73,7 +73,7 @@ Break_alignment_interface::ordered_elements (Grob *grob)
       for (vsize i = writable_elts.size (); i--;)
         {
           Grob *g = writable_elts[i];
-          if (g && sym == g->get_property ("break-align-symbol"))
+          if (g && scm_is_eq (sym, g->get_property ("break-align-symbol")))
             {
               new_elts.push_back (g);
               writable_elts.erase (writable_elts.begin () + i);
@@ -94,7 +94,7 @@ MAKE_SCHEME_CALLBACK (Break_alignment_interface, calc_positioning_done, 1)
 SCM
 Break_alignment_interface::calc_positioning_done (SCM smob)
 {
-  Grob *grob = Grob::unsmob (smob);
+  Grob *grob = unsmob<Grob> (smob);
   Item *me = dynamic_cast<Item *> (grob);
 
   me->set_property ("positioning-done", SCM_BOOL_T);
@@ -189,8 +189,8 @@ Break_alignment_interface::calc_positioning_done (SCM smob)
             sym_string = ly_symbol2string (rsym);
 
           string orig_string;
-          if (Grob::is_smob (l->get_property ("cause")))
-            orig_string = Grob::unsmob (l->get_property ("cause"))->name ();
+          if (unsmob<Grob> (l->get_property ("cause")))
+            orig_string = unsmob<Grob> (l->get_property ("cause"))->name ();
 
           programming_error (to_string ("No spacing entry from %s to `%s'",
                                         orig_string.c_str (),
@@ -261,9 +261,9 @@ MAKE_SCHEME_CALLBACK (Break_alignable_interface, self_align_callback, 1)
 SCM
 Break_alignable_interface::self_align_callback (SCM grob)
 {
-  Grob *me = Grob::unsmob (grob);
+  Grob *me = unsmob<Grob> (grob);
   Item *alignment = dynamic_cast<Item *> (me->get_parent (X_AXIS));
-  if (!Break_alignment_interface::has_interface (alignment))
+  if (!has_interface<Break_alignment_interface> (alignment))
     return scm_from_int (0);
 
   SCM symbol_list = me->get_property ("break-align-symbols");
@@ -277,9 +277,10 @@ Break_alignable_interface::self_align_callback (SCM grob)
       SCM sym = scm_car (symbol_list);
       for (vsize i = 0; i < elements.size (); i++)
         {
-          if (elements[i]->get_property ("break-align-symbol") == sym)
+          if (scm_is_eq (sym, elements[i]->get_property ("break-align-symbol")))
             {
               if (Item::break_visible (elements[i])
+                  // TODO SCM: simplify syntax?
                   && !elements[i]->extent (elements[i], X_AXIS).is_empty ())
                 {
                   break_aligned_grob = i;
@@ -308,7 +309,7 @@ MAKE_SCHEME_CALLBACK (Break_aligned_interface, calc_average_anchor, 1)
 SCM
 Break_aligned_interface::calc_average_anchor (SCM grob)
 {
-  Grob *me = Grob::unsmob (grob);
+  Grob *me = unsmob<Grob> (grob);
   Real avg = 0.0;
   int count = 0;
 
@@ -331,7 +332,7 @@ MAKE_SCHEME_CALLBACK (Break_aligned_interface, calc_extent_aligned_anchor, 1)
 SCM
 Break_aligned_interface::calc_extent_aligned_anchor (SCM smob)
 {
-  Grob *me = Grob::unsmob (smob);
+  Grob *me = unsmob<Grob> (smob);
   Real alignment = robust_scm2double (me->get_property ("break-align-anchor-alignment"), 0.0);
   Interval iv = me->extent (me, X_AXIS);
 
@@ -346,7 +347,7 @@ SCM
 Break_aligned_interface::calc_break_visibility (SCM smob)
 {
   /* a BreakAlignGroup is break-visible if it has one element that is break-visible */
-  Grob *me = Grob::unsmob (smob);
+  Grob *me = unsmob<Grob> (smob);
   SCM ret = scm_c_make_vector (3, SCM_EOL);
   extract_grob_set (me, "elements", elts);
   for (int dir = 0; dir <= 2; dir++)