comparison dump.cpp @ 277:abfb26e08d9c audiodb-debian

Merge trunk changes -r326:386 into audiodb-debian branch. Plus new debian/changelog version. (Should have used an epoch really, but couldn't be bothered; TODO: work out a sane version numbering policy).
author mas01cr
date Tue, 01 Jul 2008 09:12:40 +0000
parents 15b8ff55ea5b
children b9eff6896943
comparison
equal deleted inserted replaced
246:cbf51690c78c 277:abfb26e08d9c
60 unsigned pos = 0; 60 unsigned pos = 0;
61 lseek(dbfid, dbH->dataOffset, SEEK_SET); 61 lseek(dbfid, dbH->dataOffset, SEEK_SET);
62 double *data_buffer; 62 double *data_buffer;
63 size_t data_buffer_size; 63 size_t data_buffer_size;
64 for(unsigned k = 0; k < dbH->numFiles; k++) { 64 for(unsigned k = 0; k < dbH->numFiles; k++) {
65 fprintf(kLFile, "%s\n", fileTable + k*O2_FILETABLESIZE); 65 fprintf(kLFile, "%s\n", fileTable + k*O2_FILETABLE_ENTRY_SIZE);
66 snprintf(fName, 256, "%05d.features", k); 66 snprintf(fName, 256, "%05d.features", k);
67 if ((ffd = open(fName, O_CREAT|O_RDWR|O_EXCL, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)) < 0) { 67 if ((ffd = open(fName, O_CREAT|O_RDWR|O_EXCL, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)) < 0) {
68 error("error creating feature file", fName, "open"); 68 error("error creating feature file", fName, "open");
69 } 69 }
70 if ((write(ffd, &dbH->dim, sizeof(uint32_t))) < 0) { 70 if ((write(ffd, &dbH->dim, sizeof(uint32_t))) < 0) {
128 fprintf(pLFile, "%s\n", fName); 128 fprintf(pLFile, "%s\n", fName);
129 close(pfd); 129 close(pfd);
130 } 130 }
131 131
132 pos += trackTable[k]; 132 pos += trackTable[k];
133 std::cout << fileTable+k*O2_FILETABLESIZE << " " << trackTable[k] << std::endl; 133 std::cout << fileTable+k*O2_FILETABLE_ENTRY_SIZE << " " << trackTable[k] << std::endl;
134 } 134 }
135 135
136 FILE *scriptFile; 136 FILE *scriptFile;
137 scriptFile = fopen("restore.sh", "w"); 137 scriptFile = fopen("restore.sh", "w");
138 fprintf(scriptFile, "\ 138 fprintf(scriptFile, "\
140 #\n\ 140 #\n\
141 # usage: AUDIODB=/path/to/audioDB sh ./restore.sh <newdb>\n\ 141 # usage: AUDIODB=/path/to/audioDB sh ./restore.sh <newdb>\n\
142 \n\ 142 \n\
143 if [ -z \"${AUDIODB}\" ]; then echo set AUDIODB variable; exit 1; fi\n\ 143 if [ -z \"${AUDIODB}\" ]; then echo set AUDIODB variable; exit 1; fi\n\
144 if [ -z \"$1\" ]; then echo usage: $0 newdb; exit 1; fi\n\n\ 144 if [ -z \"$1\" ]; then echo usage: $0 newdb; exit 1; fi\n\n\
145 \"${AUDIODB}\" -d \"$1\" -N --size=%d\n", (int) (dbH->dbSize / 1000000)); 145 \"${AUDIODB}\" -d \"$1\" -N --datasize=%d --ntracks=%d --datadim=%d\n",
146 (int) ((dbH->timesTableOffset - dbH->dataOffset) / (1024*1024)),
147 // fileTable entries (char[256]) are bigger than trackTable
148 // (int), so the granularity of page aligning is finer.
149 (int) ((dbH->trackTableOffset - dbH->fileTableOffset) / O2_FILETABLE_ENTRY_SIZE),
150 (int) ceil(((double) (dbH->timesTableOffset - dbH->dataOffset)) / ((double) (dbH->dbSize - dbH->l2normTableOffset))));
146 if(dbH->flags & O2_FLAG_L2NORM) { 151 if(dbH->flags & O2_FLAG_L2NORM) {
147 fprintf(scriptFile, "\"${AUDIODB}\" -d \"$1\" -L\n"); 152 fprintf(scriptFile, "\"${AUDIODB}\" -d \"$1\" -L\n");
148 } 153 }
149 if(power) { 154 if(power) {
150 fprintf(scriptFile, "\"${AUDIODB}\" -d \"$1\" -P\n"); 155 fprintf(scriptFile, "\"${AUDIODB}\" -d \"$1\" -P\n");