this repo has no description
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