@class NSObject, NSString, NSArray, NSDictionary, AUAudioUnitPreset, UIViewController, AUParameterTree, AUAudioUnitBusArray, NSMutableArray; @protocol OS_dispatch_queue, OS_dispatch_source; @interface AUAudioUnit : NSObject { struct weak_ptr<APComponent> { struct APComponent *__ptr_; struct __shared_weak_count *__cntrl_; } _component; NSString *_componentName; unsigned int _componentVersion; UIViewController *_cachedViewController; unsigned int _maximumFramesToRender; long long _MIDIOutputBufferSizeHint; struct RealtimeState { struct pooled_semaphore_mutex { struct atomic<caulk::pooled_semaphore_mutex::CountAndSema> { struct __cxx_atomic_impl<caulk::pooled_semaphore_mutex::CountAndSema, std::__cxx_atomic_base_impl<caulk::pooled_semaphore_mutex::CountAndSema>> { _Atomic struct CountAndSema __a_value; } __a_; } mCountAndSema; } mMultipleRenderMutex; struct pooled_semaphore_mutex { struct atomic<caulk::pooled_semaphore_mutex::CountAndSema> { struct __cxx_atomic_impl<caulk::pooled_semaphore_mutex::CountAndSema, std::__cxx_atomic_base_impl<caulk::pooled_semaphore_mutex::CountAndSema>> { _Atomic struct CountAndSema __a_value; } __a_; } mCountAndSema; } mResetVsRenderMutex; struct RenderObserverList { struct TThreadSafeList<RenderObserver> { struct NodeStack { struct Node *mHead; } mActiveList; struct NodeStack { struct Node *mHead; } mPendingList; struct NodeStack { struct Node *mHead; } mFreeList; } mObservers; BOOL mTouched; } renderObserverList; struct AUEventSchedule { struct AUv2GetParameterSynchronizer *mAUv2GetParameterSynchronizer; struct AURenderEventAllocator *mAllocator; struct AUScheduledParameterRefresher2 *mScheduledParameterRefresher; struct lf_mpsc_queue<AURenderEventNode, caulk::concurrent::intrusive_single_link_member<AURenderEventNode, &AURenderEventNode::next>, true> { struct atomic<AURenderEventNode *> { struct __cxx_atomic_impl<AURenderEventNode *, std::__cxx_atomic_base_impl<AURenderEventNode *>> { _Atomic struct AURenderEventNode *__a_value; } __a_; } mEnqueueHead; struct prepadded_t<AURenderEventNode *, 56UL> { unsigned char padding[56]; struct AURenderEventNode *value; } mDequeueHead; } mAddedEventQueue; struct atomic<bool> { struct __cxx_atomic_impl<bool, std::__cxx_atomic_base_impl<bool>> { _Atomic BOOL __a_value; } __a_; } mHavePendingSetParameter; union AURenderEvent)"mOwningAU"^v"mRenderBlock"@?"mPreviousRenderTime"{PreviousRenderTime { } *mScheduleHead; void *mOwningAU; id /* block */ mRenderBlock; struct PreviousRenderTime { double mSampleRate; struct atomic<PreviousRenderTime::Snapshot> { struct __cxx_atomic_impl<PreviousRenderTime::Snapshot, std::__cxx_atomic_base_impl<PreviousRenderTime::Snapshot>> { _Atomic struct Snapshot __a_value; } __a_; } mLastRender; } mPreviousRenderTime; } eventSchedule; struct AUv2GetParameterSynchronizer { struct atomic<AUv2GetParameterSynchronizer::SeqNumPair> { struct __cxx_atomic_impl<AUv2GetParameterSynchronizer::SeqNumPair, std::__cxx_atomic_base_impl<AUv2GetParameterSynchronizer::SeqNumPair>> { _Atomic struct SeqNumPair __a_value; } __a_; } mSeqNums; struct semaphore { struct semaphore { unsigned int mMachSem; BOOL mOwned; } mImpl; struct atomic<int> { struct __cxx_atomic_impl<int, std::__cxx_atomic_base_impl<int>> { _Atomic int __a_value; } __a_; } mCounter; int mOriginalCounter; } mSyncGetParamSema; } auv2GetParameterSynchronizer; struct optional<RenderContextChangeGenerator> { union { char __null_state_; struct RenderContextChangeGenerator { void *mLastWorkgroup; id /* block */ mObserver; } __val_; } ; BOOL __engaged_; } contextChangeGenerator; int renderBlockType; int cachedMIDIProtocol; } _realtimeState; AUParameterTree *_parameterTree; NSMutableArray *_userPresets; BOOL _isLoadedInProcess; NSObject<OS_dispatch_queue> *_presetMonitoringQueue; NSObject<OS_dispatch_source> *_presetFolderWatcher; id /* block */ _MIDIOutputEventBlock; id /* block */ _MIDIOutputEventListBlock; id /* block */ _MIDIOutputEventHostBlock; id /* block */ _MIDIOutputEventListHostBlock; BOOL _shouldUseMIDI2; } @property (readonly, nonatomic) id /* block */ internalRenderBlock; @property (readonly, nonatomic) id /* block */ renderContextObserver; @property (nonatomic) long long MIDIOutputBufferSizeHint; @property (nonatomic) BOOL requestViewControllerSynchronously; @property (readonly, nonatomic) NSArray *migrateFromPlugin; @property (readonly, nonatomic) struct AudioComponentDescription { unsigned int componentType; unsigned int componentSubType; unsigned int componentManufacturer; unsigned int componentFlags; unsigned int componentFlagsMask; } componentDescription; @property (readonly, nonatomic) struct OpaqueAudioComponent { } *component; @property (readonly, copy, nonatomic) NSString *componentName; @property (readonly, copy, nonatomic) NSString *audioUnitName; @property (readonly, copy, nonatomic) NSString *manufacturerName; @property (readonly, copy, nonatomic) NSString *audioUnitShortName; @property (readonly, nonatomic) unsigned int componentVersion; @property (readonly, nonatomic) BOOL renderResourcesAllocated; @property (readonly, nonatomic) AUAudioUnitBusArray *inputBusses; @property (readonly, nonatomic) AUAudioUnitBusArray *outputBusses; @property (readonly, nonatomic) id /* block */ renderBlock; @property (readonly, nonatomic) id /* block */ scheduleParameterBlock; @property (nonatomic) unsigned int maximumFramesToRender; @property (retain, nonatomic) AUParameterTree *parameterTree; @property (readonly, nonatomic) BOOL allParameterValues; @property (readonly, nonatomic, getter=isMusicDeviceOrEffect) BOOL musicDeviceOrEffect; @property (readonly, nonatomic) long long virtualMIDICableCount; @property (readonly, nonatomic) id /* block */ scheduleMIDIEventBlock; @property (readonly, nonatomic) id /* block */ scheduleMIDIEventListBlock; @property (readonly, copy, nonatomic) NSArray *MIDIOutputNames; @property (readonly, nonatomic) BOOL providesUserInterface; @property (copy, nonatomic) id /* block */ MIDIOutputEventBlock; @property (copy, nonatomic) id /* block */ MIDIOutputEventListBlock; @property (readonly, nonatomic) int AudioUnitMIDIProtocol; @property (nonatomic) int hostMIDIProtocol; @property (copy, nonatomic) NSDictionary *fullState; @property (copy, nonatomic) NSDictionary *fullStateForDocument; @property (readonly, copy, nonatomic) NSArray *factoryPresets; @property (readonly, copy, nonatomic) NSArray *userPresets; @property (readonly, nonatomic) BOOL supportsUserPresets; @property (readonly, nonatomic) BOOL isLoadedInProcess; @property (retain, nonatomic) AUAudioUnitPreset *currentPreset; @property (readonly, nonatomic) double latency; @property (readonly, nonatomic) double tailTime; @property (nonatomic) long long renderQuality; @property (nonatomic) BOOL shouldBypassEffect; @property (readonly, nonatomic) BOOL canProcessInPlace; @property (nonatomic, getter=isRenderingOffline) BOOL renderingOffline; @property (readonly, copy, nonatomic) NSArray *channelCapabilities; @property (copy, nonatomic) id /* block */ musicalContextBlock; @property (copy, nonatomic) id /* block */ transportStateBlock; @property (copy, nonatomic) NSString *contextName; @property (readonly, nonatomic) BOOL supportsMPE; @property (copy, nonatomic) NSArray *channelMap; @property (copy, nonatomic) id /* block */ profileChangedBlock; + (id)__presetFromPath:(id)a0; + (id)__sanitizeFileName:(id)a0; + (void)__sanitizePresetNumber:(id)a0; + (id)__userPresetPath:(id)a0 error:(id *)a1; + (BOOL)_deleteUserPreset:(id)a0 error:(id *)a1; + (void)_loadUserPresets:(id)a0 error:(id *)a1; + (id)_monitorUserPresets:(id)a0 callback:(id /* block */)a1; + (id)_presetStateFor:(id)a0 error:(id *)a1; + (BOOL)_saveUserPreset:(id)a0 state:(id)a1 error:(id *)a2; + (id)auAudioUnitForAudioUnit:(struct OpaqueAudioComponentInstance { } *)a0; + (void)instantiateWithComponentDescription:(struct AudioComponentDescription { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned int x4; })a0 options:(unsigned int)a1 completionHandler:(id /* block */)a2; + (void)instantiateWithComponentDescription:(struct AudioComponentDescription { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned int x4; })a0 options:(unsigned int)a1 connectionProvider:(struct function<NSXPCConnection *(NSUUID *)> { struct __value_func<NSXPCConnection *(NSUUID *)> { struct type { unsigned char x0[24]; } x0; void *x1; } x0; })a2 completionHandler:(id /* block */)a3; + (id)keyPathsForValuesAffectingAllParameterValues; + (void)registerSubclass:(Class)a0 asComponentDescription:(struct AudioComponentDescription { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned int x4; })a1 name:(id)a2 version:(unsigned int)a3; - (id)valueForUndefinedKey:(id)a0; - (void)removeRenderObserver:(long long)a0; - (void)requestViewControllerWithCompletionHandler:(id /* block */)a0; - (id)init; - (void)reset; - (void)dealloc; - (struct OpaqueAudioComponentInstance { } *)audioUnit; - (void)setValue:(id)a0 forUndefinedKey:(id)a1; - (void)startUserPresetFolderMonitoring; - (void)addRenderObserver:(void /* function */ *)a0 userData:(void *)a1; - (void)removeRenderObserver:(void /* function */ *)a0 userData:(void *)a1; - (long long)tokenByAddingRenderObserver:(id /* block */)a0; - (id).cxx_construct; - (int)remoteProcessIdentifier; - (void).cxx_destruct; - (id)initWithComponentDescription:(struct AudioComponentDescription { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned int x4; })a0 options:(unsigned int)a1 error:(id *)a2; - (id)parametersForOverviewWithCount:(long long)a0; - (void)_setValue:(id)a0 forKey:(id)a1 error:(id *)a2; - (id)_valueForProperty:(id)a0 error:(id *)a1; - (BOOL)allocateRenderResourcesAndReturnError:(id *)a0; - (void *)auv2GetParameterSynchronizer; - (id)cachedViewController; - (void)deallocateRenderResources; - (BOOL)deleteUserPreset:(id)a0 error:(id *)a1; - (void)deliverV2Parameters:(const union AURenderEvent { struct AURenderEventHeader { union AURenderEvent)qCC { } *x0; long long x1; unsigned char x2; unsigned char x3; } x0; struct AUParameterEvent { union AURenderEvent)qC[3C]IQf { } *x0; long long x1; unsigned char x2; unsigned char x3[3]; unsigned int x4; unsigned long long x5; float x6; } x1; struct AUMIDIEvent { union AURenderEvent)qCCSC[3C] { } *x0; long long x1; unsigned char x2; unsigned char x3; unsigned short x4; unsigned char x5; unsigned char x6[3]; } x2; struct AUMIDIEventList { union AURenderEvent)qCCC{MIDIEventList { } *x0; long long x1; unsigned char x2; unsigned char x3; unsigned char x4; struct MIDIEventList { int x0; unsigned int x1; struct MIDIEventPacket { unsigned long long x0; unsigned int x1; unsigned int x2[64]; } x2[1]; } x5; } x3; } *)a0; - (BOOL)disableProfile:(id)a0 cable:(unsigned char)a1 onChannel:(unsigned char)a2 error:(id *)a3; - (BOOL)enableProfile:(id)a0 cable:(unsigned char)a1 onChannel:(unsigned char)a2 error:(id *)a3; - (void *)eventSchedule; - (void)flushEventSchedule; - (float)getV2Parameter:(unsigned long long)a0 sequenceNumber:(unsigned int)a1; - (id)initWithComponentDescription:(struct AudioComponentDescription { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned int x4; })a0 error:(id *)a1; - (void)internalDeallocateRenderResources; - (void)invalidateAudioUnit; - (BOOL)isSpeechSynthesisProvider; - (id)messageChannelFor:(id)a0; - (id)osWorkgroup; - (id)presetStateFor:(id)a0 error:(id *)a1; - (id)profileStateForCable:(unsigned char)a0 channel:(unsigned char)a1; - (struct { unsigned int x0[8]; })remoteProcessAuditToken; - (void)resolveComponent; - (BOOL)saveUserPreset:(id)a0 error:(id *)a1; - (void *)scheduledParameterRefresher; - (void)selectViewConfiguration:(id)a0; - (void)setCachedViewController:(id)a0; - (void)setLoadedOutOfProcess; - (void)setRenderResourcesAllocated:(BOOL)a0; - (void)setV2Parameter:(unsigned long long)a0 value:(float)a1 bufferOffset:(unsigned int)a2 sequenceNumber:(unsigned int)a3; - (void)setupMIDIConversion; - (BOOL)shouldChangeToFormat:(id)a0 forBus:(id)a1; - (id)supportedViewConfigurations:(id)a0; - (void)tearDownExtension; @end