Mercurial > hg > audiodb
changeset 545:bf89c80ec4cc multiprobeLSH
Expanded interface to audiodb_insert_create_datum() and audiodb_track_id_datum() to include _offset versions of both. Default cache is NULL, but offset and size parameters required.
author | mas01mc |
---|---|
date | Sun, 08 Feb 2009 15:53:57 +0000 |
parents | 283b412083db |
children | e8193805ce42 1731a6c457d7 |
files | audioDB-internals.h insert.cpp query.cpp |
diffstat | 3 files changed, 16 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/audioDB-internals.h Sun Feb 08 06:41:55 2009 +0000 +++ b/audioDB-internals.h Sun Feb 08 15:53:57 2009 +0000 @@ -302,8 +302,10 @@ } int audiodb_read_data(adb_t *, int, int, double **, size_t *); -int audiodb_insert_create_datum(adb_insert_t *, adb_datum_t *, off_t data_offset, size_t data_size, adb_fd_cache_t * cache); -int audiodb_track_id_datum(adb_t *, uint32_t , adb_datum_t , off_t vector_offset, size_t vector_size, adb_fd_cache_t * cache); +int audiodb_insert_create_datum_offset(adb_insert_t *, adb_datum_t *, off_t data_offset, size_t data_size, adb_fd_cache_t * cache=NULL); +int audiodb_track_id_datum_offset(adb_t *, uint32_t , adb_datum_t *, off_t vector_offset, size_t vector_size, adb_fd_cache_t * cache=NULL); +int audiodb_insert_create_datum(adb_insert_t * insert, adb_datum_t *datum); +int audiodb_track_id_datum(adb_t * adb, uint32_t track_id, adb_datum_t *datum); int audiodb_free_datum(adb_datum_t *); int audiodb_free_datum_cache(adb_fd_cache_t *); int audiodb_free_datum_reference(adb_reference_t * reference);
--- a/insert.cpp Sun Feb 08 06:41:55 2009 +0000 +++ b/insert.cpp Sun Feb 08 15:53:57 2009 +0000 @@ -333,7 +333,11 @@ return 0; } -int audiodb_insert_create_datum(adb_insert_t *insert, adb_datum_t *datum, off_t data_offset=0, size_t data_size=0, adb_fd_cache_t *cache=0) { +int audiodb_insert_create_datum(adb_insert_t * insert, adb_datum_t *datum){ + return audiodb_insert_create_datum_offset(insert, datum, 0, 0, 0); +} + +int audiodb_insert_create_datum_offset(adb_insert_t *insert, adb_datum_t *datum, off_t data_offset, size_t data_size, adb_fd_cache_t *cache) { int fd = 0; FILE *file = NULL; struct stat st;
--- a/query.cpp Sun Feb 08 06:41:55 2009 +0000 +++ b/query.cpp Sun Feb 08 15:53:57 2009 +0000 @@ -198,7 +198,11 @@ return 1; } -int audiodb_track_id_datum(adb_t *adb, uint32_t track_id, adb_datum_t *d, off_t vector_offset=0, size_t num_vectors=0, adb_fd_cache_t* cache=0){ +int audiodb_track_id_datum(adb_t * adb, uint32_t track_id, adb_datum_t *datum){ + return audiodb_track_id_datum_offset(adb, track_id , datum, 0, 0, 0); +} + +int audiodb_track_id_datum_offset(adb_t *adb, uint32_t track_id, adb_datum_t *d, off_t vector_offset, size_t num_vectors, adb_fd_cache_t* cache){ off_t track_offset = (*adb->track_offsets)[track_id]; if(adb->header->flags & ADB_HEADER_FLAG_REFERENCES) { @@ -236,7 +240,7 @@ } } - int retval = audiodb_insert_create_datum(reference, d, vector_offset*adb->header->dim*sizeof(double), num_vectors*adb->header->dim*sizeof(double), cache); + int retval = audiodb_insert_create_datum_offset(reference, d, vector_offset*adb->header->dim*sizeof(double), num_vectors*adb->header->dim*sizeof(double), cache); if(!cache){ audiodb_free_datum_reference(reference); free(reference); @@ -524,7 +528,7 @@ currentTrack = pp.trackID; } maybe_delete_array(dbpointers.mean_duration); - if(audiodb_track_id_datum(adb, pp.trackID, &d, pp.spos, sequence_length, &c)) { + if(audiodb_track_id_datum_offset(adb, pp.trackID, &d, pp.spos, sequence_length, &c)) { delete qstate->exact_evaluation_queue; delete qstate->set; audiodb_free_datum(&d);