[Top][All Lists]

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

Re: Some engraver brainstorming

From: Han-Wen Nienhuys
Subject: Re: Some engraver brainstorming
Date: Sat, 8 May 2010 18:47:20 -0300

On Sat, May 8, 2010 at 6:44 PM, Han-Wen Nienhuys <address@hidden> wrote:

> They were finally removed in LilyPond 2.1.13 (according to convert-ly)
> IIRC we kept them around for so long, since they were the only way to
> get per-notehead styles within a chord.  After we introduced \tweak
> (IIRC), there was no necessity for it anymore.
>>> I had the idea earlier and unleashed it on the world.  It was called
>>> the Thread context, and it was a disaster, because it would die or
>>> be created at unexpected times.  I you dive deep enough into the git
>>> history, you can find its remnants.
>> This basically means that you oppose to David's idea because it
>> doesn't work as expected?
> The lifetime of Threads (or whatever you call them) is tricky.  Consider
>  <c( address@hidden( g>
>  % *
>  % ..stuff..
>  %
>  <address@hidden) f)>
>  % **
> How would LilyPond know that the @1 thread context must stay alive at
> the point marked %* ? The iterator for the E note would be pointing at
> the @1 Thread, but something else must copy the reference so it doesnt
> die.
> Suppose you somehow save the reference to @1.  How does lilypond know
> the context should die at %** ? If it does not, you'll risk
> accumulating them until the end of the piece, making things slow down.

Also note, we had something like @1, it was just more verbose:

  \context Thread=TA ..

and in this case, to make things work, you'd have to write them as
parallel lines, instead of chords.

Han-Wen Nienhuys - address@hidden -

reply via email to

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