Aaron Hill <[email protected]> writes:
> On 2023-12-12 12:06 pm, Stefano Antonelli wrote:
>> On Tue, 2023-12-12 at 02:31 -0800, Aaron Hill wrote:
>>> Would this not work?
>>> %%%%
>>> #(define (add-midi-to-score score)
>>> #{ \score { $score \midi {} } #})
>>> toplevel-score-handler =
>>> #(lambda (score)
>>> (collect-scores-for-book (add-midi-to-score score)))
>>> %%%%
>> Indeed it does!
>> Without a \midi block one midi file is produced.
>> However, if there is already a \midi block, two midi files are
>> produced. I'm not sure if that's going to be a problem aside from the
>> extra processing time.
>
> Any better?
>
> %%%%
> #(define (add-midi-to-score score)
> (define (has-midi? score)
> (any (lambda (x) (ly:output-def-lookup x 'is-midi))
Wouldn't that need to be (ly:output-def-lookup x 'is-midi #f) ?
> (ly:score-output-defs score)))
> (if (has-midi? score) score
> #{ \score { $score \midi {} } #}))
--
David Kastrup