lilypond-devel
[Top][All Lists]
Advanced

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

Re: bounty for fixing issue 4044 (\addlyrics with custom contexts)


From: David Kastrup
Subject: Re: bounty for fixing issue 4044 (\addlyrics with custom contexts)
Date: Sun, 03 Aug 2014 17:26:48 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux)

Neil Puttock <address@hidden> writes:

> Hi Janek,
>
>
> On 1 August 2014 13:32, Janek Warchoł <address@hidden> wrote:
>
> I'm putting a modest bounty on
>> https://code.google.com/p/lilypond/issues/detail?id=4044 - this
>> problem is a nuisance for my work on predefined instruments, so i'd
>> like to see it disappear.
>
>
> I remember looking at this a while ago.  If I recall correctly it's too
> early for context information to be available to the syntax constructor -
> if you look in ly-syntax-constructors.scm there's a helper function which
> is supposed to find the first existing voice context so the constructor for
> \addlyrics doesn't have to create one from scratch.  There's a comment
> there noting it doesn't work (it says `rarely works' but I'm pretty sure it
> never does).

Well, yes, never.  It consults a property 'type' which is not actually
part of a normal music expression (the way it is used, 'name was likely
intended).  If you artificially inseminate it with something like

\displayMusic {
  $#{ \withMusicProperty type #'ContextSpeccedMusic \new Voice = wow { c'1 } #}
  \addlyrics { zing }
}

(the $#{ ...#} construct is needed to avoid \addlyrics doing its work
before \withMusicProperty is being called) then LilyPond crashes because
it then tries executing (music), namely calling a music expression as if
it were a function.  This code path never was operative.

Ugh.  So step 1 would be to make this work as intended and see how much
breakage this will cause.  Step 2 is then seeing how troublesome it
might be to let it work for _any_ context.  If people write things like
\new Staff { ... } \addlyrics { ... }
then it might be a bad idea to attach to the Staff.  Or maybe it's not
more insane than what happens now.  No idea.

-- 
David Kastrup



reply via email to

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