]> git.donarmstrong.com Git - lilypond.git/commitdiff
Add midi-extension command line option.
authorNeil Puttock <n.puttock@gmail.com>
Sat, 30 Aug 2008 21:31:19 +0000 (22:31 +0100)
committerNeil Puttock <n.puttock@gmail.com>
Wed, 24 Sep 2008 20:27:32 +0000 (21:27 +0100)
If operating system is windows, change default to .mid.

lily/performance.cc
scm/lily.scm
scm/midi.scm

index 70d5348a9b1d6f0513e7cc8b983538ec79b77cfe..8ae1edfaf35af5fe869361a4e2d1def28883d3e0 100644 (file)
@@ -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);
index a7ff41a4d19c1e475bcd807dc2f422f6c0aeefd9..2cca01ddcbdc034946e3347b67f593d85df09964 100644 (file)
 (read-enable 'positions)
 (debug-enable 'debug)
 
+(define-public PLATFORM
+  (string->symbol
+   (string-downcase
+    (utsname:sysname (uname)))))
+
 (define scheme-options-definitions
   `(
 
@@ -55,6 +60,10 @@ 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 ,(if (eq? PLATFORM 'windows)
+                        "mid"
+                        "midi")
+                   "set the default file extension for MIDI")
 
     (old-relative #f
                  "relative for simultaneous music works
@@ -180,22 +189,6 @@ on errors, and print a stack trace.")
     (if (ly:get-option 'verbose)
        (ly:progress "]"))))
 
-;; Cygwin
-;; #(CYGWIN_NT-5.1 Hostname 1.5.12(0.116/4/2) 2004-11-10 08:34 i686)
-;;
-;; Debian
-;; #(Linux hostname 2.4.27-1-686 #1 Fri Sep 3 06:28:00 UTC 2004 i686)
-;;
-;; Mingw
-;; #(Windows XP HOSTNAME build 2600 5.01 Service Pack 1 i686)
-;;
-
-;; ugh, code dup.
-(define-public PLATFORM
-  (string->symbol
-   (string-downcase
-    (car (string-tokenize (vector-ref (uname) 0) char-set:letter)))))
-
 (define-public DOS
   (let ((platform (string-tokenize
                   (vector-ref (uname) 0) char-set:letter+digit)))
index 715c8c0e37fc8fa1ddf2d32fb9bfae90f188069e..5d3277d820095e2c4deca9cd5ebc76bbd53c83a3 100644 (file)
@@ -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)))))))