changeset 677:e4eae1f59759

Modify sb-alien bindings for new qhopsize/ihopsize distinction Tests pass
author mas01cr
date Fri, 05 Mar 2010 16:01:14 +0000
parents dd6cabd65327
children 421b7403ad68
files bindings/sb-alien/interface.lisp bindings/sb-alien/library.lisp
diffstat 2 files changed, 9 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/bindings/sb-alien/interface.lisp	Fri Mar 05 16:01:10 2010 +0000
+++ b/bindings/sb-alien/interface.lisp	Fri Mar 05 16:01:14 2010 +0000
@@ -215,7 +215,9 @@
 
                           (radius nil radiusp)
                           (include-keys nil include-keys-p)
-                          (exclude-keys nil exclude-keys-p))
+                          (exclude-keys nil exclude-keys-p)
+                          (query-hop 1 query-hop-p)
+                          (db-hop 1 db-hop-p))
           (unless (slot-boundp db 'alien)
             (error "database ~S is closed" db))
          (with-alien ((qid adb-query-id-t)
@@ -268,8 +270,11 @@
                    (loop for key being the elements of exclude-keys
                          for i upfrom 0
                          do (setf (deref keys i) key)))))
+             (when (or query-hop-p db-hop-p)
+               (setf refine-flags (logior refine-flags 64))
+               (setf (slot qrefine 'qhopsize) query-hop
+                     (slot qrefine 'ihopsize) db-hop))
              (setf (slot qrefine 'flags) refine-flags))
-           (setf (slot qrefine 'hopsize) 1)
            
            ;; FIXME: hm, this possibly suggests that there's something
            ;; a bit wrong with the C audioDB interface.  The API
--- a/bindings/sb-alien/library.lisp	Fri Mar 05 16:01:10 2010 +0000
+++ b/bindings/sb-alien/library.lisp	Fri Mar 05 16:01:14 2010 +0000
@@ -105,7 +105,8 @@
     (absolute-threshold double)
     (relative-threshold double)
     (duration-ratio double)
-    (hopsize (unsigned 32))))
+    (qhopsize (unsigned 32))
+    (ihopsize (unsigned 32))))
 
 (define-alien-type adb-query-spec-t
   (struct adb-query-spec