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