Hi again,

2012/1/27 David Nalesnik <david.nales...@gmail.com>

>
> I'm new to the Scheme engraver thing, but I've written one which appears
> to work, at least with my minimal example.  Basically, it finds the first
> note-column in a measure and adds extra space to the preceding bar line if
> there is no accidental.  (It will also add space if there is a rest there,
> but that could be easily fixed if it's a problem.)
>
>
An immediate correction...  I see that there was no reason for my engraver
to acknowledge note-columns:

 addSpace =
#(lambda (context)
   (let ((bar-line '())
         (accidental #f))

   `((acknowledgers
       (bar-line-interface
         . ,(lambda (engraver grob source-engraver)
              (set! bar-line grob)))

       (accidental-interface
         . ,(lambda (engraver grob source-engraver)
              (set! accidental #t))))

     (stop-translation-timestep
       . ,(lambda (trans)
            (if (null? bar-line)
                '()
                (if (not accidental)
                    (set! (ly:grob-property bar-line 'extra-spacing-width)
'(0 . 1))))
            (set! bar-line '())
            (set! accidental #f))))))

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

Reply via email to