# HG changeset patch # User mas01cr # Date 1267804844 0 # Node ID 684339bb8d2183841fedc1ae0f5ced3c85d45e7d # Parent 780ebab29268402d7c391c4761a79aeeeaf78e6a Remove most backwards-compatibility cruft from audioDB_API.h "most": audiodb_insert() and audiodb_batchinsert(), along with adb_insert_t, are still there, basically because the distinction between LARGE_ADB and "normal" isn't exposed properly. diff -r 780ebab29268 -r 684339bb8d21 audioDB_API.h --- a/audioDB_API.h Wed Mar 03 17:17:08 2010 +0000 +++ b/audioDB_API.h Fri Mar 05 16:00:44 2010 +0000 @@ -16,36 +16,29 @@ /*******************************************************************/ /* Data types for API */ -/* The main struct that stores the name of the database, and in future will hold all - * kinds of other interesting information */ -/* This basically gets passed around to all of the other functions */ - /* FIXME: it might be that "adb_" isn't such a good prefix to use, and that we should prefer "audiodb_". Or else maybe we should be calling ourselves libadb? */ -typedef struct adb adb_t, *adb_ptr; +typedef struct adb adb_t; -struct adb_datum { +typedef struct adb_datum { uint32_t nvectors; uint32_t dim; const char *key; double *data; double *power; double *times; -}; -typedef struct adb_datum adb_datum_t; +} adb_datum_t; -//used for both insert and batchinsert -struct adbinsert { +typedef struct adb_reference { const char *features; const char *power; const char *key; const char *times; -}; -typedef struct adbinsert adb_insert_t, adb_reference_t, *adb_insert_ptr; +} adb_reference_t, adb_insert_t; /* struct for returning status results */ -struct adbstatus { +typedef struct adb_status { unsigned int numFiles; unsigned int dim; unsigned int dudCount; @@ -53,50 +46,9 @@ unsigned int flags; uint64_t length; uint64_t data_region_size; -}; -typedef struct adbstatus adb_status_t, *adb_status_ptr; +} adb_status_t; -/* needed for constructing a query */ -struct adbquery { - - char * querytype; - char * feature; //usually a file of some kind - char * key; - char * power; //also a file - char * keylist; //also a file - char * qpoint; //position - char * numpoints; - char * radius; - char * resultlength; //how many results to make - char * sequencelength; - char * sequencehop; - double absolute_threshold; - double relative_threshold; - int exhaustive; //hidden option in gengetopt - double expandfactor; //hidden - int rotate; //hidden - -}; -typedef struct adbquery adb_query_t,*adb_query_ptr; - -/* ... and for getting query results back */ -struct adbqueryresult { - - int sizeRlist; /* do I really need to return all 4 sizes here */ - int sizeDist; - int sizeQpos; - int sizeSpos; - char **Rlist; - double *Dist; - unsigned int *Qpos; - unsigned int *Spos; - -}; -typedef struct adbqueryresult adb_queryresult_t, *adb_queryresult_ptr; - -/* New ("new" == December 2008) query API */ - -typedef struct adbresult { +typedef struct adb_result { const char *key; double dist; uint32_t qpos; @@ -178,42 +130,43 @@ /* open an existing database */ /* returns a struct or NULL on failure */ -adb_ptr audiodb_open(const char *path, int flags); +adb_t *audiodb_open(const char *path, int flags); /* create a new database */ /* returns a struct or NULL on failure */ -adb_ptr audiodb_create(const char *path, unsigned datasize, unsigned ntracks, unsigned datadim); +adb_t *audiodb_create(const char *path, unsigned datasize, unsigned ntracks, unsigned datadim); /* close a database */ -void audiodb_close(adb_ptr db); +void audiodb_close(adb_t *adb); /* You'll need to turn both of these on to do anything useful */ -int audiodb_l2norm(adb_ptr mydb); -int audiodb_power(adb_ptr mydb); +int audiodb_l2norm(adb_t *adb); +int audiodb_power(adb_t *adb); /* insert functions */ int audiodb_insert_datum(adb_t *, const adb_datum_t *); int audiodb_insert_reference(adb_t *, const adb_reference_t *); -int audiodb_insert(adb_ptr mydb, adb_insert_ptr ins); -int audiodb_batchinsert(adb_ptr mydb, adb_insert_ptr ins, unsigned int size); /* query function */ -int audiodb_query(adb_ptr mydb, adb_query_ptr adbq, adb_queryresult_ptr adbqres); adb_query_results_t *audiodb_query_spec(adb_t *, const adb_query_spec_t *); int audiodb_query_free_results(adb_t *, const adb_query_spec_t *, adb_query_results_t *); /* database status */ -int audiodb_status(adb_ptr mydb, adb_status_ptr status); +int audiodb_status(adb_t *, adb_status_t *status); /* retrieval of inserted data */ int audiodb_retrieve_datum(adb_t *, const char *, adb_datum_t *); int audiodb_free_datum(adb_t *, adb_datum_t *); /* various dump formats */ -int audiodb_dump(adb_ptr mydb, const char *outputdir); +int audiodb_dump(adb_t *, const char *outputdir); /* liszt */ adb_liszt_results_t *audiodb_liszt(adb_t *); int audiodb_liszt_free_results(adb_t *, adb_liszt_results_t *); +/* backwards compatibility */ +int audiodb_insert(adb_t *, adb_insert_t *ins); +int audiodb_batchinsert(adb_t *, adb_insert_t *ins, unsigned int size); + #endif