From d4ae1f422a6fc8774f9626016f5c5d06ab436e0a Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Thu, 13 Dec 2012 16:57:22 +0100 Subject: [PATCH] Let calc-{fingering,string-number,stroke-finger}::calc-text look at event 'text 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 | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/scm/output-lib.scm b/scm/output-lib.scm index 024788036e..bcb65588a4 100644 --- a/scm/output-lib.scm +++ b/scm/output-lib.scm @@ -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)))))))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -- 2.39.2