diff options
author | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2003-11-17 17:15:56 +0000 |
---|---|---|
committer | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2003-11-17 17:15:56 +0000 |
commit | 9261cbf775156956f0c6a490c853429089c0f6f5 (patch) | |
tree | c63d9f0c3ada6fe3ca1af23a45646386e297ad7e | |
parent | 51d523b521fa01f61ec8e2b5b07ef6c17846eacb (diff) |
first sketch of platformdummy, doesn't work yet
svn path=/trunk/externals/hcs/; revision=1191
-rw-r--r-- | platformdummy-help.pd | 12 | ||||
-rw-r--r-- | platformdummy.c | 57 |
2 files changed, 69 insertions, 0 deletions
diff --git a/platformdummy-help.pd b/platformdummy-help.pd new file mode 100644 index 0000000..6fcce51 --- /dev/null +++ b/platformdummy-help.pd @@ -0,0 +1,12 @@ +#N canvas 302 322 432 260 10; +#X obj 156 160 platformdummy; +#X text 18 64 [platformdummy] is an merely a space filler to take the +place of platform-specific objects when you are running a patch on +a platform that doesn't support specific objects.; +#X text 18 115 Some examples of such objects are [linuxevent] and [linuxmouse] +which only work with the Linux Event system.; +#X text 22 198 [platformdummy] has 8 inlets and 8 outlets so that you +won't loose the connections if the patch is saved on a platform that +doesn't support a given object.; +#X obj 16 5 cnv 15 400 40 empty empty platformdummy 20 12 1 14 -257472 +-66577 0; diff --git a/platformdummy.c b/platformdummy.c new file mode 100644 index 0000000..9a194a2 --- /dev/null +++ b/platformdummy.c @@ -0,0 +1,57 @@ +/* -------------------------- platformdummy ----------------------------------- */ +/* */ +/* Space filler object for objects that don't work on the given platform. */ +/* Written by Hans-Christoph Steiner <hans@eds.org> */ +/* */ +/* This program is free software; you can redistribute it and/or */ +/* modify it under the terms of the GNU General Public License */ +/* as published by the Free Software Foundation; either version 2 */ +/* of the License, or (at your option) any later version. */ +/* */ +/* This program is distributed in the hope that it will be useful, */ +/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ +/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ +/* GNU General Public License for more details. */ +/* */ +/* You should have received a copy of the GNU General Public License */ +/* along with this program; if not, write to the Free Software */ +/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +/* */ +/* Based on PureData by Miller Puckette and others. */ +/* */ +/* ---------------------------------------------------------------------------- */ + +#include <m_pd.h> + +#define INLET_NUMBER 8 +#define OUTLET_NUMBER 8 + +typedef struct platformdummy { + t_object x_ob; + t_symbol *x_symbol; + t_outlet *x_outlets[OUTLET_NUMBER]; +} t_platformdummy; + +t_class *platformdummy_class; + +void *platformdummy_new(void) { + int i; + + t_platformdummy *x = (t_platformdummy *)pd_new(platformdummy_class); + +/* counter starts at one since Pd makes the first inlet automatically */ + for (i=1;i<INLET_NUMBER;x++) + symbolinlet_new(&x->x_ob, &x->x_symbol); + + for (i=0;i<OUTLET_NUMBER;x++) + x->x_outlets[i] = outlet_new(&x->x_ob, gensym("float")); + + return (void *)x; +} + +void platformdummy_setup(void) { + platformdummy_class = class_new(gensym("platformdummy"), (t_newmethod)platformdummy_new, + 0, sizeof(t_platformdummy), 0, 0); + class_sethelpsymbol(platformdummy_class, gensym("platformdummy-help.pd")); +} + |