Cog/Audio/Chain/OutputNode.h
Christopher Snowhill 637ea4efe1 Core Audio output: Rewrote major portions
After all this rewriting, down or upmixing the audio is now handled with
the lowest latency possible, meaning that toggling the HRIR option now
takes effect immediately.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-05 03:45:02 -08:00

70 lines
1.2 KiB
Objective-C

//
// OutputNode.h
// Cog
//
// Created by Vincent Spader on 8/2/05.
// Copyright 2005 Vincent Spader. All rights reserved.
//
#import <Cocoa/Cocoa.h>
#import <CoreAudio/AudioHardware.h>
#import <AudioToolbox/AudioToolbox.h>
#import <AudioUnit/AudioUnit.h>
#import "Node.h"
#import "OutputCoreAudio.h"
@interface OutputNode : Node {
AudioStreamBasicDescription format;
double amountPlayed;
double sampleRatio;
OutputCoreAudio *output;
BOOL paused;
BOOL started;
BOOL formatSetup;
BOOL formatChanged;
}
- (void)beginEqualizer:(AudioUnit)eq;
- (void)refreshEqualizer:(AudioUnit)eq;
- (void)endEqualizer:(AudioUnit)eq;
- (double)amountPlayed;
- (void)incrementAmountPlayed:(long)count;
- (void)resetAmountPlayed;
- (void)endOfInputPlayed;
- (BOOL)chainQueueHasTracks;
- (double)secondsBuffered;
- (void)setup;
- (void)process;
- (void)close;
- (void)seek:(double)time;
- (int)readData:(void *)ptr amount:(int)amount;
- (void)setFormat:(AudioStreamBasicDescription *)f;
- (AudioStreamBasicDescription) format;
- (void)setVolume:(double) v;
- (void)setShouldContinue:(BOOL)s;
- (void)pause;
- (void)resume;
- (BOOL)isPaused;
- (void)sustainHDCD;
- (BOOL)formatChanged;
@end