SCM nmp
= updated_grob_properties (context (),
ly_symbol2scm ("NonMusicalPaperColumn"));
+
+ Object_key const *key1 = context()->get_grob_key ("NonMusicalPaperColumn");
+
SCM pc = updated_grob_properties (context (),
ly_symbol2scm ("PaperColumn"));
-
- set_columns (new Paper_column (nmp), new Paper_column (pc));
+ Object_key const *key2 = context()->get_grob_key ("PaperColumn");
+ set_columns (new Paper_column (nmp, key1), new Paper_column (pc, key2));
+
+
+ scm_gc_unprotect_object (key1->self_scm());
+ scm_gc_unprotect_object (key2->self_scm());
Grob_info i1;
i1.grob_ = command_column_;
SCM w = m.smobbed_copy ();
command_column_->set_property ("when", w);
musical_column_->set_property ("when", w);
-
+
recurse_over_translators (context (), &Translator::start_translation_timestep, DOWN);
}
pscore_ = new Paper_score;
- pscore_->paper_ = dynamic_cast<Output_def*> (get_output_def ());
+ pscore_->layout_ = dynamic_cast<Output_def*> (get_output_def ());
SCM props = updated_grob_properties (context (), ly_symbol2scm ("System"));
- pscore_->typeset_line (new System (props));
+ Object_key const *sys_key = context()->get_grob_key ("System");
+ pscore_->typeset_line (new System (props, sys_key));
+ scm_gc_unprotect_object (sys_key->self_scm ());
make_columns ();
system_ = pscore_->system_;
ly_symbol2scm ("spacing-wishes"),
gi.grob_);
}
+
+ if (Axis_group_interface::has_interface (gi.grob_)
+ && gi.grob_->internal_has_interface (ly_symbol2scm ("vertically-spaceable-interface")))
+ {
+ SCM spaceable = get_property ("verticallySpacedContexts");
+ Context *orig = gi.origin_contexts (this)[0];
+
+ if (scm_memq (ly_symbol2scm (orig->context_name ().to_str0()),
+ spaceable) != SCM_BOOL_F)
+ {
+ Pointer_group_interface::add_grob (system_,
+ ly_symbol2scm ("spaceable-staves"),
+ gi.grob_);
+ }
+ }
+
}
,
/* creats*/ "System PaperColumn NonMusicalPaperColumn",
/* accepts */ "break-event",
-/* acks */ "note-spacing-interface staff-spacing-interface",
-/* reads */ "currentMusicalColumn currentCommandColumn",
+/* acks */ "note-spacing-interface staff-spacing-interface axis-group-interface",
+/* reads */ "currentMusicalColumn currentCommandColumn verticallySpacedContexts",
/* write */ "");