00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00017
00018 #ifndef __SND_PLAYER_H__
00019 #define __SND_PLAYER_H__
00020
00021 #import <Foundation/Foundation.h>
00022 #import "SndStreamClient.h"
00023 #import "SndPerformance.h"
00024
00033 @interface SndPlayer : SndStreamClient
00034 {
00036 NSMutableArray *toBePlayed;
00038 NSMutableArray *playing;
00042 NSRecursiveLock *playingLock;
00046 BOOL remainConnectedToManager;
00052 NSMutableArray *removalArray;
00057 SndAudioBuffer *nativelyFormattedStreamingBuffer;
00058
00062 BOOL autoStartManager;
00069 SndPerformance *preemptingPerformance;
00070 }
00071
00078 + player;
00085 + (SndPlayer*) defaultSndPlayer;
00090 - init;
00094 - (void) dealloc;
00099 - (NSString *) description;
00105 - (SndPerformance *) playSnd: (Snd*) s;
00106
00113 - (SndPerformance *) playSnd: (Snd*) s withTimeOffset: (double) inSeconds;
00114
00123 - (SndPerformance *) playSnd: (Snd *) s
00124 withTimeOffset: (double) inSeconds
00125 beginAtIndex: (unsigned long) beginAtIndex
00126 endAtIndex: (unsigned long) endIndex;
00127
00136 - (SndPerformance *) playSnd: (Snd *) s
00137 atTimeInSeconds: (double) playT
00138 beginAtIndex: (unsigned long) beginAtIndex
00139 endAtIndex: (unsigned long) endAtIndex;
00140
00149 - (SndPerformance *) playSnd: (Snd *) s
00150 atTimeInSeconds: (double) playT
00151 startPositionInSeconds: (double) startpos
00152 durationInSeconds: (double) d;
00159 - stopSnd: (Snd*) s withTimeOffset: (double) inSeconds;
00165 - stopSnd: (Snd *) s;
00178 - stopPerformance: (SndPerformance *) performance inFuture: (double) inSeconds;
00190 - pauseSnd: (Snd*) s;
00198 - (void) processBuffers;
00212 - setRemainConnectedToManager: (BOOL) b;
00213
00222 - (BOOL) remainConnectedToManager;
00223
00230 - addPerformance: (SndPerformance*) aPerformance;
00231
00239 - (double) preemptQueuedStream;
00240
00248 - setAutoStartManager: (BOOL) yesOrNo;
00249
00257 - (BOOL) autoStartManager;
00258
00259 @end
00260
00262
00263 #endif