(define (dump-midifile nom-fich) (let ((liste-octets (lecture (open-input-file nom-fich)))) (map (lambda (x) (display (car x)) (display (cadr x)) (display " ")) liste-octets) 'ok)) ;;; (dump-midifile "NotesRepetees.mid") (define (lecture port) (let ((octet (read-char port))) (if (eof-object? octet) () (cons (reverse (octet->hexa (char->integer octet))) (lecture port))))) (define (octet->hexa n) (list (traduit-hexa (quotient n 16)) (traduit-hexa (remainder n 16)))) (define (traduit-hexa i) (case i ((10) "A") ((11) "B") ((12) "C") ((13) "D") ((14) "E") ((15) "F") (else i)))