Mercurial > hg > audiodb
comparison bindings/sb-alien/interface.lisp @ 646:368c8c72e723
Implement sb-adb:liszt in sb-alien bindings
Don't forget to export the symbol from the package!
Fixes audioDB Trac ticket #33
author | mas01cr |
---|---|
date | Tue, 13 Oct 2009 14:26:28 +0000 |
parents | 9cda689dcc20 |
children | 7e7ba87b5466 |
comparison
equal
deleted
inserted
replaced
645:397e94f6db44 | 646:368c8c72e723 |
---|---|
323 (setf (slot qdatum 'times) nil)) | 323 (setf (slot qdatum 'times) nil)) |
324 (if (datum-power datum) | 324 (if (datum-power datum) |
325 (setf (slot qdatum 'power) (sb-sys:vector-sap (sb-ext:array-storage-vector (datum-times datum)))) | 325 (setf (slot qdatum 'power) (sb-sys:vector-sap (sb-ext:array-storage-vector (datum-times datum)))) |
326 (setf (slot qdatum 'power) nil)))) | 326 (setf (slot qdatum 'power) nil)))) |
327 | 327 |
328 (defgeneric liszt (adb)) | |
329 (defmethod liszt ((db adb)) | |
330 (let ((results (%liszt (slot-value db 'alien)))) | |
331 (unwind-protect | |
332 (loop for i below (slot results 'nresults) | |
333 with entries = (slot results 'entries) | |
334 for entry = (deref entries i) | |
335 collect (cons (slot entry 'key) (slot entry 'nvectors))) | |
336 (%free-liszt-results (slot-value db 'alien) results)))) | |
337 | |
328 #+test | 338 #+test |
329 (sb-adb:with-adb (db "/home/csr21/tmp/omras2-workshop/9.adb") | 339 (sb-adb:with-adb (db "/home/csr21/tmp/omras2-workshop/9.adb") |
330 (sb-adb:query "KSA_CHARM_337" db :exhaustivep t :sequence-length 30 | 340 (sb-adb:query "KSA_CHARM_337" db :exhaustivep t :sequence-length 30 |
331 :accumulation :per-track :distance :euclidean :npoints 1 :ntracks 20)) | 341 :accumulation :per-track :distance :euclidean :npoints 1 :ntracks 20)) |
332 | 342 |