[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:44:25 -0300 |
On Sat, May 8, 2010 at 2:06 PM, Werner LEMBERG <address@hidden> 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( 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.
--
Han-Wen Nienhuys - address@hidden - http://www.xs4all.nl/~hanwen
- Re: Following voices in chords?, (continued)
- Re: Following voices in chords?, David Kastrup, 2010/05/07
- Re: Following voices in chords?, Carl Sorensen, 2010/05/07
- Some engraver brainstorming (was: Following voices in chords?), David Kastrup, 2010/05/08
- Re: Some engraver brainstorming, Marc Hohl, 2010/05/08
- Re: Some engraver brainstorming (was: Following voices in chords?), Kieren MacMillan, 2010/05/08
- Re: Some engraver brainstorming, Werner LEMBERG, 2010/05/08
- Re: Some engraver brainstorming, David Kastrup, 2010/05/08
- Re: Some engraver brainstorming, Han-Wen Nienhuys, 2010/05/08
- Re: Some engraver brainstorming, David Kastrup, 2010/05/08
- Re: Some engraver brainstorming, Werner LEMBERG, 2010/05/08
- Re: Some engraver brainstorming,
Han-Wen Nienhuys <=
- Re: Some engraver brainstorming, Han-Wen Nienhuys, 2010/05/08
- Re: Some engraver brainstorming, David Kastrup, 2010/05/09
- Re: Some engraver brainstorming, David Kastrup, 2010/05/09
- Re: Some engraver brainstorming, David Kastrup, 2010/05/08
- Re: Some engraver brainstorming, Francisco Vila, 2010/05/08
- Re: Some engraver brainstorming, Reinhold Kainhofer, 2010/05/08
- Re: Some engraver brainstorming, Carl Sorensen, 2010/05/08
- Re: Some engraver brainstorming, David Kastrup, 2010/05/09
- Re: Some engraver brainstorming, David Kastrup, 2010/05/10
- Re: Some engraver brainstorming, Carl Sorensen, 2010/05/10