void
Group_interface::add_thing (Grob*me, SCM sym, SCM thing)
{
- SCM handle = scm_sloppy_assq (sym, me->mutable_property_alist_);
+\r SCM handle = scm_sloppy_assq (sym, me->mutable_property_alist_);
if (handle != SCM_BOOL_F)
{
gh_set_cdr_x (handle, gh_cons (thing, gh_cdr (handle)));
{
System * scoreline_l_;
int breaks_i_;
-
+
+
Link_array<Grob> elem_p_arr_;
Paper_column* command_column_l_;
ADD_INTERFACE (Paper_column, "paper-column-interface",
"",
- "between-cols between-system-string when bounded-by-me shortest-playing-duration shortest-starter-duration");
+ "between-cols count between-system-string when bounded-by-me shortest-playing-duration shortest-starter-duration");
{
for (Pedal_info*p = info_list_; p && p->name_; p ++)
{
- Grob *gs[] = {p->item_p_,
- p->bracket_p_};
- for (int i = 0; i < 2 ; i++)
+ if (Note_column::has_interface (info.grob_l_))
{
- Grob *g = gs[i];
- if (g && p->line_spanner_)
+ if (p->line_spanner_)
{
- if (Note_column::has_interface (info.grob_l_))
- {
- Side_position_interface::add_support (p->line_spanner_, info.grob_l_);
- add_bound_item (p->line_spanner_,info.grob_l_);
-
- if (p->bracket_p_)
- add_bound_item (p->bracket_p_,info.grob_l_);
-
- /*
- What the h*ll is this supposed to do? --hwn
- */
-#if 0
- if (Side_position_interface::get_axis (g) == X_AXIS
- && !g->get_parent (Y_AXIS))
- g->set_parent (info.grob_l_, Y_AXIS);
-#endif
- }
- }
+ Side_position_interface::add_support (p->line_spanner_, info.grob_l_);
+
+ add_bound_item (p->line_spanner_,info.grob_l_);
+ }
+ if (p->bracket_p_)
+ add_bound_item (p->bracket_p_,info.grob_l_);
+
}
}
}
assert (!p->finished_bracket_p_ && p->bracket_p_);
- p->bracket_p_->set_bound (RIGHT, unsmob_grob (get_property ("currentMusicalColumn")));
+ Grob *cmc = unsmob_grob (get_property ("currentMusicalColumn"));
+ p->bracket_p_->set_bound (RIGHT, cmc);
/*
Set properties so that the molecule-creating function will
if (p->finished_bracket_p_)
{
- Grob * l = p->finished_line_spanner_->get_bound (LEFT);
- Grob * r = p->finished_line_spanner_->get_bound (RIGHT);
+
+ Grob * l = p->finished_bracket_p_->get_bound (LEFT);
+ Grob * r = p->finished_bracket_p_->get_bound (RIGHT);
if (!r)
{
p->finished_bracket_p_->set_bound (RIGHT, unsmob_grob (get_property ("currentMusicalColumn")));
Global_translator::prepare (w);
make_columns ();
+
+ command_column_l_->set_grob_property ("when", now_mom_.smobbed_copy ());
+ musical_column_l_->set_grob_property ("when", now_mom_.smobbed_copy ());
+
start_translation_timestep ();
}
progress_indication ("[" + to_str (breaks_i_) + "]");
}
- command_column_l_->set_grob_property ("when", now_mom_.smobbed_copy ());
- musical_column_l_->set_grob_property ("when", now_mom_.smobbed_copy ());
scoreline_l_->add_column (command_column_l_);
scoreline_l_->add_column (musical_column_l_);
Paper_column *new_musical_l)
{
assert (!command_column_l_ && !musical_column_l_);
+
command_column_l_ = new_command_l;
musical_column_l_ = new_musical_l;
+ if (new_command_l)
+ {
+ set_property ("currentCommandColumn", new_command_l->self_scm ());
+ }
if (new_musical_l)
- set_property ("currentMusicalColumn", new_musical_l->self_scm ());
- if (new_command_l)
- set_property ("currentCommandColumn", new_command_l->self_scm ());
+ {
+ set_property ("currentMusicalColumn", new_musical_l->self_scm ());
+ }
}
Music_output*
(grob-property-description 'collapse-height number? "Minimum height of system start delimiter. If equal or smaller, the bracket is removed.")
(grob-property-description 'columns list? "list of grobs, typically containing paper-columns.")
+(grob-property-description 'count integer? "")
(grob-property-description 'control-points list? "List of 4 offsets (number-pairs) that form control points for the tie/slur shape.")
(grob-property-description 'damping integer? "amount of beam slope damping should beam slope be damped? 0: no, 1: yes, 100000: horizontal beams .")
(grob-property-description 'dash-length number? "the length of a dash.")