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 #ifdef HAVE_CONFIG_H
00027 #include <config.h>
00028 #endif
00029
00030
00031
00032 #include <map>
00033 #include "aflib.h"
00034 #include "aflibAudio.h"
00035
00046 class aflibChainNode {
00047
00048 public:
00049
00050 aflibChainNode(aflibAudio& audio_item);
00051 ~aflibChainNode();
00052
00053 int
00054 addParent(aflibAudio& parent_item);
00055
00056 void
00057 removeParent(int parent_id);
00058
00059 void
00060 replaceParent(
00061 aflibAudio& parent_item,
00062 int parent_id);
00063
00064 aflibAudio&
00065 getAudioItem();
00066
00067 map<int, aflibAudio *, less<int> >&
00068 getParents() ;
00069
00070 bool
00071 getNodeProcessed() const;
00072
00073 void
00074 setNodeProcessed(bool node);
00075
00076
00077 protected:
00078
00079 private:
00080
00081 aflibChainNode();
00082
00083
00084 aflibAudio& _audio_item;
00085 map<int, aflibAudio *, less<int> > _audio_parents;
00086 int _id_counter;
00087 bool _node_processed;
00088
00089 };
00090
00091
00092 #endif