Mercurial > hg > audiodb
diff bindings/sb-alien/library.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 | 1b3b303957bd |
children | a35ca2d5f238 |
line wrap: on
line diff
--- a/bindings/sb-alien/library.lisp Tue Oct 13 14:26:27 2009 +0000 +++ b/bindings/sb-alien/library.lisp Tue Oct 13 14:26:28 2009 +0000 @@ -137,5 +137,24 @@ (define-int-checking-function %free-query-results (adb spec results) %%free-query-results) +(define-alien-type adb-track-entry-t + (struct adbtrackentry + (nvectors (unsigned 32)) + (key c-string))) + +(define-alien-type adb-liszt-results-t + (struct adblisztresults + (nresults (unsigned 32)) + (entries (* adb-track-entry-t)))) + +(define-alien-routine ("audiodb_liszt" %%liszt) (* adb-liszt-results-t) + (adb (* adb-t))) +(define-pointer-checking-function %liszt (adb) %%liszt) +(define-alien-routine ("audiodb_liszt_free_results" %%free-liszt-results) int + (adb (* adb-t)) + (results (* adb-liszt-results-t))) +(define-int-checking-function %free-liszt-results (adb results) + %%free-liszt-results) + (define-alien-routine ("audiodb_close" %close) void (adb (* adb-t)))