this repo has no description
at fixPythonPipStalling 89 lines 3.9 kB view raw
1#ifndef AUGRAPH_H 2#define AUGRAPH_H 3#include <AudioToolbox/AudioUnit.h> 4#include <AudioToolbox/AudioUnitProperties.h> 5#include <AudioToolbox/AUComponent.h> 6 7#ifdef __cplusplus 8extern "C" { 9#endif 10 11typedef struct AUGraphData* AUGraph; 12typedef SInt32 AUNode; 13 14struct AudioUnitNodeConnection 15{ 16 AUNode sourceNode; 17 UInt32 sourceOutputNumber; 18 AUNode destNode; 19 UInt32 destInputNumber; 20}; 21 22typedef struct AudioUnitNodeConnection AudioUnitNodeConnection; 23typedef struct AudioUnitNodeConnection AUNodeConnection; 24 25struct AUNodeRenderCallback 26{ 27 AUNode destNode; 28 AudioUnitElement destInputNumber; 29 AURenderCallbackStruct cback; 30}; 31typedef struct AUNodeRenderCallback AUNodeRenderCallback; 32 33struct AUNodeInteraction 34{ 35 UInt32 nodeInteractionType; 36 union 37 { 38 AUNodeConnection connection; 39 AUNodeRenderCallback inputCallback; 40 } nodeInteraction; 41}; 42typedef struct AUNodeInteraction AUNodeInteraction; 43 44typedef void 45(*AudioUnitPropertyListenerProc)(void * inRefCon, 46 AudioUnit inUnit, 47 AudioUnitPropertyID inID, 48 AudioUnitScope inScope, 49 AudioUnitElement inElement); 50 51OSStatus AUGraphAddNode(AUGraph inGraph, const AudioComponentDescription *inDescription, AUNode *outNode); 52OSStatus AUGraphNewNode(AUGraph inGraph, const struct ComponentDescription *inDescription, UInt32 inClassDataSize, const void *inClassData, AUNode *outNode); 53OSStatus AUGraphAddRenderNotify(AUGraph inGraph, AURenderCallback inCallback, void *inRefCon); 54OSStatus AUGraphClearConnections(AUGraph inGraph); 55OSStatus AUGraphClose(AUGraph inGraph); 56OSStatus AUGraphConnectNodeInput(AUGraph inGraph, AUNode inSourceNode, UInt32 inSourceOutputNumber, AUNode inDestNode, UInt32 inDestInputNumber); 57OSStatus AUGraphCountNodeInteractions(AUGraph inGraph, AUNode inNode, UInt32 *outNumInteractions); 58OSStatus AUGraphDisconnectNodeInput(AUGraph inGraph, AUNode inDestNode, UInt32 inDestInputNumber); 59OSStatus AUGraphGetCPULoad(AUGraph inGraph, Float32 *outAverageCPULoad); 60OSStatus AUGraphGetIndNode(AUGraph inGraph, UInt32 inIndex, AUNode *outNode); 61OSStatus AUGraphGetInteractionInfo(AUGraph inGraph, UInt32 inInteractionIndex, AUNodeInteraction *outInteraction); 62OSStatus AUGraphGetMaxCPULoad(AUGraph inGraph, Float32 *outMaxLoad); 63OSStatus AUGraphGetNodeCount(AUGraph inGraph, UInt32 *outNumberOfNodes); 64OSStatus AUGraphGetNodeInteractions(AUGraph inGraph, AUNode inNode, UInt32 *ioNumInteractions, AUNodeInteraction *outInteractions); 65OSStatus AUGraphGetNumberOfInteractions(AUGraph inGraph, UInt32 *outNumInteractions); 66OSStatus AUGraphInitialize(AUGraph inGraph); 67OSStatus AUGraphIsInitialized(AUGraph inGraph, Boolean *outIsInitialized); 68OSStatus AUGraphIsOpen(AUGraph inGraph, Boolean *outIsOpen); 69OSStatus AUGraphIsRunning(AUGraph inGraph, Boolean *outIsRunning); 70OSStatus AUGraphNodeInfo(AUGraph inGraph, AUNode inNode, AudioComponentDescription *outDescription, AudioUnit *outAudioUnit); 71OSStatus AUGraphOpen(AUGraph inGraph); 72OSStatus AUGraphRemoveNode(AUGraph inGraph, AUNode inNode); 73OSStatus AUGraphRemoveRenderNotify(AUGraph inGraph, AURenderCallback inCallback, void *inRefCon); 74OSStatus AUGraphSetNodeInputCallback(AUGraph inGraph, AUNode inDestNode, UInt32 inDestInputNumber, const AURenderCallbackStruct *inInputCallback); 75OSStatus AUGraphStart(AUGraph inGraph); 76OSStatus AUGraphStop(AUGraph inGraph); 77OSStatus AUGraphUninitialize(AUGraph inGraph); 78OSStatus AUGraphUpdate(AUGraph inGraph, Boolean *outIsUpdated); 79OSStatus DisposeAUGraph(AUGraph inGraph); 80OSStatus NewAUGraph(AUGraph *outGraph); 81OSStatus AUGraphGetNodeInfo(AUGraph inGraph, AUNode inNode, struct ComponentDescription *outDescription, UInt32 *outClassDataSize, void * _Nullable *outClassData, AudioUnit _Nullable *outAudioUnit); 82OSStatus AudioUnitAddPropertyListener(AudioUnit inUnit, AudioUnitPropertyID inID, AudioUnitPropertyListenerProc inProc, void *inProcUserData); 83 84#ifdef __cplusplus 85} 86#endif 87 88 89#endif