aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/iem16.c26
1 files changed, 18 insertions, 8 deletions
diff --git a/src/iem16.c b/src/iem16.c
index d916ddc..42cd9ac 100644
--- a/src/iem16.c
+++ b/src/iem16.c
@@ -9,15 +9,16 @@
/* do a little help thing */
typedef struct iem16 {
- t_object t_ob;
+ t_object x_obj;
} t_iem16;
-t_class *iem16_class;
+static t_class *iem16_class;
-void *iem16_new(void){
+
+static void *iem16_new(void){
t_iem16 *x = (t_iem16 *)pd_new(iem16_class);
post("iem16: 16bit objects for low memory usage");
- return (void *)x;
+ return(x);
}
/* include some externals */
@@ -27,6 +28,12 @@ void iem16_array_tilde_setup();
void iem16_delay_setup();
void iem16_setup(void) {
+ static unsigned int setupcount=0;
+ if(setupcount>0) {
+ post("iem16:\tsetup called several times, skipping...");
+ return;
+ }
+ setupcount++;
iem16_table_setup();
iem16_array_setup();
iem16_array_tilde_setup();
@@ -37,14 +44,17 @@ void iem16_setup(void) {
post("iem16:\t(l) forum::für::umläute\t\tIOhannes m zmölnig");
post("iem16:\tInstitute of Electronic Music and Acoustics, Graz - iem");
post("iem16:\tcompiled: "__DATE__);
-
-
+#if defined __WIN32__ || defined __WIN32
+ post("iem16:\ton W32 you cannot create the [iem16] object. nevermind...");
+#else
iem16_class = class_new(gensym("iem16"),
iem16_new,
0,
- sizeof(t_iem16), CLASS_NOINLET, A_NULL);
+ sizeof(t_iem16), 0, 0);
+
class_addcreator((t_newmethod)iem16_new,
- gensym("IEM16"), A_NULL);
+ gensym("IEM16"), 0);
+#endif
}
void IEM16_setup(void){