annotate implementations/midi-db/batch-midifiles-db.lisp @ 317:46dd71ef9ab3
Add some more midi setf methods.
Ignore-this: 2e61873995aee02ee7092e76cff9909b
darcs-hash:20100604153347-16a00-6c337a78b01a227049aaa1ce996da506d4951af1.gz
author |
j.forth <j.forth@gold.ac.uk> |
date |
Fri, 04 Jun 2010 16:33:47 +0100 |
parents |
f99fd6a7bbfc |
children |
|
rev |
line source |
j@310
|
1 (cl:in-package #:amuse-midi-db)
|
j@310
|
2
|
j@310
|
3 (defun import-midifiles (path collection-identifier database)
|
j@310
|
4 "<Path> should be a string or pathname object, which designates a
|
j@310
|
5 directory containing midifiles to be imported,
|
j@310
|
6 e.g. '/home/foo/my-midi-files/' (note trailing slash)."
|
j@310
|
7 (let ((midifile-paths
|
j@310
|
8 (append (directory (merge-pathnames path "*.mid*"))
|
j@310
|
9 (directory (merge-pathnames path "*.MID*")))))
|
j@310
|
10 (unless midifile-paths
|
j@310
|
11 (warn "No midifiles in: ~A" path)
|
j@310
|
12 (return-from import-midifiles nil))
|
j@310
|
13 (loop for midifile-path in midifile-paths
|
j@310
|
14 for i from 1
|
j@310
|
15 do (import-composition
|
j@310
|
16 (get-composition
|
j@310
|
17 (make-midifile-identifier midifile-path))
|
j@310
|
18 collection-identifier database)
|
j@310
|
19 finally (format t "~S midifiles added to database.~%" i))))
|