Mercurial > hg > amuse
view implementations/midi-db/batch-midifiles-db.lisp @ 310:f99fd6a7bbfc
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
author | j.forth <j.forth@gold.ac.uk> |
---|---|
date | Tue, 23 Feb 2010 15:27:03 +0000 |
parents | |
children |
line wrap: on
line source
(cl:in-package #:amuse-midi-db) (defun import-midifiles (path collection-identifier database) "<Path> should be a string or pathname object, which designates a directory containing midifiles to be imported, e.g. '/home/foo/my-midi-files/' (note trailing slash)." (let ((midifile-paths (append (directory (merge-pathnames path "*.mid*")) (directory (merge-pathnames path "*.MID*"))))) (unless midifile-paths (warn "No midifiles in: ~A" path) (return-from import-midifiles nil)) (loop for midifile-path in midifile-paths for i from 1 do (import-composition (get-composition (make-midifile-identifier midifile-path)) collection-identifier database) finally (format t "~S midifiles added to database.~%" i))))