// // OutputCoreAudio.h // Cog // // Created by Vincent Spader on 8/2/05. // Copyright 2005 Vincent Spader. All rights reserved. // #import #import #import #import #import #import #import #import #import "Semaphore.h" @class OutputNode; @interface OutputCoreAudio : NSObject { OutputNode * outputController; Semaphore * writeSemaphore; Semaphore * readSemaphore; BOOL running; BOOL stopping; BOOL stopped; BOOL started; BOOL paused; BOOL eqEnabled; atomic_long bytesRendered; BOOL listenerapplied; float volume; AVAudioFormat *_deviceFormat; AudioDeviceID outputDeviceID; AudioStreamBasicDescription deviceFormat; // info about the default device AUAudioUnit *_au; size_t _bufferSize; AudioUnit _eq; } - (id)initWithController:(OutputNode *)c; - (BOOL)setup; - (OSStatus)setOutputDeviceByID:(AudioDeviceID)deviceID; - (BOOL)setOutputDeviceWithDeviceDict:(NSDictionary *)deviceDict; - (void)start; - (void)pause; - (void)resume; - (void)stop; - (void)setVolume:(double) v; - (void)setEqualizerEnabled:(BOOL)enabled; @end