Rest_collision::add_column (Note_column *nc_l)
{
add_dependency (nc_l);
- Group_interface gi (this);
+ Pointer_group_interface gi (this);
if (nc_l->rest_b ())
gi.name_ = "rests";
else
return to_duration (r->balltype_i (), r->dot_count ()).length_mom ();
}
+/*
+ ugh
+ */
static Rhythmic_head*
col2rhythmic_head (Note_column* c)
{
- SCM s = c->get_elt_property ("rests");
+ SCM s = c->get_elt_pointer ("rests");
assert (gh_pair_p (s));
Score_element* e = unsmob_element (gh_car (s));
return dynamic_cast<Rhythmic_head*> (e);
Rest_collision::before_line_breaking ()
{
Link_array<Note_column> rest_l_arr =
- Group_interface__extract_elements (this, (Note_column*) 0, "rests");
+ Pointer_group_interface__extract_elements (this, (Note_column*) 0, "rests");
Link_array<Note_column> ncol_l_arr =
- Group_interface__extract_elements (this, (Note_column*) 0, "notes");
+ Pointer_group_interface__extract_elements (this, (Note_column*) 0, "notes");
/*
// meisjes met meisjes
if (!ncol_l_arr.size())
{
-
- /*
- Oeps, nu zie ik 't pas: colommen met noten.
- Het commentaar, dat ik ooit geschreven had: meisjes met meisjes,
- is achterhaald: urg.
-
- */
-
Moment m = rhythmic_head2mom (col2rhythmic_head (rest_l_arr[0]));
int i = 1;
for (; i < rest_l_arr.size (); i++)
int display_count;
SCM s = get_elt_property ("maximum-rest-count");
if (i == rest_l_arr.size ()
- && gh_number_p (s) && gh_int2scm (s) < rest_l_arr.size ())
+ && gh_number_p (s) && gh_scm2int (s) < rest_l_arr.size ())
{
- display_count = gh_int2scm (s);
-#if 0
- /*
- Setting surplus rests to transparent.
- Only really necessary for maximum-rest-count == 0,
- because rests wil be set at exact the same position
- and thus overlap.
- */
- for (i--;i > display_count; i--)
+ display_count = gh_scm2int (s);
+ for (; i > display_count; i--)
col2rhythmic_head (rest_l_arr[i-1])
- ->set_elt_property ("transparent", SCM_BOOL_T);
-#endif
+ ->set_elt_property ("molecule-callback", SCM_BOOL_T);
}
else
display_count = rest_l_arr.size ();
}
-Rest_collision::Rest_collision()
+Rest_collision::Rest_collision(SCM s)
+ : Item (s)
{
- set_elt_property ("rests", SCM_EOL);
- set_elt_property ("notes", SCM_EOL);
- set_elt_property ("transparent", SCM_BOOL_T);
- set_empty (X_AXIS);
- set_empty (Y_AXIS);
+ set_elt_pointer ("rests", SCM_EOL);
+ set_elt_pointer ("notes", SCM_EOL);
+ set_extent_callback (0, X_AXIS);
+ set_extent_callback (0, Y_AXIS);
}