lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Doc: NR Added new Node for Footnotes (issue4751045)


From: Neil Puttock
Subject: Re: Doc: NR Added new Node for Footnotes (issue4751045)
Date: Mon, 18 Jul 2011 22:33:22 +0100

On 18 July 2011 22:00,  <address@hidden> wrote:

> Ok I tried
>
> \relative c' {
>  <c \footnoteGrob #'NoteHead #'(2 . 4) \markup \box "a" "a. E flat" es
>>
>> 1 } for myself and it works but I get two indicators and two footnotes
>
> on each note inside the chord. So is this a special case? If so then I
> can add a snippet or another @lilypond to illustrate this.

See the documentation for \balloon and \balloonTextGrob.  The footnote
commands work in exactly the same way.

> As you have a more deeper knowledge of why I'd get multiple instances of
> a footnote indicator, I'm wondering do we need a \footnoteGrob command
> at all? or rather I'm struggling why < ... > constructs make this
> exception. Perhaps then I can elaborate more somewhere in this section.

\footnoteGrob tells the engraver to create a footnote whenever it sees
the right grob; in the case of noteheads and text markups in a single
timestep (i.e., a chord or multiple texts stacked on a head) each
NoteHead or TextScript grob created is picked up by the
Footnote_engraver and gets a copy of the requested footnote.

\footnote associates a single footnote with a particular event in the
music (usually a NoteEvent); in a certain sense it behaves like
\tweak, though I'd suggest to Mike that it actually be changed so its
behaviour is identical.  Currently we have the situation where it's
awkward to add footnotes to individual scripts and fingerings:

\relative c' {
  < c-1-\footnote #'(1 . 2) "foo" "bar" >
}

-> doesn't apply footnote to fingering, still goes on notehead

\relative c' {
   c-1-\footnote #'(1 . 2) "foo" "bar"
}

-> crashes:

Interpreting music... ERROR: In procedure symbol->string:
ERROR: Wrong type argument in position 1 (expecting symbol): ()

> Is it a silly question to ask why this engraver isn't in the Staff
> context by default? or can an engraver be in more than one at once?

There are several engravers which exist in multiple contexts (e.g.,
Parenthesis_engraver).  I haven't checked, but it seems to me that
adding the Footnote_engraver to the Staff context should be harmless
for Voice-level footnotes.

Cheers,
Neil



reply via email to

[Prev in Thread] Current Thread [Next in Thread]