Mark Polesky wrote:
> (define grobs-sorted-by-paper-column
> (let loop ((remaining all-grob-descriptions)
> (musical '())
> (non-musical '()))
> (cond ((null? remaining) (cons musical non-musical))
> ((ly:assoc-get 'non-musical (cdar remaining))
> (loop (cdr remaining)
> musical
> (append non-musical `(,(caar remaining)))))
> (else (loop (cdr remaining)
> (append musical `(,(caar remaining)))
> non-musical)))))
>
> (define-public musical-column-grobs
> (car grobs-sorted-by-paper-column))
>
> (define-public non-musical-column-grobs
> (cdr grobs-sorted-by-paper-column))
Incidentally, I found I could simplify these with "filter":
(define musical-column-grobs
(map car
(filter (lambda (a) (not (ly:assoc-get 'non-musical (cdr a))))
all-grob-descriptions)))
(define non-musical-column-grobs
(map car
(filter (lambda (a) (ly:assoc-get 'non-musical (cdr a)))
all-grob-descriptions)))
- Mark
_______________________________________________
lilypond-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-devel