Aaron Hill <lilyp...@hillvisions.com> 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

Reply via email to