Something went wrong. Try again.
Cider Isn't Darwin Emulation, Really
Something went wrong. Try again.
1.4 kB · 76 lines
C++
at appkit
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677#include "darling-config.h"#include "Components.h"#include "ComponentsInternal.h"#include "darling-config.h"#include <AudioUnit/AUComponent.h>#include <AudioUnit/AudioUnitBase.h>#include <CoreServices/MacErrors.h>#include <util/debug.h>
Component FindNextComponent(Component prev, ComponentDescription* desc){ TRACE2(prev, desc);#ifdef FRAMEWORK_COREAUDIO if ((desc->componentType & 0xffff0000) == kComponentTypeAudioUnit) { return AudioComponentFindNext((AudioComponent) prev, (AudioComponentDescription*) desc); } else#endif return nullptr;}
long CountComponents(ComponentDescription* desc){#ifdef FRAMEWORK_COREAUDIO if ((desc->componentType & 0xffff0000) == kComponentTypeAudioUnit) { return AudioComponentCount((AudioComponentDescription*) desc); } else#endif return 0;}
OSErr OpenAComponent(Component comp, ComponentInstance* out){ TRACE1(comp);
if (!out) return paramErr;
*out = nullptr;
#ifdef FRAMEWORK_COREAUDIO if (GetComponentType(comp) == kComponentTypeAudioUnit) { AudioComponentInstance inst; OSErr err;
err = AudioComponentInstanceNew((AudioComponent) comp, &inst);
*out = inst; return err; } else#endif return unimpErr;}
ComponentInstance OpenComponent(Component comp){ TRACE1(comp);
ComponentInstance inst; OpenAComponent(comp, &inst); return inst;}
OSErr CloseComponent(ComponentInstance inst){ TRACE1(inst);
delete inst; return noErr;}