From cb792a065213b54307417870689a93ff544d35dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?IOhannes=20m=20zm=C3=B6lnig?= Date: Mon, 1 Dec 2003 15:09:03 +0000 Subject: added [operating_system] to get the current OS svn path=/trunk/externals/zexy/; revision=1203 --- src/z_operating_system.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/z_operating_system.c (limited to 'src/z_operating_system.c') diff --git a/src/z_operating_system.c b/src/z_operating_system.c new file mode 100644 index 0000000..fdac649 --- /dev/null +++ b/src/z_operating_system.c @@ -0,0 +1,52 @@ + +/* 1008:forum::für::umläute:2001 */ + +/* + operating_system : operating_system-code for message-objects +*/ + +#include "zexy.h" + +/* ------------------------- operating_system ------------------------------- */ + +/* +MESSAGE OPERATING_SYSTEM: simple and easy +*/ + +static t_class *operating_system_class; + +typedef struct _operating_system +{ + t_object x_obj; + +} t_operating_system; + + +static void operating_system_bang(t_operating_system *x) +{ + t_symbol *s=gensym("unknown"); +#ifdef __linux__ + s=gensym("linux"); +#elif defined __APPLE__ + s=gensym("macos"); +#elif defined NT + s=gensym("windows"); +#endif + outlet_symbol(x->x_obj.ob_outlet, s); +} + +static void *operating_system_new(t_floatarg f) +{ + t_operating_system *x = (t_operating_system *)pd_new(operating_system_class); + outlet_new(&x->x_obj, 0); + return (x); +} + +void z_operating_system_setup(void) +{ + operating_system_class = class_new(gensym("operating_system"), (t_newmethod)operating_system_new, + 0, sizeof(t_operating_system), 0, A_DEFFLOAT, 0); + + class_addbang (operating_system_class, operating_system_bang); + class_sethelpsymbol(operating_system_class, gensym("zexy/operating_system")); +} -- cgit v1.2.1