Something went wrong. Try again.
Cider Isn't Darwin Emulation, Really
Something went wrong. Try again.
1.5 kB · 78 lines
C++
at android
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879#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>
#define TRACE1(x)#define TRACE2(x,y)
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;}