]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/script.cc
release: 1.3.66
[lilypond.git] / lily / script.cc
index 879881583ae31df92013fd54425a57245ba0ec5d..326667e7b44cc99a6d380d756d3bc11bc1922e8b 100644 (file)
 #include "paper-def.hh"
 #include "dimension-cache.hh"
 
+Script ::Script (SCM s)
+  : Item (s)
+{
+}
 
 Molecule
 Script::get_molecule(Direction d) const
@@ -29,7 +33,7 @@ Script::get_molecule(Direction d) const
     }
   else if (key == ly_symbol2scm ("accordion"))
     {
-      return lookup_l ()->accordion (s, paper_l()->get_var("interline"));
+      return lookup_l ()->accordion (gh_cdr (s), paper_l()->get_var("interline"));
     }
 
   else assert (false);
@@ -38,33 +42,42 @@ Script::get_molecule(Direction d) const
 }
 
 
-void
-Script::before_line_breaking ()
+GLUE_SCORE_ELEMENT(Script,before_line_breaking);
+SCM
+Script::member_before_line_breaking ()
 {
   /*
     center my self on the note head.
    */
   Score_element * e = parent_l(X_AXIS);
   translate_axis (e->extent (X_AXIS).center (), X_AXIS);
+
+  return SCM_UNDEFINED;
 }
 
-void
-Script::after_line_breaking ()
+GLUE_SCORE_ELEMENT(Script,after_line_breaking);
+SCM
+Script::member_after_line_breaking ()
 {
   Side_position_interface i (this);
   Direction d =  i.get_direction ();
   i.set_direction (d);
+
+  return SCM_UNDEFINED;
 }
 
-Molecule 
-Script::do_brew_molecule () const
+
+GLUE_SCORE_ELEMENT(Script,brew_molecule);
+
+SCM
+Script::member_brew_molecule () const
 {
   Direction dir = DOWN;
   SCM d = get_elt_property ("direction");
   if (isdir_b (d))
     dir = to_dir (d);
   
-  return get_molecule (dir);
+  return get_molecule (dir).create_scheme();
 }