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))
         (ly:score-output-defs score)))
  (if (has-midi? score) score
    #{ \score { $score \midi {} } #}))
%%%%


-- Aaron Hill

Reply via email to