- {
- Item *item
- = make_item ("BassFigure",
- group.current_event_->self_scm ());
-
-
- SCM fig = group.current_event_->get_property ("figure");
- if (!group.group_)
- {
- group.group_ = make_spanner ("BassFigureLine", SCM_EOL);
- group.group_->set_bound (LEFT, muscol);
- Align_interface::add_element (alignment_,
- group.group_);
- }
-
- if (scm_memq (fig, get_property ("implicitBassFigures")) != SCM_BOOL_F)
- {
- item->set_property ("transparent", SCM_BOOL_T);
- item->set_property ("implicit", SCM_BOOL_T);
- }
-
- group.number_ = fig;
- group.alteration_ = group.current_event_->get_property ("alteration");
-
- SCM text = group.current_event_->get_property ("text");
- if (!Text_interface::is_markup (text)
- && ly_is_procedure (proc))
- {
- text = scm_call_3 (proc, fig, group.current_event_->self_scm (),
- context ()->self_scm ());
- }
-
- item->set_property ("text", text);
-
- Axis_group_interface::add_element (group.group_, item);
- group.figure_item_ = item;
- }
+ {
+ Item *item
+ = make_item ("BassFigure", group.current_event_->self_scm ());
+ group.assign_from_event (group.current_event_, item);
+
+ if (!group.group_)
+ {
+ group.group_ = make_spanner ("BassFigureLine", SCM_EOL);
+ group.group_->set_bound (LEFT, muscol);
+ Align_interface::add_element (alignment_, group.group_);
+ }
+
+ if (scm_memq (group.number_, get_property ("implicitBassFigures")) != SCM_BOOL_F)
+ {
+ item->set_property ("transparent", SCM_BOOL_T);
+ item->set_property ("implicit", SCM_BOOL_T);
+ }
+
+ SCM text = group.text_;
+ if (!Text_interface::is_markup (text)
+ && ly_is_procedure (proc))
+ {
+ text = scm_call_3 (proc, group.number_, group.current_event_->self_scm (),
+ context ()->self_scm ());
+ }
+
+ item->set_property ("text", text);
+
+ Axis_group_interface::add_element (group.group_, item);
+ }