On Tue, 2009-08-04 at 21:23 -0700, Mark Polesky wrote: > Neil Puttock wrote: > > (let* ((Arpeggio > > arpeggio (or something else without the capital letter) > > What's bad about the capital letter? I capitalized it because it's > a grob-name and grob-names are capitalized. Does the same problem > extend to the X-extent binding one line below?
Grob names are capitalized in lilypond code, but not in scheme code. X-extent (and X-offset and other such things) are capitalized for consistency with existing code. > Joe Neeman wrote: > > > I'd like to second Neil's objection regarding the hard-coding of > > GrandStaff/PianoStaff/StaffGroup as contexts containing > > Span_arpeggio_engraver. Given the flexibility of contexts and engravers > > in lilypond, it isn't a good idea to assume that certain contexts are > > the only ones to provide a particular functionality. > > Is there a scheme procedure to test if a given context contains > a particular engraver? Like... > (context-has-engraver? context 'Span_arpeggio_engraver) > If not, is there a way to test that? I agree, my current solution > there isn't ideal. There doesn't seem to be. As a workaround, you could add a context property called, say, "spanArpeggioInThisContext" and document somewhere that the \connectArpeggiosOn command works in the lowermost context where spanArpeggioInThisContext is true. This preserves the ability of the user to define their own contexts and it also allows the user to switch the arpeggio-connecting-context from, say, PianoStaff to Staff and back again while using mostly predefined commands. Cheers, Joe _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel