"[email protected]" <[email protected]> writes:
> On 2012-08-02 18:46, Thomas Morley wrote:
>> fN =
>> #(define-music-function (parser location fretp) (string?)
>> (let ((m (make-music 'TextScriptEvent 'text fretp)))
>> (set! (ly:music-property m 'tweaks)
>> (acons 'staff-padding 4 (ly:music-property m 'tweaks)))
>> m))
>
> Hello Thomas,
>
> You almost nailed it! I wanted a box around the fretnumber. changed
> your function to this which I'm happy with!
>
> fN =
> #(define-music-function (parser location fretp) (string?)
> (let ((m (make-music 'TextScriptEvent 'text (markup #:line (#:box
> fretp)))))
> (set! (ly:music-property m 'tweaks)
> (acons 'staff-padding 5 (ly:music-property m 'tweaks)))
> m))
>
Ah, "version 2.14.2". In a current version, you could just write
fN =
#(define-event-function (parser location fretp) (markup?)
#{ -\tweak #'staff-padding #5 -\markup \line { \box #fretp } #})
And that's it. You might still want to consider exchanging the string?
predicate with markup? though: it would still accept strings (possibly
only without # though: I don't quite remember what 2.14.2 did here), but
also more complex markups.
--
David Kastrup
_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user