Mercurial > hg > audiodb
view examples/iAudioDB/AppController.h @ 693:b1723ae7675e
begin work on sampling API
This is motivated by the need to be able to sample with arbitrary feature data
(e.g. from a feature file) against a database, for the JNMR "collections" paper
revisions or possible ISMIR paper revisions. That bit doesn't work yet, but
the C-ified version of the current functionality (sample db x db and
sample key x db) works to the level of anecdotal tests.
The general approach is to mirror the _query_spec() API, where a whole heap
of knobs and twiddles are available to the user. Unlike in the _query_spec()
API, not quite all of the knobs make sense (and even fewer are actually
implemented), but the basic idea is the same.
I pity the poor chump who will have to document all this.
author | mas01cr |
---|---|
date | Thu, 22 Apr 2010 21:03:47 +0000 |
parents | 02756c5ca15a |
children | 9a7d829bc492 |
line wrap: on
line source
// // AppController.h // iAudioDB // // Created by Mike Jewell on 27/01/2010. // Copyright 2010 __MyCompanyName__. All rights reserved. // #import <Cocoa/Cocoa.h> #include <audioDB_API.h> @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 <NSValidatedUserInterfaceItem>)anItem; - (void)sound:(NSSound *)sound didFinishPlaying:(BOOL)playbackSuccessful; @end