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

Attachment: frameEngraver2.ly
Description: Binary data

_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to