]> git.donarmstrong.com Git - lilypond.git/commitdiff
Fix FretBoards to work properly with fret-diagram-details
authorCarl Sorensen <c_sorensen@byu.edu>
Fri, 4 Jul 2008 03:29:57 +0000 (21:29 -0600)
committerCarl Sorensen <c_sorensen@byu.edu>
Fri, 4 Jul 2008 03:29:57 +0000 (21:29 -0600)
scm/output-lib.scm
scm/translation-functions.scm

index c5e7ad131eab702cdccd1db69b445df2cc7fa079..de4e658fe4860231433da840f6ff3df50a60283d 100644 (file)
@@ -679,11 +679,15 @@ centered, X==1 is at the right, X == -1 is at the left."
 
 (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)))
+        (string-count (assoc-get 
+                         'string-count 
+                         (ly:grob-property grob 'fret-diagram-details)
+                         6)))
     
-    (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
+       (string-frets->description string-frets string-count)))))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; scripts
index fc7552fc355d4ed4e87520e6848cbd7afb3c1214..0367a007ae5d512bcf3dc11a41d34f6ed1e91b83 100644 (file)
        b))
 (let*
       ((tunings (ly:context-property context 'stringTunings))
+       (details (ly:grob-property grob 'fret-diagram-details))
        (minimum-fret (ensure-number
                      (ly:context-property context 'minimumFret) 0))
        (max-stretch (ensure-number
                                         minimum-fret max-stretch
                                         tunings)))
 
-                     
-  (set! (ly:grob-property grob 'string-count) (length tunings))
-  (set! (ly:grob-property grob 'string-fret-finger-combinations) string-frets)
-
-  ))
+  (set! (ly:grob-property grob 'fret-diagram-details)
+          (if (null? details)
+              (acons 'string-count (length tunings) '())
+              (acons 'string-count (length tunings) details)))
+  (set! (ly:grob-property grob 'string-fret-finger-combinations) string-frets)))
 
 (define-public (determine-frets-mf notes string-numbers
                                   minimum-fret max-stretch