On Sat, May 8, 2010 at 2:06 PM, Werner LEMBERG <[email protected]> wrote:
>
>>> I like this.  Up to now noone had ever such an idea, and your
>>
>> This is false.
>
> Sorry.  I've then missed the discussion (or ignored it unconsciously).

Some archeology:

Threads were introduced in lilypond 01.13,

        - grand Engraver/Translator/Performer rewrite.
          * properties:  \property voice.dir = -1 (mudela 0.1.3)
          * Input_translator junked, now Translators are generated
by the parser (mudela 0.1.4)
          * Translator changing: \translator Staff=oboesolo
          * Translator preselect: \type Staff=bla < c4 >. (mudela 0.1.5)
          * Engraver/Performer now derived of Translator.
          * Engraver_group_engraver/ Performer_group_performer derived of
        Translator_group
          * renamed: Voice -> Thread, Voice_group -> Voice

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( e...@1( g>
 % *
 % ..stuff..
 %
  <d...@1) 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.


-- 
Han-Wen Nienhuys - [email protected] - http://www.xs4all.nl/~hanwen


_______________________________________________
lilypond-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to