]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/accidental.cc
* The grand 2005-2006 replace.
[lilypond.git] / lily / accidental.cc
index e2f21a105a35c3f14c0bd0b267664c9d0588600e..edea40f95e550d00319cfa216fba39a10b0ea79c 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 2001--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 2001--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
 */
 
 #include "accidental-interface.hh"
 Stencil
 parenthesize (Grob *me, Stencil m)
 {
-  Stencil open = Font_interface::get_default_font (me)->find_by_name ("accidentals.leftparen");
-  Stencil close = Font_interface::get_default_font (me)->find_by_name ("accidentals.rightparen");
+  Font_metric * font
+    = Font_interface::get_default_font (me); 
+  Stencil open
+    = font->find_by_name ("accidentals.leftparen");
+  Stencil close
+    = font->find_by_name ("accidentals.rightparen");
 
   m.add_at_edge (X_AXIS, LEFT, Stencil (open), 0, 0);
   m.add_at_edge (X_AXIS, RIGHT, Stencil (close), 0, 0);
@@ -32,14 +36,17 @@ parenthesize (Grob *me, Stencil m)
   return m;
 }
 
+/*
+  Hmm. Need separate callback, or perhaps #'live bool property.
+ */
 MAKE_SCHEME_CALLBACK (Accidental_interface, after_line_breaking, 1);
 SCM
 Accidental_interface::after_line_breaking (SCM smob)
 {
   Grob *me = unsmob_grob (smob);
-  Grob *tie = unsmob_grob (me->get_property ("tie"));
+  Grob *tie = unsmob_grob (me->get_object ("tie"));
 
-  if (tie && !tie->original_)
+  if (tie && !tie->original ())
     me->suicide ();
   return SCM_UNSPECIFIED;
 }
@@ -57,7 +64,7 @@ Accidental_interface::accurate_boxes (Grob *a, Grob **common)
   if (to_boolean (a->get_property ("cautionary")))
     {
       SCM cstyle = a->get_property ("cautionary-style");
-      parens = ly_c_equal_p (cstyle, ly_symbol2scm ("parentheses"));
+      parens = ly_is_equal (cstyle, ly_symbol2scm ("parentheses"));
     }
 
   SCM accs = a->get_property ("accidentals");
@@ -100,7 +107,7 @@ Accidental_interface::accurate_boxes (Grob *a, Grob **common)
 
            belly[Y_AXIS] *= 0.75;
            lstem[X_AXIS][RIGHT] *= .33;
-           rstem[X_AXIS][LEFT] = rstem[X_AXIS].linear_combination (1.0/3.0);
+           rstem[X_AXIS][LEFT] = rstem[X_AXIS].linear_combination (1.0 / 3.0);
            lstem[Y_AXIS][DOWN] = belly[Y_AXIS][DOWN];
            rstem[Y_AXIS][UP] = belly[Y_AXIS][UP];
            boxes.push (belly);
@@ -120,9 +127,7 @@ Accidental_interface::accurate_boxes (Grob *a, Grob **common)
   Offset o (a->relative_coordinate (common[X_AXIS], X_AXIS),
            a->relative_coordinate (common[Y_AXIS], Y_AXIS));
   for (int i = boxes.size (); i--;)
-    {
-      boxes[i].translate (o);
-    }
+    boxes[i].translate (o);
 
   return boxes;
 }
@@ -191,8 +196,8 @@ Accidental_interface::print (SCM smob)
   if (caut)
     {
       SCM cstyle = me->get_property ("cautionary-style");
-      parens = ly_c_equal_p (cstyle, ly_symbol2scm ("parentheses"));
-      smaller = ly_c_equal_p (cstyle, ly_symbol2scm ("smaller"));
+      parens = ly_is_equal (cstyle, ly_symbol2scm ("parentheses"));
+      smaller = ly_is_equal (cstyle, ly_symbol2scm ("smaller"));
     }
 
   SCM scm_style = me->get_property ("style");
@@ -214,9 +219,9 @@ Accidental_interface::print (SCM smob)
       */
       ac = scm_cons (scm_list_1 (scm_cons
                                 (ly_symbol2scm ("font-size"),
-                                 scm_int2num (-2))),
+                                 scm_from_int (-2))),
                     ac);
-      fm = select_font (me->get_layout (), ac);
+      fm = select_font (me->layout (), ac);
     }
   else
     fm = Font_interface::get_default_font (me);
@@ -242,8 +247,14 @@ Accidental_interface::print (SCM smob)
 }
 
 /*
-  TODO: should move inside-slur into item?
+  TODO: should move avoid-slur into item?
 */
 ADD_INTERFACE (Accidental_interface, "accidental-interface",
               "a single accidental",
-              "inside-slur cautionary cautionary-style style tie accidentals");
+              "accidentals "
+              "avoid-slur "
+              "cautionary "
+              "cautionary-style "
+              "style "
+              "tie "
+              );