Hi David, thanks again. You're my hero: now it works.
I've added a few things so far: - "thickness" property can be used to control frame thickness, can even be set to zero ("color" property and "layer" property work by default) - "filled" property (boolean) controls whether the box is to be filled with a colored rectangle whose color can be set by "fill-color" property. I've also added two global boolean variables "acknowledge-finger-interface" and "acknowledge-script-interface" to control whether the boxes take care of fingerings and dynamics. For example, if you want to mark themes and motifs, you might only want to consider the notes and rests. Unfortunately, these settings are valid for the whole score and therefore cannot change during a piece. I'd prefer to use properties, because this would allow \once \override etc. But I don't know how to access these properties from within musicBoxerEngraver. If a box is split due to a line break, it would be cool to have those two boxes open at the right/left side. For this, musicBoxerEngraver would need to tell if a box is started/stopped by a line break instead of a manual command. Dear list members, can anybody help how to achieve that? Sorry for always coming up with crazy ideas that go far beyond my scheme knowledge. ;-) Cheers, Klaus boxer-attempt2.ly <http://lilypond.1069038.n5.nabble.com/file/n170575/boxer-attempt2.ly> David Nalesnik-2 wrote > > You need to make LilyPond aware of the new property: what type does it > have? does it have a documentation string? (The latter is important > because the documentation in the Internals Reference is generated > automatically.) > > Add the following lines above the stencil function (make-box): > > %%%%%%%%%%% > #(define (define-grob-property symbol type? description) > (if (not (equal? (object-property symbol 'backend-doc) #f)) > (ly:error (_ "symbol ~S redefined") symbol)) > > (set-object-property! symbol 'backend-type? type?) > (set-object-property! symbol 'backend-doc description) > symbol) > > #(map > (lambda (x) > (apply define-grob-property x)) > > `( > (filled ,boolean? > "Should we fill in this box?") > ; add more properties here > )) > > %%%%%%%%%%%%% -- View this message in context: http://lilypond.1069038.n5.nabble.com/box-around-notes-tp35581p170575.html Sent from the User mailing list archive at Nabble.com. _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user