Mercurial > hg > audiodb
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]; |