1 ;;;; bass-figure.scm -- implement Scheme output routines for TeX
3 ;;;; source file of the GNU LilyPond music typesetter
5 ;;;; (c) 1998--2005 Jan Nieuwenhuizen <janneke@gnu.org>
6 ;;;; Han-Wen Nienhuys <hanwen@cs.uu.nl>
10 'bass-figure-interface
11 "A bass figure, including bracket"
14 (define-public (format-bass-figure figures context grob)
15 ;; TODO: support slashed numerals here.
16 (define (fig-to-markup fig-music)
18 (eq? #t (ly:context-property context 'alignBassFigureAccidentals)))
19 (fig (ly:music-property fig-music 'figure))
20 (acc (ly:music-property fig-music 'alteration))
25 (if align-accs (make-simple-markup " ")
26 (if (not (eq? acc '()))
27 (make-simple-markup "")
28 (make-strut-markup))))))
31 (make-line-markup (list fig-markup
32 (alteration->text-accidental-markup acc)))
35 (define (filter-brackets i figs acc)
39 (filter-brackets (1+ i) (cdr figs)
42 (if (eq? (ly:music-property (car figs) 'bracket-start) #t)
45 (if (eq? (ly:music-property (car figs) 'bracket-stop) #t)
51 (set! (ly:grob-property grob 'text)
52 (make-bracketed-y-column-markup
53 (sort (filter-brackets 0 figures '()) <)
54 (map fig-to-markup figures))))