From 6adfba996c34b2c78515e8a50ad5928188d78612 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?IOhannes=20m=20zm=C3=B6lnig?= Date: Thu, 7 Feb 2008 23:05:57 +0000 Subject: reorganizing svn path=/trunk/; revision=9376 --- extensions/xgui/xgui-lib/send2.c | 67 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 extensions/xgui/xgui-lib/send2.c (limited to 'extensions/xgui/xgui-lib/send2.c') diff --git a/extensions/xgui/xgui-lib/send2.c b/extensions/xgui/xgui-lib/send2.c new file mode 100644 index 00000000..a58b87c6 --- /dev/null +++ b/extensions/xgui/xgui-lib/send2.c @@ -0,0 +1,67 @@ +/* Copyright (c) 2002 Damien HENRY. +* For information on usage and redistribution, and for a DISCLAIMER OF ALL +* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ + +/* ------------------------ based on remote --------------------------------- */ +/* */ +/* Send data to receive obejct . */ +/* Written by Olaf Matthes (olaf.matthes@gmx.de) */ + +#include "m_pd.h" + +/*dh : +#include +#include */ + +#define MAX_REC 64 /* maximum number of receive objects */ +#define MAX_ARG 32 /* maximum number of arguments to pass on */ + +static t_class *send2_class; + +/*dh: I've removed the static *char */ + +typedef struct _send2 +{ + t_object x_obj; +} t_send2; + + /* send 'anything' to receiver */ +static void send2_anything(t_send2 *x, t_symbol *s, int argc, t_atom *argv) +{ + int i; + t_atom av[MAX_ARG]; /* the 'new' t_atom without first element */ + t_int ac = argc - 1; /* the 'new' number of arguments */ + + if(argc < 1) /* need */ + { + post("send2: too few arguments!"); + return; + } + if(ac > MAX_ARG) + { + post("send2: too many arguments!"); + return; + } + + for(i = 1; i < argc; i++) + { + av[i - 1] = argv[i]; /* just copy, don't care about types */ + } + /* send only argument-part to receivers */ + if (s->s_thing) pd_forwardmess(s->s_thing, argc, argv); +} + +static void *send2_new(void) +{ + t_send2 *x = (t_send2 *)pd_new(send2_class); + /*dh: I've removed the post here */ + return (x); +} + +void send2_setup(void) +{ + send2_class = class_new(gensym("send2"), (t_newmethod)send2_new, 0, + sizeof(t_send2), 0, 0); + class_addanything(send2_class, send2_anything); + class_sethelpsymbol(send2_class, gensym("xgui/help_send2.pd")); +} -- cgit v1.2.1