annotate examples/iAudioDB/AppController.h @ 699:9a7d829bc492

* Pulled through query start changes * Disables fields when no query selected / new db opened * Added icon files
author mas01mj
date Wed, 28 Apr 2010 15:48:59 +0000
parents 02756c5ca15a
children 54974e8a6b87
rev   line source
mas01mj@669 1 //
mas01mj@669 2 // AppController.h
mas01mj@669 3 // iAudioDB
mas01mj@669 4 //
mas01mj@669 5 // Created by Mike Jewell on 27/01/2010.
mas01mj@669 6 // Copyright 2010 __MyCompanyName__. All rights reserved.
mas01mj@669 7 //
mas01mj@669 8
mas01mj@669 9 #import <Cocoa/Cocoa.h>
mas01mj@669 10 #include <audioDB_API.h>
mas01mj@669 11
mas01mj@699 12
mas01mj@669 13 @interface AppController : NSObject {
mas01mj@699 14 adb_t *db;
mas01mj@669 15 NSModalSession session;
mas01mj@669 16
mas01mj@669 17 NSString* dbName;
mas01mj@669 18 NSString* dbFilename;
mas01mj@669 19 NSString* plistFilename;
mas01mj@669 20 NSString* selectedKey;
mas01mj@669 21 NSString* selectedFilename;
mas01mj@669 22
mas01mj@669 23 IBOutlet NSTextField *statusField;
mas01mj@699 24 IBOutlet NSTableView* tracksView;
mas01mj@669 25 IBOutlet id mainWindow;
mas01mj@669 26
mas01mj@699 27 // Query Customizing
mas01mj@699 28
mas01mj@699 29 IBOutlet NSButton* multipleCheckBox;
mas01mj@699 30 IBOutlet NSButton* resetButton;
mas01mj@699 31 IBOutlet NSTextField* queryStartVectors;
mas01mj@699 32 IBOutlet NSTextField* queryStartSeconds;
mas01mj@699 33 IBOutlet NSTextField* queryLengthVectors;
mas01mj@699 34 IBOutlet NSTextField* queryLengthSeconds;
mas01mj@699 35 IBOutlet NSTextField* queryPath;
mas01mj@699 36 IBOutlet NSButton* queryButton;
mas01mj@699 37
mas01mj@699 38 // Main window buttons/fields.
mas01mj@699 39
mas01mj@699 40 IBOutlet NSToolbarItem* importAudioButton;
mas01mj@699 41 IBOutlet NSToolbarItem* performQueryButton;
mas01mj@699 42 IBOutlet NSToolbarItem* playBothButton;
mas01mj@699 43 IBOutlet NSToolbarItem* playResultButton;
mas01mj@699 44 IBOutlet NSToolbarItem* stopButton;
mas01mj@692 45 IBOutlet NSTextField* queryKey;
mas01mj@699 46
mas01mj@699 47 NSSound* queryTrack;
mas01mj@699 48 NSSound* resultTrack;
mas01mj@699 49
mas01mj@699 50 // Creating
mas01mj@699 51 IBOutlet id createSheet;
mas01mj@699 52 IBOutlet id querySheet;
mas01mj@699 53
mas01mj@699 54 IBOutlet NSMatrix* extractorOptions;
mas01mj@699 55 IBOutlet NSTextField* windowSizeField;
mas01mj@699 56 IBOutlet NSTextField* hopSizeField;
mas01mj@699 57 IBOutlet NSTextField* maxTracksField;
mas01mj@699 58 IBOutlet NSTextField* maxLengthField;
mas01mj@699 59
mas01mj@699 60 // Extracting
mas01mj@699 61 IBOutlet id importSheet;
mas01mj@699 62 IBOutlet NSProgressIndicator* indicator;
mas01mj@687 63
mas01mj@692 64 NSMutableArray* results;
mas01mj@692 65 NSDictionary* trackMap;
mas01mj@699 66 NSDictionary* dbState;
mas01mj@669 67
mas01mj@669 68 // Query param fields
mas01mj@669 69
mas01mj@669 70 /* To Come
mas01mj@669 71 IBOutlet id queryType;
mas01mj@669 72 IBOutlet NSTextField* queryStartField;
mas01mj@669 73 IBOutlet id queryTypeOptions;
mas01mj@669 74 IBOutlet NSTextField* queryLengthField;
mas01mj@669 75 IBOutlet NSTextField* queryRadiusField;
mas01mj@669 76 IBOutlet NSButtonCell* exhaustiveField;*/
mas01mj@669 77 }
mas01mj@669 78
mas01mj@669 79 // Menus
mas01mj@669 80 -(IBAction)newDatabase:(id)sender;
mas01mj@669 81 -(IBAction)openDatabase:(id)sender;
mas01mj@669 82
mas01mj@669 83 // Import
mas01mj@669 84 -(IBAction)importAudio:(id)sender;
mas01mj@699 85 // -(IBAction)cancelImport:(id)sender;
mas01mj@699 86
mas01mj@699 87 // Create
mas01mj@699 88 -(IBAction)cancelCreate:(id)sender;
mas01mj@699 89 -(IBAction)createDatabase:(id)sender;
mas01mj@699 90
mas01mj@699 91 // Query
mas01mj@699 92 -(IBAction)pathAction:(id)sender;
mas01mj@699 93 -(IBAction)cancelQuery:(id)sender;
mas01mj@699 94 -(IBAction)performQuery:(id)sender;
mas01mj@699 95 -(IBAction)selectQueryFile:(id)sender;
mas01mj@699 96 -(IBAction)resetLengths:(id)sender;
mas01mj@687 97
mas01mj@669 98 // Buttons
mas01mj@669 99 -(IBAction)playBoth:(id)sender;
mas01mj@669 100 -(IBAction)playResult:(id)sender;
mas01mj@669 101 -(IBAction)stopPlay:(id)sender;
mas01mj@669 102 -(IBAction)chooseQuery:(id)sender;
mas01mj@669 103 -(IBAction)selectedChanged:(id)sender;
mas01mj@699 104 -(IBAction)tableDoubleClick:(id)sender;
mas01mj@669 105
mas01mj@699 106 -(void)reset;
mas01mj@669 107 -(void)updateStatus;
mas01mj@669 108 - (BOOL)validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)anItem;
mas01mj@669 109 - (void)sound:(NSSound *)sound didFinishPlaying:(BOOL)playbackSuccessful;
mas01mj@669 110
mas01mj@669 111 @end