2009/4/14 Carl D. Sorensen <c_soren...@byu.edu>:
>
>
>
> On 4/14/09 1:39 AM, "Mats Bengtsson" <mats.bengts...@ee.kth.se> wrote:
>
>> Have you forgot about the most basic difference between a context
>> property and a grob property?
>> All grob property are connected to a specific graphical object, so the
>> syntax is
>> \override Object #'propertyname = ...
>> In this case, there is no graphical object involved, right? Therefore,
>> it's naturally a context property, to be set using \set.
>>
>>     /Mats
>
> If I read the code properly (I haven't yet implemented it, so I'm not
> 100% positive), AutoBeamSetting could be the object, and #'propertyname
> would be #'(end 4 4).  There is code in lily/lily-guile.cc that allows this
> usage.

I can't see how this would work at all, unless it remains a context property.

In order to be a grob (even an abstract one which doesn't itself
represent graphical elements) AutoBeamSetting would have to be created
by an engraver; how would that work, considering that the
Auto_beam_engraver must know where to stop and start beams *before*
the beaming grobs are created?  You 're effectively suggesting a grob
which will rework spanner bounds after they've been created.  You can
do this post-processing for things like noteheads and accidentals (in
NoteCollision and AccidentalPlacement) , since all that happens is
repositioning of fixed-width items (i.e. Item, not Spanner, grobs).

Property names can be nested, but you can't have what looks like an
alist handle as a property.

Regards,
Neil


_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to