Mercurial > hg > amuse
comparison implementations/midi-db/batch-midifiles-db.lisp @ 236:a5d065905f6d
Add midi-db.
Ignore-this: c6f4fc32efa4453ddbdc478793eedd52
A basic implementation for working with MIDI files stored in the database.
It is a test case for `versioned' data, but only partially implemented at the moment.
darcs-hash:20100223152703-16a00-4388d2720907d777a1c6c6b3a010885ce0fe06a7.gz
committer: Jamie Forth <j.forth@gold.ac.uk>
author | j.forth <j.forth@gold.ac.uk> |
---|---|
date | Thu, 24 Feb 2011 11:23:18 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
235:ea45a3d0730c | 236:a5d065905f6d |
---|---|
1 (cl:in-package #:amuse-midi-db) | |
2 | |
3 (defun import-midifiles (path collection-identifier database) | |
4 "<Path> should be a string or pathname object, which designates a | |
5 directory containing midifiles to be imported, | |
6 e.g. '/home/foo/my-midi-files/' (note trailing slash)." | |
7 (let ((midifile-paths | |
8 (append (directory (merge-pathnames path "*.mid*")) | |
9 (directory (merge-pathnames path "*.MID*"))))) | |
10 (unless midifile-paths | |
11 (warn "No midifiles in: ~A" path) | |
12 (return-from import-midifiles nil)) | |
13 (loop for midifile-path in midifile-paths | |
14 for i from 1 | |
15 do (import-composition | |
16 (get-composition | |
17 (make-midifile-identifier midifile-path)) | |
18 collection-identifier database) | |
19 finally (format t "~S midifiles added to database.~%" i)))) |