X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fmidi.scm;h=b41308b77abda626c346f9df1800f60e233d7d19;hb=ca4a47ffd343a3672c0e13b801eeb2647866ce98;hp=79ffe5846af555bbbb998ab1879d64c5a74e80d5;hpb=899a5926b98860f3d5db399616d9211927fbfa3c;p=lilypond.git diff --git a/scm/midi.scm b/scm/midi.scm index 79ffe5846a..b41308b77a 100644 --- a/scm/midi.scm +++ b/scm/midi.scm @@ -2,11 +2,17 @@ ;;; ;;; source file of the GNU LilyPond music typesetter ;;; -;;; (c) 2000--2002 Jan Nieuwenhuizen +;;; (c) 2000--2004 Jan Nieuwenhuizen + +;;;;;;;;;;;;;;;;;; +;;; TODO: + +;; this is broken: we should not ever export variables from Scheme. + ;; define factor of total volume per dynamic marking -(define absolute-volume-alist '()) +(define-public absolute-volume-alist '()) (set! absolute-volume-alist (append '( @@ -32,7 +38,7 @@ (cdr entry)))) ;; define factors of total volume of minimum and maximum volume -(define instrument-equalizer-alist '()) +(define-public instrument-equalizer-alist '()) (set! instrument-equalizer-alist (append '( @@ -150,7 +156,7 @@ ("recorder" . ,(- 75 1)) ("pan flute" . ,(- 76 1)) ("blown bottle" . ,(- 77 1)) - ("skakuhachi" . ,(- 78 1)) + ("shakuhachi" . ,(- 78 1)) ("whistle" . ,(- 79 1)) ("ocarina" . ,(- 80 1)) @@ -260,8 +266,8 @@ returns whether the instrument should use midi channel 9 (entry (assoc inst instrument-names-alist)) ) (and entry (>= (cdr entry) 32768)) - ) -) + )) + (define-public (midi-program instrument) " returns the program of the instrument @@ -277,18 +283,6 @@ returns the program of the instrument ;; urg: we should set this at start of track (define-public dynamic-default-volume 0.71) -(define-public (accidentals-in-key pitch-list) +(define-public (alterations-in-key pitch-list) "Count number of sharps minus number of flats" - (apply + (map cdr pitch-list))) - -(define-public (major-key pitch-list) - "Characterise the key as major if the alteration of the -third scale note is the same as that of the main note. -Note: MIDI cannot handle other tonalities than major/minor. -" - ;; This charactersition is only true for a scale that starts at `c'. - (if (not (equal? (car pitch-list) '(0 . 0))) - (begin - (ly:warn "Attempt to determine tonality of transposed scale") - #t) - (eq? (cdr (list-ref pitch-list 4)) (cdr (list-ref pitch-list 6))))) + (/ (apply + (map cdr pitch-list)) 2))