Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6217/pd/src
Modified Files:
configure.in d_ugen.c m_binbuf.c m_pd.h makefile.in notes.txt
x_connective.c x_list.c
Log Message:
sync for pd 0.40-0test05. Bug fix (empty DSP chains crashed Pd).
Index: m_pd.h
===================================================================
RCS file: /cvsroot/pure-data/pd/src/m_pd.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** m_pd.h 18 Aug 2006 19:00:59 -0000 1.11
--- m_pd.h 24 Aug 2006 15:23:52 -0000 1.12
***************
*** 12,16 ****
#define PD_MINOR_VERSION 40
#define PD_BUGFIX_VERSION 0
! #define PD_TEST_VERSION "test03"
/* old name for "MSW" flag -- we have to take it for the sake of many old
--- 12,16 ----
#define PD_MINOR_VERSION 40
#define PD_BUGFIX_VERSION 0
! #define PD_TEST_VERSION "test05"
/* old name for "MSW" flag -- we have to take it for the sake of many old
Index: m_binbuf.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/m_binbuf.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** m_binbuf.c 18 Aug 2006 19:00:59 -0000 1.11
--- m_binbuf.c 24 Aug 2006 15:23:51 -0000 1.12
***************
*** 170,174 ****
if (dollar)
SETDOLLAR(ap, atoi(buf+1));
! else post("dollsym %s", buf), SETDOLLSYM(ap, gensym(buf));
}
else SETSYMBOL(ap, gensym(buf));
--- 170,174 ----
if (dollar)
SETDOLLAR(ap, atoi(buf+1));
! else SETDOLLSYM(ap, gensym(buf));
}
else SETSYMBOL(ap, gensym(buf));
***************
*** 650,655 ****
target == &pd_objectmaker);
if (!s9)
! goto broken;
! SETSYMBOL(msp, s9);
break;
default:
--- 650,658 ----
target == &pd_objectmaker);
if (!s9)
! {
! error("%s: argument number out of range", at->a_w.w_symbol->s_name);
! SETSYMBOL(msp, at->a_w.w_symbol);
! }
! else SETSYMBOL(msp, s9);
break;
default:
Index: makefile.in
===================================================================
RCS file: /cvsroot/pure-data/pd/src/makefile.in,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** makefile.in 15 Aug 2006 04:54:15 -0000 1.12
--- makefile.in 24 Aug 2006 15:23:52 -0000 1.13
***************
*** 102,106 ****
$(BIN_DIR)/pd-watchdog: s_watchdog.c $(BIN_DIR)
! $(CC) -O2 $(STRIPFLAG) -o $(BIN_DIR)/pd-watchdog s_watchdog.c
$(BIN_DIR)/pdsend: u_pdsend.c $(BIN_DIR)
--- 102,106 ----
$(BIN_DIR)/pd-watchdog: s_watchdog.c $(BIN_DIR)
! $(CC) $(CFLAGS) $(STRIPFLAG) -o $(BIN_DIR)/pd-watchdog s_watchdog.c
$(BIN_DIR)/pdsend: u_pdsend.c $(BIN_DIR)
***************
*** 123,127 ****
#this is for Max OSX only...
$(BIN_DIR)/libPdTcl.dylib: $(GOBJ) $(GSRC)
! cd ../obj && $(CC) -dynamiclib -read_only_relocs warning \
-o $(BIN_DIR)/libPdTcl.dylib $(GOBJ) \
-F@TCLTK_FRAMEWORKS_PATH@ \
--- 123,127 ----
#this is for Max OSX only...
$(BIN_DIR)/libPdTcl.dylib: $(GOBJ) $(GSRC)
! cd ../obj && $(CC) $(CFLAGS) -dynamiclib -read_only_relocs warning \
-o $(BIN_DIR)/libPdTcl.dylib $(GOBJ) \
-F@TCLTK_FRAMEWORKS_PATH@ \
Index: configure.in
===================================================================
RCS file: /cvsroot/pure-data/pd/src/configure.in,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -d -r1.19 -r1.20
*** configure.in 15 Aug 2006 04:54:15 -0000 1.19
--- configure.in 24 Aug 2006 15:23:51 -0000 1.20
***************
*** 257,260 ****
--- 257,261 ----
MORECFLAGS="-arch i386 -arch ppc -Wno-error"
EXTERNTARGET=d_fat
+ LDFLAGS=$LDFLAGS" -arch i386 -arch ppc"
fi
SYSSRC="s_midi_pm.c s_audio_pa.c \
Index: notes.txt
===================================================================
RCS file: /cvsroot/pure-data/pd/src/notes.txt,v
retrieving revision 1.28
retrieving revision 1.29
diff -C2 -d -r1.28 -r1.29
*** notes.txt 18 Aug 2006 19:00:59 -0000 1.28
--- notes.txt 24 Aug 2006 15:23:52 -0000 1.29
***************
*** 34,37 ****
--- 34,39 ----
"list" to signal inlet (e.g., "*~") or float inlet (f) complains.
$-expansion changed
+ list length
+ send inlet
problems:
Index: x_list.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/x_list.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** x_list.c 19 Aug 2005 23:28:03 -0000 1.3
--- x_list.c 24 Aug 2006 15:23:52 -0000 1.4
***************
*** 23,37 ****
list trim - trim off "list" selector
list length - output number of items in list
- list nth - nth item in list, counting from zero
! Not sure we need these:
! list cat - build a list by accumulating elements
! list foreach - spit out elements of a list one by one
list array - get items from a named array as a list
list reverse - permute elements of a list back to front
list pack - synonym for 'pack'
list unpack - synonym for 'unpack'
list first - output first n elements.
list last - output last n elements
*/
--- 23,39 ----
list trim - trim off "list" selector
list length - output number of items in list
! Need to think more about:
! list foreach - spit out elements of a list one by one (also in reverse?)
list array - get items from a named array as a list
list reverse - permute elements of a list back to front
list pack - synonym for 'pack'
list unpack - synonym for 'unpack'
+ list cat - build a list by accumulating elements
+
+ Probably don't need:
list first - output first n elements.
list last - output last n elements
+ list nth - nth item in list, counting from zero
*/
***************
*** 384,387 ****
--- 386,427 ----
}
+ /* ------------- list length --------------------- */
+
+ t_class *list_length_class;
+
+ typedef struct _list_length
+ {
+ t_object x_obj;
+ } t_list_length;
+
+ static void *list_length_new( void)
+ {
+ t_list_length *x = (t_list_length *)pd_new(list_length_class);
+ outlet_new(&x->x_obj, &s_float);
+ return (x);
+ }
+
+ static void list_length_list(t_list_length *x, t_symbol *s,
+ int argc, t_atom *argv)
+ {
+ outlet_float(x->x_obj.ob_outlet, (float)argc);
+ }
+
+ static void list_length_anything(t_list_length *x, t_symbol *s,
+ int argc, t_atom *argv)
+ {
+ outlet_float(x->x_obj.ob_outlet, (float)argc);
+ }
+
+ static void list_length_setup(void)
+ {
+ list_length_class = class_new(gensym("list length"),
+ (t_newmethod)list_length_new, 0,
+ sizeof(t_list_length), 0, 0);
+ class_addlist(list_length_class, list_length_list);
+ class_addanything(list_length_class, list_length_anything);
+ class_sethelpsymbol(list_length_class, &s_list);
+ }
+
/* ------------- list ------------------- */
***************
*** 401,404 ****
--- 441,446 ----
else if (s2 == gensym("trim"))
newest = list_trim_new();
+ else if (s2 == gensym("length"))
+ newest = list_length_new();
else
{
***************
*** 417,420 ****
--- 459,463 ----
list_split_setup();
list_trim_setup();
+ list_length_setup();
class_addcreator((t_newmethod)list_new, &s_list, A_GIMME, 0);
}
Index: d_ugen.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/d_ugen.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** d_ugen.c 15 Aug 2006 16:09:57 -0000 1.8
--- d_ugen.c 24 Aug 2006 15:23:51 -0000 1.9
***************
*** 572,576 ****
ugen_sortno++;
dsp_chain = (t_int *)getbytes(sizeof(*dsp_chain));
! dsp_chain[0] = 0;
dsp_chainsize = 1;
if (ugen_currentcontext) bug("ugen_start");
--- 572,576 ----
ugen_sortno++;
dsp_chain = (t_int *)getbytes(sizeof(*dsp_chain));
! dsp_chain[0] = (t_int)dsp_done;
dsp_chainsize = 1;
if (ugen_currentcontext) bug("ugen_start");
Index: x_connective.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/x_connective.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** x_connective.c 6 Nov 2005 01:49:43 -0000 1.8
--- x_connective.c 24 Aug 2006 15:23:52 -0000 1.9
***************
*** 235,238 ****
--- 235,240 ----
{
t_send *x = (t_send *)pd_new(send_class);
+ if (!*s->s_name)
+ symbolinlet_new(&x->x_obj, &x->x_sym);
x->x_sym = s;
return (x);