Le 25/03/2022 à 13:11, Simon Albrecht a écrit :
Hello everybody,

I want to try having Lyrics placed without regard for any stems in the adjacent staff (and then using whiteout to remedy the clash, of course). The below approach doesn’t work. Why? Can I make it work?



From grob.cc:

Grob::Grob (SCM basicprops)
{
  [...]
  if (scm_is_null (get_property_data (this, "X-extent")))
    set_property (this, "X-extent", Grob::stencil_width_proc);
  if (scm_is_null (get_property_data (this, "Y-extent")))
    set_property (this, "Y-extent",
                  Unpure_pure_container::make_smob (Grob::stencil_height_proc,
Grob::pure_stencil_height_proc));
  if (scm_is_null (get_property_data (this, "vertical-skylines")))
    set_property (this, "vertical-skylines",
                  Unpure_pure_container::make_smob (Grob::simple_vertical_skylines_from_extents_proc,
Grob::pure_simple_vertical_skylines_from_extents_proc));
  if (scm_is_null (get_property_data (this, "horizontal-skylines")))
    set_property (this, "horizontal-skylines",
                  Unpure_pure_container::make_smob (Grob::simple_horizontal_skylines_from_extents_proc,
Grob::pure_simple_horizontal_skylines_from_extents_proc));
}


In English: these properties (X-extent, Y-extent, horizontal-skylines,
vertical-skylines) have implicit defaults, which are given when the
property is found not to be set. Now you're setting them to the empty
list, which for some reason (David calls it a Lispism, I agree with
him) has been chosen as the value representing lack of value, so the
default gets applied. Try #f instead.

Jean

Reply via email to