00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _AFLIBCHAINNODE_H
00024 #define _AFLIBCHAINNODE_H
00025
00026
00027 #include <map>
00028 #include "aflib.h"
00029 #include "aflibAudio.h"
00030
00041 class aflibChainNode {
00042
00043 public:
00044
00045 aflibChainNode(aflibAudio& audio_item);
00046 ~aflibChainNode();
00047
00048 int
00049 addParent(aflibAudio& parent_item);
00050
00051 void
00052 removeParent(int parent_id);
00053
00054 void
00055 replaceParent(
00056 aflibAudio& parent_item,
00057 int parent_id);
00058
00059 aflibAudio&
00060 getAudioItem();
00061
00062 map<int, aflibAudio *, less<int> >&
00063 getParents() ;
00064
00065 bool
00066 getNodeProcessed() const;
00067
00068 void
00069 setNodeProcessed(bool node);
00070
00071
00072 protected:
00073
00074 private:
00075
00076 aflibChainNode();
00077
00078
00079 aflibAudio& _audio_item;
00080 map<int, aflibAudio *, less<int> > _audio_parents;
00081 int _id_counter;
00082 bool _node_processed;
00083
00084 };
00085
00086
00087 #endif