2006-01-20 12:34:02 -03:00
|
|
|
//
|
2006-04-02 11:44:08 -04:00
|
|
|
// OutputNode.h
|
2006-01-20 12:34:02 -03:00
|
|
|
// Cog
|
|
|
|
//
|
2006-09-04 14:46:18 -04:00
|
|
|
// Created by Vincent Spader on 8/2/05.
|
|
|
|
// Copyright 2005 Vincent Spader. All rights reserved.
|
2006-01-20 12:34:02 -03:00
|
|
|
//
|
|
|
|
|
|
|
|
#import <Cocoa/Cocoa.h>
|
|
|
|
|
|
|
|
#import <AudioToolbox/AudioToolbox.h>
|
|
|
|
#import <AudioUnit/AudioUnit.h>
|
2022-02-07 02:49:27 -03:00
|
|
|
#import <CoreAudio/AudioHardware.h>
|
2006-01-20 12:34:02 -03:00
|
|
|
|
2025-02-26 01:10:06 -03:00
|
|
|
#import <CogAudio/Node.h>
|
|
|
|
#import <CogAudio/OutputCoreAudio.h>
|
2006-01-20 12:34:02 -03:00
|
|
|
|
|
|
|
@interface OutputNode : Node {
|
|
|
|
AudioStreamBasicDescription format;
|
2022-02-07 05:56:05 -03:00
|
|
|
uint32_t config;
|
2022-02-07 02:49:27 -03:00
|
|
|
|
2022-01-13 04:17:07 -03:00
|
|
|
double amountPlayed;
|
2022-06-19 02:00:08 -04:00
|
|
|
double amountPlayedInterval;
|
2023-10-02 11:04:26 -03:00
|
|
|
OutputCoreAudio *output;
|
2022-02-07 02:49:27 -03:00
|
|
|
|
|
|
|
BOOL paused;
|
|
|
|
BOOL started;
|
2022-06-19 02:00:08 -04:00
|
|
|
BOOL intervalReported;
|
2006-01-20 12:34:02 -03:00
|
|
|
}
|
|
|
|
|
2006-04-02 11:44:08 -04:00
|
|
|
- (double)amountPlayed;
|
2022-06-19 02:00:08 -04:00
|
|
|
- (double)amountPlayedInterval;
|
2006-04-02 11:44:08 -04:00
|
|
|
|
2022-02-06 08:08:34 -03:00
|
|
|
- (void)incrementAmountPlayed:(double)seconds;
|
2025-02-12 09:41:11 -03:00
|
|
|
- (void)setAmountPlayed:(double)seconds;
|
2022-01-15 03:46:41 -03:00
|
|
|
- (void)resetAmountPlayed;
|
2022-06-19 02:00:08 -04:00
|
|
|
- (void)resetAmountPlayedInterval;
|
2022-01-15 03:46:41 -03:00
|
|
|
|
2022-06-24 02:17:31 -04:00
|
|
|
- (BOOL)selectNextBuffer;
|
2022-01-15 03:46:41 -03:00
|
|
|
- (void)endOfInputPlayed;
|
2022-01-15 07:09:26 -03:00
|
|
|
|
|
|
|
- (BOOL)chainQueueHasTracks;
|
2022-01-15 03:46:41 -03:00
|
|
|
|
|
|
|
- (double)secondsBuffered;
|
|
|
|
|
2006-01-20 12:34:02 -03:00
|
|
|
- (void)setup;
|
2025-02-28 22:56:10 -03:00
|
|
|
- (void)setupWithInterval:(BOOL)resumeInterval;
|
2006-01-20 12:34:02 -03:00
|
|
|
- (void)process;
|
2006-04-02 11:44:08 -04:00
|
|
|
- (void)close;
|
2006-04-02 16:03:12 -04:00
|
|
|
- (void)seek:(double)time;
|
2006-01-20 12:34:02 -03:00
|
|
|
|
2022-06-25 09:42:56 -04:00
|
|
|
- (double)latency;
|
|
|
|
|
2022-02-06 08:08:34 -03:00
|
|
|
- (AudioChunk *)readChunk:(size_t)amount;
|
2006-01-20 12:34:02 -03:00
|
|
|
|
2022-02-07 05:56:05 -03:00
|
|
|
- (void)setFormat:(AudioStreamBasicDescription *)f channelConfig:(uint32_t)channelConfig;
|
2022-02-07 02:49:27 -03:00
|
|
|
- (AudioStreamBasicDescription)format;
|
2022-02-07 05:56:05 -03:00
|
|
|
- (uint32_t)config;
|
2006-01-20 12:34:02 -03:00
|
|
|
|
2025-02-13 19:56:18 -03:00
|
|
|
- (AudioStreamBasicDescription)deviceFormat;
|
|
|
|
- (uint32_t)deviceChannelConfig;
|
|
|
|
|
2025-02-14 23:50:50 -03:00
|
|
|
- (double)volume;
|
2022-02-07 02:49:27 -03:00
|
|
|
- (void)setVolume:(double)v;
|
2006-01-20 12:34:02 -03:00
|
|
|
|
2007-02-24 17:36:27 -03:00
|
|
|
- (void)setShouldContinue:(BOOL)s;
|
|
|
|
|
2022-12-10 02:18:47 -03:00
|
|
|
- (void)setShouldPlayOutBuffer:(BOOL)s;
|
|
|
|
|
2007-02-24 17:36:27 -03:00
|
|
|
- (void)pause;
|
|
|
|
- (void)resume;
|
|
|
|
|
2013-10-21 02:04:09 -03:00
|
|
|
- (BOOL)isPaused;
|
|
|
|
|
2022-01-19 07:08:57 -03:00
|
|
|
- (void)sustainHDCD;
|
|
|
|
|
2022-02-08 03:44:56 -03:00
|
|
|
- (void)restartPlaybackAtCurrentPosition;
|
|
|
|
|
2025-02-13 06:12:53 -03:00
|
|
|
- (double)getTotalLatency;
|
|
|
|
- (double)getPostVisLatency;
|
|
|
|
|
2006-01-20 12:34:02 -03:00
|
|
|
@end
|