Cog/Audio/Chain/InputNode.h
Christopher Snowhill 82438fca04 Audio: Attempt to reduce glitching from seeking
Also applies to how output format changes are handled.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2025-02-14 18:50:50 -08:00

56 lines
995 B
Objective-C

//
// InputNode.h
// Cog
//
// Created by Vincent Spader on 8/2/05.
// Copyright 2005 Vincent Spader. All rights reserved.
//
#import <Cocoa/Cocoa.h>
#import <AudioToolbox/AudioToolbox.h>
#import <AudioUnit/AudioUnit.h>
#import <CoreAudio/AudioHardware.h>
#import "AudioDecoder.h"
#import "Node.h"
#import "Plugin.h"
#define INPUT_NODE_SEEK
@interface InputNode : Node {
id<CogDecoder> decoder;
int bytesPerSample;
int bytesPerFrame;
BOOL floatingPoint;
BOOL swapEndian;
BOOL shouldSeek;
long seekFrame;
double lastVolume;
BOOL observersAdded;
Semaphore *exitAtTheEndOfTheStream;
}
@property(readonly) Semaphore *exitAtTheEndOfTheStream;
@property(readonly) BOOL threadExited;
- (BOOL)openWithSource:(id<CogSource>)source;
- (BOOL)openWithDecoder:(id<CogDecoder>)d;
- (void)process;
- (NSDictionary *)properties;
- (void)seek:(long)frame;
- (void)registerObservers;
- (BOOL)setTrack:(NSURL *)track;
- (id<CogDecoder>)decoder;
- (void)setLastVolume:(double)v;
@end