%% DO NOT EDIT this file manually; it is automatically
-%% generated from LSR http://lsr.dsi.unimi.it
+%% generated from LSR http://lsr.di.unimi.it
%% Make any changes in LSR itself, or in Documentation/snippets/new/ ,
%% and then run scripts/auxiliar/makelsr.py
%%
%% This file is in the public domain.
-\version "2.16.0"
+\version "2.18.0"
\header {
lsrtags = "devel, scheme-language, tweaks-and-overrides"
texidoc = "
When working with grob callbacks, it can be helpful to understand a
-grob's @qq{ancestry}. Most grobs have @qq{parents} which influence the
+grob’s ancestry. Most grobs have parents which influence the
positioning of the grob. X- and Y-parents influence the horizontal and
vertical positions for the grob, respectively. Additionally, each
parent may have parents of its own.
-Unfortunately, there are several aspects of a grob's ancestry that can
+Unfortunately, there are several aspects of a grob’s ancestry that can
lead to confusion:
-* The types of parents a grob has may depend on context. * For some
-grobs, the X- and Y-parents are the same. * A particular @qq{ancestor}
-may be related to a grob in multiple ways. * The concept of
-@qq{generations} is misleading.
+
+* The types of parents a grob has may depend on context.
+
+* For some grobs, the X- and Y-parents are the same.
+
+* A particular “ancestor” may be related to a grob in multiple ways.
+
+* The concept of “generations” is misleading.
For example, the @code{System} grob can be both parent (on the Y-side)
grob.
-This macro prints (to the console) a textual representation of a grob's
+This macro prints (to the console) a textual representation of a grob’s
ancestry.
+When called this way:
-When called this way
-
-
-@{
- \\once \\override NoteHead #'before-line-breaking = #display-ancestry
- c @}
-
+@code{@{ \\once \\override NoteHead.before-line-breaking =
+#display-ancestry c @}}
The following output is generated:
-------------------------------------
-
-NoteHead X,Y: NoteColumn
- X: PaperColumn
- X,Y: System
- Y: VerticalAxisGroup
- X: NonMusicalPaperColumn
- X,Y: System
- Y: VerticalAlignment
- X: NonMusicalPaperColumn
- X,Y: System
- Y: System
-
-
+@code{NoteHead X,Y: NoteColumn
+ X: PaperColumn
+ X,Y: System
+ Y: VerticalAxisGroup
+ X: NonMusicalPaperColumn
+ X,Y: System
+ Y: VerticalAlignment
+ X: NonMusicalPaperColumn
+ X,Y: System
+ Y: System}
"
doctitle = "Displaying grob ancestry"
} % begin verbatim
+%% http://lsr.di.unimi.it/LSR/Item?id=622
+%% see also http://www.lilypond.org/doc/v2.18/Documentation/snippets/tweaks-and-overrides#tweaks-and-overrides-displaying-grob-ancestry
+
#(define (grob-name grob)
(if (ly:grob? grob)
(assoc-ref (ly:grob-property grob 'meta) 'name)
(format-ancestry (get-ancestry grob) 0)))
\relative c' {
- \once \override NoteHead #'before-line-breaking = #display-ancestry
+ \once \override NoteHead.before-line-breaking = #display-ancestry
f4
- \once \override Accidental #'before-line-breaking = #display-ancestry
- \once \override Arpeggio #'before-line-breaking = #display-ancestry
+ \once \override Accidental.before-line-breaking = #display-ancestry
+ \once \override Arpeggio.before-line-breaking = #display-ancestry
<f as c>4\arpeggio
}