cog/Audio/Chain/BufferChain.h

83 lines
1.8 KiB
C
Raw Normal View History

2006-01-20 15:34:02 +00:00
//
// BufferChain.h
2006-01-20 15:34:02 +00:00
// CogNew
//
// Created by Vincent Spader on 1/4/06.
// Copyright 2006 Vincent Spader. All rights reserved.
2006-01-20 15:34:02 +00:00
//
#import <Cocoa/Cocoa.h>
#import "AudioPlayer.h"
#import "ConverterNode.h"
#import "InputNode.h"
2006-01-20 15:34:02 +00:00
@interface BufferChain : NSObject {
InputNode *inputNode;
ConverterNode *converterNode;
NSURL *streamURL;
id userInfo;
NSDictionary *rgInfo;
id finalNode; // Final buffer in the chain.
id controller;
2006-01-20 15:34:02 +00:00
}
- (id)initWithController:(id)c;
- (void)buildChain;
- (BOOL)open:(NSURL *)url withOutputFormat:(AudioStreamBasicDescription)outputFormat withOutputConfig:(uint32_t)outputConfig withRGInfo:(NSDictionary *)rgi;
// Used when changing tracks to reuse the same decoder
- (BOOL)openWithInput:(InputNode *)i withOutputFormat:(AudioStreamBasicDescription)outputFormat withOutputConfig:(uint32_t)outputConfig withRGInfo:(NSDictionary *)rgi;
// Used when resetting the decoder on seek
- (BOOL)openWithDecoder:(id<CogDecoder>)decoder
withOutputFormat:(AudioStreamBasicDescription)outputFormat
withOutputConfig:(uint32_t)outputConfig
withRGInfo:(NSDictionary *)rgi;
2006-04-02 20:03:12 +00:00
- (void)seek:(double)time;
2006-01-20 15:34:02 +00:00
- (void)launchThreads;
- (InputNode *)inputNode;
2006-01-20 15:34:02 +00:00
- (id)finalNode;
- (id)userInfo;
- (void)setUserInfo:(id)i;
- (NSDictionary *)rgInfo;
- (void)setRGInfo:(NSDictionary *)rgi;
- (NSURL *)streamURL;
- (void)setStreamURL:(NSURL *)url;
- (void)setShouldContinue:(BOOL)s;
- (void)initialBufferFilled:(id)sender;
- (BOOL)endOfInputReached;
- (BOOL)setTrack:(NSURL *)track;
- (BOOL)isRunning;
- (id)controller;
- (ConverterNode *)converter;
- (AudioStreamBasicDescription)inputFormat;
- (uint32_t)inputConfig;
- (double)secondsBuffered;
2022-01-19 10:08:57 +00:00
- (void)sustainHDCD;
- (void)restartPlaybackAtCurrentPosition;
- (void)pushInfo:(NSDictionary *)info;
2006-01-20 15:34:02 +00:00
@end