On Sat, Sep 6, 2014 at 5:20 PM, David Nalesnik <[email protected]>
wrote:
>
> Here's an unrelated suggestion.
>
> When you use \wordcompress with a value which triggers the warning, the
> music function doesn't return music, so you end up with a fatal error
> (rather defeating the gentle purpose of a simple warning!)
>
> Why not something like:
>
> wordcompress =
> #(define-music-function (parser location num) (number?)
> (cond
> ((> num 0.5)
> (and (ly:warning "Attention: 0.4 is a rather large value for
> \\wordcompress already!")
> (make-music 'Music)))
> ((< num 0)
> (ly:error "\\wordcompress should get a non-negative value."))
> (else #{
> \override LyricWord.after-line-breaking = #(lyric-word-compressor
> num)
> \override LyricHyphen.minimum-distance = #0
> \override LyricSpace.minimum-distance = #1
> #})))
>
Or perhaps issue a warning and let the override proceed with the odd value?
wordcompress =
#(define-music-function (parser location num) (number?)
(cond
((< num 0)
(ly:error "\\wordcompress should get a non-negative value."))
(else
(begin
(if (> num 0.5)
(ly:warning "Attention: 0.4 is a rather large value for
\\wordcompress already!"))
#{
\override LyricWord.after-line-breaking = #(lyric-word-compressor
num)
\override LyricHyphen.minimum-distance = #0
\override LyricSpace.minimum-distance = #1
#}))))
_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user