lilypond-user
[Top][All Lists]
Advanced

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

Re: \autochange for chords


From: address@hidden
Subject: Re: \autochange for chords
Date: Thu, 22 Sep 2011 07:45:06 +0200

On Sep 22, 2011, at 7:34 AM, Bernardo Barros wrote:

> It would be possible to make \autochange work for big chords that cross 
> staffs?
> 
> For example:
> 
> \score {
>  \new PianoStaff {
>    \autochange {
>      < gis  d, fih' disih'' ais'' dih''' fis'' cih''' eih''' gih'''
> aisih''' c'''' >
>    }
>  }
> }
> 

Bernardo,

It is not doable in lilypond for the moment

I wrote a proof-of-concept patch to do this a while back, and I'm laying some 
groundwork in the source to make this sorta thing possible.

It takes a severe gutting of several engravers in LilyPond (Stem, Note_heads, 
Rhythmic_column) to meddle with contexts (you have to do context assignment 
manually, like Auto_beam_engraver).  If you copy the logic in 
Change_iterator::process to Event_chord_iterator::process, that does it.

The big problem that comes up is not the implementation of making it happen, 
but:
(1) The collisions that arise when the stem crosses staffs (this is what I'm 
working on now via something called Span_bar_stub_engraver and 
Pure_from_neighbor_interface...to be released soon).
(2) The coordination of multiple NoteCollision and NoteColumn grobs across 
staffs (I briefly worked on this and then gave up - it requires a PhD in rocket 
science).

So, if you are interested in helping out on some of the coding, yes, it could 
be possible!  Lemme know :)

Cheers,
MS


reply via email to

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