+
+ (if (not (ly:score-error? score))
+ (let*
+ ((header (ly:score-header score))
+ (output-defs (ly:score-output-defs score))
+ (layout-defs (filter (lambda (d) (eq? #t (ly:output-def-lookup d 'is-layout)))
+ output-defs))
+ (midi-defs (filter (lambda (d) (eq? #t (ly:output-def-lookup d 'is-midi)))
+ output-defs))
+ (music (ly:score-music score))
+ (layout-def (if (null? layout-defs)
+ (ly:parser-lookup parser '$defaultlayout)
+ (car layout-defs))))
+
+ (if (not (module? header))
+ (set! header (ly:parser-lookup parser '$defaultheader)))
+
+ (ly:render-music-as-systems
+ music layout-def paper header base)
+
+ (if (pair? midi-defs)
+ (ly:performance-write (ly:format-output (ly:run-translator music (car midi-defs)))
+ (format #f "~a.midi" base)
+ ))
+
+ ))))
+
+
+