Hi David, I just saw this fix. Thanks for spending so much time tweaking this. Maybe there's a way it can be integrated into the Lilypond code, since you've spent so much time developing it. I'll be using it in a score soon.
cheers, Jeff On Tue, Dec 11, 2012 at 3:04 PM, David Nalesnik <david.nales...@gmail.com>wrote: > On Sat, Dec 8, 2012 at 7:21 PM, David Nalesnik <david.nales...@gmail.com> > wrote: > > [...] > > > > > Trying to work out the problem, I've done a little rewriting so I'll > > include the engraver here. You can just substitute this in the > > problematic file. > > > > Well, I did break something. Here's the fix: > > frameEngraver = > #(lambda (context) > (let ((span '()) > (stub '()) > (event-drul (cons '() '()))) > (make-engraver > (listeners ((frame-event engraver event) > (if (= START (ly:event-property event 'span-direction)) > (set-car! event-drul event) > (begin > (set-cdr! event-drul event) > (set-car! event-drul '()))))) > (acknowledgers > ((note-column-interface engraver grob source-engraver) > (if (ly:spanner? span) > (begin > (ly:pointer-group-interface::add-grob span 'elements grob) > (add-bound-item span grob))) > (if (ly:item? stub) > (ly:pointer-group-interface::add-grob stub 'elements grob))) > ((script-interface engraver grob source-engraver) > (if (ly:spanner? span) > (ly:pointer-group-interface::add-grob span 'elements grob)) > (if (ly:item? stub) > (ly:pointer-group-interface::add-grob stub 'elements grob))) > ((dynamic-interface engraver grob source-engraver) > (if (ly:spanner? span) > (ly:pointer-group-interface::add-grob span 'elements grob)) > (if (ly:item? stub) > (ly:pointer-group-interface::add-grob stub 'elements grob))) > ((inline-accidental-interface engraver grob source-engraver) > (if (ly:spanner? span) > (ly:pointer-group-interface::add-grob span 'elements grob)) > (if (ly:item? stub) > (ly:pointer-group-interface::add-grob stub 'elements grob)))) > > ((process-music trans) > (if (ly:stream-event? (car event-drul)) > (begin > (set! span (ly:engraver-make-grob trans 'Frame (car > event-drul))) > (set! stub (ly:engraver-make-grob trans 'FrameStub (car > event-drul))) > (ly:grob-set-object! stub 'frame span) > (ly:grob-set-property! stub 'direction LEFT) > (set-car! event-drul '()))) > (if (ly:stream-event? (cdr event-drul)) > (if (null? span) > (ly:warning "No start to this box.") > (begin > (set! stub (ly:engraver-make-grob trans 'FrameStub > (cdr event-drul))) > (ly:grob-set-property! stub 'direction RIGHT) > (ly:grob-set-object! stub 'frame span) > (ly:engraver-announce-end-grob trans span (cdr > event-drul)))))) > > ((stop-translation-timestep trans) > (if (ly:stream-event? (cdr event-drul)) > (begin > (set! span '()) > (set-cdr! event-drul '()))) > (set! stub '()))))) > -- 《〠》】〶【〖〠〗〶〛〷〚 Jeff Treviño PhD Candidate in Music Composition @ the University of California, San Diego 〖〠〗〶〛〷〚《〠》】〶 Skype: jeffreytrevino E-mail: jeffrey.trev...@gmail.com 〚《〠》】〶【〖〠〗〶〛〷 9310H Redwood Dr. La Jolla, CA 92037 USA 〖〠〗〶〛〷〚《〠》】〶【 <http://www.jeffreytrevino.com/>
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user