47 #ifndef __AUDebugDispatcher_h__
48 #define __AUDebugDispatcher_h__
50 #if AU_DEBUG_DISPATCHER
52 #include "CAHostTimeBase.h"
57 class AUDebugDispatcher {
59 AUDebugDispatcher (AUBase *au, FILE* file = stdout);
63 void Initialize (UInt64 nowTime, OSStatus result);
65 void Uninitialize (UInt64 nowTime, OSStatus result);
67 void GetPropertyInfo (UInt64 nowTime,
69 AudioUnitPropertyID inID,
70 AudioUnitScope inScope,
71 AudioUnitElement inElement,
73 Boolean *outWritable);
75 void GetProperty ( UInt64 nowTime,
77 AudioUnitPropertyID inID,
78 AudioUnitScope inScope,
79 AudioUnitElement inElement,
83 void SetProperty ( UInt64 nowTime,
85 AudioUnitPropertyID inID,
86 AudioUnitScope inScope,
87 AudioUnitElement inElement,
91 void Render ( UInt64 nowTime,
93 AudioUnitRenderActionFlags * inRenderFlags,
94 const AudioTimeStamp * inTimeStamp,
95 UInt32 inOutputBusNumber,
97 AudioBufferList * inIOData);
103 bool mHaveDoneProperty;
107 OSStatus mHostCB1_Result;
108 OSStatus mHostCB2_Result;
109 OSStatus mHostCB3_Result;
110 int mHostCB_WhenToPrint;
111 int mHostCB_WasPlaying;
113 double SecsSinceStart(UInt64 inNowTime)
115 UInt64 nanos = CAHostTimeBase::ConvertToNanos(inNowTime - mFirstTime);
116 return nanos * 1.0e-9;
119 unsigned int RecordDispatch (UInt64 inStartTime, OSStatus result,
const char* inMethod);
121 void PrintHeaderString (UInt64 inNowTime,
unsigned int inThread,
const char* inMethod);
123 unsigned int AU()
const {
return (
unsigned int)mAUBase->GetComponentInstance(); }
125 void PrintProperty (AudioUnitPropertyID inID, AudioUnitScope inScope, AudioUnitElement inElement);
127 void RenderActions_HostCallbacks ();
130 #endif // AU_DEBUG_DISPATCHER
131 #endif //__AUDebugDispatcher_h__