cog/Audio/Chain/Node.h

64 lines
1.2 KiB
C
Raw Normal View History

2006-01-20 15:34:02 +00:00
//
// Node.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 "VirtualRingBuffer.h"
#import "Semaphore.h"
#define BUFFER_SIZE 1024 * 1024
2006-01-20 15:34:02 +00:00
#define CHUNK_SIZE 16 * 1024
@interface Node : NSObject {
VirtualRingBuffer *buffer;
Semaphore *semaphore;
2006-04-02 20:03:12 +00:00
NSLock *readLock;
NSLock *writeLock;
2006-01-20 15:34:02 +00:00
id __weak previousNode;
id __weak controller;
2006-01-20 15:34:02 +00:00
BOOL shouldReset;
2006-01-20 15:34:02 +00:00
BOOL shouldContinue;
BOOL endOfStream; //All data is now in buffer
BOOL initialBufferFilled;
2006-01-20 15:34:02 +00:00
}
- (id)initWithController:(id)c previous:(id)p;
2006-01-20 15:34:02 +00:00
- (int)writeData:(void *)ptr amount:(int)a;
- (int)readData:(void *)ptr amount:(int)a;
- (void)process; //Should be overwriten by subclass
- (void)threadEntry:(id)arg;
- (void)launchThread;
- (void)setShouldReset:(BOOL)s;
- (BOOL)shouldReset;
2006-04-02 20:03:12 +00:00
- (NSLock *)readLock;
- (NSLock *)writeLock;
- (void)setPreviousNode:(id)p;
2006-01-20 15:34:02 +00:00
- (id)previousNode;
- (BOOL)shouldContinue;
- (void)setShouldContinue:(BOOL)s;
- (VirtualRingBuffer *)buffer;
2006-04-02 20:03:12 +00:00
- (void)resetBuffer; //WARNING! DANGER WILL ROBINSON!
2006-01-20 15:34:02 +00:00
- (Semaphore *)semaphore;
//-(void)resetBuffer;
- (BOOL)endOfStream;
- (void)setEndOfStream:(BOOL)e;
2006-01-20 15:34:02 +00:00
@end