00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 #import "a2ml.h"
00011 #import "AMTime.h"
00012 #import "AMSound.h"
00013 #import "AMControllable.h"
00014 #import "AMControllableHierarchy.h"
00015 #import "AMPlayable.h"
00016 #import "AMInstanciable.h"
00017 #import "AMIdentifiable.h"
00018 #import "AMChunkInstance.h"
00019 #import <Foundation/Foundation.h>
00020 
00021 
00025 @interface AMChunk : NSObject <AMControllable, AMControllableHierarchy, AMPlayable, AMInstanciable, AMIdentifiable> {
00026     
00027     UID uid;
00028     AMTime *dur;
00029     AMPickType pick;
00030     AMFadeInType fadeInType;
00031     AMTime *fadeInDur;
00032     AMFadeOutType fadeOutType;
00033     AMTime *fadeOutDur;
00034     int activeSound;
00035     int nextSound;
00036     
00037     
00038     id parent;                      
00039     NSMutableArray *instances;      
00040     NSMutableDictionary *controls;  
00041     NSMutableArray *sounds;         
00042 }
00043 
00047 @property (nonatomic, copy) AMTime *dur;
00048 
00052 @property (nonatomic) AMPickType pick;
00053 
00059 @property (nonatomic) AMFadeInType fadeInType;
00060 
00064 @property (nonatomic, copy) AMTime *fadeInDur;
00065 
00069 @property (nonatomic) AMFadeOutType fadeOutType;
00070 
00074 @property (nonatomic, copy) AMTime *fadeOutDur;
00075 
00079 @property (nonatomic) int activeSound;
00080 
00084 @property (nonatomic) int nextSound;
00085 
00091 - (id)initWithParent:(id)_parent;
00092 
00097 - (void)addSound:(AMSound *)_sound;
00098 
00104 - (void)removeSoundAtIndex:(int)_idx;
00105 
00111 - (void)setActive:(AMSound *)_sound;
00112 
00113 
00119 - (NSArray *)getSounds;
00120 
00121 @end