diff --git a/AudioUnit/AmuseContainerMainMenu.xib b/AudioUnit/AmuseContainerMainMenu.xib
index 83ba70a..f04a06a 100644
--- a/AudioUnit/AmuseContainerMainMenu.xib
+++ b/AudioUnit/AmuseContainerMainMenu.xib
@@ -149,7 +149,7 @@
-
+
@@ -190,10 +190,10 @@
-
+
-
+
@@ -287,7 +287,7 @@
-
+
@@ -372,7 +372,7 @@
-
+
@@ -467,7 +467,7 @@
-
+
@@ -542,7 +542,7 @@
-
+
@@ -637,7 +637,7 @@
-
+
@@ -685,10 +685,10 @@
-
+
-
+
diff --git a/AudioUnit/AmuseContainingApp.mm b/AudioUnit/AmuseContainingApp.mm
index 6667e68..446601b 100644
--- a/AudioUnit/AmuseContainingApp.mm
+++ b/AudioUnit/AmuseContainingApp.mm
@@ -2,6 +2,11 @@
#import
#import
#import "AudioUnitViewController.hpp"
+#import "AudioGroupFilePresenter.hpp"
+
+@class DataOutlineController;
+@class SamplesTableController;
+@class SFXTableController;
@interface MainView : NSView
{
@@ -28,6 +33,22 @@
@end
+@interface AppDelegate : NSObject
+{
+ IBOutlet NSWindow* mainWindow;
+ IBOutlet NSOutlineView* dataOutline;
+ IBOutlet NSTableView* sfxTable;
+ IBOutlet NSTableView* samplesTable;
+ IBOutlet NSTextView* creditsView;
+
+ AudioGroupFilePresenter* groupFilePresenter;
+
+ DataOutlineController* dataController;
+ SamplesTableController* samplesController;
+ SFXTableController* sfxController;
+}
+@end
+
@interface MainTabView : NSTabView
{}
- (IBAction)selectDataTab:(id)sender;
@@ -55,22 +76,102 @@
}
@end
-@interface AppDelegate : NSObject
+@interface DataOutlineView : NSOutlineView
{
- IBOutlet NSWindow* mainWindow;
- IBOutlet NSOutlineView* dataOutline;
- IBOutlet NSTableView* sfxTable;
- IBOutlet NSTableView* samplesTable;
- IBOutlet NSTextView* creditsView;
+
}
@end
+@implementation DataOutlineView
+
+- (id)initWithFrame:(NSRect)frameRect
+{
+ self = [super initWithFrame:frameRect];
+ [self registerForDraggedTypes:@[(__bridge NSString*)kUTTypeData]];
+ return self;
+}
+
+- (BOOL)performDragOperation:(id)sender
+{
+
+}
+
+@end
+
+@interface DataOutlineController : NSObject
+{
+
+}
+@end
+
+@implementation DataOutlineController
+
+
+
+@end
+
+@interface SamplesTableController : NSObject
+{
+
+}
+@end
+
+@implementation SamplesTableController
+
+- (NSInteger)numberOfRowsInTableView:(NSTableView*)tableView
+{
+
+}
+
+- (nullable id)tableView:(NSTableView *)tableView objectValueForTableColumn:(nullable NSTableColumn*)tableColumn row:(NSInteger)row
+{
+
+}
+
+@end
+
+@interface SFXTableController : NSObject
+{
+
+}
+@end
+
+@implementation SFXTableController
+
+- (NSInteger)numberOfRowsInTableView:(NSTableView*)tableView
+{
+}
+
+- (nullable id)tableView:(NSTableView *)tableView objectValueForTableColumn:(nullable NSTableColumn*)tableColumn row:(NSInteger)row
+{
+
+}
+
+@end
+
@implementation AppDelegate
- (void)applicationDidFinishLaunching:(NSNotification*)notification
{
[[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints"];
[mainWindow.toolbar setSelectedItemIdentifier:@"DataTab"];
+
+ groupFilePresenter = [AudioGroupFilePresenter new];
+
+ dataController = [DataOutlineController new];
+ dataOutline.dataSource = dataController;
+ dataOutline.delegate = dataController;
+ [dataOutline reloadItem:nil reloadChildren:YES];
+
+ samplesController = [SamplesTableController new];
+ samplesTable.dataSource = samplesController;
+ samplesTable.delegate = samplesController;
+ [samplesTable reloadData];
+
+ sfxController = [SFXTableController new];
+ sfxTable.dataSource = sfxController;
+ sfxTable.delegate = sfxController;
+ [sfxTable reloadData];
}
- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)sender
diff --git a/AudioUnit/AudioGroupFilePresenter.hpp b/AudioUnit/AudioGroupFilePresenter.hpp
index ccfabfb..df70dba 100644
--- a/AudioUnit/AudioGroupFilePresenter.hpp
+++ b/AudioUnit/AudioGroupFilePresenter.hpp
@@ -2,6 +2,7 @@
#define __AMUSE_AUDIOUNIT_AUDIOGROUPFILEPRESENTER_HPP__
#import
+#import
#include