diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/iem16.c | 26 |
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){ |