;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2000--2004 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; (c) 2000--2007 Jan Nieuwenhuizen <janneke@gnu.org>
'(
("sf" . 1.00)
("fffff" . 0.95)
- ("ffff" . 0.91)
- ("fff" . 0.81)
- ("ff" . 0.71)
- ("f" . 0.61)
- ("mf" . 0.50)
- ("mp" . 0.40)
- ("p" . 0.30)
- ("pp" . 0.20)
- ("ppp" . 0.10)
- ("pppp" . 0.08)
- ("ppppp" . 0.05)
+ ("ffff" . 0.92)
+ ("fff" . 0.85)
+ ("ff" . 0.80)
+ ("f" . 0.75)
+ ("mf" . 0.68)
+ ("mp" . 0.61)
+ ("p" . 0.55)
+ ("pp" . 0.49)
+ ("ppp" . 0.42)
+ ("pppp" . 0.34)
+ ("ppppp" . 0.25)
)
absolute-volume-alist))
)
instrument-equalizer-alist))
-;; (name . program+32768*(channel10 ? 1 : 0) )
+(define-public (default-instrument-equalizer s)
+ (let ((entry (assoc s instrument-equalizer-alist)))
+ (if entry
+ (cdr entry))))
+
+;; (name . program+32768*(channel10 ? 1 : 0))
(define instrument-names-alist '())
(set! instrument-names-alist
(append
)
instrument-names-alist))
-(define-public (default-instrument-equalizer s)
- (let ((entry (assoc s instrument-equalizer-alist)))
- (if entry
- (cdr entry))))
-
(define-public (percussion? instrument)
"
returns whether the instrument should use midi channel 9
(define-public (alterations-in-key pitch-list)
"Count number of sharps minus number of flats"
- (/ (apply + (map cdr pitch-list)) 2))
+
+ (* (apply + (map cdr pitch-list)) 2))
+
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+
+(define-public (write-performances-midis performances basename)
+ (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)))))))