2016-06-04 22:38:55 +00:00
|
|
|
#ifndef __AMUSE_AUDIOUNIT_CONTAININGAPP_HPP__
|
|
|
|
#define __AMUSE_AUDIOUNIT_CONTAININGAPP_HPP__
|
|
|
|
|
|
|
|
#import <AppKit/AppKit.h>
|
|
|
|
#import "AudioGroupFilePresenter.hpp"
|
2016-06-05 22:37:49 +00:00
|
|
|
#include <amuse/BooBackend.hpp>
|
|
|
|
#include <boo/audiodev/IAudioVoiceEngine.hpp>
|
2016-06-04 22:38:55 +00:00
|
|
|
|
|
|
|
@interface DataOutlineView : NSOutlineView
|
|
|
|
{
|
2016-06-05 22:37:49 +00:00
|
|
|
@public
|
2016-06-04 22:38:55 +00:00
|
|
|
IBOutlet NSButton* removeDataButton;
|
|
|
|
IBOutlet NSMenuItem* deleteMenuItem;
|
|
|
|
}
|
|
|
|
@end
|
|
|
|
|
|
|
|
@interface SamplesTableController : NSObject <NSTableViewDataSource, NSTableViewDelegate>
|
|
|
|
{
|
2016-06-05 22:37:49 +00:00
|
|
|
AudioGroupFilePresenter* presenter;
|
2016-06-04 22:38:55 +00:00
|
|
|
}
|
2016-06-05 22:37:49 +00:00
|
|
|
- (id)initWithAudioGroupPresenter:(AudioGroupFilePresenter*)present;
|
2016-06-04 22:38:55 +00:00
|
|
|
@end
|
|
|
|
|
|
|
|
@interface SFXTableController : NSObject <NSTableViewDataSource, NSTableViewDelegate>
|
|
|
|
{
|
2016-06-05 22:37:49 +00:00
|
|
|
AudioGroupFilePresenter* presenter;
|
2016-06-04 22:38:55 +00:00
|
|
|
}
|
2016-06-05 22:37:49 +00:00
|
|
|
- (id)initWithAudioGroupPresenter:(AudioGroupFilePresenter*)present;
|
2016-06-04 22:38:55 +00:00
|
|
|
@end
|
|
|
|
|
2016-06-07 03:42:51 +00:00
|
|
|
@interface AppDelegate : NSObject <NSApplicationDelegate, AudioGroupClient>
|
2016-06-04 22:38:55 +00:00
|
|
|
{
|
|
|
|
IBOutlet NSWindow* mainWindow;
|
|
|
|
IBOutlet NSOutlineView* dataOutline;
|
|
|
|
IBOutlet NSSearchField* dataSearchField;
|
|
|
|
IBOutlet NSTableView* sfxTable;
|
|
|
|
IBOutlet NSTableView* samplesTable;
|
|
|
|
IBOutlet NSTextView* creditsView;
|
2016-07-14 04:54:46 +00:00
|
|
|
|
2016-06-04 22:38:55 +00:00
|
|
|
IBOutlet NSButton* removeDataButton;
|
|
|
|
IBOutlet NSMenuItem* removeDataMenu;
|
2016-07-14 04:54:46 +00:00
|
|
|
|
2016-06-04 22:38:55 +00:00
|
|
|
AudioGroupFilePresenter* groupFilePresenter;
|
2016-07-14 04:54:46 +00:00
|
|
|
|
2016-06-04 22:38:55 +00:00
|
|
|
SamplesTableController* samplesController;
|
|
|
|
SFXTableController* sfxController;
|
2016-07-14 04:54:46 +00:00
|
|
|
|
2016-06-05 22:37:49 +00:00
|
|
|
@public
|
|
|
|
std::unique_ptr<boo::IAudioVoiceEngine> booEngine;
|
|
|
|
std::experimental::optional<amuse::BooBackendVoiceAllocator> amuseAllocator;
|
|
|
|
std::experimental::optional<amuse::Engine> amuseEngine;
|
|
|
|
std::shared_ptr<amuse::Voice> activeSFXVox;
|
2016-06-04 22:38:55 +00:00
|
|
|
}
|
|
|
|
- (BOOL)importURL:(NSURL*)url;
|
|
|
|
- (void)outlineView:(DataOutlineView*)ov selectionChanged:(id)item;
|
2016-06-05 22:37:49 +00:00
|
|
|
- (void)reloadTables;
|
|
|
|
- (void)startSFX:(int)sfxId;
|
|
|
|
- (void)startSample:(int)sampId;
|
2016-06-04 22:38:55 +00:00
|
|
|
@end
|
|
|
|
|
|
|
|
#endif // __AMUSE_AUDIOUNIT_CONTAININGAPP_HPP__
|