amuse/AudioUnit/AmuseContainingApp.hpp

55 lines
1.6 KiB
C++
Raw Permalink Normal View History

2018-10-07 03:40:25 +00:00
#pragma once
2016-06-04 22:38:55 +00:00
#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
2018-12-08 05:20:09 +00:00
@interface DataOutlineView : NSOutlineView {
2016-06-05 22:37:49 +00:00
@public
2018-12-08 05:20:09 +00:00
IBOutlet NSButton* removeDataButton;
IBOutlet NSMenuItem* deleteMenuItem;
2016-06-04 22:38:55 +00:00
}
@end
2018-12-08 05:20:09 +00:00
@interface SamplesTableController : NSObject <NSTableViewDataSource, NSTableViewDelegate> {
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
2018-12-08 05:20:09 +00:00
@interface SFXTableController : NSObject <NSTableViewDataSource, NSTableViewDelegate> {
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
2018-12-08 05:20:09 +00:00
@interface AppDelegate : NSObject <NSApplicationDelegate, AudioGroupClient> {
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
2018-12-08 05:20:09 +00:00
IBOutlet NSButton* removeDataButton;
IBOutlet NSMenuItem* removeDataMenu;
2016-07-14 04:54:46 +00:00
2018-12-08 05:20:09 +00:00
AudioGroupFilePresenter* groupFilePresenter;
2016-07-14 04:54:46 +00:00
2018-12-08 05:20:09 +00:00
SamplesTableController* samplesController;
SFXTableController* sfxController;
2016-07-14 04:54:46 +00:00
2016-06-05 22:37:49 +00:00
@public
2018-12-08 05:20:09 +00:00
std::unique_ptr<boo::IAudioVoiceEngine> booEngine;
2019-06-12 02:02:52 +00:00
std::optional<amuse::BooBackendVoiceAllocator> amuseAllocator;
std::optional<amuse::Engine> amuseEngine;
2018-12-08 05:20:09 +00:00
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