diff options
author | IOhannes m zmölnig <zmoelnig@users.sourceforge.net> | 2008-06-13 13:39:54 +0000 |
---|---|---|
committer | IOhannes m zmölnig <zmoelnig@iem.at> | 2015-10-14 15:08:23 +0200 |
commit | 44824cfa333691b8e300adbc47bcadcde6691979 (patch) | |
tree | 98e2c1c698e6b7b339eaecb0135e33920142f318 /dmx512/src | |
parent | 124ec02a0b4114bb52bcb8c44c4d76de737f6e6c (diff) |
tell that [dmxin] isn't yet there...
svn path=/trunk/externals/iem/dmx512/; revision=9993
Diffstat (limited to 'dmx512/src')
-rw-r--r-- | dmx512/src/dmx4pd.h | 5 | ||||
-rw-r--r-- | dmx512/src/dmxin.c | 50 | ||||
-rw-r--r-- | dmx512/src/dmxout.c | 5 |
3 files changed, 52 insertions, 8 deletions
diff --git a/dmx512/src/dmx4pd.h b/dmx512/src/dmx4pd.h index d386c28..cc6fe66 100644 --- a/dmx512/src/dmx4pd.h +++ b/dmx512/src/dmx4pd.h @@ -25,6 +25,11 @@ #include "m_pd.h" +#include <dmx/dmx.h> + +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> #define DMX4PD_POSTBANNER \ diff --git a/dmx512/src/dmxin.c b/dmx512/src/dmxin.c index 9e9e1b4..cfccd4b 100644 --- a/dmx512/src/dmxin.c +++ b/dmx512/src/dmxin.c @@ -17,21 +17,65 @@ #include "dmx4pd.h" + static t_class *dmxin_class; typedef struct _dmxin { t_object x_obj; + int x_device; + + t_outlet*x_outlet1, *x_outlet2; } t_dmxin; + + + +static void dmxin_close(t_dmxin*x) +{ + if(x->x_device>=0) { + close(x->x_device); + } + x->x_device=-1; +} + + +static void dmxin_open(t_dmxin*x, t_symbol*s_devname) +{ + int argc=2; + const char *args[2] = {"--dmx", s_devname->s_name}; + const char**argv=args; + char*devname=""; + int fd; + + if(s_devname && s_devname->s_name) + devname=s_devname->s_name; + + // strncpy(args[0], "--dmx", MAXPDSTRING); + // strncpy(args[1], devname, MAXPDSTRING); + + fd = open (DMXINdev(&argc, argv), O_RDONLY); + + if(fd!=-1) { + dmxin_close(x); + x->x_device=fd; + } +} + + static void *dmxin_new(void) { - t_dmxin *x = (t_dmxin *)pd_new(dmxin_class); - return (x); + if(0) { + t_dmxin *x = (t_dmxin *)pd_new(dmxin_class); + return (x); + } else { + error("[dmxin] not yet implemented"); + return 0; + } } static void *dmxin_free(t_dmxin*x) { - + dmxin_close(x); } void dmxin_setup(void) diff --git a/dmx512/src/dmxout.c b/dmx512/src/dmxout.c index b9066cb..fc3a875 100644 --- a/dmx512/src/dmxout.c +++ b/dmx512/src/dmxout.c @@ -17,14 +17,9 @@ #include "dmx4pd.h" -#include <fcntl.h> -#include <sys/stat.h> #include <unistd.h> #include <string.h> - -#include <dmx/dmx.h> - static t_class *dmxout_class; typedef struct _dmxout |