On 18 nov. 2012, at 21:06, Keith OHara <k-ohara5...@oco.net> wrote: >>> >> >> Try running beam-cross-staff-script.ly with my patch and setting >> NoteColumn.cross-staff to ##f. You'll see that it triggers beam slope >> calculations before vertical spacing is done on the staves because >> NoteColumn, which is a support for the script, has its height checked >> prematurely. This does not happen in current master because NoteColumn is >> not a support for Scripts. >> >> So why did I make NoteColumn a support for Scripts? I use the NoteColumn as >> a side support object because it combines the width of the note head with >> the height of the stem. We don't want UP staccatos, for example, getting >> tucked down to the left of UP stems but they will if skylines are used. So, >> we use the NoteColumn as the side support. >> > > I suppose that, strictly speaking, NoteColumn can be 'cross-staff=#t, meaning > "beware; I might move or change shape when staves are spread across the > page." But, it seems to preserve more information if we can leave the > 'cross-staff indication specifically on the Stem. > > Scripts clearing Stems is already a special case, controlled by > 'add-stem-support, which has in the past meant "keep this Script clear of the > end of the Stem and Flag of its parent, even if it could slide alongside." > Maybe 'add-stem-support could be implemented as "Consider the Script widened > enough to include a point on the extended line of the Stem, and keep the > widened Script clear of the Stem." >
I'm picking up what you're putting down... What'd be easy is to add something to the effect of : if (to_boolean (me->get_property ("add-stem-support")) && Stem::has_interface (e)) skyline.set_min_height (e->extent (common_y, _Y_AXIS)[dir]); That's pseudo-code, but do you get the idea? Does that seem reasonable? If so, I can get rid of all of that note column business in the engravers and then note column would no longer have to be cross staff. Cheers, MS _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel