FIXME: should use symbol for #'style.
*/
-MAKE_SCHEME_CALLBACK(Clef,before_line_breaking);
+MAKE_SCHEME_CALLBACK(Clef,before_line_breaking,1);
SCM
Clef::before_line_breaking (SCM smob)
{
-MAKE_SCHEME_CALLBACK(Crescendo,brew_molecule);
+MAKE_SCHEME_CALLBACK(Crescendo,brew_molecule,1);
/*
#include "directional-element-interface.hh"
-Real
-Dots::quantised_position_callback (Score_element * me, Axis a)
+MAKE_SCHEME_CALLBACK(Dots,quantised_position_callback,2);
+SCM
+Dots::quantised_position_callback (SCM element_smob, SCM axis)
{
+ Score_element *me = unsmob_element (element_smob);
+ Axis a = (Axis) gh_scm2int (axis);
assert (a == Y_AXIS);
SCM d= me->get_elt_property ("dot-count");
Directional_element_interface::set (me, UP);
if (Staff_symbol_referencer::on_staffline (me))
- return Staff_symbol_referencer::staff_space (me) / 2.0 * Directional_element_interface::get (me);
+ return gh_double2scm (Staff_symbol_referencer::staff_space (me) / 2.0 * Directional_element_interface::get (me));
}
- return 0.0;
+ return gh_double2scm (0.0);
}
-MAKE_SCHEME_CALLBACK(Dots,brew_molecule);
+MAKE_SCHEME_CALLBACK(Dots,brew_molecule,1);
SCM
Dots::brew_molecule (SCM d)
{
#include "paper-column.hh"
#include "paper-def.hh"
-MAKE_SCHEME_CALLBACK(Grace_align_item,before_line_breaking);
+MAKE_SCHEME_CALLBACK(Grace_align_item,before_line_breaking,1);
SCM
Grace_align_item::before_line_breaking (SCM smob)
{
TODO
- space the `natural' signs wider
*/
-MAKE_SCHEME_CALLBACK(Key_item,brew_molecule);
+MAKE_SCHEME_CALLBACK(Key_item,brew_molecule,1);
SCM
Key_item::brew_molecule (SCM smob)
{
accidental placement is more complicated than this.
*/
-MAKE_SCHEME_CALLBACK(Local_key_item,brew_molecule);
+MAKE_SCHEME_CALLBACK(Local_key_item,brew_molecule,1);
SCM
Local_key_item::brew_molecule (SCM smob)
{
}
-MAKE_SCHEME_CALLBACK(Note_head,brew_molecule);
+MAKE_SCHEME_CALLBACK(Note_head,brew_molecule,1);
SCM
Note_head::brew_molecule (SCM smob)
return gh_scm2int (p1) - gh_scm2int (p2);
}
-MAKE_SCHEME_CALLBACK(Script_column,before_line_breaking);
+MAKE_SCHEME_CALLBACK(Script_column,before_line_breaking,1);
SCM
Script_column::before_line_breaking (SCM smob)
return Molecule ();
}
-MAKE_SCHEME_CALLBACK(Script,after_line_breaking);
+MAKE_SCHEME_CALLBACK(Script,after_line_breaking,1);
SCM
Script::after_line_breaking (SCM smob)
{
return SCM_UNSPECIFIED;
}
-MAKE_SCHEME_CALLBACK(Script,brew_molecule);
+MAKE_SCHEME_CALLBACK(Script,brew_molecule,1);
SCM
Script::brew_molecule (SCM smob)
rod.add_to_cols ();
}
-MAKE_SCHEME_CALLBACK(Separating_group_spanner,set_spacing_rods);
+MAKE_SCHEME_CALLBACK(Separating_group_spanner,set_spacing_rods,1);
SCM
Separating_group_spanner::set_spacing_rods (SCM smob)
{
#include "spanner.hh"
-MAKE_SCHEME_CALLBACK(Staff_symbol,brew_molecule);
+MAKE_SCHEME_CALLBACK(Staff_symbol,brew_molecule,1);
SCM
Staff_symbol::brew_molecule (SCM smob)
return controls;
}
-MAKE_SCHEME_CALLBACK(Tie,set_spacing_rods);
+MAKE_SCHEME_CALLBACK(Tie,set_spacing_rods,1);
/*
TODO: set minimum distances for begin/end of line
return SCM_UNSPECIFIED;
}
-MAKE_SCHEME_CALLBACK(Tie,brew_molecule);
+MAKE_SCHEME_CALLBACK(Tie,brew_molecule,1);
SCM
Tie::brew_molecule (SCM smob)
{
#include "paper-def.hh"
#include "lookup.hh"
-MAKE_SCHEME_CALLBACK(Time_signature,brew_molecule);
+MAKE_SCHEME_CALLBACK(Time_signature,brew_molecule,1);
SCM
Time_signature::brew_molecule (SCM smob)
TODO.
*/
-MAKE_SCHEME_CALLBACK(Tuplet_spanner,brew_molecule);
+MAKE_SCHEME_CALLBACK(Tuplet_spanner,brew_molecule,1);
SCM
Tuplet_spanner::brew_molecule (SCM smob)
*dy = column_arr.top ()->extent (Y_AXIS) [d]
- column_arr[0]->extent (Y_AXIS) [d];
}
-MAKE_SCHEME_CALLBACK(Tuplet_spanner,after_line_breaking);
+MAKE_SCHEME_CALLBACK(Tuplet_spanner,after_line_breaking,1);
SCM
Tuplet_spanner::after_line_breaking (SCM smob)
*/
-MAKE_SCHEME_CALLBACK(Volta_spanner,brew_molecule);
+MAKE_SCHEME_CALLBACK(Volta_spanner,brew_molecule,1);
SCM
Volta_spanner::brew_molecule (SCM smob)
{