The drawback is that the glyph for each accidental, rather than being looked up 5 times (already bad) would be looked up 14 times with this patch.
The fundamental problem seems to be that that the 'stencil property is set to ly:accidental-interface::print(), and that print function checks whether the accidental is in a tie (unbroken across lines) an deletes the Accidental if so. Thus we cannot store the stencil in 'stencil until we are absolutely sure we want it. Could you move the check for ties from accidental::print(), and the similar check in accidental::pure-height(), to a new function linked to Accidental.after-line-breaking ? Then accidentals can build their true stencil just once (whether they need it or not, but better than building it 14 times throwing away 13) without any 'pure' complication, and the check for ties (not broken across lines) is linked to a more expected property, 'after-line-breaking. https://codereview.appspot.com/42490046/ _______________________________________________ lilypond-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-devel
