Dear all, I just started writing my first scheme function :-). It basically substitutes for now our lack of a "tempo spanners" syntax, something that I still find quite irritating in Lilypond. It accepts a quite "clumsy" set of arguments, namely two markups for tempo and two "numbers" for padding. The little script looks like this
% usage % \ritToMetronomeMark "Lilypond duration" "= "$yourtempo" #$left-padding #$right-padding % $music\startTextSpan $music\stopTextSpan ritToMetronomeMark = #(define-music-function (parser location notemarkup tempomarkup paddingleft paddingright) (markup? markup? number? number?) #{ \once \override TextSpanner #'(bound-details left text) = \markup \halign #paddingleft {"rit."} \once \override TextSpanner #'(bound-details right text) = \markup \halign #paddingright { \general-align #Y #DOWN \smaller \note #notemarkup #1 \upright #tempomarkup } #}) accelToMetronomeMark = #(define-music-function (parser location notemarkup tempomarkup paddingleft paddingright) (markup? markup? number? number?) #{ \once \override TextSpanner #'(bound-details left text) = \markup \halign #paddingleft {"accel."} \once \override TextSpanner #'(bound-details right text) = \markup \halign #paddingright { \general-align #Y #DOWN \smaller \note #notemarkup #1 \upright #tempomarkup } #}) After struggling with understanding Lilypond/Scheme's predicative types, of which I found basically no documentation other than a list of them with a minimal description here http://lilypond.org/doc/v2.20/Documentation/notation/predefined-type-predicates, I would like to ask what type of predicatives the \tempo function accepts. When you write \tempo 4 = 56, what does "4 = 56" for Scheme mean? This is of course something that I'm not using in my script yet, but knowing this might let me extend the script, namely that its usage accepts a proper tempo definition, so that (maybe with a more elegant syntax that doesn't use "" for each argument) I can also use that same number to give to an omitted tempo marking for MIDI playback. Best regards, Martín. -- www.martinrinconbotero.com