From 7ca937e9bbc5c8c44a70fe0a8826244bab93eade Mon Sep 17 00:00:00 2001 From: Neil Puttock Date: Sun, 27 Jul 2008 00:16:04 +0100 Subject: [PATCH] Add midi-extension command line option. --- lily/performance.cc | 1 - scm/lily.scm | 1 + scm/midi.scm | 29 +++++++++++++++-------------- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/lily/performance.cc b/lily/performance.cc index 70d5348..8ae1edf 100644 --- a/lily/performance.cc +++ b/lily/performance.cc @@ -94,7 +94,6 @@ Performance::write_output (string out) const /* Maybe a bit crude, but we had this before */ File_name file_name (out); - file_name.ext_ = "midi"; out = file_name.to_string (); Midi_stream midi_stream (out); diff --git a/scm/lily.scm b/scm/lily.scm index b8f9a67..4c88350 100644 --- a/scm/lily.scm +++ b/scm/lily.scm @@ -55,6 +55,7 @@ ensure that all refs to parsed objects are dead. This is an internal option, an (include-eps-fonts #t "Include fonts in separate-system EPS files.") (job-count #f "Process in parallel") (log-file #f "redirect output to log FILE.log") + (midi-extension "midi" "set the default file extension for MIDI") (old-relative #f "relative for simultaneous music works diff --git a/scm/midi.scm b/scm/midi.scm index 715c8c0..5d3277d 100644 --- a/scm/midi.scm +++ b/scm/midi.scm @@ -285,17 +285,18 @@ returns the program of the instrument ;; (define-public (write-performances-midis performances basename) - (let - loop - ((perfs performances) - (count 0)) - - - (if (pair? perfs) - (begin - (ly:performance-write - (car perfs) - (if (> count 0) - (format #f "~a-~a.midi" basename count) - (format #f "~a.midi" basename))) - (loop (cdr perfs) (1+ count)))))) + (let ((midi-ext (ly:get-option 'midi-extension))) + (let + loop + ((perfs performances) + (count 0)) + + + (if (pair? perfs) + (begin + (ly:performance-write + (car perfs) + (if (> count 0) + (format #f "~a-~a.~a" basename count midi-ext) + (format #f "~a.~a" basename midi-ext))) + (loop (cdr perfs) (1+ count))))))) -- 1.5.4.3