Mercurial > hg > audiodb
changeset 28:5485586a5378 audiodb-debian
Merged trunk changes -r39:43 onto audiodb-debian branch
Updated changelog with new version
author | mas01cr |
---|---|
date | Thu, 16 Aug 2007 11:42:19 +0000 |
parents | e614ae0ebfe1 |
children | e736c35de0f6 |
files | Makefile audioDB.cpp audioDB.h debian/changelog |
diffstat | 4 files changed, 21 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/Makefile Thu Aug 16 10:50:34 2007 +0000 +++ b/Makefile Thu Aug 16 11:42:19 2007 +0000 @@ -24,4 +24,5 @@ -rm cmdline.c cmdline.h -rm soapServer.cpp soapClient.cpp soapC.cpp soapObject.h soapStub.h soapProxy.h soapH.h soapServerLib.cpp soapClientLib.cpp -rm adb.nsmap adb.xsd adb.wsdl adb.query.req.xml adb.query.res.xml adb.status.req.xml adb.status.res.xml + -rm README.txt -rm ${EXECUTABLE} ${EXECUTABLE}.1
--- a/audioDB.cpp Thu Aug 16 10:50:34 2007 +0000 +++ b/audioDB.cpp Thu Aug 16 11:42:19 2007 +0000 @@ -470,9 +470,9 @@ // initTables - memory map files passed as arguments // Precondition: database has already been created -void audioDB::initTables(const char* dbName, const char* inFile=0){ - if ((dbfid = open (dbName, O_RDWR)) < 0) - error("Can't open database file:", dbName); +void audioDB::initTables(const char* dbName, bool forWrite, const char* inFile=0){ + if ((dbfid = open (dbName, forWrite ? O_RDWR : O_RDONLY)) < 0) + error("Can't open database file", dbName); // open the input file if (inFile && (infid = open (inFile, O_RDONLY)) < 0) @@ -518,7 +518,7 @@ error("mmap error for input"); // mmap the database file - if ((db = (char*) mmap(0, O2_DEFAULTDBSIZE, PROT_READ | PROT_WRITE, + if ((db = (char*) mmap(0, O2_DEFAULTDBSIZE, PROT_READ | (forWrite ? PROT_WRITE : 0), MAP_SHARED, dbfid, 0)) == (caddr_t) -1) error("mmap error for creating database"); @@ -533,7 +533,7 @@ void audioDB::insert(const char* dbName, const char* inFile){ - initTables(dbName, inFile); + initTables(dbName, 1, inFile); if(!usingTimes && (dbH->flags & O2_FLAG_TIMES)) error("Must use timestamps with timestamped database","use --times"); @@ -666,7 +666,7 @@ void audioDB::batchinsert(const char* dbName, const char* inFile){ if ((dbfid = open (dbName, O_RDWR)) < 0) - error("Can't open database file:", dbName); + error("Can't open database file", dbName); if(!key) key=inFile; @@ -886,7 +886,7 @@ void audioDB::status(const char* dbName){ if(!dbH) - initTables(dbName, 0); + initTables(dbName, 0, 0); // Update Header information cout << "num files:" << dbH->numFiles << endl; @@ -915,7 +915,7 @@ void audioDB::dump(const char* dbName){ if(!dbH) - initTables(dbName,0); + initTables(dbName, 0, 0); for(unsigned k=0, j=0; k<dbH->numFiles; k++){ cout << fileTable+k*O2_FILETABLESIZE << " " << trackTable[k] << endl; @@ -926,7 +926,7 @@ } void audioDB::l2norm(const char* dbName){ - initTables(dbName,0); + initTables(dbName, 0, 0); if(dbH->length>0){ unsigned numVectors = dbH->length/(sizeof(double)*dbH->dim); unitNormAndInsertL2(dataBuf, dbH->dim, numVectors, 0); // No append @@ -970,7 +970,7 @@ // Basic point query engine void audioDB::pointQuery(const char* dbName, const char* inFile, adb__queryResult *adbQueryResult){ - initTables(dbName, inFile); + initTables(dbName, 0, inFile); // For each input vector, find the closest pointNN matching output vectors and report // we use stdout in this stub version @@ -1144,7 +1144,7 @@ // return the trackNN closest tracks to the query track // uses average of pointNN points per track void audioDB::trackPointQuery(const char* dbName, const char* inFile, adb__queryResult *adbQueryResult){ - initTables(dbName, inFile); + initTables(dbName, 0, inFile); // For each input vector, find the closest pointNN matching output vectors and report unsigned numVectors = (statbuf.st_size-sizeof(int))/(sizeof(double)*dbH->dim); @@ -1395,7 +1395,7 @@ // outputs distances of retrieved shingles, max retreived = pointNN shingles per per track void audioDB::trackSequenceQueryNN(const char* dbName, const char* inFile, adb__queryResult *adbQueryResult){ - initTables(dbName, inFile); + initTables(dbName, 0, inFile); // For each input vector, find the closest pointNN matching output vectors and report // we use stdout in this stub version @@ -1889,7 +1889,7 @@ // outputs count of retrieved shingles, max retreived = one shingle per query shingle per track void audioDB::trackSequenceQueryRad(const char* dbName, const char* inFile, adb__queryResult *adbQueryResult){ - initTables(dbName, inFile); + initTables(dbName, 0, inFile); // For each input vector, find the closest pointNN matching output vectors and report // we use stdout in this stub version
--- a/audioDB.h Thu Aug 16 10:50:34 2007 +0000 +++ b/audioDB.h Thu Aug 16 11:42:19 2007 +0000 @@ -221,7 +221,7 @@ void trackSequenceQueryNN(const char* dbName, const char* inFile, adb__queryResult *adbQueryResult=0); void trackSequenceQueryRad(const char* dbName, const char* inFile, adb__queryResult *adbQueryResult=0); - void initTables(const char* dbName, const char* inFile); + void initTables(const char* dbName, bool forWrite, const char* inFile); void unitNorm(double* X, unsigned d, unsigned n, double* qNorm); void unitNormAndInsertL2(double* X, unsigned dim, unsigned n, unsigned append); void normalize(double* X, int dim, int n);
--- a/debian/changelog Thu Aug 16 10:50:34 2007 +0000 +++ b/debian/changelog Thu Aug 16 11:42:19 2007 +0000 @@ -1,3 +1,9 @@ +audiodb (1.0-4) unstable; urgency=low + + * updated to svn version #43 + + -- Christophe Rhodes <c.rhodes@gold.ac.uk> Thu, 16 Aug 2007 12:41:42 +0100 + audiodb (1.0-3) unstable; urgency=low * updated to svn version #38