lilypond-user
[Top][All Lists]
Advanced

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

Re: Text listing output in .txt file


From: Thomas Morley
Subject: Re: Text listing output in .txt file
Date: Wed, 2 Aug 2017 22:05:14 +0200

2017-08-02 21:59 GMT+02:00 David Kastrup <address@hidden>:
> Thomas Morley <address@hidden> writes:
>
>> 2017-08-02 21:35 GMT+02:00 David Kastrup <address@hidden>:
>>> Jan-Peter Voigt <address@hidden> writes:
>>>
>>>> Hi Daniel and all others,
>>>>
>>>> you wrote about a critrical edition. There is scholarly:
>>>> https://github.com/openlilylib/scholarly
>>>> where you can add annotations to your score which then can be
>>>> collected in another file.
>>>> If you want to use the EE for tracking, you might use \applyContext
>>>> #(lambda (context) ... ) .
>>>> Of course you can use this function right inside your code.
>>>>
>>>> I am not at my computer right now, so I can not provide an example
>>>> (yet). But perhaps someone else can make use of this idea.
>>>
>>> \applyContext is called at the time music is interpreted (usually quite
>>> remote from the text entry).
>
> Correction, sigh: the function handed to \applyContext is called at the
> time music is iterated.  \applyContext itself is obviously called at the
> time it is encountered in the input.
>
>>> At that point, (*location*) tends to point to something nonsensical,
>>> and the execution of \applyContext's function does not pass a pointer
>>> to the originating music expression (where the origin would be
>>> recorded).
>>>
>>> So one needs to call (*location*) in a wrapper function that then uses
>>> the result in a closure passed to applyContext.  _If_ one goes the
>>> applyContext route, that is.
>>>
>>> Another option would be to have applyContext fetch the origin and make
>>> it available in the %location fluid.  That seems a bit wasteful but
>>> likely would not result in noticeable performance impacts.
>>
>> I had sent my previous mail before reading your reply here.
>>
>> Having taken the applyContext-approach, I see no drawbacks currently.
>> Needs more testing, ofc
>
> I'm pretty sure that...  Wait.
>
> commit 99d6bb300e425bb86301eb370b0e9c57de9ee817
> Author: David Kastrup <address@hidden>
> Date:   Sat Jul 4 16:43:03 2015 +0200
>
>     Issue 4481: \barNumberCheck has bad error location
>
> diff --git a/lily/apply-context-iterator.cc b/lily/apply-context-iterator.cc
> index ce3fd032e2..5ed628491c 100644
> --- a/lily/apply-context-iterator.cc
> +++ b/lily/apply-context-iterator.cc
> @@ -35,9 +35,9 @@ void
>  Apply_context_iterator::process (Moment m)
>  {
>    SCM proc = get_music ()->get_property ("procedure");
> -
>    if (ly_is_procedure (proc))
> -    scm_call_1 (proc, get_outlet ()->self_scm ());
> +    with_location (get_music ()->get_property ("origin"),
> +                   proc, get_outlet ()->self_scm ());
>    else
>      get_music ()->origin ()->warning (_ ("\\applycontext argument is not a 
> procedure"));
>
> Darn it.  Forget what I said unless we are talking about version 2.19.22
> exactly.  I fixed this in 2.19.23 for \applyContext already.
>
> --
> David Kastrup

LOL

-Harm



reply via email to

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