# HG changeset patch # User mas01mj # Date 1267636628 0 # Node ID 780ebab29268402d7c391c4761a79aeeeaf78e6a # Parent ce5ff00168e16dd5feb3daee93186d518d1086be Added initial increment of OSX audioDB interface diff -r ce5ff00168e1 -r 780ebab29268 examples/iAudioDB/AppController.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/iAudioDB/AppController.h Wed Mar 03 17:17:08 2010 +0000 @@ -0,0 +1,80 @@ +// +// AppController.h +// iAudioDB +// +// Created by Mike Jewell on 27/01/2010. +// Copyright 2010 __MyCompanyName__. All rights reserved. +// + +#import +#include + +@interface AppController : NSObject { + adb_ptr db; + NSModalSession session; + + NSString* dbName; + NSString* dbFilename; + NSString* plistFilename; + NSString* selectedKey; + NSString* selectedFilename; + + IBOutlet NSTextField *statusField; + IBOutlet NSTableView *tracksView; + IBOutlet id mainWindow; + + // Querying + IBOutlet NSTextField* queryKey; + IBOutlet NSButton* playBothButton; + IBOutlet NSButton* playResultButton; + IBOutlet NSButton* stopButton; + IBOutlet NSButton* chooseButton; + + NSMutableArray* results; + NSDictionary* trackMap; + + // Extracting + IBOutlet id importSheet; + IBOutlet NSBox* extractingBox; + IBOutlet NSMatrix* extractorOptions; + IBOutlet NSProgressIndicator* indicator; + + // Playback + NSSound* queryTrack; + NSSound* resultTrack; + + // Query param fields + + /* To Come + IBOutlet id queryType; + IBOutlet NSTextField* queryStartField; + IBOutlet id queryTypeOptions; + IBOutlet NSTextField* queryLengthField; + IBOutlet NSTextField* queryRadiusField; + IBOutlet NSButtonCell* exhaustiveField;*/ + +} + +// Menus +-(IBAction)newDatabase:(id)sender; +-(IBAction)openDatabase:(id)sender; +-(IBAction)selectFiles:(id)sender; + +// Import +-(IBAction)importAudio:(id)sender; +-(IBAction)cancelImport:(id)sender; + +// Buttons +-(IBAction)playBoth:(id)sender; +-(IBAction)playResult:(id)sender; +-(IBAction)stopPlay:(id)sender; +-(IBAction)chooseQuery:(id)sender; +-(IBAction)selectedChanged:(id)sender; + + +-(void)performQuery; +-(void)updateStatus; +- (BOOL)validateUserInterfaceItem:(id )anItem; +- (void)sound:(NSSound *)sound didFinishPlaying:(BOOL)playbackSuccessful; + +@end diff -r ce5ff00168e1 -r 780ebab29268 examples/iAudioDB/AppController.m --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/iAudioDB/AppController.m Wed Mar 03 17:17:08 2010 +0000 @@ -0,0 +1,602 @@ +// +// AppController.m +// iAudioDB +// +// Created by Mike Jewell on 27/01/2010. +// Copyright 2010 __MyCompanyName__. All rights reserved. +// + +#import "AppController.h" + + +@implementation AppController + +-(id)init +{ + [super init]; + + // A max of 100 results. + results = [[NSMutableArray alloc] initWithCapacity: 100]; + + + return self; +} + + +/** + * Create a new database, given the selected filename. + */ +-(IBAction)newDatabase:(id)sender +{ + NSSavePanel* panel = [NSSavePanel savePanel]; + NSInteger response = [panel runModalForDirectory:NSHomeDirectory() file:@""]; + + [results removeAllObjects]; + [tracksView reloadData]; + + if(response == NSFileHandlingPanelOKButton) + { + // TODO: Refactor this into a 'tidy' method. + // Tidy any existing references up. + if(db) + { + audiodb_close(db); + } + + if(dbFilename) + { + [dbFilename release]; + [dbName release]; + [plistFilename release]; + } + + // Create new db, and set flags. + db = audiodb_create([[panel filename] cStringUsingEncoding:NSUTF8StringEncoding], 0, 0, 0); + audiodb_l2norm(db); + audiodb_power(db); + + // Store useful paths. + dbName = [[[panel URL] relativePath] retain]; + dbFilename = [[panel filename] retain]; + plistFilename = [[NSString stringWithFormat:@"%@.plist", [dbFilename stringByDeletingPathExtension]] retain]; + + // Create the plist file (contains mapping from filename to key). + trackMap = [[NSMutableDictionary alloc] init]; + [trackMap writeToFile:plistFilename atomically:YES]; + + [queryKey setStringValue:@"None Selected"]; + [self updateStatus]; + } +} + +/** + * Open an existing adb (which must have a plist) + */ +-(IBAction)openDatabase:(id)sender +{ + NSArray *fileTypes = [NSArray arrayWithObject:@"adb"]; + NSOpenPanel* panel = [NSOpenPanel openPanel]; + NSInteger response = [panel runModalForDirectory:NSHomeDirectory() file:@"" types:fileTypes]; + if(response == NSFileHandlingPanelOKButton) + { + // Tidy any existing references up. + if(db) + { + audiodb_close(db); + } + + if(dbFilename) + { + [dbFilename release]; + [dbName release]; + [plistFilename release]; + } + + // Store useful paths. + db = audiodb_open([[panel filename] cStringUsingEncoding:NSUTF8StringEncoding], O_RDWR); + dbName = [[[panel URL] relativePath] retain]; + dbFilename = [[panel filename] retain]; + + // TODO: Verify this exists! + plistFilename = [[NSString stringWithFormat:@"%@.plist", [dbFilename stringByDeletingPathExtension]] retain]; + + // Clear out any old results. + [results removeAllObjects]; + [tracksView reloadData]; + + [queryKey setStringValue:@"None Selected"]; + [self updateStatus]; + + adb_liszt_results_t* liszt_results = audiodb_liszt(db); + + for(int k=0; knresults; k++) + { + NSMutableString *trackVal = [[NSMutableString alloc] init]; + [trackVal appendFormat:@"%s", liszt_results->entries[k].key]; + } + + audiodb_liszt_free_results(db, liszt_results); + trackMap = [[[NSMutableDictionary alloc] initWithContentsOfFile:plistFilename] retain]; + NSLog(@"Size: %d", [trackMap count]); + } +} + +/** + * Update button states and status field based on current state. + */ +-(void)updateStatus +{ + if(db) + { + adb_status_ptr status = (adb_status_ptr)malloc(sizeof(struct adbstatus)); + int flags; + flags = audiodb_status(db, status); + [statusField setStringValue: [NSString stringWithFormat:@"Database: %@ Dimensions: %d Files: %d", dbName, status->dim, status->numFiles]]; + [chooseButton setEnabled:YES]; + } + else + { + [chooseButton setEnabled:NO]; + [playBothButton setEnabled:FALSE]; + [playResultButton setEnabled:FALSE]; + } +} + +/** + * Get user's import choices. + */ +-(IBAction)importAudio:(id)sender +{ + [NSApp beginSheet:importSheet modalForWindow:mainWindow modalDelegate:self didEndSelector:NULL contextInfo:nil]; + session = [NSApp beginModalSessionForWindow: importSheet]; + [NSApp runModalSession:session]; +} + +/** + * Cancel the import (at configuration time). + */ +-(IBAction)cancelImport:(id)sender; +{ + [NSApp endModalSession:session]; + [importSheet orderOut:nil]; + [NSApp endSheet:importSheet]; +} + +/** + * Choose the file(s) to be imported. + * TODO: Currently handles the import process too - split this off. + */ +-(IBAction)selectFiles:(id)sender +{ + [tracksView reloadData]; + + NSArray *fileTypes = [NSArray arrayWithObject:@"wav"]; + NSOpenPanel* panel = [NSOpenPanel openPanel]; + [panel setAllowsMultipleSelection:TRUE]; + NSInteger response = [panel runModalForDirectory:NSHomeDirectory() file:@"" types:fileTypes]; + if(response == NSFileHandlingPanelOKButton) + { + NSRect newFrame; + + [extractingBox setHidden:FALSE]; + newFrame.origin.x = [importSheet frame].origin.x; + newFrame.origin.y = [importSheet frame].origin.y - [extractingBox frame].size.height; + newFrame.size.width = [importSheet frame].size.width; + newFrame.size.height = [importSheet frame].size.height + [extractingBox frame].size.height; + + [indicator startAnimation:self]; + [importSheet setFrame:newFrame display:YES animate:YES]; + + NSArray *filesToOpen = [panel filenames]; + + NSLog(@"Begin import"); + + // Work out which extractor to use + NSString* extractor = @"chromagram"; + switch([extractorOptions selectedTag]) + { + case 0: + extractor = @"mfcc"; + break; + case 1: + extractor = @"chromagram"; + break; + } + + for(int i=0; i<[filesToOpen count]; i++) + { + // First extract powers + + NSString *tempFileTemplate = [NSTemporaryDirectory() stringByAppendingPathComponent:@"powers.XXXXXX"]; + const char *tempFileTemplateCString = [tempFileTemplate fileSystemRepresentation]; + char *tempFileNameCString = (char *)malloc(strlen(tempFileTemplateCString) + 1); + strcpy(tempFileNameCString, tempFileTemplateCString); + mktemp(tempFileNameCString); + + NSString* powersFileName = [[NSFileManager defaultManager] stringWithFileSystemRepresentation:tempFileNameCString length:strlen(tempFileNameCString)]; + free(tempFileNameCString); + + NSTask *task = [[NSTask alloc] init]; + [task setLaunchPath:@"/usr/local/bin/fftExtract2"]; + NSArray *args = [NSArray arrayWithObjects:@"-P", @"-h", @"11025", @"-w", @"16384", @"-n", @"32768", @"-i", @"1000", [filesToOpen objectAtIndex:i], powersFileName, nil]; + [task setArguments:args]; + [task launch]; + [task waitUntilExit]; + [task release]; + + // Then features + + tempFileTemplate = [NSTemporaryDirectory() stringByAppendingPathComponent:@"features.XXXXXX"]; + tempFileTemplateCString = [tempFileTemplate fileSystemRepresentation]; + tempFileNameCString = (char *)malloc(strlen(tempFileTemplateCString) + 1); + strcpy(tempFileNameCString, tempFileTemplateCString); + mktemp(tempFileNameCString); + + NSString* featuresFileName = [[NSFileManager defaultManager] stringWithFileSystemRepresentation:tempFileNameCString length:strlen(tempFileNameCString)]; + free(tempFileNameCString); + + task = [[NSTask alloc] init]; + + [task setLaunchPath:@"/usr/local/bin/fftExtract2"]; + + NSArray *args2; + + // Choose the args (TODO: This should use sonic annotator eventually) + if([extractor isEqualToString:@"chromagram"]) + { + args2 = [NSArray arrayWithObjects:@"-p",@"/Users/moj/planfile",@"-c", @"36", @"-h", @"11025", @"-w", @"16384", @"-n", @"32768", @"-i", @"1000", [filesToOpen objectAtIndex:i], featuresFileName, nil]; + } + else + { + args2 = [NSArray arrayWithObjects:@"-p",@"/Users/moj/planfile",@"-m", @"13", @"-h", @"11025", @"-w", @"16384", @"-n ", @"32768", @"-i", @"1000", [filesToOpen objectAtIndex:i], featuresFileName, nil]; + } + [task setArguments:args2]; + [task launch]; + [task waitUntilExit]; + [task release]; + + NSString* val = [[filesToOpen objectAtIndex:i] retain]; + NSString* key = [[[filesToOpen objectAtIndex:i] lastPathComponent] retain]; + + adb_insert_t insert; + insert.features = [featuresFileName cStringUsingEncoding:NSUTF8StringEncoding]; + insert.power = [powersFileName cStringUsingEncoding:NSUTF8StringEncoding]; + insert.times = NULL; + insert.key = [key cStringUsingEncoding:NSUTF8StringEncoding]; + + // Insert into db. + if(audiodb_insert(db, &insert)) + { + // TODO: Show an error message. + NSLog(@"Weep: %@ %@ %@", featuresFileName, powersFileName, key); + continue; + } + + // Update the plist store. + [trackMap setValue:val forKey:key]; + [trackMap writeToFile:plistFilename atomically: YES]; + + [self updateStatus]; + } + + newFrame.origin.x = [importSheet frame].origin.x; + newFrame.origin.y = [importSheet frame].origin.y + [extractingBox frame].size.height; + newFrame.size.width = [importSheet frame].size.width; + newFrame.size.height = [importSheet frame].size.height - [extractingBox frame].size.height; + + [importSheet setFrame:newFrame display:YES animate:YES]; + + [NSApp endModalSession:session]; + [importSheet orderOut:nil]; + [NSApp endSheet:importSheet]; + [indicator stopAnimation:self]; + [extractingBox setHidden:TRUE]; + } +} + +/** + * Required table methods begin here. + */ +-(int)numberOfRowsInTableView:(NSTableView *)v +{ + return [results count]; +} + +/** + * Return appropriate values - or the distance indicator if it's the meter column. + */ +-(id)tableView:(NSTableView *)v objectValueForTableColumn:(NSTableColumn *)tc row:(NSInteger)row +{ + id result = [results objectAtIndex:row]; + id value = [result objectForKey:[tc identifier]]; + + if([[tc identifier] isEqualToString:@"meter"]) + { + NSLevelIndicatorCell *distance = [[NSLevelIndicatorCell alloc] initWithLevelIndicatorStyle:NSRelevancyLevelIndicatorStyle]; + [distance setFloatValue:10-[(NSNumber*)value floatValue]*100]; + return distance; + } + else + { + return value; + } +} + +/** + * Handle column sorting. + */ +- (void)tableView:(NSTableView *)v sortDescriptorsDidChange:(NSArray *)oldDescriptors +{ + [results sortUsingDescriptors:[v sortDescriptors]]; + [v reloadData]; +} + +/** + * Only enable the import menu option if a database is loaded. + */ +- (BOOL)validateUserInterfaceItem:(id )anItem +{ + SEL theAction = [anItem action]; + if (theAction == @selector(importAudio:)) + { + if(!db) + { + return NO; + } + } + return YES; +} + +/** + * Ensure play buttons are only enabled if a track is selected. + */ +-(IBAction)selectedChanged:(id)sender +{ + if([tracksView numberOfSelectedRows] == 0) + { + [playBothButton setEnabled:FALSE]; + [playResultButton setEnabled:FALSE]; + } + else + { + [playBothButton setEnabled:TRUE]; + [playResultButton setEnabled:TRUE]; + } +} + +/** + * Play just the result track. + */ +-(IBAction)playResult:(id)sender +{ + + NSDictionary* selectedRow = [results objectAtIndex:[tracksView selectedRow]]; + NSString* value = [selectedRow objectForKey:@"key"]; + float ipos = [[selectedRow objectForKey:@"ipos"] floatValue]; + NSString* filename = [trackMap objectForKey:value]; + NSLog(@"Key: %@ Value: %@", value, filename); + + if(queryTrack) + { + if([queryTrack isPlaying]) + { + [queryTrack setDelegate:Nil]; + [queryTrack stop]; + } + [queryTrack release]; + } + + if(resultTrack) + { + if([resultTrack isPlaying]) + { + [resultTrack setDelegate:Nil]; + [resultTrack stop]; + } + [resultTrack release]; + } + + resultTrack = [[[NSSound alloc] initWithContentsOfFile:filename byReference:YES] retain]; + [resultTrack setCurrentTime:ipos]; + [resultTrack setDelegate:self]; + [resultTrack play]; + + [stopButton setEnabled:YES]; +} + +/** + * Play the result and query simultaneously. + */ +-(IBAction)playBoth:(id)sender +{ + + NSDictionary* selectedRow = [results objectAtIndex:[tracksView selectedRow]]; + NSString* value = [selectedRow objectForKey:@"key"]; + float ipos = [[selectedRow objectForKey:@"ipos"] floatValue]; + float qpos = [[selectedRow objectForKey:@"qpos"] floatValue]; + NSString* filename = [trackMap objectForKey:value]; + NSLog(@"Key: %@ Value: %@", value, filename); + + if(queryTrack) + { + + if([queryTrack isPlaying]) + { + [queryTrack setDelegate:Nil]; + [queryTrack stop]; + } + [queryTrack release]; + } + if(resultTrack) + { + if([resultTrack isPlaying]) + { + [resultTrack setDelegate:Nil]; + [resultTrack stop]; + } + [resultTrack release]; + } + + // Get query track and shift to start point + queryTrack = [[[NSSound alloc] initWithContentsOfFile:selectedFilename byReference:YES] retain]; + [queryTrack setCurrentTime:qpos]; + [queryTrack setDelegate:self]; + + [queryTrack play]; + + resultTrack = [[[NSSound alloc] initWithContentsOfFile:filename byReference:YES] retain]; + [resultTrack setCurrentTime:ipos]; + [resultTrack setDelegate:self]; + [resultTrack play]; + + [stopButton setEnabled:YES]; +} + +/** + * Disable the stop button after playback of both tracks. + */ +- (void)sound:(NSSound *)sound didFinishPlaying:(BOOL)playbackSuccessful +{ + + if((queryTrack && [queryTrack isPlaying]) || (resultTrack && [resultTrack isPlaying])) + { + return; + } + else + { + [stopButton setEnabled:NO]; + } +} + +/** + * Stop playback. + */ +-(IBAction)stopPlay:(id)sender +{ + if(queryTrack) + { + [queryTrack stop]; + } + if(resultTrack) + { + [resultTrack stop]; + } +} + +/** + * Select an audio file, determine the key, and fire off a query. + */ +-(IBAction)chooseQuery:(id)sender +{ + NSArray* fileTypes = [NSArray arrayWithObject:@"wav"]; + NSOpenPanel* panel = [NSOpenPanel openPanel]; + NSInteger response = [panel runModalForDirectory:NSHomeDirectory() file:@"" types:fileTypes]; + if(response == NSFileHandlingPanelOKButton) + { + NSLog(@"%@", [panel filename]); + // Grab key + NSArray* opts = [trackMap allKeysForObject:[panel filename]]; + if([opts count] != 1) + { + NSAlert *alert = [[[NSAlert alloc] init] autorelease]; + [alert addButtonWithTitle:@"OK"]; + [alert setMessageText:@"Track not found"]; + [alert setInformativeText:@"Make sure you have specified a valid track identifier."]; + [alert setAlertStyle:NSWarningAlertStyle]; + [alert beginSheetModalForWindow:mainWindow modalDelegate:self didEndSelector:NULL contextInfo:nil]; + } + else + { + selectedKey = [opts objectAtIndex:0]; + [queryKey setStringValue:selectedKey]; + selectedFilename = [[panel filename] retain]; + [self performQuery]; + } + } +} + +/** + * Actually perform the query. TODO: Monolithic. + */ +-(void)performQuery +{ + NSLog(@"Perform query! %@, %@", selectedKey, selectedFilename); + + adb_query_spec_t *spec = (adb_query_spec_t *)malloc(sizeof(adb_query_spec_t)); + spec->qid.datum = (adb_datum_t *)malloc(sizeof(adb_datum_t)); + + spec->qid.sequence_length = 20; + spec->qid.sequence_start = 0; + spec->qid.flags = 0; + +// spec->qid.flags = spec->qid.flags | ADB_QID_FLAG_EXHAUSTIVE; + spec->params.accumulation = ADB_ACCUMULATION_PER_TRACK; + spec->params.distance = ADB_DISTANCE_EUCLIDEAN_NORMED; + + spec->params.npoints = 1; + spec->params.ntracks = 100; + //spec->refine.radius = 5.0; + spec->refine.hopsize = 1; +// spec->refine.absolute_threshold = -6; +// spec->refine.relative_threshold = 10; +// spec->refine.duration_ratio = 0; + + spec->refine.flags = 0; +// spec->refine.flags |= ADB_REFINE_ABSOLUTE_THRESHOLD; +// spec->refine.flags |= ADB_REFINE_RELATIVE_THRESHOLD; + spec->refine.flags |= ADB_REFINE_HOP_SIZE; + //spec->refine.flags |= ADB_REFINE_RADIUS; + + adb_query_results_t *result = (adb_query_results_t *)malloc(sizeof(adb_query_results_t)); + spec->qid.datum->data = NULL; + spec->qid.datum->power = NULL; + spec->qid.datum->times = NULL; + + [results removeAllObjects]; + + int ok = audiodb_retrieve_datum(db, [selectedKey cStringUsingEncoding:NSUTF8StringEncoding], spec->qid.datum); + if(ok == 0) + { + NSLog(@"Got a datum"); + result = audiodb_query_spec(db, spec); + if(result == NULL) + { + + NSLog(@"No results"); + } + else + { + for(int i=0; inresults; i++) + { + NSMutableDictionary* dict = [[NSMutableDictionary alloc] initWithCapacity:4]; + [dict setValue:[NSString stringWithFormat:@"%s", result->results[i].key] forKey:@"key"]; + [dict setValue:[NSNumber numberWithFloat:result->results[i].dist] forKey:@"distance"]; + [dict setValue:[NSNumber numberWithFloat:result->results[i].dist] forKey:@"meter"]; + [dict setValue:[NSNumber numberWithFloat:result->results[i].qpos/4] forKey:@"qpos"]; + [dict setValue:[NSNumber numberWithFloat:result->results[i].ipos/4] forKey:@"ipos"]; + NSLog(@"%s qpos %d ipos %d", result->results[i].key, result->results[i].qpos/4, result->results[i].ipos/4); + [results addObject: dict]; + } + } + + NSSortDescriptor *distSort = [[NSSortDescriptor alloc]initWithKey:@"meter" ascending:YES]; + NSArray *distDescs = [NSArray arrayWithObject:distSort]; + + [results sortUsingDescriptors:distDescs]; + [tracksView setSortDescriptors:distDescs]; + [tracksView reloadData]; + + } + else + { + NSAlert *alert = [[[NSAlert alloc] init] autorelease]; + [alert addButtonWithTitle:@"OK"]; + [alert setMessageText:@"Track not found"]; + [alert setInformativeText:@"Make sure you have specified a valid track identifier."]; + [alert setAlertStyle:NSWarningAlertStyle]; + [alert beginSheetModalForWindow:mainWindow modalDelegate:self didEndSelector:NULL contextInfo:nil]; + } +// audiodb_query_free_results(db, spec, result); +} + +@end diff -r ce5ff00168e1 -r 780ebab29268 examples/iAudioDB/English.lproj/InfoPlist.strings Binary file examples/iAudioDB/English.lproj/InfoPlist.strings has changed diff -r ce5ff00168e1 -r 780ebab29268 examples/iAudioDB/English.lproj/MainMenu.xib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/iAudioDB/English.lproj/MainMenu.xib Wed Mar 03 17:17:08 2010 +0000 @@ -0,0 +1,2726 @@ + + + + 1050 + 9L31a + 680 + 949.54 + 353.00 + + YES + + + + + + YES + com.brandonwalkin.BWToolkit + com.apple.InterfaceBuilderKit + com.apple.InterfaceBuilder.CocoaPlugin + + + YES + + YES + + + YES + + + + YES + + NSApplication + + + FirstResponder + + + NSApplication + + + AMainMenu + + YES + + + iAudioDB + + 1048576 + 2147483647 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + submenuAction: + + iAudioDB + + YES + + + About iAudioDB + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + UHJlZmVyZW5jZXPigKY + , + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Services + + 1048576 + 2147483647 + + + submenuAction: + + Services + + YES + + _NSServicesMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Hide iAudioDB + h + 1048576 + 2147483647 + + + + + + Hide Others + h + 1572864 + 2147483647 + + + + + + Show All + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Quit iAudioDB + q + 1048576 + 2147483647 + + + + + _NSAppleMenu + + + + + File + + 1048576 + 2147483647 + + + submenuAction: + + File + + YES + + + New... + n + 1048576 + 2147483647 + + + + + + T3BlbuKApg + o + 1048576 + 2147483647 + + + + + + Import Audio + + 2147483647 + + + + + + + + + Edit + + 2147483647 + + + submenuAction: + + Edit + + YES + + + Undo + z + 1048576 + 2147483647 + + + + + + Redo + Z + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Cut + x + 1048576 + 2147483647 + + + + + + Copy + c + 1048576 + 2147483647 + + + + + + Paste + v + 1048576 + 2147483647 + + + + + + Select All + a + 1048576 + 2147483647 + + + + + + + + + Window + + 1048576 + 2147483647 + + + submenuAction: + + Window + + YES + + + Minimize + m + 1048576 + 2147483647 + + + + + + Zoom + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Bring All to Front + + 1048576 + 2147483647 + + + + + _NSWindowsMenu + + + + + Help + + 1048576 + 2147483647 + + + submenuAction: + + Help + + YES + + + NewApplication Help + ? + 1048576 + 2147483647 + + + + + + + + _NSMainMenu + + + 7 + 2 + {{335, 273}, {606, 477}} + 1946157056 + iAudioDB + NSWindow + + {3.40282e+38, 3.40282e+38} + + + 256 + + YES + + + 268 + {{270, 137}, {46, 46}} + + + + + 290 + {589, 22} + + YES + + -2080244160 + 138414080 + + + LucidaGrande + 1.300000e+01 + 1044 + + + + 6 + System + textBackgroundColor + + 3 + MQA + + + + 6 + System + textColor + + 3 + MAA + + + + + + + 282 + + YES + + + 301 + + YES + + + 256 + {{5, 39}, {70, 17}} + + YES + + 68288064 + 272630784 + Track Key: + + + + 6 + System + controlColor + + 3 + MC42NjY2NjY2OQA + + + + 6 + System + controlTextColor + + + + + + + 256 + {{404, 3}, {98, 32}} + + YES + + 604110336 + 134217728 + Play Both + + + -2033303297 + 129 + + + 200 + 25 + + + + + 256 + {{200, 3}, {96, 32}} + + YES + + 604110336 + 134217728 + Browse + + + -2038284033 + 129 + + + 200 + 25 + + + + + 256 + {{502, 3}, {96, 32}} + + YES + + 604110336 + 134217728 + Stop + + + -2033303297 + 129 + + + 200 + 25 + + + + + 268 + {{5, 13}, {212, 17}} + + YES + + 68288064 + 272630784 + None Selected + + + + 1 + MCAwIDAAA + + + + + + + 256 + {{296, 3}, {108, 32}} + + YES + + 604110336 + 134217728 + Play Result + + + -2033303297 + 129 + + + 200 + 25 + + + + {603, 63} + + NSView + + + + 274 + + YES + + + 2304 + + YES + + + 256 + {586, 337} + + YES + + + 256 + {586, 17} + + + + + + 256 + {{587, 0}, {16, 17}} + + + + YES + + meter + 6.400000e+01 + 1.000000e+01 + 3.402823e+38 + + 75628032 + 0 + + + LucidaGrande + 1.100000e+01 + 3100 + + + 6 + System + headerColor + + + + 6 + System + headerTextColor + + + + + -2080244224 + 131072 + + + 3.000000e+00 + 1.000000e+01 + 3.000000e+00 + 3.000000e+00 + 5 + 1 + + 3 + YES + YES + + + meter + NO + compare: + + + + key + 2.080000e+02 + 1.000000e+01 + 3.402823e+38 + + 75628032 + 0 + Key + + + + + + 337772096 + 2048 + Text Cell + + + + 6 + System + controlBackgroundColor + + + + + 3 + YES + YES + + + key + YES + compare: + + + + qpos + 6.800000e+01 + 1.000000e+01 + 3.402823e+38 + + 75628032 + 0 + QPos + + + + + + 337772096 + 2048 + Text Cell + + + + + + 3 + YES + YES + + + qpos + YES + compare: + + + + ipos + 6.300000e+01 + 1.000000e+01 + 3.402823e+38 + + 75628032 + 0 + IPos + + + + + + 337772096 + 2048 + Text Cell + + + + + + 3 + YES + YES + + + ipos + YES + compare: + + + + distance + 1.680000e+02 + 1.000000e+01 + 3.402823e+38 + + 75628032 + 0 + Distance + + + + + + 337772096 + 2048 + Text Cell + + + + + + 3 + YES + YES + + + distance + YES + compare: + + + + 3.000000e+00 + 2.000000e+00 + + + 6 + System + gridColor + + 3 + MC41AA + + + 1.700000e+01 + -692060160 + 1 + + YES + + ipos + NO + compare: + + + 4 + 15 + 0 + YES + + + {{1, 17}, {586, 337}} + + + + + 4 + + + + 256 + {{587, 17}, {15, 337}} + + + _doScroller: + 9.970149e-01 + + + + 256 + {{1, 354}, {586, 15}} + + 1 + + _doScroller: + 9.982964e-01 + + + + 2304 + + YES + + + {{1, 0}, {586, 17}} + + + + + 4 + + + + {{0, 72}, {603, 370}} + + + 50 + + + + + + QSAAAEEgAABBmAAAQZgAAA + + + {{3, 35}, {603, 442}} + + + + {606, 477} + + + {{0, 0}, {1440, 878}} + {3.40282e+38, 3.40282e+38} + + + NSFontManager + + + AppController + + + YES + + + 17 + 2 + {{196, 250}, {535, 260}} + -1543503872 + Window + NSPanel + + {3.40282e+38, 3.40282e+38} + + + 256 + + YES + + + 268 + {{20, 134}, {176, 86}} + + YES + 4 + 1 + + YES + + -2080244224 + 0 + AudioDB Chromagram + + + 1211912703 + 128 + + NSRadioButton + + + + 200 + 25 + + + 67239424 + 0 + AudioDB Constant-Q + + 1 + + 1211912703 + 128 + + 549453824 + {18, 18} + + YES + + YES + + + + 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 +AAAAAF1KAAA0kQAACCVYWVogAAAAAAAAdCAAALRgAAAjPVhZWiAAAAAAAAAlbAAAFyoAAKfDWFlaIAAA +AAAAAPNSAAEAAAABFs9zZjMyAAAAAAABDEIAAAXe///zJgAAB5IAAP2R///7ov///aMAAAPcAADAbGN1 +cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAY3VydgAAAAAAAAABAc0AAHZjZ3QAAAAAAAAAAAAD +AQAAAQACBAUGBwkKCw0ODxASExQWFxgaGxweHyAiIyQmJygpKywtLzAxMjM1Njc4OTs8PT5AQUJDREZH +SElKS0xOT1BRUlNUVVZXWFlaW1xdXl9hYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SF +hoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnZ6foKGio6SlpqanqKmqq6ytra6vsLGysrO0tba3uLi5uru8 +vL2+v8DBwcLDxMXGxsfIycrKy8zNzs7P0NHS0tPU1dbW19jZ2drb3Nzd3t/g4eLi4+Tl5ufo6enq6+zt +7u/w8fHy8/T19vf4+fr7/P3+/v8AAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR8gISIjJCUnKCkq +Ky0uLzAxMzQ1Njc4OTo7PD0/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaWltcXV5fYGFiY2RlZmdo +aWprbG1ub3BxcnN0dXZ3d3h5ent8fH1+f4CBgoKDhIWGh4iIiYqLjI2Oj5CRkpOUlJWWl5iZmpucnZ2e +n6ChoqOkpaamp6ipqqusra6vsLCxsrO0tba3uLm5uru8vb6/wMHCw8TFx8jJysvMzc7P0NDR0tPU1dbX +2Nna29ze3+Dh4uPk5ebn6err7O3u7/Hy8/T19vf5+vv8/f7/AAIDAwQFBgcICQoKCwwNDg8QERITFBUW +FxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODg5Ojs8PT4+P0BBQkNDREVGR0hJSUpLTE1O +Tk9QUVJSU1RVVVZXWFhZWltbXF1eXl9gYWFiY2RkZWZnZ2hpaWprbGxtbm5vcHFxcnNzdHV1dnd4eHl6 +ent8fH1+fn+AgYGCg4SEhYaHiImJiouMjY6Oj5CRkpOTlJWWl5iZmZqbnJ2en6ChoqOkpaanqKmqq6yt +rq+xsrO0tba3uLq7vL2+wMHDxMbHycrMzs/R0tTW19nb3d7g4uTm6Ors7vDy9Pb4+vz+/wAAbmRpbgAA +AAAAAAY2AACXGgAAVjoAAFPKAACJ3gAAJ8IAABaoAABQDQAAVDkAAiuFAAIZmQABeFEAAwEAAAIAAAAA +AAEABgANABcAIwAxAEAAUgBlAHsAkwCrAMUA4gD/AR8BPwFhAYUBqgHQAfgCIAJLAncCpQLSAwIDMwNl +A5gDzgQFBD0EdQSvBOsFKQVnBacF6AYqBm4GtQb8B0UHkgfkCDkIkAjnCT4JmAn0ClAKrQsLC2sLygwq +DIwM8Q1XDcAOKA6SDv4PbA/bEE0QxBE7EbQSMRKwEzITuRREFNAVYBXxFocXHhfAGGIZBBmsGlQa+RuU +HC4czh1yHhQeux9jIA0gvCFoIhkizyOJJEEk+SW6JnknOygFKMspkypiKzIsASzXLawuhy9gMD4xGzH8 +MtszvzSgNYY2cjdcOEw5OTorOxs8CD0EPfU+6z/nQOFB2ELUQ9VE00XcRttH5EjxSgBLCUwdTTFOUE9v +UI9Rt1LdVAVVNlZsV6VY4FohW21ct135X09goGH0Y0tkqGYFZ19oxGova5ptCG54b/BxbnLsdG119Xd/ +eQh6knwqfcV/W4D4gpSEO4Xih4CJKorYjIqOOY/jkZuTWJUOlsyYiZpSnB6d4Z+soX+jWqUvpxOo+6rj +rMuuwLC4sra0rra0uL+60LzfvwDBHcLdxLXGhchYyi7MCs3lz7rRmtOA1WPXR9kq2xPc/97s4M/iveSn +5o3obupT7ELuLPAM8fLz0PW396H5f/tZ/T3//wAAAAEAAwALABYAJQA3AE0AZQCBAJ8AwQDlAQsBNQFh +AZABwQH1AisCZAKfAtwDHANfA6MD6gQ0BH8EzQT1BR0FcAXEBhsGdAbPBy0HXAeMB+4IUgi4CSAJVAmK +CfYKZArVC0cLgQu8DDIMqw0mDaIOIQ6hDyQPqRAvELgQ/RFDEc8SXRLuE4AUFRSrFUMV3RZ5FxcXthhY +GPwZoRpIGvEbnBxJHPgdqB5bHw8fxSB9ITch8iKwJDAk8yW3Jn4nRigQKNwpqSp5K0osHCzxLccuoC95 +MFUxMzISMvMz1TS5NaA2hzdxOFw5STo4Oyg8Gj4DPvs/9EDuQepD6ETpRexG8Uf3SP9LFEwhTTBOQE9S +UGZSklOrVMVV4Vb/WB5ZP1phW4Vcq13SXvthUmJ/Y69k4GYSZ0dofGm0au1tZG6ib+FxInJlc6l073Y2 +d396FXtjfLJ+A39VgKmB/4NWhK+GCYjCiiGLgYzjjkePrJESknuT5Ja8mCuZm5sMnH+d9J9qoOGiWqPV +pVGmz6eOqE6pzqtRrNSuWq/gsWmy8rR+tgu5Kbq6vE294b93wQ7Cp8RBxd3He8kZyrrLisxbzf/Po9FK +0vHUm9ZF1/HZn9tO3Cbc/96x4GTiGePQ5YjnQegf6Pzquex27jbv9/G583z0X/VC9wj40Pqa/GX+Mf// +AAAAAQADAAsAJQA3AE0AZQCBAJ8AwQELATUBYQGQAcEB9QIrAmQCnwLcAxwDXwOjA+oENAR/BM0FHQVw +BcQGGwZ0Bs8HLQeMB+4IUgi4CSAJign2CmQK1QtHC7wMMgyrDSYNog4hDqEPJA+pEC8QuBFDEl0S7hOA +FBUUqxVDFnkXFxe2GFgY/BpIGvEbnBxJHPgdqB8PH8UgfSE3IfIjbyQwJPMltydGKBAo3Cp5K0osHC3H +LqAveTEzMhIy8zS5NaA2hzhcOUk6ODwaPQ4+Az/0QO5C6EPoROlG8Uf3SglLFEwhTkBPUlF7UpJUxVXh +Vv9ZP1phXKtd0mAlYVJjr2TgZhJofGm0au1tZG6ib+FxInJldO92Nnd/eMl6FXyyfgN/VYCpgf+Er4YJ +h2WIwoohi4GOR4+skRKSe5PklVCWvJgrmZubDJx/nfSfaqDholqj1aVRps+oTqnOq1Gs1K2Xrlqv4LFp +svK0frYLt5m5Kbnxurq8Tb3hv3fBDsHawqfEQcUPxd3He8hKyRnKusuKzFvN/87Rz6PQdtFK0vHTxtSb +1kXXG9fx2MjZn9tO3Cbc/93Y3rHfiuBk4hni9ePQ5KzliOZk50HoH+j86drqueuX7HbtVu427xbv9/DX +8bnymvN89F/1QvYl9wj37PjQ+bX6mvt//GX9S/4x//8AAGRlc2MAAAAAAAAACkNvbG9yIExDRAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAABIAAAAcAEMAbwBsAG8AcgAgAEwAQwBE +AABtbW9kAAAAAAAABhAAAJxOAAAAAL5zkQAAAAAAAAAAAAAAAAAAAAAAdGV4dAAAAABDb3B5cmlnaHQg +QXBwbGUgQ29tcHV0ZXIsIEluYy4sIDIwMDUAAAAAA + + + + + + 3 + MCAwAA + + + + 400 + 75 + + + 67239424 + 0 + QM Chromagram + + 2 + + 1211912703 + 128 + + 549453824 + {18, 18} + + YES + + YES + + + + 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 +AAAAAGR4AAA80AAACw9YWVogAAAAAAAAZ50AAKYHAAAQ5VhZWiAAAAAAAAAqwQAAHT8AALcxWFlaIAAA +AAAAAPPYAAEAAAABFghzZjMyAAAAAAABC7cAAAWW///zVwAABykAAP3X///7t////aYAAAPaAADA9mN1 +cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAY3VydgAAAAAAAAABAc0AAHZjZ3QAAAAAAAAAAQAA +0XQAAAAAAAEAAAAA0XQAAAAAAAEAAAAA0XQAAAAAAAEAAG5kaW4AAAAAAAAAMAAAkMAAAFkAAABXwAAA +lcAAACh3AAAZWwAAUEAAAFRAAAIzMwACMzMAAjMzZGVzYwAAAAAAAAAIRGlzcGxheQAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAG1sdWMAAAAAAAAAAwAAAAxlblVTAAAADgAAADRmckZSAAAAMAAAAEJpdElUAAAADgAA +AHIARABpAHMAcABsAGEAeQBNAG8AbgBpAHQAZQB1AHIAIABkAGUAIAB0AHkAcABlACAAaQBuAGMAbwBu +AG4AdQBNAG8AbgBpAHQAbwBybW1vZAAAAAAAAA2vAAAQBAAAAADF1MaAAAAAAAAAAAAAAAAAAAAAAHRl +eHQAAAAAQ29weXJpZ2h0IEFwcGxlLCBJbmMuLCAyMDEwAA + + + + + + + + 400 + 75 + + + 67239424 + 0 + QM MFCCs + + 3 + + 1211912703 + 128 + + + 400 + 75 + + + {176, 20} + {4, 2} + 1151868928 + NSActionCell + + 67239424 + 0 + Radio + + 1211912703 + 128 + + 549453824 + {18, 18} + + YES + + YES + + + + TU0AKgAABRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAADwRERGLJycnySsrK/A1NTXw +IyMjyRwcHIsJCQk8AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFRUVdVBQUOCoqKj/ +29vb//n5+f/6+vr/2tra/6qqqv9UVFTgHx8fdQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUZGRl5 +dXV198PDw//8/Pz////////////////////////////U1NT/fHx89yUlJXkAAAAFAAAAAAAAAAAAAAAA +AAAAAxEREUZqamrmtbW1/+3t7f/+/v7//v7+//7+/v/9/f3//f39//39/f/39/f/xMTE/3d3d+YZGRlG +AAAAAwAAAAAAAAAAAAAACkJCQqGtra3/xsbG/+vr6//y8vL/9fX1//X19f/z8/P/9fX1//Ly8v/u7u7/ +0tLS/6+vr/9KSkqhAAAACgAAAAAAAAAAAAAAF3h4eN2/v7//z8/P/93d3f/q6ur/7+/v/+/v7//w8PD/ +7e3t/+3t7f/i4uL/zs7O/8XFxf98fHzdAAAAFwAAAAAAAAADAAAAJKSkpPjOzs7/2dnZ/+Dg4P/i4uL/ +5eXl/+bm5v/n5+f/5eXl/+Li4v/e3t7/2tra/9DQ0P+srKz4AAAAJAAAAAMAAAADAAAALrCwsPrW1tb/ +3t7e/+Tk5P/p6en/6+vr/+zs7P/p6en/6+vr/+fn5//k5OT/4ODg/9nZ2f+zs7P6AAAALgAAAAMAAAAD +AAAALp2dnezg4OD/5eXl/+rq6v/u7u7/8PDw//Dw8P/x8fH/8PDw/+7u7v/q6ur/5ubm/+Hh4f+ZmZns +AAAALgAAAAMAAAADAAAAJG5ubs/l5eX/6enp/+/v7//y8vL/9vb2//r6+v/5+fn/9/f3//b29v/x8fH/ +6+vr/+Tk5P9ra2vPAAAAJAAAAAMAAAAAAAAAFy4uLpPCwsL67Ozs//Pz8//5+fn//v7+//7+/v/+/v7/ +/v7+//v7+//19fX/8PDw/8LCwvosLCyTAAAAFwAAAAAAAAAAAAAACgAAAENfX1/S5OTk/vn5+f/+/v7/ +///////////////////////////8/Pz/5ubm/l9fX9IAAABDAAAACgAAAAAAAAAAAAAAAwAAABcAAABl +YmJi3NLS0v3////////////////////////////////V1dX9ZGRk3AAAAGUAAAAXAAAAAwAAAAAAAAAA +AAAAAAAAAAUAAAAfAAAAZTMzM8KAgIDwv7+//O3t7f/t7e3/v7+//ICAgPAzMzPCAAAAZQAAAB8AAAAF +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAFwAAAEMAAAB3AAAAnwAAALMAAACzAAAAnwAAAHcAAABD +AAAAFwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAAAXAAAAJAAAAC4AAAAu +AAAAJAAAABcAAAAKAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQEAAAMAAAABABIAAAEB +AAMAAAABABIAAAECAAMAAAAEAAAFugEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES +AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABBxwAAAEXAAQAAAABAAAFEAEcAAMAAAABAAEAAAFS +AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA + + + + + + + + 400 + 75 + + 2 + + + + + + + + 268 + {{17, 228}, {123, 17}} + + YES + + 68288064 + 272630784 + Available Features: + + + + + + + + + 12 + + YES + + + 256 + + YES + + + 1292 + + {{5, 26}, {481, 20}} + + 16394 + 2.000000e+01 + 1.000000e+02 + + + + 268 + {{178, 54}, {136, 17}} + + YES + + 68288064 + 272630784 + Extracting features... + + + + + + + + {496, 71} + + + + {{22, 16}, {496, 71}} + + {0, 0} + + 67239424 + 0 + Box + + + + 3 + MCAwLjgwMDAwMDAxAA + + + + 0 + 0 + 0 + NO + + + + 268 + {{329, 126}, {96, 32}} + + YES + + 67239424 + 134217728 + Extract + + + -2038284033 + 129 + + + 200 + 25 + + + + + 268 + {{425, 126}, {96, 32}} + + YES + + -2080244224 + 134217728 + Cancel + + + -2038284033 + 129 + + + 200 + 25 + + + + {535, 260} + + + {{0, 0}, {1280, 1002}} + {3.40282e+38, 3.40282e+38} + + + + + YES + + + performMiniaturize: + + + + 37 + + + + arrangeInFront: + + + + 39 + + + + orderFrontStandardAboutPanel: + + + + 142 + + + + performZoom: + + + + 240 + + + + showHelp: + + + + 360 + + + + hide: + + + + 367 + + + + hideOtherApplications: + + + + 368 + + + + unhideAllApplications: + + + + 370 + + + + terminate: + + + + 449 + + + + newDatabase: + + + + 462 + + + + openDatabase: + + + + 463 + + + + statusField + + + + 488 + + + + importSheet + + + + 569 + + + + mainWindow + + + + 570 + + + + importAudio: + + + + 631 + + + + selectFiles: + + + + 632 + + + + extractingBox + + + + 633 + + + + extractorOptions + + + + 664 + + + + dataSource + + + + 671 + + + + tracksView + + + + 673 + + + + delegate + + + + 675 + + + + cancelImport: + + + + 695 + + + + selectedChanged: + + + + 702 + + + + paste: + + + + 732 + + + + copy: + + + + 733 + + + + cut: + + + + 734 + + + + undo: + + + + 735 + + + + redo: + + + + 736 + + + + selectAll: + + + + 737 + + + + chooseQuery: + + + + 740 + + + + chooseButton + + + + 741 + + + + stopPlay: + + + + 744 + + + + stopButton + + + + 745 + + + + queryKey + + + + 748 + + + + playBothButton + + + + 751 + + + + playBoth: + + + + 752 + + + + playResultButton + + + + 753 + + + + playResult: + + + + 754 + + + + + YES + + 0 + + YES + + + + + + -2 + + + RmlsZSdzIE93bmVyA + + + -1 + + + First Responder + + + -3 + + + Application + + + 29 + + + YES + + + + + + + + MainMenu + + + 19 + + + YES + + + + + + 56 + + + YES + + + + + + 103 + + + YES + + + + 1 + + + 83 + + + YES + + + + + + 81 + + + YES + + + + + + + + 72 + + + + + 82 + + + 9 + + + 106 + + + YES + + + + 2 + + + 111 + + + + + 57 + + + YES + + + + + + + + + + + + + + + + 58 + + + + + 134 + + + + + 150 + + + + + 136 + + + 1111 + + + 144 + + + + + 129 + + + 121 + + + 143 + + + + + 236 + + + + + 131 + + + YES + + + + + + 149 + + + + + 145 + + + + + 130 + + + + + 24 + + + YES + + + + + + + + + 92 + + + + + 5 + + + + + 239 + + + + + 23 + + + + + 371 + + + YES + + + + + + 372 + + + YES + + + + + + + + 420 + + + + + 461 + + + + + 464 + + + + + 478 + + + + + 486 + + + YES + + + + + + 487 + + + + + 522 + + + + + 524 + + + YES + + + + + + + 564 + + + YES + + + + + + 565 + + + YES + + + + + + + + + + 617 + + + YES + + + + + + + + + + 618 + + + + + 619 + + + + + 620 + + + + + 621 + + + YES + + + + + + 622 + + + + + 623 + + + YES + + + + + + + 624 + + + + + 625 + + + YES + + + + + + 626 + + + + + 627 + + + YES + + + + + + 628 + + + + + 527 + + + YES + + + + + + + + + 530 + + + + + 529 + + + + + 528 + + + YES + + + + + + + + + + 555 + + + YES + + + + + + 556 + + + + + 552 + + + YES + + + + + + 553 + + + + + 525 + + + YES + + + + + + + + + + + 665 + + + YES + + + + + + 666 + + + + + 674 + + + + + 686 + + + YES + + + + + + 687 + + + + + 688 + + + YES + + + + + + 689 + + + + + 690 + + + YES + + + + + + 691 + + + + + 693 + + + YES + + + + + + 694 + + + + + 699 + + + YES + + + + + + 700 + + + + + 704 + + + YES + + + + + + 705 + + + YES + + + + + + + + + + + + 708 + + + + + 709 + + + + + 710 + + + + + 711 + + + + + 714 + + + + + 707 + + + + + 706 + + + + + 738 + + + YES + + + + + + 739 + + + + + 742 + + + YES + + + + + + 743 + + + + + 746 + + + YES + + + + + + 747 + + + + + 749 + + + YES + + + + + + 750 + + + + + 755 + + + + + 756 + + + + + + + YES + + YES + -1.IBPluginDependency + -2.IBPluginDependency + -3.IBPluginDependency + 103.IBPluginDependency + 103.ImportedFromIB2 + 106.IBEditorWindowLastContentRect + 106.IBPluginDependency + 106.ImportedFromIB2 + 106.editorWindowContentRectSynchronizationRect + 111.IBPluginDependency + 111.ImportedFromIB2 + 129.IBPluginDependency + 129.ImportedFromIB2 + 130.IBEditorWindowLastContentRect + 130.IBPluginDependency + 130.ImportedFromIB2 + 130.editorWindowContentRectSynchronizationRect + 131.IBPluginDependency + 131.ImportedFromIB2 + 134.IBPluginDependency + 134.ImportedFromIB2 + 136.IBPluginDependency + 136.ImportedFromIB2 + 143.IBPluginDependency + 143.ImportedFromIB2 + 144.IBPluginDependency + 144.ImportedFromIB2 + 145.IBPluginDependency + 145.ImportedFromIB2 + 149.IBPluginDependency + 149.ImportedFromIB2 + 150.IBPluginDependency + 150.ImportedFromIB2 + 19.IBPluginDependency + 19.ImportedFromIB2 + 23.IBPluginDependency + 23.ImportedFromIB2 + 236.IBPluginDependency + 236.ImportedFromIB2 + 239.IBPluginDependency + 239.ImportedFromIB2 + 24.IBEditorWindowLastContentRect + 24.IBPluginDependency + 24.ImportedFromIB2 + 24.editorWindowContentRectSynchronizationRect + 29.IBEditorWindowLastContentRect + 29.IBPluginDependency + 29.ImportedFromIB2 + 29.WindowOrigin + 29.editorWindowContentRectSynchronizationRect + 371.IBEditorWindowLastContentRect + 371.IBWindowTemplateEditedContentRect + 371.NSWindowTemplate.visibleAtLaunch + 371.editorWindowContentRectSynchronizationRect + 371.windowTemplate.maxSize + 372.IBPluginDependency + 420.IBPluginDependency + 461.IBPluginDependency + 464.IBPluginDependency + 478.IBPluginDependency + 486.IBPluginDependency + 487.IBPluginDependency + 5.IBPluginDependency + 5.ImportedFromIB2 + 522.IBPluginDependency + 524.IBPluginDependency + 525.IBPluginDependency + 527.IBPluginDependency + 528.IBPluginDependency + 529.IBPluginDependency + 530.IBPluginDependency + 552.IBPluginDependency + 553.IBPluginDependency + 555.IBPluginDependency + 556.IBPluginDependency + 56.IBPluginDependency + 56.ImportedFromIB2 + 564.IBEditorWindowLastContentRect + 564.IBWindowTemplateEditedContentRect + 564.NSWindowTemplate.visibleAtLaunch + 565.IBPluginDependency + 57.IBEditorWindowLastContentRect + 57.IBPluginDependency + 57.ImportedFromIB2 + 57.editorWindowContentRectSynchronizationRect + 58.IBPluginDependency + 58.ImportedFromIB2 + 617.IBPluginDependency + 618.IBPluginDependency + 619.IBPluginDependency + 620.IBPluginDependency + 621.IBPluginDependency + 622.IBPluginDependency + 623.IBPluginDependency + 624.IBPluginDependency + 625.IBPluginDependency + 626.IBPluginDependency + 627.IBPluginDependency + 628.IBPluginDependency + 665.IBPluginDependency + 666.IBPluginDependency + 674.IBPluginDependency + 686.IBPluginDependency + 687.IBPluginDependency + 688.IBPluginDependency + 689.IBPluginDependency + 690.IBPluginDependency + 691.IBPluginDependency + 693.IBPluginDependency + 694.IBPluginDependency + 699.IBPluginDependency + 700.IBPluginDependency + 704.IBPluginDependency + 705.IBEditorWindowLastContentRect + 705.IBPluginDependency + 706.IBPluginDependency + 707.IBPluginDependency + 708.IBPluginDependency + 709.IBPluginDependency + 710.IBPluginDependency + 711.IBPluginDependency + 714.IBPluginDependency + 72.IBPluginDependency + 72.ImportedFromIB2 + 738.IBPluginDependency + 739.IBPluginDependency + 742.IBPluginDependency + 743.IBPluginDependency + 746.IBPluginDependency + 747.IBPluginDependency + 749.IBPluginDependency + 750.IBPluginDependency + 81.IBEditorWindowLastContentRect + 81.IBPluginDependency + 81.ImportedFromIB2 + 81.editorWindowContentRectSynchronizationRect + 82.IBPluginDependency + 82.ImportedFromIB2 + 83.IBPluginDependency + 83.ImportedFromIB2 + 92.IBPluginDependency + 92.ImportedFromIB2 + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilderKit + com.apple.InterfaceBuilderKit + com.apple.InterfaceBuilder.CocoaPlugin + + {{893, 262}, {216, 23}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{596, 852}, {216, 23}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{420, 219}, {64, 6}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{436, 809}, {64, 6}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{822, 212}, {197, 73}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{525, 802}, {197, 73}} + {{639, 285}, {315, 20}} + com.apple.InterfaceBuilder.CocoaPlugin + + {74, 862} + {{6, 978}, {478, 20}} + {{619, 41}, {606, 477}} + {{619, 41}, {606, 477}} + + {{33, 99}, {480, 360}} + {3.40282e+38, 3.40282e+38} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.brandonwalkin.BWToolkit + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + {{573, 50}, {535, 260}} + {{573, 50}, {535, 260}} + + com.apple.InterfaceBuilder.CocoaPlugin + {{651, 102}, {201, 183}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{23, 794}, {245, 183}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{778, 152}, {154, 133}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{736, 222}, {169, 63}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{145, 474}, {199, 203}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + YES + + YES + + + YES + + + + + YES + + YES + + + YES + + + + 756 + + + + YES + + AppController + NSObject + + YES + + YES + cancelImport: + chooseQuery: + importAudio: + newDatabase: + openDatabase: + playBoth: + playResult: + selectFiles: + selectedChanged: + stopPlay: + + + YES + id + id + id + id + id + id + id + id + id + id + + + + YES + + YES + chooseButton + extractingBox + extractorOptions + importSheet + indicator + mainWindow + playBothButton + playResultButton + queryKey + statusField + stopButton + tracksView + + + YES + NSButton + NSBox + NSMatrix + id + NSProgressIndicator + id + NSButton + NSButton + NSTextField + NSTextField + NSButton + NSTableView + + + + IBProjectSource + AppController.h + + + + + 0 + ../iAudioDB.xcodeproj + 3 + + diff -r ce5ff00168e1 -r 780ebab29268 examples/iAudioDB/Info.plist --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/iAudioDB/Info.plist Wed Mar 03 17:17:08 2010 +0000 @@ -0,0 +1,28 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + com.yourcompany.${PRODUCT_NAME:identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleVersion + 1.0 + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff -r ce5ff00168e1 -r 780ebab29268 examples/iAudioDB/iAudioDB.xcodeproj/TemplateIcon.icns Binary file examples/iAudioDB/iAudioDB.xcodeproj/TemplateIcon.icns has changed diff -r ce5ff00168e1 -r 780ebab29268 examples/iAudioDB/iAudioDB.xcodeproj/project.pbxproj --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/iAudioDB/iAudioDB.xcodeproj/project.pbxproj Wed Mar 03 17:17:08 2010 +0000 @@ -0,0 +1,320 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; }; + 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; }; + 8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; }; + 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; + B7CBF33211105F1700B8C1C8 /* AppController.m in Sources */ = {isa = PBXBuildFile; fileRef = B7CBF33111105F1700B8C1C8 /* AppController.m */; }; + B7CBF3B711106F4C00B8C1C8 /* libaudioDB.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = B7CBF3B611106F4C00B8C1C8 /* libaudioDB.0.0.dylib */; }; + B7CBF41B11108E3600B8C1C8 /* BWToolkitFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B7CBF41A11108E3500B8C1C8 /* BWToolkitFramework.framework */; }; + B7CBF42411108E7E00B8C1C8 /* BWToolkitFramework.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = B7CBF41A11108E3500B8C1C8 /* BWToolkitFramework.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + B7CBF42111108E6100B8C1C8 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + B7CBF42411108E7E00B8C1C8 /* BWToolkitFramework.framework in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; + 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; + 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = ""; }; + 1DDD58150DA1D0A300B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = ""; }; + 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; + 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; + 32CA4F630368D1EE00C91783 /* iAudioDB_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iAudioDB_Prefix.pch; sourceTree = ""; }; + 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 8D1107320486CEB800E47090 /* iAudioDB.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iAudioDB.app; sourceTree = BUILT_PRODUCTS_DIR; }; + B7CBF33011105F1700B8C1C8 /* AppController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppController.h; sourceTree = ""; }; + B7CBF33111105F1700B8C1C8 /* AppController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppController.m; sourceTree = ""; }; + B7CBF3B611106F4C00B8C1C8 /* libaudioDB.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libaudioDB.0.0.dylib; path = /usr/local/lib/libaudioDB.0.0.dylib; sourceTree = ""; }; + B7CBF41A11108E3500B8C1C8 /* BWToolkitFramework.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = BWToolkitFramework.framework; path = ../BWToolkitFramework.framework; sourceTree = SOURCE_ROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8D11072E0486CEB800E47090 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */, + B7CBF3B711106F4C00B8C1C8 /* libaudioDB.0.0.dylib in Frameworks */, + B7CBF41B11108E3600B8C1C8 /* BWToolkitFramework.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 080E96DDFE201D6D7F000001 /* Classes */ = { + isa = PBXGroup; + children = ( + B7CBF33011105F1700B8C1C8 /* AppController.h */, + B7CBF33111105F1700B8C1C8 /* AppController.m */, + ); + name = Classes; + sourceTree = ""; + }; + 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { + isa = PBXGroup; + children = ( + B7CBF41A11108E3500B8C1C8 /* BWToolkitFramework.framework */, + 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, + ); + name = "Linked Frameworks"; + sourceTree = ""; + }; + 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { + isa = PBXGroup; + children = ( + 29B97324FDCFA39411CA2CEA /* AppKit.framework */, + 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */, + 29B97325FDCFA39411CA2CEA /* Foundation.framework */, + ); + name = "Other Frameworks"; + sourceTree = ""; + }; + 19C28FACFE9D520D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D1107320486CEB800E47090 /* iAudioDB.app */, + ); + name = Products; + sourceTree = ""; + }; + 29B97314FDCFA39411CA2CEA /* iAudioDB */ = { + isa = PBXGroup; + children = ( + B7CBF3B611106F4C00B8C1C8 /* libaudioDB.0.0.dylib */, + 080E96DDFE201D6D7F000001 /* Classes */, + 29B97315FDCFA39411CA2CEA /* Other Sources */, + 29B97317FDCFA39411CA2CEA /* Resources */, + 29B97323FDCFA39411CA2CEA /* Frameworks */, + 19C28FACFE9D520D11CA2CBB /* Products */, + ); + name = iAudioDB; + sourceTree = ""; + }; + 29B97315FDCFA39411CA2CEA /* Other Sources */ = { + isa = PBXGroup; + children = ( + 32CA4F630368D1EE00C91783 /* iAudioDB_Prefix.pch */, + 29B97316FDCFA39411CA2CEA /* main.m */, + ); + name = "Other Sources"; + sourceTree = ""; + }; + 29B97317FDCFA39411CA2CEA /* Resources */ = { + isa = PBXGroup; + children = ( + 8D1107310486CEB800E47090 /* Info.plist */, + 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */, + 1DDD58140DA1D0A300B32029 /* MainMenu.xib */, + ); + name = Resources; + sourceTree = ""; + }; + 29B97323FDCFA39411CA2CEA /* Frameworks */ = { + isa = PBXGroup; + children = ( + 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, + 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 8D1107260486CEB800E47090 /* iAudioDB */ = { + isa = PBXNativeTarget; + buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "iAudioDB" */; + buildPhases = ( + 8D1107290486CEB800E47090 /* Resources */, + 8D11072C0486CEB800E47090 /* Sources */, + 8D11072E0486CEB800E47090 /* Frameworks */, + B7CBF42111108E6100B8C1C8 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = iAudioDB; + productInstallPath = "$(HOME)/Applications"; + productName = iAudioDB; + productReference = 8D1107320486CEB800E47090 /* iAudioDB.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 29B97313FDCFA39411CA2CEA /* Project object */ = { + isa = PBXProject; + buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "iAudioDB" */; + compatibilityVersion = "Xcode 3.1"; + hasScannedForEncodings = 1; + mainGroup = 29B97314FDCFA39411CA2CEA /* iAudioDB */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D1107260486CEB800E47090 /* iAudioDB */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D1107290486CEB800E47090 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */, + 1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D11072C0486CEB800E47090 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D11072D0486CEB800E47090 /* main.m in Sources */, + B7CBF33211105F1700B8C1C8 /* AppController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 089C165DFE840E0CC02AAC07 /* English */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 1DDD58140DA1D0A300B32029 /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + 1DDD58150DA1D0A300B32029 /* English */, + ); + name = MainMenu.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + C01FCF4B08A954540054247B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = YES; + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/..\"", + ); + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = iAudioDB_Prefix.pch; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_NAME = iAudioDB; + }; + name = Debug; + }; + C01FCF4C08A954540054247B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/..\"", + ); + GCC_MODEL_TUNING = G5; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = iAudioDB_Prefix.pch; + HEADER_SEARCH_PATHS = "/usr/local/include//**"; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Applications"; + LIBRARY_SEARCH_PATHS = "/usr/local/lib//**"; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = iAudioDB; + USER_HEADER_SEARCH_PATHS = "/usr/local//**"; + }; + name = Release; + }; + C01FCF4F08A954540054247B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = "/usr/local/include//**"; + LIBRARY_SEARCH_PATHS = "/usr/local/lib//**"; + ONLY_ACTIVE_ARCH = YES; + PREBINDING = NO; + SDKROOT = macosx10.5; + USER_HEADER_SEARCH_PATHS = "/usr/local//**"; + }; + name = Debug; + }; + C01FCF5008A954540054247B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + PREBINDING = NO; + SDKROOT = macosx10.5; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "iAudioDB" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C01FCF4B08A954540054247B /* Debug */, + C01FCF4C08A954540054247B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C01FCF4E08A954540054247B /* Build configuration list for PBXProject "iAudioDB" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C01FCF4F08A954540054247B /* Debug */, + C01FCF5008A954540054247B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; +} diff -r ce5ff00168e1 -r 780ebab29268 examples/iAudioDB/iAudioDB_Prefix.pch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/iAudioDB/iAudioDB_Prefix.pch Wed Mar 03 17:17:08 2010 +0000 @@ -0,0 +1,7 @@ +// +// Prefix header for all source files of the 'iAudioDB' target in the 'iAudioDB' project +// + +#ifdef __OBJC__ + #import +#endif diff -r ce5ff00168e1 -r 780ebab29268 examples/iAudioDB/main.m --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/iAudioDB/main.m Wed Mar 03 17:17:08 2010 +0000 @@ -0,0 +1,14 @@ +// +// main.m +// iAudioDB +// +// Created by Mike Jewell on 27/01/2010. +// Copyright __MyCompanyName__ 2010. All rights reserved. +// + +#import + +int main(int argc, char *argv[]) +{ + return NSApplicationMain(argc, (const char **) argv); +} diff -r ce5ff00168e1 -r 780ebab29268 examples/iAudioDB/planfile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/iAudioDB/planfile Wed Mar 03 17:17:08 2010 +0000 @@ -0,0 +1,13 @@ +(fftw-3.2.2 fftw_wisdom + (fftw_codelet_n1fv_128 0 #x11448 #x11448 #x0 #xfc2bb3d1 #x861ce60e #x93bce90f #x47afa3b8) + (fftw_codelet_t1fuv_8 0 #x11448 #x11448 #x0 #x5e3d6d2b #x10258707 #xfb031e3b #x7a48e583) + (fftw_rdft_rank0_register 2 #x11048 #x11048 #x0 #x20732863 #xbe2fcd57 #xd8da0202 #xd51364b0) + (fftw_codelet_q1fv_8 0 #x11448 #x11448 #x0 #x4d31dec5 #x66b82a44 #xf0a5a6ba #x51baac5c) + (fftw_dft_r2hc_register 0 #x11048 #x11048 #x0 #x4acf4dea #x906c69bd #x3e240b8f #x8302c310) + (fftw_dft_indirect_register 0 #x11048 #x11048 #x0 #xa23a3a39 #xff101050 #x38a62ec8 #x959a5f3c) + (fftw_dft_vrank_geq1_register 0 #x11448 #x11448 #x0 #x6556777c #xc855e2e3 #x6c7ba6bc #x0173a21b) + (fftw_dft_vrank_geq1_register 0 #x11448 #x11448 #x0 #x00b5e368 #x36f5c54c #xfc96563e #xde90cd94) + (fftw_codelet_r2cfII_8 2 #x11048 #x11048 #x0 #xd4368d7a #x31f25565 #x03495dbf #x9466def9) + (fftw_codelet_hc2cfdft_8 0 #x11048 #x11048 #x0 #x7c66c41a #x6c8b53b1 #x603487c3 #xa10ea82f) + (fftw_codelet_r2cf_8 2 #x11048 #x11048 #x0 #x61489ad3 #xc832b78c #x66d24752 #x64c75681) +) diff -r ce5ff00168e1 -r 780ebab29268 examples/iAudioDB/rdf/adb_chroma.n3 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/iAudioDB/rdf/adb_chroma.n3 Wed Mar 03 17:17:08 2010 +0000 @@ -0,0 +1,25 @@ +@prefix xsd: . +@prefix vamp: . +@prefix : <#> . + +:transform a vamp:Transform ; + vamp:plugin ; + vamp:step_size "2048"^^xsd:int ; + vamp:block_size "16384"^^xsd:int ; + vamp:parameter_binding [ + vamp:parameter [ vamp:identifier "bpo" ] ; + vamp:value "12"^^xsd:float ; + ] ; + vamp:parameter_binding [ + vamp:parameter [ vamp:identifier "maxfreq" ] ; + vamp:value "1046.5"^^xsd:float ; + ] ; + vamp:parameter_binding [ + vamp:parameter [ vamp:identifier "minfreq" ] ; + vamp:value "65.4064"^^xsd:float ; + ] ; + vamp:parameter_binding [ + vamp:parameter [ vamp:identifier "summation" ] ; + vamp:value "1"^^xsd:float ; + ] ; + vamp:output . diff -r ce5ff00168e1 -r 780ebab29268 examples/iAudioDB/rdf/adb_cq.n3 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/iAudioDB/rdf/adb_cq.n3 Wed Mar 03 17:17:08 2010 +0000 @@ -0,0 +1,21 @@ +@prefix xsd: . +@prefix vamp: . +@prefix : <#> . + +:transform a vamp:Transform ; + vamp:plugin ; + vamp:step_size "2048"^^xsd:int ; + vamp:block_size "16384"^^xsd:int ; + vamp:parameter_binding [ + vamp:parameter [ vamp:identifier "bpo" ] ; + vamp:value "12"^^xsd:float ; + ] ; + vamp:parameter_binding [ + vamp:parameter [ vamp:identifier "maxfreq" ] ; + vamp:value "1046.5"^^xsd:float ; + ] ; + vamp:parameter_binding [ + vamp:parameter [ vamp:identifier "minfreq" ] ; + vamp:value "65.4064"^^xsd:float ; + ] ; + vamp:output . diff -r ce5ff00168e1 -r 780ebab29268 examples/iAudioDB/rdf/qm_chroma.n3 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/iAudioDB/rdf/qm_chroma.n3 Wed Mar 03 17:17:08 2010 +0000 @@ -0,0 +1,29 @@ +@prefix xsd: . +@prefix vamp: . +@prefix : <#> . + +:transform a vamp:Transform ; + vamp:plugin ; + vamp:step_size "2048"^^xsd:int ; + vamp:block_size "16384"^^xsd:int ; + vamp:parameter_binding [ + vamp:parameter [ vamp:identifier "bpo" ] ; + vamp:value "12"^^xsd:float ; + ] ; + vamp:parameter_binding [ + vamp:parameter [ vamp:identifier "maxpitch" ] ; + vamp:value "96"^^xsd:float ; + ] ; + vamp:parameter_binding [ + vamp:parameter [ vamp:identifier "minpitch" ] ; + vamp:value "36"^^xsd:float ; + ] ; + vamp:parameter_binding [ + vamp:parameter [ vamp:identifier "normalization" ] ; + vamp:value "0"^^xsd:float ; + ] ; + vamp:parameter_binding [ + vamp:parameter [ vamp:identifier "tuning" ] ; + vamp:value "440"^^xsd:float ; + ] ; + vamp:output . diff -r ce5ff00168e1 -r 780ebab29268 examples/iAudioDB/rdf/qm_mfcc.n3 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/iAudioDB/rdf/qm_mfcc.n3 Wed Mar 03 17:17:08 2010 +0000 @@ -0,0 +1,21 @@ +@prefix xsd: . +@prefix vamp: . +@prefix : <#> . + +:transform a vamp:Transform ; + vamp:plugin ; + vamp:step_size "1024"^^xsd:int ; + vamp:block_size "2048"^^xsd:int ; + vamp:parameter_binding [ + vamp:parameter [ vamp:identifier "logpower" ] ; + vamp:value "1"^^xsd:float ; + ] ; + vamp:parameter_binding [ + vamp:parameter [ vamp:identifier "nceps" ] ; + vamp:value "20"^^xsd:float ; + ] ; + vamp:parameter_binding [ + vamp:parameter [ vamp:identifier "wantc0" ] ; + vamp:value "1"^^xsd:float ; + ] ; + vamp:output . diff -r ce5ff00168e1 -r 780ebab29268 examples/iAudioDB/version.plist --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/iAudioDB/version.plist Wed Mar 03 17:17:08 2010 +0000 @@ -0,0 +1,16 @@ + + + + + BuildVersion + 3 + CFBundleVersion + 1.0 + ProductBuildVersion + 9M2729 + ProjectName + DevToolsWizardTemplates + SourceVersion + 11600000 + +