00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #import "AMControllable.h"
00011 #import "AMControllableHierarchy.h"
00012 #import "AMPlayable.h"
00013 #import "AMInstanciable.h"
00014 #import "AMIdentifiable.h"
00015 #import "AMSoundManager.h"
00016 #import "AMSoundInstance.h"
00017 #import "AMCue.h"
00018 #import "AMChunk.h"
00019 #import "AMControl.h"
00020 #import "fmod.hpp"
00021 #import "fmod_errors.h"
00022 #import <Foundation/Foundation.h>
00023
00024
00025
00026 @class AMCue;
00027 @class AMChunk;
00028
00033 @interface AMSound : NSObject <AMControllable, AMControllableHierarchy, AMPlayable, AMInstanciable, AMIdentifiable> {
00034
00035 int loopCount;
00036 int pickPriority;
00037 NSString *src;
00038
00039
00040 UID uid;
00041 id parent;
00042 AMCue *parentCue;
00043 int remainingLoops;
00044 NSMutableArray *instances;
00045 NSMutableDictionary *controls;
00046 FMOD::Sound *snd;
00047 }
00048
00053 @property (nonatomic) int loopCount;
00054
00059 @property (nonatomic) int pickPriority;
00060
00064 @property (nonatomic, readonly) NSString *src;
00065
00073 - (id)initWithParent:(id)_parent parentCue:(AMCue *)_parentCue src:(NSString *)_src;
00074
00079 - (void)setActive;
00080
00081
00087 - (FMOD::Sound *)getFMODSound;
00088
00089
00095 - (AMCue *)getParentCue;
00096
00102 - (NSArray *)getInstances;
00103
00104
00105 @end