;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; break visibility
-(define-public begin-of-line-visible
- #(#f #f #t))
-(define-public end-of-line-visible
- #(#t #f #f))
-(define-public end-of-line-invisible
- #(#f #t #t))
+(define-public all-visible #(#t #t #t))
+(define-public begin-of-line-invisible #(#t #t #f))
+(define-public center-invisible #(#t #f #t))
+(define-public end-of-line-invisible #(#f #t #t))
+(define-public begin-of-line-visible #(#f #f #t))
+(define-public center-visible #(#f #t #f))
+(define-public end-of-line-visible #(#t #f #f))
+(define-public all-invisible #(#f #f #f))
+
(define-public spanbar-begin-of-line-invisible
#(#t #f #f))
-(define-public all-visible #(#t #t #t))
-(define-public all-invisible #(#f #f #f))
-(define-public begin-of-line-invisible
- #(#t #t #f))
-(define-public center-invisible #(#t #f #t))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Bar lines.
;; How should a bar line behave at a break?
(define bar-glyph-alist
'((":|:" . (":|" . "|:"))
+ (":|.|:" . (":|" . "|:"))
+ (":|.:" . (":|" . "|:"))
("||:" . ("||" . "|:"))
("dashed" . ("dashed" . '()))
("|" . ("|" . ()))
(":|" . (":|" . ()))
("||" . ("||" . ()))
(".|." . (".|." . ()))
+ ("|.|" . ("|.|" . ()))
("" . ("" . ""))
(":" . (":" . ""))
("." . ("." . ()))
;; Color
(define-public color? list?)
+(define-public (rgb-color r g b) (list r g b))
; predefined colors
(define-public black '(0.0 0.0 0.0))
))
(define-public alteration-hufnagel-glyph-name-alist
- '((-1/2 . "accidentals.hufnagel-1")
+ '((-1/2 . "accidentals.hufnagelM1")
(0 . "accidentals.vaticana0")
(1/2 . "accidentals.mensural1")))
(define-public alteration-medicaea-glyph-name-alist
- '((-1/2 . "accidentals.medicaea-1")
+ '((-1/2 . "accidentals.medicaeaM1")
(0 . "accidentals.vaticana0")
(1/2 . "accidentals.mensural1")))
(define-public alteration-vaticana-glyph-name-alist
- '((-1/2 . "accidentals.vaticana-1")
+ '((-1/2 . "accidentals.vaticanaM1")
(0 . "accidentals.vaticana0")
(1/2 . "accidentals.mensural1")))
(define-public alteration-mensural-glyph-name-alist
- '((-1/2 . "accidentals.mensural-1")
+ '((-1/2 . "accidentals.mensuralM1")
(0 . "accidentals.vaticana0")
(1/2 . "accidentals.mensural1")))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; fret boards
-(define (string-frets->description string-frets string-count)
- (let*
- ((desc (list->vector
- (map (lambda (x) (list 'mute (1+ x)))
- (iota string-count)))))
-
- (for-each (lambda (sf)
- (let*
- ((string (car sf))
- (fret (cadr sf))
- (finger (caddr sf)))
-
-
- (vector-set! desc (1- string)
- (if (= 0 fret)
- (list 'open string)
- (if finger
- (list 'place-fret string fret finger)
- (list 'place-fret string fret))
-
-
- ))
- ))
- string-frets)
-
- (vector->list desc)))
-
(define-public (fret-board::calc-stencil grob)
- (let* ((string-frets (ly:grob-property grob 'string-fret-finger-combinations))
- (string-count (ly:grob-property grob 'string-count)))
-
- (grob-interpret-markup grob
- (make-fret-diagram-verbose-markup
- (string-frets->description string-frets string-count)))))
+ (grob-interpret-markup
+ grob
+ (make-fret-diagram-verbose-markup
+ (ly:grob-property grob 'dot-placement-list))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; scripts