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
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to