cog/Audio/Output/OutputCoreAudio.h

55 lines
1.1 KiB
C
Raw Normal View History

2006-01-20 15:34:02 +00:00
//
// OutputCoreAudio.h
// Cog
//
// Created by Vincent Spader on 8/2/05.
// Copyright 2005 Vincent Spader. All rights reserved.
2006-01-20 15:34:02 +00:00
//
2020-03-23 08:46:41 +00:00
#import <AssertMacros.h>
2006-01-20 15:34:02 +00:00
#import <Cocoa/Cocoa.h>
#import <CoreAudio/AudioHardware.h>
#import <AudioToolbox/AudioToolbox.h>
#import <AudioUnit/AudioUnit.h>
@class OutputNode;
2006-01-20 15:34:02 +00:00
@interface OutputCoreAudio : NSObject {
OutputNode * outputController;
BOOL primed;
BOOL running;
BOOL stopping;
BOOL stopped;
BOOL listenerapplied;
float volume;
AudioDeviceID outputDeviceID;
AudioStreamBasicDescription deviceFormat; // info about the default device
AudioQueueRef audioQueue;
AudioQueueBufferRef *buffers;
UInt32 numberOfBuffers;
UInt32 bufferByteSize;
2006-01-20 15:34:02 +00:00
AudioUnit outputUnit;
AURenderCallbackStruct renderCallback;
2006-01-20 15:34:02 +00:00
}
- (id)initWithController:(OutputNode *)c;
2006-01-20 15:34:02 +00:00
- (BOOL)setup;
2020-02-17 17:20:48 +00:00
- (OSStatus)setOutputDeviceByID:(AudioDeviceID)deviceID;
- (BOOL)setOutputDeviceWithDeviceDict:(NSDictionary *)deviceDict;
2006-01-20 15:34:02 +00:00
- (void)start;
- (void)pause;
- (void)resume;
- (void)stop;
2006-01-20 15:34:02 +00:00
- (void)setVolume:(double) v;
@end