layout props (make-circle-markup text))))
circle))
+(define-public (music-cause grob)
+ (let*
+ ((event (event-cause grob)))
+
+ (if (ly:stream-event? event)
+ (ly:event-property event 'music-cause)
+ #f)))
(define-public (event-cause grob)
(let*
(log (min 2 (ly:grob-property grob 'duration-log))))
(case style
+ ;; "default" style is directly handled in note-head.cc as a
+ ;; special case (HW says, mainly for performance reasons).
+ ;; Therefore, style "default" does not appear in this case
+ ;; statement. -- jr
((xcircle) "2xcircle")
((harmonic) "0harmonic")
((baroque)
(string-append (number->string log) (symbol->string style))))
((neomensural)
(string-append (number->string log) (symbol->string style)))
- ((default)
- ;; The default font in mf/feta-bolletjes.mf defines a brevis, but
- ;; neither a longa nor a maxima. Hence let us, for the moment,
- ;; take these from the neo-mensural font. TODO: mf/feta-bolletjes
- ;; should define at least a longa for the default font. The longa
- ;; should look exactly like the brevis of the default font, but
- ;; with a stem exactly like that of the quarter note. -- jr
- (if (< log -1)
- (string-append (number->string log) "neomensural")
- (number->string log)))
(else
(if (string-match "vaticana*|hufnagel*|medicaea*" (symbol->string style))
(symbol->string style)
(digit (ly:event-property event 'digit)))
(if (> digit 5)
- (ly:input-message (ly:music-property event 'origin)
+ (ly:input-message (ly:event-property event 'origin)
"Music for the martians"))
(number->string digit 10)
(number->string digit 10)
))
+(define-public (string-finger::calc-text grob)
+ (let*
+ ((text (ly:event-property (event-cause grob) 'text)))
+
+ text))
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; dynamics
(define-public (hairpin::calc-grow-direction grob)
START
STOP
))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; lyrics
+
+(define-public (lyric-text::print grob)
+ "Allow interpretation of tildes as lyric tieing marks."
+
+ (let*
+ ((text (ly:grob-property grob 'text))
+ (layout (ly:grob-layout grob))
+ (defs (ly:output-def-lookup layout 'text-font-defaults))
+ (props (ly:grob-alist-chain grob defs)))
+
+ (ly:text-interface::interpret-markup layout
+ props
+ (if (string? text)
+ (make-tied-lyric-markup text)
+ text))))
+
+(define-public (lyric-text::calc-text grob)
+ (ly:event-property (event-cause grob) 'text))