|
From: | Aaron Hill |
Subject: | Re: Default values for grob properties not listed on IR page |
Date: | Mon, 03 Feb 2020 18:29:01 -0800 |
User-agent: | Roundcube Webmail/1.4.2 |
On 2020-02-03 1:50 pm, Daniel Rosen wrote:
How do I find the default value for a grob property if that property isn't listed on the grob's IR page-for instance, the default value for Glissando.thickness?
The documentation is in part generated from the define-grobs.scm file, where each grob and its default property values are listed. If no value is mentioned, then the grob does not have a default value within its definition.
Since the thickness property is not an absolute measure but a relative one based on the line thickness of the associated StaffSymbol, it might be safe to infer an unset thickness property is the same as a setting of 1 (as in 100%). Simple experimentation will prove this theory is correct.
However, if you want to dig deeper... Glissando uses the ly:line-spanner::print stencil procedure, and a search in the source tree will find line-spanner.cc housing its implementation. Line_spanner::print delegates the creation of the line stencil to Line_interface::line. The very first thing this function does is compute the line thickness. And as predicted, it obtains the line thickness of the staff lines via Staff_symbol_referencer::line_thickness, scaling it according to the thickness property of the grob with unity as the fallback value.
-- Aaron Hill
[Prev in Thread] | Current Thread | [Next in Thread] |