lilypond-devel
[Top][All Lists]
Advanced

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

Re: warnings during `make web'


From: Juergen Reuter
Subject: Re: warnings during `make web'
Date: Wed, 8 Nov 2006 20:50:23 +0100 (CET)

On Mon, 6 Nov 2006, Juergen Reuter wrote:

On Mon, 6 Nov 2006, Han-Wen Nienhuys wrote:

Without knowing the details, I think it is easiest to define a LigatureNoteHead or XxxxxLigatureNoteHead, and a XxxxLigature in define-grobs.scm. (Xxxxx = Gregorian, Vaticana, Coherent, Mensural)

By copying some definitions of the NoteHead grob, some C++ of Note_head can be shared.

A special XXX_Ligature engraver will create those heads, and arrange them correctly within the appropriate XxxxLigature. If the XxxxxLigature is an Item, then it will be on a single PaperColumn. By putting the XxxxNoteHeads on the XxxxxLigature Item, the notes will also be on the same PaperColumn. The XxxxLigature knows all of the ligature contents, and hence, it can determine the final desired shape.


Ok, this may work provided that there is no code elsewhere in lily that receives grobs, looks into them and does some things if and only if this grob is a NoteHead. Otherwise, this code would not apply to ligature heads, thus failing special treatment of note heads that should also apply on ligature heads. I actually tried this approach a couple of years ago, and it did not work for this reason. Of course, lily has changed dramatically since then; probably I should try again.


Actually, the above approach will not work without further modification:

Currently, note-heads-engraver.cc listens for note events and creates NoteHead grobs; the ligature engraver "takes over" these note heads and manipulates them. To follow the above approach, I would have to make the note heads engraver stop producing note head grobs (and instead let the ligature engraver produce LigatureHead grobs). But how can I achieve this? Removing the note heads engraver completetly from its context is no option, since both usual note heads as well as ligatures have to appear in the same context.

So, how can I signal the note heads engraver that a ligature is in process and that it should stop producing note heads?

Greetings,
Juergen




reply via email to

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