]> git.donarmstrong.com Git - lilypond.git/commitdiff
Let calc-{fingering,string-number,stroke-finger}::calc-text look at event 'text
authorDavid Kastrup <dak@gnu.org>
Thu, 13 Dec 2012 15:57:22 +0000 (16:57 +0100)
committerDavid Kastrup <dak@gnu.org>
Wed, 13 Feb 2013 22:10:51 +0000 (23:10 +0100)
This slightly increases the number of property lookups, and the same
function can be achieved using a tweak.  However, it seems more
natural to attach any overriding text (in the case of non-standard
elements like thumbs or other) directly to the event in question.

scm/output-lib.scm

index 024788036ec4b1ced6ca5caa28845ec2072dfa65..bcb65588a4f576e89aafe33019940f3e4b998fa8 100644 (file)
@@ -872,24 +872,21 @@ and duration-log @var{log}."
 ;; fingering
 
 (define-public (fingering::calc-text grob)
-  (let* ((event (event-cause grob))
-        (digit (ly:event-property event 'digit)))
-
-    (number->string digit 10)))
+  (let ((event (event-cause grob)))
+    (or (ly:event-property event 'text #f)
+        (number->string (ly:event-property event 'digit) 10))))
 
 (define-public (string-number::calc-text grob)
-  (let ((digit (ly:event-property (event-cause grob) 'string-number)))
-
-    (number->string digit 10)))
+  (let ((event (event-cause grob)))
+    (or (ly:event-property event 'text #f)
+        (number->string (ly:event-property event 'string-number) 10))))
 
 (define-public (stroke-finger::calc-text grob)
-  (let* ((digit (ly:event-property (event-cause grob) 'digit))
-        (text (ly:event-property (event-cause grob) 'text)))
-
-    (if (string? text)
-       text
+  (let ((event (event-cause grob)))
+    (or (ly:event-property event 'text #f)
        (vector-ref (ly:grob-property grob 'digit-names)
-                   (1- (max (min 5 digit) 1))))))
+                   (1- (max 1
+                             (min 5 (ly:event-property event 'digit))))))))
 
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;