mirror of
https://github.com/AxioDL/amuse.git
synced 2025-12-09 13:37:47 +00:00
Work on AudioUnit
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
#define __AMUSE_AUDIOUNIT_AUDIOGROUPFILEPRESENTER_HPP__
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <AppKit/AppKit.h>
|
||||
#include <map>
|
||||
#include <string>
|
||||
|
||||
@@ -9,29 +10,40 @@
|
||||
|
||||
struct AudioGroupDataCollection
|
||||
{
|
||||
NSURL* m_proj = nullptr; /* Only this member set for single-file containers */
|
||||
NSURL* m_pool = nullptr;
|
||||
NSURL* m_sdir = nullptr;
|
||||
NSURL* m_samp = nullptr;
|
||||
NSURL* m_proj;
|
||||
NSURL* m_pool;
|
||||
NSURL* m_sdir;
|
||||
NSURL* m_samp;
|
||||
|
||||
std::unique_ptr<uint8_t[]> m_projData;
|
||||
std::unique_ptr<uint8_t[]> m_poolData;
|
||||
std::unique_ptr<uint8_t[]> m_sdirData;
|
||||
std::unique_ptr<uint8_t[]> m_sampData;
|
||||
|
||||
bool invalidateURL(NSURL* url);
|
||||
void moveURL(NSURL* oldUrl, NSURL* newUrl);
|
||||
|
||||
std::unique_ptr<uint8_t[]> _coordinateRead(AudioGroupFilePresenter* presenter, size_t& szOut, NSURL* url);
|
||||
bool loadProj(AudioGroupFilePresenter* presenter);
|
||||
bool loadPool(AudioGroupFilePresenter* presenter);
|
||||
bool loadSdir(AudioGroupFilePresenter* presenter);
|
||||
bool loadSamp(AudioGroupFilePresenter* presenter);
|
||||
|
||||
std::unique_ptr<uint8_t[]> coordinateProjRead(AudioGroupFilePresenter* presenter, size_t& szOut);
|
||||
std::unique_ptr<uint8_t[]> coordinatePoolRead(AudioGroupFilePresenter* presenter, size_t& szOut);
|
||||
std::unique_ptr<uint8_t[]> coordinateSdirRead(AudioGroupFilePresenter* presenter, size_t& szOut);
|
||||
std::unique_ptr<uint8_t[]> coordinateSampRead(AudioGroupFilePresenter* presenter, size_t& szOut);
|
||||
AudioGroupDataCollection(NSURL* proj, NSURL* pool, NSURL* sdir, NSURL* samp)
|
||||
: m_proj(proj), m_pool(pool), m_sdir(sdir), m_samp(samp) {}
|
||||
bool isDataComplete () const {return m_projData && m_poolData && m_sdirData && m_sampData;}
|
||||
};
|
||||
|
||||
@interface AudioGroupFilePresenter : NSObject <NSFilePresenter>
|
||||
@interface AudioGroupFilePresenter : NSObject <NSFilePresenter, NSOutlineViewDataSource>
|
||||
{
|
||||
NSURL* m_groupURL;
|
||||
NSOperationQueue* m_dataQueue;
|
||||
std::map<std::string, AudioGroupDataCollection> m_audioGroupCollections;
|
||||
|
||||
std::map<std::string, AudioGroupDataCollection>::const_iterator m_audioGroupOutlineIt;
|
||||
size_t m_audioGroupOutlineIdx;
|
||||
}
|
||||
|
||||
- (void)update;
|
||||
|
||||
@end
|
||||
|
||||
#endif // __AMUSE_AUDIOUNIT_AUDIOGROUPFILEPRESENTER_HPP__
|
||||
|
||||
Reference in New Issue
Block a user