aboutsummaryrefslogtreecommitdiff
path: root/chaos/src/chaos_defs.hpp
diff options
context:
space:
mode:
authorTim Blechmann <timblech@users.sourceforge.net>2005-06-09 12:52:17 +0000
committerIOhannes m zmölnig <zmoelnig@iem.at>2015-10-14 15:11:59 +0200
commit2434290915cda6ed855e4dc2249312153b995817 (patch)
treef6c2a4c5c5c82cfcfb931dd8fa91ebb16b982721 /chaos/src/chaos_defs.hpp
parent5fda6973fd8d94872a61d99d264ee5902824139d (diff)
changed initialisation
svn path=/trunk/externals/tb/; revision=3145
Diffstat (limited to 'chaos/src/chaos_defs.hpp')
-rw-r--r--chaos/src/chaos_defs.hpp43
1 files changed, 41 insertions, 2 deletions
diff --git a/chaos/src/chaos_defs.hpp b/chaos/src/chaos_defs.hpp
index 08c47d4..d9f60d8 100644
--- a/chaos/src/chaos_defs.hpp
+++ b/chaos/src/chaos_defs.hpp
@@ -124,9 +124,24 @@ FLEXT_CALLVAR_I(get_##NAME, set_##NAME);
#define CHAOS_SYS_ATTRIBUTE(NAME) \
FLEXT_ADDATTR_VAR(#NAME,get_##NAME, set_##NAME);
-#define CHAOS_SYS_INIT(NAME, VALUE) \
+
+#define CHAOS_INIT(NAME, VALUE) \
set_##NAME(VALUE);
+#define CHAOS_SYS_INIT(NAME, VALUE, INDEX) \
+set_##NAME(VALUE); \
+t_atom atom_##NAME; \
+flext::SetSymbol(atom_##NAME, flext::MakeSymbol(#NAME)); \
+System.Append(atom_##NAME); \
+attr_ind[flext::MakeSymbol(#NAME)] = INDEX;
+
+#define CHAOS_PAR_INIT(NAME, VALUE) \
+set_##NAME(VALUE); \
+t_atom atom_##NAME; \
+flext::SetSymbol(atom_##NAME, flext::MakeSymbol(#NAME)); \
+Parameter.Append(atom_##NAME);
+
+
#define CHAOS_PARAMETER(NAME) m_##NAME
@@ -142,6 +157,7 @@ class CLASSNAME##_dsp: \
}; \
FLEXT_LIB_DSP_V(#CLASSNAME"~", CLASSNAME##_dsp);
+
#define CHAOS_DSP_CLASS_NAME(CLASSNAME,CLASSNAME_UC, NAME) \
class CLASSNAME##_dsp: \
public chaos_dsp<CLASSNAME> \
@@ -161,6 +177,7 @@ class CLASSNAME##_msg: \
}; \
FLEXT_LIB_V(#CLASSNAME, CLASSNAME##_msg);
+
#define CHAOS_MSG_CLASS_NAME(CLASSNAME,CLASSNAME_UC, NAME) \
class CLASSNAME##_msg: \
public chaos_msg<CLASSNAME> \
@@ -170,9 +187,31 @@ class CLASSNAME##_msg: \
}; \
FLEXT_LIB_V(#NAME, CLASSNAME##_msg);
+#define CHAOS_SEARCH_CLASS(CLASSNAME,CLASSNAME_UC) \
+class CLASSNAME##_search: \
+ public chaos_search<CLASSNAME> \
+{ \
+ CHAOS_SEARCH_INIT(CLASSNAME, CLASSNAME_UC##_ATTRIBUTES); \
+ CLASSNAME_UC##_CALLBACKS; \
+}; \
+FLEXT_LIB_V(#CLASSNAME"_search", CLASSNAME##_search);
+
+
+#define CHAOS_SEARCH_CLASS_NAME(CLASSNAME,CLASSNAME_UC, NAME) \
+class CLASSNAME##_msg: \
+ public chaos_search<CLASSNAME> \
+{ \
+ CHAOS_SEARCH_INIT(CLASSNAME, CLASSNAME_UC##_ATTRIBUTES); \
+ CLASSNAME_UC##_CALLBACKS; \
+}; \
+FLEXT_LIB_V(#NAME, CLASSNAME##_msg);
+
+
+
#define CHAOS_ADD(NAME) \
FLEXT_DSP_SETUP(NAME##_dsp); \
-FLEXT_SETUP(NAME##_msg);
+FLEXT_SETUP(NAME##_msg); \
+FLEXT_SETUP(NAME##_search);
#define __chaos_defs_hpp
#endif /* __chaos_defs_hpp */