On Tue, 2010-03-16 at 15:46 +0100, Reinhold Kainhofer wrote: > In the Figured_bass_engraver, I have a BassFigureAlignment spanner, where > Align_interface::add_element is used to append new figures. However, with > extenders turned on, it happens frequently that a new figure needs to be > inserted into the spanner at some fixed position (e.g. the beginning). > > AFAICS, Align_interface::add_element always appends the newly inserted grob > and places it at the bottom. I could not find any way how to insert a grob at > a specified position (e.g. at the beginning rathen than at the end, or before > another specified grob). > > AFAICS, Align_interface::add_element basically propagates the new grob to > Pointer_group_interface::add_grob, where it is appended to the Grob_array > (stored as the 'elements object of the spanner). > > So, how can I insert a grob at some other position? > > 1) Shall I simply append it using add_element and then try to extract the > 'elements object and manually try to reorder afterwards?
This is more or less how alignAboveContext is handled (in vertical-align-engraver.cc). If you moved that code to Align_interface then you could reuse it. Cheers, Joe _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel