comparison examples/iAudioDB/AppController.m @ 682:df9639a5cad2

Updated to work with new API
author mas01mj
date Fri, 05 Mar 2010 16:51:24 +0000
parents 15e71890b584
children fed70cb84a92
comparison
equal deleted inserted replaced
681:096feb57c7d6 682:df9639a5cad2
131 { 131 {
132 NSLog(@"Update status"); 132 NSLog(@"Update status");
133 if(db) 133 if(db)
134 { 134 {
135 NSLog(@"Got a db"); 135 NSLog(@"Got a db");
136 adb_status_ptr status = (adb_status_ptr)malloc(sizeof(struct adbstatus)); 136 adb_status_t *status = (adb_status_t *)malloc(sizeof(adb_status_t));
137 int flags; 137 int flags;
138 flags = audiodb_status(db, status); 138 flags = audiodb_status(db, status);
139 [statusField setStringValue: [NSString stringWithFormat:@"Database: %@ Dimensions: %d Files: %d", dbName, status->dim, status->numFiles]]; 139 [statusField setStringValue: [NSString stringWithFormat:@"Database: %@ Dimensions: %d Files: %d", dbName, status->dim, status->numFiles]];
140 [chooseButton setEnabled:YES]; 140 [chooseButton setEnabled:YES];
141 } 141 }
243 243
244 NSTask* task = [[NSTask alloc] init]; 244 NSTask* task = [[NSTask alloc] init];
245 245
246 [task setLaunchPath:@"/usr/local/bin/sonic-annotator"]; 246 [task setLaunchPath:@"/usr/local/bin/sonic-annotator"];
247 247
248 NSString* extractorPath = [NSString stringWithFormat:@"/Applications/iAudioDB.app/rdf/%@.n3", extractor]; 248 NSString* extractorPath = [NSString stringWithFormat:@"/Users/mikej/Development/audioDB/examples/iAudioDB/rdf/%@.n3", extractor];
249 NSLog(@"Extractor path: %@", extractorPath); 249 NSLog(@"Extractor path: %@", extractorPath);
250 NSArray* args; 250 NSArray* args;
251 args = [NSArray arrayWithObjects:@"-t", extractorPath, @"-w", @"rdf", @"-r", @"--rdf-network", @"--rdf-one-file", featuresFileName, @"--rdf-force", [filesToOpen objectAtIndex:i], nil]; 251 args = [NSArray arrayWithObjects:@"-t", extractorPath, @"-w", @"rdf", @"-r", @"--rdf-network", @"--rdf-one-file", featuresFileName, @"--rdf-force", [filesToOpen objectAtIndex:i], nil];
252 [task setArguments:args]; 252 [task setArguments:args];
253 [task launch]; 253 [task launch];
543 spec->params.distance = ADB_DISTANCE_EUCLIDEAN_NORMED; 543 spec->params.distance = ADB_DISTANCE_EUCLIDEAN_NORMED;
544 544
545 spec->params.npoints = 1; 545 spec->params.npoints = 1;
546 spec->params.ntracks = 100; 546 spec->params.ntracks = 100;
547 //spec->refine.radius = 5.0; 547 //spec->refine.radius = 5.0;
548 spec->refine.hopsize = 1;
549 // spec->refine.absolute_threshold = -6; 548 // spec->refine.absolute_threshold = -6;
550 // spec->refine.relative_threshold = 10; 549 // spec->refine.relative_threshold = 10;
551 // spec->refine.duration_ratio = 0; 550 // spec->refine.duration_ratio = 0;
552 551
553 spec->refine.flags = 0; 552 spec->refine.flags = 0;
554 // spec->refine.flags |= ADB_REFINE_ABSOLUTE_THRESHOLD; 553 // spec->refine.flags |= ADB_REFINE_ABSOLUTE_THRESHOLD;
555 // spec->refine.flags |= ADB_REFINE_RELATIVE_THRESHOLD; 554 // spec->refine.flags |= ADB_REFINE_RELATIVE_THRESHOLD;
556 spec->refine.flags |= ADB_REFINE_HOP_SIZE; 555 // spec->refine.flags |= ADB_REFINE_HOP_SIZE;
557 //spec->refine.flags |= ADB_REFINE_RADIUS; 556 //spec->refine.flags |= ADB_REFINE_RADIUS;
558 557
559 adb_query_results_t *result = (adb_query_results_t *)malloc(sizeof(adb_query_results_t)); 558 adb_query_results_t *result = (adb_query_results_t *)malloc(sizeof(adb_query_results_t));
560 spec->qid.datum->data = NULL; 559 spec->qid.datum->data = NULL;
561 spec->qid.datum->power = NULL; 560 spec->qid.datum->power = NULL;
576 else 575 else
577 { 576 {
578 float divisor = (44100/2048); 577 float divisor = (44100/2048);
579 for(int i=0; i<result->nresults; i++) 578 for(int i=0; i<result->nresults; i++)
580 { 579 {
580
581 NSMutableDictionary* dict = [[NSMutableDictionary alloc] initWithCapacity:4]; 581 NSMutableDictionary* dict = [[NSMutableDictionary alloc] initWithCapacity:4];
582 [dict setValue:[NSString stringWithFormat:@"%s", result->results[i].key] forKey:@"key"]; 582 [dict setValue:[NSString stringWithFormat:@"%s", result->results[i].ikey] forKey:@"key"];
583 [dict setValue:[NSNumber numberWithFloat:result->results[i].dist] forKey:@"distance"]; 583 [dict setValue:[NSNumber numberWithFloat:result->results[i].dist] forKey:@"distance"];
584 [dict setValue:[NSNumber numberWithFloat:result->results[i].dist] forKey:@"meter"]; 584 [dict setValue:[NSNumber numberWithFloat:result->results[i].dist] forKey:@"meter"];
585 [dict setValue:[NSNumber numberWithFloat:result->results[i].qpos/divisor] forKey:@"qpos"]; 585 [dict setValue:[NSNumber numberWithFloat:result->results[i].qpos/divisor] forKey:@"qpos"];
586 [dict setValue:[NSNumber numberWithFloat:result->results[i].ipos/divisor] forKey:@"ipos"]; 586 [dict setValue:[NSNumber numberWithFloat:result->results[i].ipos/divisor] forKey:@"ipos"];
587 NSLog(@"%s qpos %d ipos %d", result->results[i].key, result->results[i].qpos/divisor, result->results[i].ipos/divisor); 587 NSLog(@"%s qpos %d ipos %d", result->results[i].ikey, result->results[i].qpos/divisor, result->results[i].ipos/divisor);
588 [results addObject: dict]; 588 [results addObject: dict];
589 } 589 }
590 } 590 }
591 591
592 NSSortDescriptor *distSort = [[NSSortDescriptor alloc]initWithKey:@"meter" ascending:YES]; 592 NSSortDescriptor *distSort = [[NSSortDescriptor alloc]initWithKey:@"meter" ascending:YES];