On Mar 13, 2012, at 4:25 AM, David Nalesnik wrote: > I've defined a grob, Frame, and given it several properties. One of these, > 'padding, adds space between the frame and its contents, as you would expect. > The length of the continuation line is controlled by the property > 'extender-length. Then, there's 'extra-left-padding and > 'extra-right-padding. These last are there to correct a shortcoming: I can't > think of an artful way to accomodate an accidental before the first note of a > group so there isn't a collision. > > Another problem is that the horizontal spacing doesn't adapt to the frame. I > suppose this comes from the fact that I've hijacked a TextSpanner, so that > collisions are reckoned with outside staff objects. Is there anything I can > do about this? >
Excellent work! I've attached a new file that addresses some of the issues you identify above: --) It uses axis-group::width to box accidentals --) It creates a FrameStub grob to occupy the horizontal space that a frame line takes up (note that I don't know if this actually works - I'm not sure how to test it - but at least it doesn't crash!). Whenever you have a spanner that somehow occupies horizontal space at its bounds, you can create stub grobs that approximate this space. This technique also works for items that, for whatever reason, have heights that are difficult to approximate (see SpanBarStub and StemStub, for example). --) It gets rid of some dead or unused code. Cheers, MS
frameEngraver2.ly
Description: Binary data
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user