diff options
Diffstat (limited to 'pdstring+wchar')
-rwxr-xr-x | pdstring+wchar/configure | 26 | ||||
-rw-r--r-- | pdstring+wchar/configure.ac | 12 | ||||
-rw-r--r-- | pdstring+wchar/src/Makefile.am | 16 | ||||
-rw-r--r-- | pdstring+wchar/src/Makefile.in | 52 | ||||
-rw-r--r-- | pdstring+wchar/src/any2bytes-help.pd (renamed from pdstring+wchar/src/any2string-help.pd) | 25 | ||||
-rw-r--r-- | pdstring+wchar/src/any2bytes.c (renamed from pdstring+wchar/src/any2string.c) | 82 | ||||
-rw-r--r-- | pdstring+wchar/src/any2string_static.c | 246 | ||||
-rw-r--r-- | pdstring+wchar/src/bytes2any-help.pd (renamed from pdstring+wchar/src/string2any-help.pd) | 25 | ||||
-rw-r--r-- | pdstring+wchar/src/bytes2any.c (renamed from pdstring+wchar/src/string2any.c) | 68 | ||||
-rw-r--r-- | pdstring+wchar/src/config.h.in | 10 | ||||
-rw-r--r-- | pdstring+wchar/src/pdstring-help.pd | 52 | ||||
-rw-r--r-- | pdstring+wchar/src/pdstring.c | 13 | ||||
-rw-r--r-- | pdstring+wchar/src/unsigned.pd | 52 |
13 files changed, 215 insertions, 464 deletions
diff --git a/pdstring+wchar/configure b/pdstring+wchar/configure index d9a907c..3a822ed 100755 --- a/pdstring+wchar/configure +++ b/pdstring+wchar/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.61 for pdstring 0.07. +# Generated by GNU Autoconf 2.61 for pdstring 0.08. # # Report bugs to <moocow@ling.uni-potsdam.de>. # @@ -574,8 +574,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='pdstring' PACKAGE_TARNAME='pdstring' -PACKAGE_VERSION='0.07' -PACKAGE_STRING='pdstring 0.07' +PACKAGE_VERSION='0.08' +PACKAGE_STRING='pdstring 0.08' PACKAGE_BUGREPORT='moocow@ling.uni-potsdam.de' ac_default_prefix=/usr/local @@ -1181,7 +1181,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures pdstring 0.07 to adapt to many kinds of systems. +\`configure' configures pdstring 0.08 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1247,7 +1247,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of pdstring 0.07:";; + short | recursive ) echo "Configuration of pdstring 0.08:";; esac cat <<\_ACEOF @@ -1341,7 +1341,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -pdstring configure 0.07 +pdstring configure 0.08 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1355,7 +1355,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by pdstring $as_me 0.07, which was +It was created by pdstring $as_me 0.08, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ @@ -2030,7 +2030,7 @@ fi # Define the identity of the package. PACKAGE=pdstring - VERSION=0.07 + VERSION=0.08 cat >>confdefs.h <<_ACEOF @@ -3543,7 +3543,7 @@ esac ##------- PD externals: hack EXEEXT? PD_LIB_EXTERNALS="pdstring" -PD_OBJ_EXTERNALS="any2string string2any" +PD_OBJ_EXTERNALS="any2bytes bytes2any" # Check whether --enable-object-externals was given. if test "${enable_object_externals+set}" = set; then @@ -3687,12 +3687,12 @@ echo "${ECHO_T}yes" >&6; } DEBUG="yes" cat >>confdefs.h <<\_ACEOF -#define ANY2STRING_DEBUG 1 +#define ANY2BYTES_DEBUG 1 _ACEOF cat >>confdefs.h <<\_ACEOF -#define STRING2ANY_DEBUG 1 +#define BYTES2ANY_DEBUG 1 _ACEOF else @@ -4198,7 +4198,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by pdstring $as_me 0.07, which was +This file was extended by pdstring $as_me 0.08, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -4251,7 +4251,7 @@ Report bugs to <bug-autoconf@gnu.org>." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -pdstring config.status 0.07 +pdstring config.status 0.08 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/pdstring+wchar/configure.ac b/pdstring+wchar/configure.ac index dcd55c0..30ca59b 100644 --- a/pdstring+wchar/configure.ac +++ b/pdstring+wchar/configure.ac @@ -4,7 +4,7 @@ AC_PREREQ(2.5) dnl Some handy macros define([THE_PACKAGE_NAME], [pdstring]) -define([THE_PACKAGE_VERSION], [0.07]) +define([THE_PACKAGE_VERSION], [0.08]) define([THE_PACKAGE_AUTHOR], [moocow@ling.uni-potsdam.de]) AC_INIT(THE_PACKAGE_NAME, THE_PACKAGE_VERSION, THE_PACKAGE_AUTHOR) @@ -88,7 +88,7 @@ esac ##------- PD externals: hack EXEEXT? PD_LIB_EXTERNALS="pdstring" -PD_OBJ_EXTERNALS="any2string string2any" +PD_OBJ_EXTERNALS="any2bytes bytes2any" AC_ARG_ENABLE(object-externals, AC_HELP_STRING([--enable-object-externals], [Whether to build single-object externals (default=no)]), @@ -162,10 +162,10 @@ AC_ARG_ENABLE([debug], if test "$enable_debug" = "yes" ; then AC_MSG_RESULT(yes) DEBUG="yes" - AC_DEFINE(ANY2STRING_DEBUG,1, - [Define this to include debugging code for the 'string2any' external.]) - AC_DEFINE(STRING2ANY_DEBUG,1, - [Define this to include debugging code for the 'any2string' external.]) + AC_DEFINE(ANY2BYTES_DEBUG,1, + [Define this to include debugging code for the 'bytes2any' external.]) + AC_DEFINE(BYTES2ANY_DEBUG,1, + [Define this to include debugging code for the 'any2bytes' external.]) else AC_MSG_RESULT(no) DEBUG="no" diff --git a/pdstring+wchar/src/Makefile.am b/pdstring+wchar/src/Makefile.am index 73d1366..69e2efb 100644 --- a/pdstring+wchar/src/Makefile.am +++ b/pdstring+wchar/src/Makefile.am @@ -32,8 +32,8 @@ pdexterns_PROGRAMS = @PD_OBJECT_EXTERNALS@ ## --- possible externals EXTRA_PROGRAMS = \ pdstring \ - any2string \ - string2any + any2bytes \ + bytes2any ## --- patches pdexterns_DATA = @@ -41,8 +41,8 @@ pdexterns_DATA = ## --- documentation pddoc_DATA = \ pdstring-help.pd \ - any2string-help.pd \ - string2any-help.pd + any2bytes-help.pd \ + bytes2any-help.pd #----------------------------------------------------------------------- @@ -51,9 +51,9 @@ pddoc_DATA = \ pdstring_SOURCES = pdstring.c mooPdUtils.h -any2string_SOURCES = any2string.c mooPdUtils.h +any2bytes_SOURCES = any2bytes.c mooPdUtils.h -string2any_SOURCES = string2any.c mooPdUtils.h +bytes2any_SOURCES = bytes2any.c mooPdUtils.h #----------------------------------------------------------------------- # external compilation : flags @@ -74,9 +74,9 @@ AM_CFLAGS = $(OFLAGS) $(WFLAGS) $(AFLAGS) pdstring_LDFLAGS = $(LFLAGS) -string2any_LDFLAGS = $(LFLAGS) +bytes2any_LDFLAGS = $(LFLAGS) -any2string_LDFLAGS = $(LFLAGS) +any2bytes_LDFLAGS = $(LFLAGS) #----------------------------------------------------------------------- # Variables: cleanup diff --git a/pdstring+wchar/src/Makefile.in b/pdstring+wchar/src/Makefile.in index f454607..5f5b1ae 100644 --- a/pdstring+wchar/src/Makefile.in +++ b/pdstring+wchar/src/Makefile.in @@ -50,8 +50,8 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : pdexterns_PROGRAMS = @PD_OBJECT_EXTERNALS@ -EXTRA_PROGRAMS = pdstring$(EXEEXT) any2string$(EXEEXT) \ - string2any$(EXEEXT) +EXTRA_PROGRAMS = pdstring$(EXEEXT) any2bytes$(EXEEXT) \ + bytes2any$(EXEEXT) subdir = src SUBDIRS = DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ @@ -67,15 +67,15 @@ am__installdirs = "$(DESTDIR)$(pdexternsdir)" "$(DESTDIR)$(pddocdir)" \ "$(DESTDIR)$(pdexternsdir)" pdexternsPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(pdexterns_PROGRAMS) -am_any2string_OBJECTS = any2string.$(OBJEXT) -any2string_OBJECTS = $(am_any2string_OBJECTS) -any2string_LDADD = $(LDADD) +am_any2bytes_OBJECTS = any2bytes.$(OBJEXT) +any2bytes_OBJECTS = $(am_any2bytes_OBJECTS) +any2bytes_LDADD = $(LDADD) +am_bytes2any_OBJECTS = bytes2any.$(OBJEXT) +bytes2any_OBJECTS = $(am_bytes2any_OBJECTS) +bytes2any_LDADD = $(LDADD) am_pdstring_OBJECTS = pdstring.$(OBJEXT) pdstring_OBJECTS = $(am_pdstring_OBJECTS) pdstring_LDADD = $(LDADD) -am_string2any_OBJECTS = string2any.$(OBJEXT) -string2any_OBJECTS = $(am_string2any_OBJECTS) -string2any_LDADD = $(LDADD) DEFAULT_INCLUDES = -I. -I$(srcdir) -I. depcomp = $(SHELL) $(top_srcdir)/config/depcomp am__depfiles_maybe = depfiles @@ -83,10 +83,10 @@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -SOURCES = $(any2string_SOURCES) $(pdstring_SOURCES) \ - $(string2any_SOURCES) -DIST_SOURCES = $(any2string_SOURCES) $(pdstring_SOURCES) \ - $(string2any_SOURCES) +SOURCES = $(any2bytes_SOURCES) $(bytes2any_SOURCES) \ + $(pdstring_SOURCES) +DIST_SOURCES = $(any2bytes_SOURCES) $(bytes2any_SOURCES) \ + $(pdstring_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-exec-recursive install-info-recursive \ @@ -207,24 +207,24 @@ SUFFIXES = .@PDEXT@ pdexterns_DATA = pddoc_DATA = \ pdstring-help.pd \ - any2string-help.pd \ - string2any-help.pd + any2bytes-help.pd \ + bytes2any-help.pd #----------------------------------------------------------------------- # sources #----------------------------------------------------------------------- pdstring_SOURCES = pdstring.c mooPdUtils.h -any2string_SOURCES = any2string.c mooPdUtils.h -string2any_SOURCES = string2any.c mooPdUtils.h +any2bytes_SOURCES = any2bytes.c mooPdUtils.h +bytes2any_SOURCES = bytes2any.c mooPdUtils.h #GLIB_IFLAGS = @GLIB_IFLAGS@ #GLIB_LFLAGS = @GLIB_LFLAGS@ AM_CPPFLAGS = $(IFLAGS) $(GLIB_IFLAGS) $(DFLAGS) AM_CFLAGS = $(OFLAGS) $(WFLAGS) $(AFLAGS) pdstring_LDFLAGS = $(LFLAGS) -string2any_LDFLAGS = $(LFLAGS) -any2string_LDFLAGS = $(LFLAGS) +bytes2any_LDFLAGS = $(LFLAGS) +any2bytes_LDFLAGS = $(LFLAGS) #----------------------------------------------------------------------- # Variables: cleanup @@ -332,15 +332,15 @@ uninstall-pdexternsPROGRAMS: clean-pdexternsPROGRAMS: -test -z "$(pdexterns_PROGRAMS)" || rm -f $(pdexterns_PROGRAMS) -any2string$(EXEEXT): $(any2string_OBJECTS) $(any2string_DEPENDENCIES) - @rm -f any2string$(EXEEXT) - $(LINK) $(any2string_LDFLAGS) $(any2string_OBJECTS) $(any2string_LDADD) $(LIBS) +any2bytes$(EXEEXT): $(any2bytes_OBJECTS) $(any2bytes_DEPENDENCIES) + @rm -f any2bytes$(EXEEXT) + $(LINK) $(any2bytes_LDFLAGS) $(any2bytes_OBJECTS) $(any2bytes_LDADD) $(LIBS) +bytes2any$(EXEEXT): $(bytes2any_OBJECTS) $(bytes2any_DEPENDENCIES) + @rm -f bytes2any$(EXEEXT) + $(LINK) $(bytes2any_LDFLAGS) $(bytes2any_OBJECTS) $(bytes2any_LDADD) $(LIBS) pdstring$(EXEEXT): $(pdstring_OBJECTS) $(pdstring_DEPENDENCIES) @rm -f pdstring$(EXEEXT) $(LINK) $(pdstring_LDFLAGS) $(pdstring_OBJECTS) $(pdstring_LDADD) $(LIBS) -string2any$(EXEEXT): $(string2any_OBJECTS) $(string2any_DEPENDENCIES) - @rm -f string2any$(EXEEXT) - $(LINK) $(string2any_LDFLAGS) $(string2any_OBJECTS) $(string2any_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -348,9 +348,9 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/any2string.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/any2bytes.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bytes2any.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pdstring.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/string2any.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ diff --git a/pdstring+wchar/src/any2string-help.pd b/pdstring+wchar/src/any2bytes-help.pd index 873070c..215a27f 100644 --- a/pdstring+wchar/src/any2string-help.pd +++ b/pdstring+wchar/src/any2bytes-help.pd @@ -1,12 +1,9 @@ #N canvas 90 20 636 478 10; -#X obj 25 400 print any2string-help; -#X obj 25 314 any2string 128 -1; #X msg 109 197 0; #X msg 77 197 -1; #X text 19 47 INLETS:; #X text 31 61 1 - pd messages; #X text 247 49 OUTLETS:; -#X text 263 63 1 - lists of ASCII-valued floats; #X floatatom 44 147 8 0 0 0 - - -; #X symbolatom 34 125 10 0 0 0 - - -; #X text 189 125 ... no special handling for symbols; @@ -21,19 +18,23 @@ text buffer). This should get re-allocated when necessary. Specify #X text 320 458 Bryan Jurish <moocow@ling.uni-potsdam.de>; #X text 19 439 SEE ALSO:; #X msg 139 197 42; -#X text 21 29 SYNTAX: any2string [INITIAL_BUFSIZE [EOS_CHAR]]; #X text 184 194 The second inlet sets the terminating EOS ("end-of-string") character. This value gets implicitly appended to all output lists. Specify a negative value here to avoid implicit EOS characters entirely. For backwards compatibility \, the default EOS character is 0 (zero). ; -#X text 51 5 any2string : convert pd messages to a list of floats; #X text 31 75 2 - EOS character (float); #X obj 100 438 pdstring; -#X connect 1 0 0 0; -#X connect 2 0 1 1; -#X connect 3 0 1 1; -#X connect 8 0 1 0; -#X connect 9 0 1 0; -#X connect 13 0 1 0; -#X connect 18 0 1 1; +#X obj 25 314 any2bytes 128 -1; +#X obj 25 400 print any2bytes-help; +#X text 21 29 SYNTAX: any2bytes [INITIAL_BUFSIZE [EOS_CHAR]]; +#X text 263 63 1 - lists of byte-valued floats; +#X text 49 5 any2bytes : convert pd messages to a list of byte values +; +#X connect 0 0 19 1; +#X connect 1 0 19 1; +#X connect 5 0 19 0; +#X connect 6 0 19 0; +#X connect 10 0 19 0; +#X connect 15 0 19 1; +#X connect 19 0 20 0; diff --git a/pdstring+wchar/src/any2string.c b/pdstring+wchar/src/any2bytes.c index deb4b9b..f765f6f 100644 --- a/pdstring+wchar/src/any2string.c +++ b/pdstring+wchar/src/any2bytes.c @@ -1,10 +1,10 @@ /* -*- Mode: C -*- */ /*=============================================================================*\ - * File: any2string.c + * File: any2bytes.c * Author: Bryan Jurish <moocow@ling.uni-potsdam.de> * Description: convert pd messages to strings (dynamic allocation) * - * Copyright (c) 2004 - 2009 Bryan Jurish. + * Copyright (c) 2004-2009 Bryan Jurish. * * For information on usage and redistribution, and for a DISCLAIMER OF ALL * WARRANTIES, see the file "COPYING", in this distribution. @@ -41,23 +41,23 @@ /*-------------------------------------------------------------------- * DEBUG *--------------------------------------------------------------------*/ -/*#define ANY2STRING_DEBUG 1*/ +/*#define ANY2BYTES_DEBUG 1*/ -#ifdef ANY2STRING_DEBUG +#ifdef ANY2BYTES_DEBUG # define A2SDEBUG(x) x #else # define A2SDEBUG(x) #endif -#define ANY2STRING_DEFAULT_BUFLEN 256 +#define ANY2BYTES_DEFAULT_BUFLEN 256 /*===================================================================== - * Structures and Types: any2string + * Structures and Types: any2bytes *=====================================================================*/ -static t_class *any2string_class; +static t_class *any2bytes_class; -typedef struct _any2string +typedef struct _any2bytes { t_object x_obj; int x_alloc; @@ -68,13 +68,13 @@ typedef struct _any2string t_binbuf *x_binbuf; t_inlet *x_eos_in; t_outlet *x_outlet; -} t_any2string; +} t_any2bytes; /*===================================================================== * Constants *=====================================================================*/ -static char *any2string_banner = "any2string: pdstring version " PACKAGE_VERSION " by Bryan Jurish"; +static char *any2bytes_banner = "any2bytes: pdstring version " PACKAGE_VERSION " by Bryan Jurish"; /*===================================================================== * Methods @@ -83,65 +83,65 @@ static char *any2string_banner = "any2string: pdstring version " PACKAGE_VERSION /*-------------------------------------------------------------------- * anything */ -static void any2string_anything(t_any2string *x, t_symbol *sel, int argc, t_atom *argv) +static void any2bytes_anything(t_any2bytes *x, t_symbol *sel, int argc, t_atom *argv) { t_atom *ap; unsigned char *s, *s_max; int len; - A2SDEBUG(post("-------any2string_anything(%p,...)---------", x)); + A2SDEBUG(post("-------any2bytes_anything(%p,...)---------", x)); /*-- set up binbuf --*/ - A2SDEBUG(post("any2string[%p]: binbuf_clear()", x)); + A2SDEBUG(post("any2bytes[%p]: binbuf_clear()", x)); binbuf_clear(x->x_binbuf); /*-- binbuf_add(): selector --*/ if (sel != &s_float && sel != &s_list && sel != &s_) { t_atom a; - A2SDEBUG(post("any2string[%p]: binbuf_add(): selector: '%s'", x, sel->s_name)); + A2SDEBUG(post("any2bytes[%p]: binbuf_add(): selector: '%s'", x, sel->s_name)); SETSYMBOL((&a), sel); binbuf_add(x->x_binbuf, 1, &a); } - A2SDEBUG(else { post("any2string[%p]: selector: '%s': IGNORED", x, sel->s_name); }); + A2SDEBUG(else { post("any2bytes[%p]: selector: '%s': IGNORED", x, sel->s_name); }); /*-- binbuf_add(): arg list --*/ - A2SDEBUG(post("any2string[%p]: binbuf_add(): arg list", x)); + A2SDEBUG(post("any2bytes[%p]: binbuf_add(): arg list", x)); binbuf_add(x->x_binbuf, argc, argv); - A2SDEBUG(post("any2string[%p]: binbuf_print: ", x)); + A2SDEBUG(post("any2bytes[%p]: binbuf_print: ", x)); A2SDEBUG(binbuf_print(x->x_binbuf)); - A2SDEBUG(post("any2string[%p]: binbuf_gettext()", x)); + A2SDEBUG(post("any2bytes[%p]: binbuf_gettext()", x)); binbuf_gettext(x->x_binbuf, &(x->x_text), &len); - A2SDEBUG(post("any2string[%p]: binbuf_gettext() = \"%s\" ; len=%d", x, x->x_text, len)); + A2SDEBUG(post("any2bytes[%p]: binbuf_gettext() = \"%s\" ; len=%d", x, x->x_text, len)); /*text[len] = 0;*/ /*-- ? avoid errors: "free(): invalid next size(fast): 0x..." */ /*-- get output atom-list length --*/ x->x_argc = len; if (x->x_eos >= 0) { x->x_argc++; } - A2SDEBUG(post("any2string[%p]: argc=%d", x, x->x_argc)); + A2SDEBUG(post("any2bytes[%p]: argc=%d", x, x->x_argc)); /*-- (re-)allocate (maybe) --*/ if (x->x_alloc < x->x_argc) { - A2SDEBUG(post("any2string[%p]: reallocate(%d->%d)", x, x->x_alloc, x->x_argc)); + A2SDEBUG(post("any2bytes[%p]: reallocate(%d->%d)", x, x->x_alloc, x->x_argc)); freebytes(x->x_argv, x->x_alloc*sizeof(t_atom)); x->x_argv = (t_atom*)getbytes(x->x_argc * sizeof(t_atom)); x->x_alloc = x->x_argc; } /*-- atom buffer: binbuf text --*/ - A2SDEBUG(post("any2string[%p]: atom buffer: for {...}", x)); + A2SDEBUG(post("any2bytes[%p]: atom buffer: for {...}", x)); ap = x->x_argv; s_max = ((unsigned char *)x->x_text)+len; for (s=((unsigned char *)x->x_text); s < s_max; s++, ap++) { - A2SDEBUG(post("any2string[%p]: atom buffer[%d]: SETFLOAT(a,%d='%c')", x, (ap-x->x_argv), *s, *s)); + A2SDEBUG(post("any2bytes[%p]: atom buffer[%d]: SETFLOAT(a,%d='%c')", x, (ap-x->x_argv), *s, *s)); SETFLOAT(ap,*s); } - A2SDEBUG(post("any2string: atom buffer: DONE")); + A2SDEBUG(post("any2bytes: atom buffer: DONE")); /*-- add EOS character (maybe) --*/ if (x->x_eos >= 0) { SETFLOAT(ap, ((int)x->x_eos)); } - A2SDEBUG(post("any2string: outlet_list(..., %d, ...)", x->x_argc)); + A2SDEBUG(post("any2bytes: outlet_list(..., %d, ...)", x->x_argc)); outlet_list(x->x_outlet, &s_list, x->x_argc, x->x_argv); } @@ -149,13 +149,13 @@ static void any2string_anything(t_any2string *x, t_symbol *sel, int argc, t_atom /*-------------------------------------------------------------------- * new */ -static void *any2string_new(MOO_UNUSED t_symbol *sel, int argc, t_atom *argv) +static void *any2bytes_new(MOO_UNUSED t_symbol *sel, int argc, t_atom *argv) { - t_any2string *x = (t_any2string *)pd_new(any2string_class); + t_any2bytes *x = (t_any2bytes *)pd_new(any2bytes_class); //-- defaults x->x_eos = 0; - x->x_alloc = ANY2STRING_DEFAULT_BUFLEN; + x->x_alloc = ANY2BYTES_DEFAULT_BUFLEN; //-- args: 0: bufsize if (argc > 0) { @@ -180,7 +180,7 @@ static void *any2string_new(MOO_UNUSED t_symbol *sel, int argc, t_atom *argv) x->x_outlet = outlet_new(&x->x_obj, &s_list); //-- report - A2SDEBUG(post("any2string_new(): x=%p, alloc=%d, eos=%d, text=%p, argv=%p, binbuf=%p", x, x->x_alloc, x->x_eos, x->x_text, x->x_argv, x->x_binbuf)); + A2SDEBUG(post("any2bytes_new(): x=%p, alloc=%d, eos=%d, text=%p, argv=%p, binbuf=%p", x, x->x_alloc, x->x_eos, x->x_text, x->x_argv, x->x_binbuf)); return (void *)x; } @@ -188,7 +188,7 @@ static void *any2string_new(MOO_UNUSED t_symbol *sel, int argc, t_atom *argv) /*-------------------------------------------------------------------- * free */ -static void any2string_free(t_any2string *x) +static void any2bytes_free(t_any2bytes *x) { if (x->x_text) { freebytes(x->x_text, x->x_alloc*sizeof(char)); @@ -207,33 +207,33 @@ static void any2string_free(t_any2string *x) /*-------------------------------------------------------------------- * setup (guts) */ -void any2string_setup_guts(void) +void any2bytes_setup_guts(void) { //-- class - any2string_class = class_new(gensym("any2string"), - (t_newmethod)any2string_new, - (t_method)any2string_free, - sizeof(t_any2string), + any2bytes_class = class_new(gensym("any2bytes"), + (t_newmethod)any2bytes_new, + (t_method)any2bytes_free, + sizeof(t_any2bytes), CLASS_DEFAULT, A_GIMME, //-- initial_bufsize, eos_char 0); //-- alias - class_addcreator((t_newmethod)any2string_new, gensym("any2bytes"), A_GIMME, 0); + class_addcreator((t_newmethod)any2bytes_new, gensym("any2string"), A_GIMME, 0); //-- methods - class_addanything(any2string_class, (t_method)any2string_anything); + class_addanything(any2bytes_class, (t_method)any2bytes_anything); //-- help symbol - //class_sethelpsymbol(any2string_class, gensym("any2string-help.pd")); //-- breaks pd-extended help lookup + //class_sethelpsymbol(any2bytes_class, gensym("any2bytes-help.pd")); //-- breaks pd-extended help lookup } /*-------------------------------------------------------------------- * setup */ -void any2string_setup(void) +void any2bytes_setup(void) { - post(any2string_banner); - any2string_setup_guts(); + post(any2bytes_banner); + any2bytes_setup_guts(); } diff --git a/pdstring+wchar/src/any2string_static.c b/pdstring+wchar/src/any2string_static.c deleted file mode 100644 index 50da35d..0000000 --- a/pdstring+wchar/src/any2string_static.c +++ /dev/null @@ -1,246 +0,0 @@ -/* -*- Mode: C -*- */ -/*=============================================================================*\ - * File: any2string_static.c - * Author: Bryan Jurish <moocow@ling.uni-potsdam.de> - * Description: convert pd messages to strings (static buffer allocation) - * - * Copyright (c) 2004 - 2007 Bryan Jurish. - * - * For information on usage and redistribution, and for a DISCLAIMER OF ALL - * WARRANTIES, see the file "COPYING", in this distribution. - * - * 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. - *=============================================================================*/ - -#include <string.h> -#include <stdio.h> - -#include <m_pd.h> - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -/* black magic */ -#ifdef NT -#pragma warning( disable : 4244 ) -#pragma warning( disable : 4305 ) -#endif - -/*-------------------------------------------------------------------- - * DEBUG - *--------------------------------------------------------------------*/ -/*#define ANY2STRING_DEBUG 1*/ -/*#undef ANY2STRING_DEBUG*/ - -#ifdef ANY2STRING_DEBUG -# define A2SDEBUG(x) x -#else -# define A2SDEBUG(x) -#endif - -#define ANY2STRING_DEFAULT_BUFLEN 512 - - -/*===================================================================== - * Structures and Types: any2string - *=====================================================================*/ -static t_class *any2string_class; - -typedef struct _any2string -{ - t_object x_obj; - int x_alloc; //-- buffer size (text, x_argv) - int x_argc; //-- current number of atoms to outlet - t_atom *x_argv; //-- float-list to outlet - t_outlet *x_outlet; //-- outlet -} t_any2string; - - -/*===================================================================== - * Utilities - *=====================================================================*/ - -/*-------------------------------------------------------------------- - * append_string - */ -static void any2string_append_string(t_any2string *x, char *s, unsigned int maxlen, int doescape) -{ - char *sp; - char *ep = s+maxlen; - - for (sp=s; *sp && sp<ep && *sp && x->x_argc<x->x_alloc; sp++, x->x_argc++) { - if (doescape && (*sp==';' || *sp==',' || *sp=='\\' - || (*sp == '$' && sp<(ep-1) && sp[1] >= '0' && sp[1] <= '9'))) - { - A2SDEBUG(post("any2string_append_string: ESCAPE: x_argv[%d] = '%c' = %d", x->x_argc, '\\', '\\')); - x->x_argv[x->x_argc++].a_w.w_float = '\\'; - if (x->x_argc >= x->x_alloc) break; - } - A2SDEBUG(post("any2string_append_string: x_argv[%d] = '%c' = %d", x->x_argc, *sp, *sp)); - x->x_argv[x->x_argc].a_w.w_float = *sp; - } -} - -/*-------------------------------------------------------------------- - * append_atom - */ -#define ANY2STRING_APPEND_BUFSIZE 30 -static void any2string_append_atom(t_any2string *x, t_atom *a) -{ - char buf[ANY2STRING_APPEND_BUFSIZE]; - A2SDEBUG(post("~~ any2string_append_atom(%p,...) ~~", x)); - - if (x->x_argc >= x->x_alloc) { return; } - - /*-- stringify a single atom (inspired by atom_string() from m_atom.c) --*/ - switch (a->a_type) { - case A_SEMI: any2string_append_string(x, ";", 1, 0); break; - case A_COMMA: any2string_append_string(x, ",", 1, 0); break; - case A_POINTER: any2string_append_string(x, "(pointer)", 9, 0); break; - case A_FLOAT: - snprintf(buf, ANY2STRING_APPEND_BUFSIZE, "%g", a->a_w.w_float); - any2string_append_string(x, buf, ANY2STRING_APPEND_BUFSIZE, 0); - break; - case A_SYMBOL: - any2string_append_string(x, a->a_w.w_symbol->s_name, strlen(a->a_w.w_symbol->s_name), 1); - break; - case A_DOLLAR: - snprintf(buf, ANY2STRING_APPEND_BUFSIZE, "$%d", a->a_w.w_index); - any2string_append_string(x, buf, ANY2STRING_APPEND_BUFSIZE, 0); - break; - case A_DOLLSYM: - any2string_append_string(x, a->a_w.w_symbol->s_name, strlen(a->a_w.w_symbol->s_name), 0); - break; - default: - pd_error(x,"any2string_append_atom: unknown atom type '%d'", a->a_type); - break; - } - - if (x->x_argc < x->x_alloc) { - A2SDEBUG(post("any2string_append_atom[%p]: x_argv[%d] = '%c' = %d", x, x->x_argc, ' ', ' ')); - x->x_argv[x->x_argc++].a_w.w_float = ' '; - } -} - -/*===================================================================== - * Methods - *=====================================================================*/ - -/*-------------------------------------------------------------------- - * anything - */ -static void any2string_anything(t_any2string *x, t_symbol *sel, int argc, t_atom *argv) -{ - t_atom *argv_end = argv+argc; - x->x_argc=0; - - A2SDEBUG(post("-------any2string_anything(%p,...) ---------", x)); - - /*-- stringify selector (maybe) --*/ - if (sel != &s_float && sel != &s_list && sel != &s_) { - t_atom a; - SETSYMBOL(&a,sel); - any2string_append_atom(x, &a); - } - - /*-- stringify arg list --*/ - for ( ; argv<argv_end && x->x_argc<x->x_alloc; argv++) { - any2string_append_atom(x, argv); - } - - /*-- add terminating NUL (if we can) --*/ - A2SDEBUG(post("any2string[%p]: terminating NUL: x_argv[%d]=0", x, x->x_argc-1)); - if (x->x_argc >= x->x_alloc) { - pd_error(x, "any2string: input length exceeds buffer size!"); - x->x_argc = x->x_alloc; - x->x_argv[x->x_argc-1].a_w.w_float = '*'; //-- simulate atom_string() behavior - } else if (x->x_argc > 0) { - x->x_argv[x->x_argc-1].a_w.w_float = 0; - } - - A2SDEBUG(post("any2string[%p]: outlet_list(..., %d, ...)", x, x->x_argc)); - outlet_list(x->x_outlet, &s_list, x->x_argc, x->x_argv); -} - - -/*-------------------------------------------------------------------- - * new - */ -static void *any2string_new(t_floatarg bufsize) -{ - t_any2string *x = (t_any2string *)pd_new(any2string_class); - int i; - - //-- bufsize - if (bufsize <= 0) { - x->x_alloc = ANY2STRING_DEFAULT_BUFLEN; - } else { - x->x_alloc = bufsize; - } - A2SDEBUG(post("any2string_new: buf_req=%g, alloc=%d", bufsize, x->x_alloc)); - - //-- defaults - x->x_argc = 0; - x->x_argv = (t_atom*)getbytes(x->x_alloc*sizeof(t_atom)); - - //-- initialize (set a_type) - for (i=0; i < x->x_alloc; i++) { - SETFLOAT((x->x_argv+i),0); - } - - //-- outlets - x->x_outlet = outlet_new(&x->x_obj, &s_list); - A2SDEBUG(post("any2string_new: x=%p, alloc=%d, argv=%p, nbytes=%d", x, x->x_alloc,x->x_argv,x->x_alloc*sizeof(t_atom))); - return (void *)x; -} - -/*-------------------------------------------------------------------- - * free - */ -static void any2string_free(t_any2string *x) -{ - A2SDEBUG(post("any2string_free(x=%p)", x)); - if (x->x_argv) { - A2SDEBUG(post("any2string_free(x=%p): x_argv=%p (size=%d)", x, x->x_argv, x->x_alloc*sizeof(t_atom))); - freebytes(x->x_argv, x->x_alloc*sizeof(t_atom)); - } - A2SDEBUG(post("any2string_free(x=%p): x_outlet=%p", x, x->x_outlet)); - outlet_free(x->x_outlet); - return; -} - -/*-------------------------------------------------------------------- - * setup - */ -void any2string_setup(void) -{ - //-- class - any2string_class = class_new(gensym("any2string"), - (t_newmethod)any2string_new, - (t_method)any2string_free, - sizeof(t_any2string), - CLASS_DEFAULT, - A_DEFFLOAT, - 0); - - //-- methods - class_addanything(any2string_class, - (t_method)any2string_anything); - - - //-- help symbol - class_sethelpsymbol(any2string_class, gensym("pdstring-help.pd")); -} diff --git a/pdstring+wchar/src/string2any-help.pd b/pdstring+wchar/src/bytes2any-help.pd index 3d09fc7..0a8e138 100644 --- a/pdstring+wchar/src/string2any-help.pd +++ b/pdstring+wchar/src/bytes2any-help.pd @@ -1,8 +1,5 @@ -#N canvas 121 48 612 604 10; -#X text 59 7 string2any : convert lists of floats to pd messages; -#X text 13 30 SYNTAX: string2any [INITIAL_BUFSIZE [EOS_CHAR]]; +#N canvas 179 42 612 604 10; #X text 13 52 INLETS:; -#X text 27 68 1 - ASCII-valued float lists; #X text 309 54 OUTLETS:; #X text 325 68 1 - pd messages; #X text 325 82 2 - bang on done; @@ -36,11 +33,15 @@ has been processed.; #X text 168 161 ... selector is ignored ...; #X text 21 571 SEE ALSO:; #X obj 102 570 pdstring; -#X connect 7 0 8 0; -#X connect 7 1 9 0; -#X connect 10 0 7 0; -#X connect 11 0 7 0; -#X connect 12 0 7 1; -#X connect 13 0 7 1; -#X connect 14 0 7 1; -#X connect 23 0 7 0; +#X text 27 68 1 - byte-valued float lists; +#X text 59 7 bytes2any : convert lists of byte values to pd messages +; +#X text 13 30 SYNTAX: bytes2any [INITIAL_BUFSIZE [EOS_CHAR]]; +#X connect 4 0 5 0; +#X connect 4 1 6 0; +#X connect 7 0 4 0; +#X connect 8 0 4 0; +#X connect 9 0 4 1; +#X connect 10 0 4 1; +#X connect 11 0 4 1; +#X connect 20 0 4 0; diff --git a/pdstring+wchar/src/string2any.c b/pdstring+wchar/src/bytes2any.c index 73eaae9..f4cb9d1 100644 --- a/pdstring+wchar/src/string2any.c +++ b/pdstring+wchar/src/bytes2any.c @@ -1,10 +1,10 @@ /* -*- Mode: C -*- */ /*=============================================================================*\ - * File: string2any.c + * File: bytes2any.c * Author: Bryan Jurish <moocow@ling.uni-potsdam.de> * Description: convert strings to pd messages * - * Copyright (c) 2004-2008 Bryan Jurish. + * Copyright (c) 2004-2009 Bryan Jurish. * * For information on usage and redistribution, and for a DISCLAIMER OF ALL * WARRANTIES, see the file "COPYING", in this distribution. @@ -41,30 +41,30 @@ /*-------------------------------------------------------------------- * DEBUG *--------------------------------------------------------------------*/ -/*#define STRING2ANY_DEBUG 1*/ -/*#undef STRING2ANY_DEBUG*/ +/*#define BYTES2ANY_DEBUG 1*/ +/*#undef BYTES2ANY_DEBUG*/ -#ifdef STRING2ANY_DEBUG +#ifdef BYTES2ANY_DEBUG # define S2ADEBUG(x) x #else # define S2ADEBUG(x) #endif -#define STRING2ANY_DEFAULT_BUFLEN 256 +#define BYTES2ANY_DEFAULT_BUFLEN 256 /*===================================================================== * Constants *=====================================================================*/ -static char *string2any_banner = "string2any: pdstring version " PACKAGE_VERSION " by Bryan Jurish"; +static char *bytes2any_banner = "bytes2any: pdstring version " PACKAGE_VERSION " by Bryan Jurish"; /*===================================================================== * Structures and Types: any2string *=====================================================================*/ -static t_class *string2any_class; +static t_class *bytes2any_class; -typedef struct _string2any +typedef struct _bytes2any { t_object x_obj; size_t x_size; @@ -74,7 +74,7 @@ typedef struct _string2any t_inlet *x_eos_in; t_outlet *x_outlet; t_outlet *x_outlet_done; -} t_string2any; +} t_bytes2any; /*===================================================================== @@ -82,9 +82,9 @@ typedef struct _string2any *=====================================================================*/ /*-------------------------------------------------------------------- - * string2any_atoms() + * bytes2any_atoms() */ -static void string2any_atoms(t_string2any *x, int argc, t_atom *argv) +static void bytes2any_atoms(t_bytes2any *x, int argc, t_atom *argv) { char *s; int x_argc, a_argc=0; @@ -100,16 +100,16 @@ static void string2any_atoms(t_string2any *x, int argc, t_atom *argv) /*-- get text --*/ for (s=x->x_text; argc > 0; argc--, a_argc++, argv++, s++) { *s = atom_getfloat(argv); - S2ADEBUG(post("string2any[%p]: a_argc=%d,*s=%d", x, a_argc, *s)); + S2ADEBUG(post("bytes2any[%p]: a_argc=%d,*s=%d", x, a_argc, *s)); if ((x->x_eos<0 && !*s) || (*s==x->x_eos)) { break; } /*-- hack: look for eos char --*/ } *s = 0; - S2ADEBUG(post("string2any[%p]: text: \"%s\", strlen=%d, argc=%d", x, x->x_text, strlen(x->x_text), a_argc)); + S2ADEBUG(post("bytes2any[%p]: text: \"%s\", strlen=%d, argc=%d", x, x->x_text, strlen(x->x_text), a_argc)); /*-- clear and fill binbuf --*/ binbuf_clear(x->x_binbuf); binbuf_text(x->x_binbuf, x->x_text, a_argc); //-- handle NULs if binbuf will (but it won't) ? - S2ADEBUG(post("string2any[%p]: binbuf_print: ", x)); + S2ADEBUG(post("bytes2any[%p]: binbuf_print: ", x)); S2ADEBUG(binbuf_print(x->x_binbuf)); /*-- output --*/ @@ -137,7 +137,7 @@ static void string2any_atoms(t_string2any *x, int argc, t_atom *argv) /*-------------------------------------------------------------------- * anything */ -static void string2any_anything(t_string2any *x, MOO_UNUSED t_symbol *sel, int argc, t_atom *argv) +static void bytes2any_anything(t_bytes2any *x, MOO_UNUSED t_symbol *sel, int argc, t_atom *argv) { int i0=0, i; @@ -145,14 +145,14 @@ static void string2any_anything(t_string2any *x, MOO_UNUSED t_symbol *sel, int a if (x->x_eos >= 0) { for (i=i0; i < argc; i++) { if (((int)atom_getfloatarg(i,argc,argv))==((int)x->x_eos)) { - string2any_atoms(x, i-i0, argv+i0); + bytes2any_atoms(x, i-i0, argv+i0); i0=i+1; } } } if (i0 < argc) { - string2any_atoms(x, argc-i0, argv+i0); + bytes2any_atoms(x, argc-i0, argv+i0); } outlet_bang(x->x_outlet_done); @@ -162,13 +162,13 @@ static void string2any_anything(t_string2any *x, MOO_UNUSED t_symbol *sel, int a /*-------------------------------------------------------------------- * new */ -static void *string2any_new(MOO_UNUSED t_symbol *sel, int argc, t_atom *argv) +static void *bytes2any_new(MOO_UNUSED t_symbol *sel, int argc, t_atom *argv) { - t_string2any *x = (t_string2any *)pd_new(string2any_class); + t_bytes2any *x = (t_bytes2any *)pd_new(bytes2any_class); //-- defaults x->x_binbuf = binbuf_new(); - x->x_size = STRING2ANY_DEFAULT_BUFLEN; + x->x_size = BYTES2ANY_DEFAULT_BUFLEN; x->x_eos = -1; //-- args: 0: bufsize @@ -193,7 +193,7 @@ static void *string2any_new(MOO_UNUSED t_symbol *sel, int argc, t_atom *argv) x->x_outlet_done = outlet_new(&x->x_obj, &s_bang); //-- debug - S2ADEBUG(post("string2any_new: x=%p, size=%d, eos=%d, binbuf=%p, text=%p", x, x->x_size, x->x_eos, x->x_binbuf, x->x_text)); + S2ADEBUG(post("bytes2any_new: x=%p, size=%d, eos=%d, binbuf=%p, text=%p", x, x->x_size, x->x_eos, x->x_binbuf, x->x_text)); return (void *)x; } @@ -201,7 +201,7 @@ static void *string2any_new(MOO_UNUSED t_symbol *sel, int argc, t_atom *argv) /*-------------------------------------------------------------------- * free */ -static void string2any_free(t_string2any *x) +static void bytes2any_free(t_bytes2any *x) { if (x->x_text) { freebytes(x->x_text, x->x_size*sizeof(char)); @@ -217,33 +217,33 @@ static void string2any_free(t_string2any *x) /*-------------------------------------------------------------------- * setup: guts */ -void string2any_setup_guts(void) +void bytes2any_setup_guts(void) { //-- class - string2any_class = class_new(gensym("string2any"), - (t_newmethod)string2any_new, - (t_method)string2any_free, - sizeof(t_string2any), + bytes2any_class = class_new(gensym("bytes2any"), + (t_newmethod)bytes2any_new, + (t_method)bytes2any_free, + sizeof(t_bytes2any), CLASS_DEFAULT, A_GIMME, //-- initial_bufsize, eos_char 0); //-- alias - class_addcreator((t_newmethod)string2any_new, gensym("bytes2any"), A_GIMME, 0); + class_addcreator((t_newmethod)bytes2any_new, gensym("bytes2any"), A_GIMME, 0); //-- methods - class_addanything(string2any_class, (t_method)string2any_anything); + class_addanything(bytes2any_class, (t_method)bytes2any_anything); //-- help symbol - //class_sethelpsymbol(string2any_class, gensym("string2any-help.pd")); //-- breaks pd-extended help lookup + //class_sethelpsymbol(bytes2any_class, gensym("bytes2any-help.pd")); //-- breaks pd-extended help lookup } /*-------------------------------------------------------------------- * setup */ -void string2any_setup(void) +void bytes2any_setup(void) { - post(string2any_banner); - string2any_setup_guts(); + post(bytes2any_banner); + bytes2any_setup_guts(); } diff --git a/pdstring+wchar/src/config.h.in b/pdstring+wchar/src/config.h.in index fe4add7..748fa6a 100644 --- a/pdstring+wchar/src/config.h.in +++ b/pdstring+wchar/src/config.h.in @@ -1,7 +1,10 @@ /* src/config.h.in. Generated from configure.ac by autoheader. */ -/* Define this to include debugging code for the 'string2any' external. */ -#undef ANY2STRING_DEBUG +/* Define this to include debugging code for the 'bytes2any' external. */ +#undef ANY2BYTES_DEBUG + +/* Define this to include debugging code for the 'any2bytes' external. */ +#undef BYTES2ANY_DEBUG /* Define to 1 if you have the <string.h> header file. */ #undef HAVE_STRING_H @@ -33,8 +36,5 @@ /* User who configured this external */ #undef PDSTRING_USER -/* Define this to include debugging code for the 'any2string' external. */ -#undef STRING2ANY_DEBUG - /* Version number of package */ #undef VERSION diff --git a/pdstring+wchar/src/pdstring-help.pd b/pdstring+wchar/src/pdstring-help.pd index 2ab94b3..12e6d42 100644 --- a/pdstring+wchar/src/pdstring-help.pd +++ b/pdstring+wchar/src/pdstring-help.pd @@ -4,8 +4,6 @@ #X symbolatom 46 59 10 0 0 0 - - -; #X text 201 59 ... no special handling for symbols; #X text 200 37 anything can be converted to a list...; -#X obj 37 108 any2string; -#X obj 37 230 string2any; #X floatatom 54 178 4 0 0 0 - - -; #X text 213 230 string2any converts ASCII lists to Pd messages...; #X text 202 81 ... but "float" selector is silently dropped; @@ -13,7 +11,6 @@ #X obj 162 144 f 0; #X obj 134 153 + 1; #X obj 161 165 t f f f; -#X obj 133 198 string2any; #X obj 154 243 pack s 0; #X obj 162 119 until; #X obj 133 218 symbol; @@ -23,37 +20,40 @@ #X obj 162 54 t b b; #X obj 154 266 route list; #X obj 154 293 print charset; +#X obj 133 198 bytes2any; #X connect 0 0 2 0; #X connect 1 0 0 1; #X connect 2 0 1 0; -#X connect 2 1 3 0; -#X connect 2 2 4 1; -#X connect 3 0 6 0; -#X connect 4 0 11 0; -#X connect 5 0 0 0; +#X connect 2 1 12 0; +#X connect 2 2 3 1; +#X connect 3 0 10 0; +#X connect 4 0 0 0; +#X connect 5 0 3 0; #X connect 6 0 4 0; -#X connect 7 0 5 0; -#X connect 8 0 0 1; -#X connect 9 0 10 0; -#X connect 10 0 7 0; -#X connect 10 1 8 0; -#X connect 11 0 12 0; -#X connect 11 1 12 0; +#X connect 7 0 0 1; +#X connect 8 0 9 0; +#X connect 9 0 6 0; +#X connect 9 1 7 0; +#X connect 10 0 11 0; +#X connect 10 1 11 0; +#X connect 12 0 5 0; #X restore 249 144 pd ascii-table; #X msg 249 121 bang; #X text 361 143 know your charset; -#X obj 58 139 print any2string-out; -#X obj 37 254 print string2any-out; #X msg 37 38 A B C; #X msg 55 199 list 49 50 51; #X text 54 3 any2string \, string2any : ASCII conversions in [pdstring] lib; -#X connect 1 0 5 0; -#X connect 2 0 5 0; -#X connect 5 0 13 0; -#X connect 5 0 6 0; -#X connect 6 0 14 0; -#X connect 7 0 6 0; -#X connect 11 0 10 0; -#X connect 15 0 5 0; -#X connect 16 0 6 0; +#X obj 37 108 any2bytes; +#X obj 37 230 bytes2any; +#X obj 58 139 print any2bytes-out; +#X obj 37 254 print bytes2any-out; +#X connect 1 0 14 0; +#X connect 2 0 14 0; +#X connect 5 0 15 0; +#X connect 9 0 8 0; +#X connect 11 0 14 0; +#X connect 12 0 15 0; +#X connect 14 0 15 0; +#X connect 14 0 16 0; +#X connect 15 0 17 0; diff --git a/pdstring+wchar/src/pdstring.c b/pdstring+wchar/src/pdstring.c index 44add2d..d68cbdd 100644 --- a/pdstring+wchar/src/pdstring.c +++ b/pdstring+wchar/src/pdstring.c @@ -55,13 +55,8 @@ typedef struct _pdstring * External declarations *=====================================================================*/ #ifndef PDSTRING_OBJECT_EXTERNALS -/* -extern void any2string_setup_guts(void); -extern void string2any_setup_guts(void); -*/ -#include "any2string.c" -#include "string2any.c" - +# include "any2bytes.c" +# include "bytes2any.c" #endif /*-------------------------------------------------------------------- @@ -91,8 +86,8 @@ void pdstring_setup(void) pdstring_help(NULL); #ifndef PDSTRING_OBJECT_EXTERNALS - any2string_setup_guts(); - string2any_setup_guts(); + any2bytes_setup_guts(); + bytes2any_setup_guts(); #endif pdstring_class = class_new(gensym("pdstring"), diff --git a/pdstring+wchar/src/unsigned.pd b/pdstring+wchar/src/unsigned.pd index 7a5a328..d86c773 100644 --- a/pdstring+wchar/src/unsigned.pd +++ b/pdstring+wchar/src/unsigned.pd @@ -1,27 +1,27 @@ #N canvas 206 54 450 300 10; -#X floatatom 105 86 5 0 0 1 byte_value - -; -#X obj 105 116 string2any; -#X obj 119 146 print s2a; -#X obj 105 176 any2string; -#X floatatom 105 208 5 0 0 0 - - -; -#X msg 105 48 -10; -#X msg 143 48 246; -#X floatatom 238 207 5 0 0 0 - - -; -#X floatatom 240 82 5 0 0 1 byte_value - -; -#X msg 240 49 -10; -#X msg 278 49 246; -#X obj 238 115 bytes2any; -#X obj 238 175 any2bytes; -#X obj 252 145 print s2b; -#X connect 0 0 1 0; -#X connect 1 0 2 0; -#X connect 1 0 3 0; -#X connect 3 0 4 0; -#X connect 5 0 0 0; -#X connect 6 0 0 0; -#X connect 8 0 11 0; -#X connect 9 0 8 0; -#X connect 10 0 8 0; -#X connect 11 0 12 0; -#X connect 11 0 13 0; -#X connect 12 0 7 0; +#X floatatom 253 98 5 0 0 1 byte_value - -; +#X obj 267 158 print s2a; +#X floatatom 253 220 5 0 0 0 - - -; +#X msg 253 60 -10; +#X msg 291 60 246; +#X floatatom 86 219 5 0 0 0 - - -; +#X floatatom 88 94 5 0 0 1 byte_value - -; +#X msg 88 61 -10; +#X msg 126 61 246; +#X obj 86 127 bytes2any; +#X obj 86 187 any2bytes; +#X obj 100 157 print s2b; +#X obj 253 128 string2any; +#X obj 253 188 any2string; +#X connect 0 0 12 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 6 0 9 0; +#X connect 7 0 6 0; +#X connect 8 0 6 0; +#X connect 9 0 10 0; +#X connect 9 0 11 0; +#X connect 10 0 5 0; +#X connect 12 0 1 0; +#X connect 12 0 13 0; +#X connect 13 0 2 0; |