Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31111/pd/src
Modified Files: d_array.c d_soundfile.c g_array.c g_graph.c g_readwrite.c m_pd.h makefile.in notes.txt s_path.c Removed Files: makefile.irix s_audio_sgi.c s_midi_sgi.c Log Message: test release for 0.41 (bug fixes for IA64).
Index: m_pd.h =================================================================== RCS file: /cvsroot/pure-data/pd/src/m_pd.h,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** m_pd.h 9 Oct 2006 04:36:12 -0000 1.16 --- m_pd.h 22 Oct 2006 21:46:11 -0000 1.17 *************** *** 10,16 ****
#define PD_MAJOR_VERSION 0 ! #define PD_MINOR_VERSION 40 ! #define PD_BUGFIX_VERSION 1 ! #define PD_TEST_VERSION ""
/* old name for "MSW" flag -- we have to take it for the sake of many old --- 10,16 ----
#define PD_MAJOR_VERSION 0 ! #define PD_MINOR_VERSION 41 ! #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 *************** *** 572,575 **** --- 572,576 ---- EXTERN t_class *garray_class; EXTERN int garray_getfloatarray(t_garray *x, int *size, t_float **vec); + EXTERN int garray_getfloatwords(t_garray *x, int *size, t_word **vec); EXTERN float garray_get(t_garray *x, t_symbol *s, t_int indx); EXTERN void garray_redraw(t_garray *x);
Index: s_path.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/s_path.c,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** s_path.c 8 Sep 2006 23:45:31 -0000 1.11 --- s_path.c 22 Oct 2006 21:46:11 -0000 1.12 *************** *** 263,267 **** there is no search and instead we just try to open the file literally. */
! /* see also canvas_openfile() which, in addition, searches down the canvas-specific path. */
--- 263,267 ---- there is no search and instead we just try to open the file literally. */
! /* see also canvas_open() which, in addition, searches down the canvas-specific path. */
--- s_audio_sgi.c DELETED ---
Index: makefile.in =================================================================== RCS file: /cvsroot/pure-data/pd/src/makefile.in,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** makefile.in 8 Sep 2006 23:45:30 -0000 1.14 --- makefile.in 22 Oct 2006 21:46:11 -0000 1.15 *************** *** 111,123 ****
$(PDEXEC): $(OBJ) $(BIN_DIR) ! cd ../obj; $(CC) $(LDFLAGS) $(DBG_CFLAGS) -o $(PDEXEC) $(OBJ) \ ! $(LIB) ! $(BIN_DIR)/pd-gui: $(GOBJ) $(GSRC) ! cd ../obj; $(CC) $(INCLUDE) -o $(BIN_DIR)/$(GUINAME) $(GOBJ) \ ! $(GLIB)
! $(BIN_DIR)/pd.tk: u_main.tk cp u_main.tk $(BIN_DIR)/pd.tk
#this is for Max OSX only... --- 111,122 ----
$(PDEXEC): $(OBJ) $(BIN_DIR) ! cd ../obj; $(CC) $(LDFLAGS) $(DBG_CFLAGS) -o $(PDEXEC) $(OBJ) $(LIB) ! $(BIN_DIR)/pd-gui: $(GOBJ) $(GSRC) ! cd ../obj; $(CC) $(INCLUDE) -o $(BIN_DIR)/$(GUINAME) $(GOBJ) $(GLIB)
! $(BIN_DIR)/pd.tk: u_main.tk $(BIN_DIR) cp u_main.tk $(BIN_DIR)/pd.tk + touch -r makefile.dependencies $(BIN_DIR)
#this is for Max OSX only...
--- makefile.irix DELETED ---
Index: d_soundfile.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/d_soundfile.c,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** d_soundfile.c 9 Oct 2006 04:36:12 -0000 1.12 --- d_soundfile.c 22 Oct 2006 21:46:10 -0000 1.13 *************** *** 423,427 **** static void soundfile_xferin(int sfchannels, int nvecs, float **vecs, long itemsread, unsigned char *buf, int nitems, int bytespersamp, ! int bigendian) { int i, j; --- 423,427 ---- static void soundfile_xferin(int sfchannels, int nvecs, float **vecs, long itemsread, unsigned char *buf, int nitems, int bytespersamp, ! int bigendian, int spread) { int i, j; *************** *** 436,447 **** if (bigendian) { ! for (j = 0, sp2 = sp, fp=vecs[i] + itemsread; ! j < nitems; j++, sp2 += bytesperframe, fp++) *fp = SCALE * ((sp2[0] << 24) | (sp2[1] << 16)); } else { ! for (j = 0, sp2 = sp, fp=vecs[i] + itemsread; ! j < nitems; j++, sp2 += bytesperframe, fp++) *fp = SCALE * ((sp2[1] << 24) | (sp2[0] << 16)); } --- 436,447 ---- if (bigendian) { ! for (j = 0, sp2 = sp, fp=vecs[i] + spread * itemsread; ! j < nitems; j++, sp2 += bytesperframe, fp += spread) *fp = SCALE * ((sp2[0] << 24) | (sp2[1] << 16)); } else { ! for (j = 0, sp2 = sp, fp=vecs[i] + spread * itemsread; ! j < nitems; j++, sp2 += bytesperframe, fp += spread) *fp = SCALE * ((sp2[1] << 24) | (sp2[0] << 16)); } *************** *** 451,456 **** if (bigendian) { ! for (j = 0, sp2 = sp, fp=vecs[i] + itemsread; ! j < nitems; j++, sp2 += bytesperframe, fp++) *fp = SCALE * ((sp2[0] << 24) | (sp2[1] << 16) | (sp2[2] << 8)); --- 451,456 ---- if (bigendian) { ! for (j = 0, sp2 = sp, fp=vecs[i] + spread * itemsread; ! j < nitems; j++, sp2 += bytesperframe, fp += spread) *fp = SCALE * ((sp2[0] << 24) | (sp2[1] << 16) | (sp2[2] << 8)); *************** *** 458,463 **** else { ! for (j = 0, sp2 = sp, fp=vecs[i] + itemsread; ! j < nitems; j++, sp2 += bytesperframe, fp++) *fp = SCALE * ((sp2[2] << 24) | (sp2[1] << 16) | (sp2[0] << 8)); --- 458,463 ---- else { ! for (j = 0, sp2 = sp, fp=vecs[i] + spread * itemsread; ! j < nitems; j++, sp2 += bytesperframe, fp += spread) *fp = SCALE * ((sp2[2] << 24) | (sp2[1] << 16) | (sp2[0] << 8)); *************** *** 468,473 **** if (bigendian) { ! for (j = 0, sp2 = sp, fp=vecs[i] + itemsread; ! j < nitems; j++, sp2 += bytesperframe, fp++) *(long *)fp = ((sp2[0] << 24) | (sp2[1] << 16) | (sp2[2] << 8) | sp2[3]); --- 468,473 ---- if (bigendian) { ! for (j = 0, sp2 = sp, fp=vecs[i] + spread * itemsread; ! j < nitems; j++, sp2 += bytesperframe, fp += spread) *(long *)fp = ((sp2[0] << 24) | (sp2[1] << 16) | (sp2[2] << 8) | sp2[3]); *************** *** 475,480 **** else { ! for (j = 0, sp2 = sp, fp=vecs[i] + itemsread; ! j < nitems; j++, sp2 += bytesperframe, fp++) *(long *)fp = ((sp2[3] << 24) | (sp2[2] << 16) | (sp2[1] << 8) | sp2[0]); --- 475,480 ---- else { ! for (j = 0, sp2 = sp, fp=vecs[i] + spread * itemsread; ! j < nitems; j++, sp2 += bytesperframe, fp += spread) *(long *)fp = ((sp2[3] << 24) | (sp2[2] << 16) | (sp2[1] << 8) | sp2[0]); *************** *** 825,829 **** static void soundfile_xferout(int nchannels, float **vecs, unsigned char *buf, int nitems, long onset, int bytespersamp, ! int bigendian, float normalfactor) { int i, j; --- 825,829 ---- static void soundfile_xferout(int nchannels, float **vecs, unsigned char *buf, int nitems, long onset, int bytespersamp, ! int bigendian, float normalfactor, int spread) { int i, j; *************** *** 840,844 **** { for (j = 0, sp2 = sp, fp = vecs[i] + onset; ! j < nitems; j++, sp2 += bytesperframe, fp++) { int xx = 32768. + (*fp * ff); --- 840,844 ---- { for (j = 0, sp2 = sp, fp = vecs[i] + onset; ! j < nitems; j++, sp2 += bytesperframe, fp += spread) { int xx = 32768. + (*fp * ff); *************** *** 855,859 **** { for (j = 0, sp2 = sp, fp=vecs[i] + onset; ! j < nitems; j++, sp2 += bytesperframe, fp++) { int xx = 32768. + (*fp * ff); --- 855,859 ---- { for (j = 0, sp2 = sp, fp=vecs[i] + onset; ! j < nitems; j++, sp2 += bytesperframe, fp += spread) { int xx = 32768. + (*fp * ff); *************** *** 874,878 **** { for (j = 0, sp2 = sp, fp=vecs[i] + onset; ! j < nitems; j++, sp2 += bytesperframe, fp++) { int xx = 8388608. + (*fp * ff); --- 874,878 ---- { for (j = 0, sp2 = sp, fp=vecs[i] + onset; ! j < nitems; j++, sp2 += bytesperframe, fp += spread) { int xx = 8388608. + (*fp * ff); *************** *** 890,894 **** { for (j = 0, sp2 = sp, fp=vecs[i] + onset; ! j < nitems; j++, sp2 += bytesperframe, fp++) { int xx = 8388608. + (*fp * ff); --- 890,894 ---- { for (j = 0, sp2 = sp, fp=vecs[i] + onset; ! j < nitems; j++, sp2 += bytesperframe, fp += spread) { int xx = 8388608. + (*fp * ff); *************** *** 909,913 **** { for (j = 0, sp2 = sp, fp=vecs[i] + onset; ! j < nitems; j++, sp2 += bytesperframe, fp++) { float f2 = *fp * normalfactor; --- 909,913 ---- { for (j = 0, sp2 = sp, fp=vecs[i] + onset; ! j < nitems; j++, sp2 += bytesperframe, fp += spread) { float f2 = *fp * normalfactor; *************** *** 920,924 **** { for (j = 0, sp2 = sp, fp=vecs[i] + onset; ! j < nitems; j++, sp2 += bytesperframe, fp++) { float f2 = *fp * normalfactor; --- 920,924 ---- { for (j = 0, sp2 = sp, fp=vecs[i] + onset; ! j < nitems; j++, sp2 += bytesperframe, fp += spread) { float f2 = *fp * normalfactor; *************** *** 976,980 **** char endianness, *filename; t_garray *garrays[MAXSFCHANS]; ! t_float *vecs[MAXSFCHANS]; char sampbuf[SAMPBUFSIZE]; int bufframes, nitems; --- 976,980 ---- char endianness, *filename; t_garray *garrays[MAXSFCHANS]; ! t_word *vecs[MAXSFCHANS]; char sampbuf[SAMPBUFSIZE]; int bufframes, nitems; *************** *** 1052,1056 **** goto done; } ! else if (!garray_getfloatarray(garrays[i], &vecsize, &vecs[i])) error("%s: bad template for tabwrite", argv[i].a_w.w_symbol->s_name); --- 1052,1057 ---- goto done; } ! else if (!garray_getfloatwords(garrays[i], &vecsize, ! &vecs[i])) error("%s: bad template for tabwrite", argv[i].a_w.w_symbol->s_name); *************** *** 1102,1106 **** /* for sanity's sake let's clear the save-in-patch flag here */ garray_setsaveit(garrays[i], 0); ! garray_getfloatarray(garrays[i], &vecsize, &vecs[i]); /* if the resize failed, garray_resize reported the error */ if (vecsize != framesinfile) --- 1103,1108 ---- /* for sanity's sake let's clear the save-in-patch flag here */ garray_setsaveit(garrays[i], 0); ! garray_getfloatwords(garrays[i], &vecsize, ! &vecs[i]); /* if the resize failed, garray_resize reported the error */ if (vecsize != framesinfile) *************** *** 1123,1128 **** nitems = fread(sampbuf, channels * bytespersamp, thisread, fp); if (nitems <= 0) break; ! soundfile_xferin(channels, argc, vecs, itemsread, ! (unsigned char *)sampbuf, nitems, bytespersamp, bigendian); itemsread += nitems; } --- 1125,1131 ---- nitems = fread(sampbuf, channels * bytespersamp, thisread, fp); if (nitems <= 0) break; ! soundfile_xferin(channels, argc, (float **)vecs, itemsread, ! (unsigned char *)sampbuf, nitems, bytespersamp, bigendian, ! sizeof(t_word)/sizeof(float)); itemsread += nitems; } *************** *** 1132,1138 **** { int nzero, vecsize; ! garray_getfloatarray(garrays[i], &vecsize, &vecs[i]); for (j = itemsread; j < vecsize; j++) ! vecs[i][j] = 0; } /* zero out vectors in excess of number of channels */ --- 1135,1141 ---- { int nzero, vecsize; ! garray_getfloatwords(garrays[i], &vecsize, &vecs[i]); for (j = itemsread; j < vecsize; j++) ! vecs[i][j].w_float = 0; } /* zero out vectors in excess of number of channels */ *************** *** 1140,1147 **** { int vecsize; ! float *foo; ! garray_getfloatarray(garrays[i], &vecsize, &foo); for (j = 0; j < vecsize; j++) ! foo[j] = 0; } /* do all graphics updates */ --- 1143,1150 ---- { int vecsize; ! t_word *foo; ! garray_getfloatwords(garrays[i], &vecsize, &foo); for (j = 0; j < vecsize; j++) ! foo[j].w_float = 0; } /* do all graphics updates */ *************** *** 1172,1176 **** maxsize = DEFMAXSIZE, itemswritten = 0; t_garray *garrays[MAXSFCHANS]; ! t_float *vecs[MAXSFCHANS]; char sampbuf[SAMPBUFSIZE]; int bufframes, nitems; --- 1175,1179 ---- maxsize = DEFMAXSIZE, itemswritten = 0; t_garray *garrays[MAXSFCHANS]; ! t_word *vecs[MAXSFCHANS]; char sampbuf[SAMPBUFSIZE]; int bufframes, nitems; *************** *** 1199,1203 **** goto fail; } ! else if (!garray_getfloatarray(garrays[i], &vecsize, &vecs[i])) error("%s: bad template for tabwrite", argv[i].a_w.w_symbol->s_name); --- 1202,1206 ---- goto fail; } ! else if (!garray_getfloatwords(garrays[i], &vecsize, &vecs[i])) error("%s: bad template for tabwrite", argv[i].a_w.w_symbol->s_name); *************** *** 1207,1214 **** for (j = 0; j < vecsize; j++) { ! if (vecs[i][j] > biggest) ! biggest = vecs[i][j]; ! else if (-vecs[i][j] > biggest) ! biggest = -vecs[i][j]; } } --- 1210,1217 ---- for (j = 0; j < vecsize; j++) { ! if (vecs[i][j].w_float > biggest) ! biggest = vecs[i][j].w_float; ! else if (-vecs[i][j].w_float > biggest) ! biggest = -vecs[i][j].w_float; } } *************** *** 1245,1250 **** int thiswrite = nframes - itemswritten, nitems, nbytes; thiswrite = (thiswrite > bufframes ? bufframes : thiswrite); ! soundfile_xferout(argc, vecs, (unsigned char *)sampbuf, thiswrite, ! onset, bytespersamp, bigendian, normfactor); nbytes = write(fd, sampbuf, nchannels * bytespersamp * thiswrite); if (nbytes < nchannels * bytespersamp * thiswrite) --- 1248,1254 ---- int thiswrite = nframes - itemswritten, nitems, nbytes; thiswrite = (thiswrite > bufframes ? bufframes : thiswrite); ! soundfile_xferout(argc, (t_float **)vecs, (unsigned char *)sampbuf, ! thiswrite, onset, bytespersamp, bigendian, normfactor, ! sizeof(t_word)/sizeof(float)); nbytes = write(fd, sampbuf, nchannels * bytespersamp * thiswrite); if (nbytes < nchannels * bytespersamp * thiswrite) *************** *** 1790,1794 **** soundfile_xferin(sfchannels, noutlets, x->x_outvec, 0, (unsigned char *)(x->x_buf + x->x_fifotail), xfersize, ! bytespersample, bigendian); vecsize -= xfersize; } --- 1794,1798 ---- soundfile_xferin(sfchannels, noutlets, x->x_outvec, 0, (unsigned char *)(x->x_buf + x->x_fifotail), xfersize, ! bytespersample, bigendian, 1); vecsize -= xfersize; } *************** *** 1805,1809 **** soundfile_xferin(sfchannels, noutlets, x->x_outvec, 0, (unsigned char *)(x->x_buf + x->x_fifotail), vecsize, ! bytespersample, bigendian);
x->x_fifotail += wantbytes; --- 1809,1813 ---- soundfile_xferin(sfchannels, noutlets, x->x_outvec, 0, (unsigned char *)(x->x_buf + x->x_fifotail), vecsize, ! bytespersample, bigendian, 1);
x->x_fifotail += wantbytes; *************** *** 2265,2269 **** soundfile_xferout(sfchannels, x->x_outvec, (unsigned char *)(x->x_buf + x->x_fifohead), vecsize, 0, ! bytespersample, bigendian, 1.);
x->x_fifohead += wantbytes; --- 2269,2273 ---- soundfile_xferout(sfchannels, x->x_outvec, (unsigned char *)(x->x_buf + x->x_fifohead), vecsize, 0, ! bytespersample, bigendian, 1., 1);
x->x_fifohead += wantbytes;
Index: notes.txt =================================================================== RCS file: /cvsroot/pure-data/pd/src/notes.txt,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** notes.txt 4 Oct 2006 19:35:06 -0000 1.32 --- notes.txt 22 Oct 2006 21:46:11 -0000 1.33 *************** *** 1,3 **** --- 1,8 ---- ---------------- dolist -------------------- + 0.40-1: + http "about" broken on MSW? + help browser broke on Panurge + binbuf_read_via_canvas in x_qlist.c + check bug reports on sourceforge double-click fix on mac? *************** *** 50,55 **** --- 55,64 ----
features: + sigmund~: sort by pitch; one-shot + add -x flag to drawnumbers.... + grab new ALSA midi code from devel externs able to usurp built-ins (+mem alignment for SSE) replace gatom_escapit with a quoting mechanism (handle '[', spaces, etc.) + unicode in filenames??? How does this work? (bug report about windows) sprout inlet for "route", "sel" if one arg more list functions (see x_list.c)
Index: g_array.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/g_array.c,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** g_array.c 15 Aug 2006 04:54:15 -0000 1.11 --- g_array.c 22 Oct 2006 21:46:10 -0000 1.12 *************** *** 1131,1135 **** so returns the goods */
! int garray_getfloatarray(t_garray *x, int *size, t_float **vec) { int yonset, type, elemsize; --- 1131,1135 ---- so returns the goods */
! int garray_getfloatwords(t_garray *x, int *size, t_word **vec) { int yonset, type, elemsize; *************** *** 1146,1152 **** } *size = garray_npoints(x); ! *vec = (float *)garray_vec(x); return (1); }
/* set the "saveit" flag */ --- 1146,1166 ---- } *size = garray_npoints(x); ! *vec = (t_word *)garray_vec(x); return (1); } + /* older, non-64-bit safe version, supplied for older externs */ + + int garray_getfloatarray(t_garray *x, int *size, t_float **vec) + { + if (sizeof(t_word) != sizeof(float)) + { + static int warned; + if (!warned) + post( + "warning: extern using garray_getfloatarray() won't work in 64-bit version"); + warned = 1; + } + return (garray_getfloatwords(x, size, (t_word **)vec)); + }
/* set the "saveit" flag */
Index: g_graph.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/g_graph.c,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** g_graph.c 3 Jun 2006 19:13:07 -0000 1.10 --- g_graph.c 22 Oct 2006 21:46:11 -0000 1.11 *************** *** 1000,1004 **** int oldx = 0.5 + glist_pixelstox(x, graph_lastxpix); int newx = 0.5 + glist_pixelstox(x, newxpix); ! t_float *vec; int nelem, i; float oldy = glist_pixelstoy(x, graph_lastypix); --- 1000,1004 ---- int oldx = 0.5 + glist_pixelstox(x, graph_lastxpix); int newx = 0.5 + glist_pixelstox(x, newxpix); ! t_word *vec; int nelem, i; float oldy = glist_pixelstoy(x, graph_lastypix); *************** *** 1009,1013 **** if (!a || pd_class((t_pd *)a) != garray_class) return; ! if (!garray_getfloatarray(a, &nelem, &vec)) return; if (oldx < 0) oldx = 0; --- 1009,1013 ---- if (!a || pd_class((t_pd *)a) != garray_class) return; ! if (!garray_getfloatwords(a, &nelem, &vec)) return; if (oldx < 0) oldx = 0; *************** *** 1020,1024 **** { for (i = oldx + 1; i <= newx; i++) ! vec[i] = newy + (oldy - newy) * ((float)(newx - i))/(float)(newx - oldx); } --- 1020,1024 ---- { for (i = oldx + 1; i <= newx; i++) ! vec[i].w_float = newy + (oldy - newy) * ((float)(newx - i))/(float)(newx - oldx); } *************** *** 1026,1033 **** { for (i = oldx - 1; i >= newx; i--) ! vec[i] = newy + (oldy - newy) * ((float)(newx - i))/(float)(newx - oldx); } ! else vec[newx] = newy; garray_redraw(a); } --- 1026,1033 ---- { for (i = oldx - 1; i >= newx; i--) ! vec[i].w_float = newy + (oldy - newy) * ((float)(newx - i))/(float)(newx - oldx); } ! else vec[newx].w_float = newy; garray_redraw(a); }
Index: g_readwrite.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/g_readwrite.c,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** g_readwrite.c 15 Aug 2006 04:54:15 -0000 1.7 --- g_readwrite.c 22 Oct 2006 21:46:11 -0000 1.8 *************** *** 259,264 **** error("qlist_read: unknown flag: %s", format->s_name);
! if (binbuf_read_via_path(b, filename->s_name, ! canvas_getdir(canvas)->s_name, cr)) { pd_error(x, "read failed"); --- 259,263 ---- error("qlist_read: unknown flag: %s", format->s_name);
! if (binbuf_read_via_canvas(b, filename->s_name, canvas, cr)) { pd_error(x, "read failed");
--- s_midi_sgi.c DELETED ---
Index: d_array.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/d_array.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** d_array.c 31 Dec 2005 20:55:25 -0000 1.6 --- d_array.c 22 Oct 2006 21:46:10 -0000 1.7 *************** *** 19,23 **** int x_phase; int x_nsampsintab; ! float *x_vec; t_symbol *x_arrayname; float x_f; --- 19,23 ---- int x_phase; int x_nsampsintab; ! t_word *x_vec; t_symbol *x_arrayname; float x_f; *************** *** 53,57 **** { int nxfer = endphase - phase; ! float *fp = x->x_vec + phase; if (nxfer > n) nxfer = n; phase += nxfer; --- 53,57 ---- { int nxfer = endphase - phase; ! t_word *wp = x->x_vec + phase; if (nxfer > n) nxfer = n; phase += nxfer; *************** *** 61,65 **** if (PD_BIGORSMALL(f)) f = 0; ! *fp++ = f; } if (phase >= endphase) --- 61,65 ---- if (PD_BIGORSMALL(f)) f = 0; ! (wp++)->w_float = f; } if (phase >= endphase) *************** *** 86,90 **** x->x_vec = 0; } ! else if (!garray_getfloatarray(a, &x->x_nsampsintab, &x->x_vec)) { pd_error(x, "%s: bad template for tabwrite~", x->x_arrayname->s_name); --- 86,90 ---- x->x_vec = 0; } ! else if (!garray_getfloatwords(a, &x->x_nsampsintab, &x->x_vec)) { pd_error(x, "%s: bad template for tabwrite~", x->x_arrayname->s_name); *************** *** 147,151 **** int x_nsampsintab; int x_limit; ! float *x_vec; t_symbol *x_arrayname; t_clock *x_clock; --- 147,151 ---- int x_nsampsintab; int x_limit; ! t_word *x_vec; t_symbol *x_arrayname; t_clock *x_clock; *************** *** 169,173 **** { t_tabplay_tilde *x = (t_tabplay_tilde *)(w[1]); ! t_float *out = (t_float *)(w[2]), *fp; int n = (int)(w[3]), phase = x->x_phase, endphase = (x->x_nsampsintab < x->x_limit ? --- 169,174 ---- { t_tabplay_tilde *x = (t_tabplay_tilde *)(w[1]); ! t_float *out = (t_float *)(w[2]); ! t_word *wp; int n = (int)(w[3]), phase = x->x_phase, endphase = (x->x_nsampsintab < x->x_limit ? *************** *** 177,181 ****
nxfer = endphase - phase; ! fp = x->x_vec + phase; if (nxfer > n) nxfer = n; --- 178,182 ----
nxfer = endphase - phase; ! wp = x->x_vec + phase; if (nxfer > n) nxfer = n; *************** *** 183,187 **** phase += nxfer; while (nxfer--) ! *out++ = *fp++; if (phase >= endphase) { --- 184,188 ---- phase += nxfer; while (nxfer--) ! *out++ = (wp++)->w_float; if (phase >= endphase) { *************** *** 210,214 **** x->x_vec = 0; } ! else if (!garray_getfloatarray(a, &x->x_nsampsintab, &x->x_vec)) { pd_error(x, "%s: bad template for tabplay~", x->x_arrayname->s_name); --- 211,215 ---- x->x_vec = 0; } ! else if (!garray_getfloatwords(a, &x->x_nsampsintab, &x->x_vec)) { pd_error(x, "%s: bad template for tabplay~", x->x_arrayname->s_name); *************** *** 274,278 **** t_object x_obj; int x_npoints; ! float *x_vec; t_symbol *x_arrayname; float x_f; --- 275,279 ---- t_object x_obj; int x_npoints; ! t_word *x_vec; t_symbol *x_arrayname; float x_f; *************** *** 296,300 **** int n = (int)(w[4]); int maxindex; ! float *buf = x->x_vec, *fp; int i;
--- 297,301 ---- int n = (int)(w[4]); int maxindex; ! t_word *buf = x->x_vec; int i;
*************** *** 309,313 **** else if (index > maxindex) index = maxindex; ! *out++ = buf[index]; } return (w+5); --- 310,314 ---- else if (index > maxindex) index = maxindex; ! *out++ = buf[index].w_float; } return (w+5); *************** *** 329,333 **** x->x_vec = 0; } ! else if (!garray_getfloatarray(a, &x->x_npoints, &x->x_vec)) { pd_error(x, "%s: bad template for tabread~", x->x_arrayname->s_name); --- 330,334 ---- x->x_vec = 0; } ! else if (!garray_getfloatwords(a, &x->x_npoints, &x->x_vec)) { pd_error(x, "%s: bad template for tabread~", x->x_arrayname->s_name); *************** *** 370,374 **** t_object x_obj; int x_npoints; ! float *x_vec; t_symbol *x_arrayname; float x_f; --- 371,375 ---- t_object x_obj; int x_npoints; ! t_word *x_vec; t_symbol *x_arrayname; float x_f; *************** *** 392,396 **** int n = (int)(w[4]); int maxindex; ! float *buf = x->x_vec, *fp; int i;
--- 393,397 ---- int n = (int)(w[4]); int maxindex; ! t_word *buf = x->x_vec, *wp; int i;
*************** *** 426,434 **** index = maxindex, frac = 1; else frac = findex - index; ! fp = buf + index; ! a = fp[-1]; ! b = fp[0]; ! c = fp[1]; ! d = fp[2]; /* if (!i && !(count++ & 1023)) post("fp = %lx, shit = %lx, b = %f", fp, buf->b_shit, b); */ --- 427,435 ---- index = maxindex, frac = 1; else frac = findex - index; ! wp = buf + index; ! a = wp[-1].w_float; ! b = wp[0].w_float; ! c = wp[1].w_float; ! d = wp[2].w_float; /* if (!i && !(count++ & 1023)) post("fp = %lx, shit = %lx, b = %f", fp, buf->b_shit, b); */ *************** *** 458,462 **** x->x_vec = 0; } ! else if (!garray_getfloatarray(a, &x->x_npoints, &x->x_vec)) { pd_error(x, "%s: bad template for tabread4~", x->x_arrayname->s_name); --- 459,463 ---- x->x_vec = 0; } ! else if (!garray_getfloatwords(a, &x->x_npoints, &x->x_vec)) { pd_error(x, "%s: bad template for tabread4~", x->x_arrayname->s_name); *************** *** 564,568 **** float x_fnpoints; float x_finvnpoints; ! float *x_vec; t_symbol *x_arrayname; float x_f; --- 565,569 ---- float x_fnpoints; float x_finvnpoints; ! t_word *x_vec; t_symbol *x_arrayname; float x_f; *************** *** 596,600 **** float conv = fnpoints * x->x_conv; int maxindex; ! float *tab = x->x_vec, *addr; int i; double dphase = fnpoints * x->x_phase + UNITBIT32; --- 597,601 ---- float conv = fnpoints * x->x_conv; int maxindex; ! t_word *tab = x->x_vec, *addr; int i; double dphase = fnpoints * x->x_phase + UNITBIT32; *************** *** 613,620 **** tf.tf_i[HIOFFSET] = normhipart; frac = tf.tf_d - UNITBIT32; ! a = addr[0]; ! b = addr[1]; ! c = addr[2]; ! d = addr[3]; cminusb = c-b; *out++ = b + frac * ( --- 614,621 ---- tf.tf_i[HIOFFSET] = normhipart; frac = tf.tf_d - UNITBIT32; ! a = addr[0].w_float; ! b = addr[1].w_float; ! c = addr[2].w_float; ! d = addr[3].w_float; cminusb = c-b; *out++ = b + frac * ( *************** *** 650,654 **** x->x_vec = 0; } ! else if (!garray_getfloatarray(a, &pointsinarray, &x->x_vec)) { pd_error(x, "%s: bad template for tabosc4~", x->x_arrayname->s_name); --- 651,655 ---- x->x_vec = 0; } ! else if (!garray_getfloatwords(a, &pointsinarray, &x->x_vec)) { pd_error(x, "%s: bad template for tabosc4~", x->x_arrayname->s_name); *************** *** 705,709 **** { t_object x_obj; ! float *x_vec; int x_graphperiod; int x_graphcount; --- 706,710 ---- { t_object x_obj; ! t_word *x_vec; int x_graphperiod; int x_graphcount; *************** *** 728,732 **** t_float *in = (t_float *)(w[2]); int n = w[3]; ! t_float *dest = x->x_vec; int i = x->x_graphcount; if (!x->x_vec) goto bad; --- 729,733 ---- t_float *in = (t_float *)(w[2]); int n = w[3]; ! t_word *dest = x->x_vec; int i = x->x_graphcount; if (!x->x_vec) goto bad; *************** *** 737,741 **** if (PD_BIGORSMALL(f)) f = 0; ! *dest++ = f; } if (!i--) --- 738,742 ---- if (PD_BIGORSMALL(f)) f = 0; ! (dest++)->w_float = f; } if (!i--) *************** *** 762,766 **** pd_error(x, "tabsend~: %s: no such array", x->x_arrayname->s_name); } ! else if (!garray_getfloatarray(a, &vecsize, &x->x_vec)) pd_error(x, "%s: bad template for tabsend~", x->x_arrayname->s_name); else --- 763,767 ---- pd_error(x, "tabsend~: %s: no such array", x->x_arrayname->s_name); } ! else if (!garray_getfloatwords(a, &vecsize, &x->x_vec)) pd_error(x, "%s: bad template for tabsend~", x->x_arrayname->s_name); else *************** *** 792,796 **** { t_object x_obj; ! float *x_vec; int x_vecsize; t_symbol *x_arrayname; --- 793,797 ---- { t_object x_obj; ! t_word *x_vec; int x_vecsize; t_symbol *x_arrayname; *************** *** 802,811 **** t_float *out = (t_float *)(w[2]); int n = w[3]; ! t_float *from = x->x_vec; if (from) { int vecsize = x->x_vecsize; while (vecsize--) ! *out++ = *from++; vecsize = n - x->x_vecsize; while (vecsize--) --- 803,812 ---- t_float *out = (t_float *)(w[2]); int n = w[3]; ! t_word *from = x->x_vec; if (from) { int vecsize = x->x_vecsize; while (vecsize--) ! *out++ = (from++)->w_float; vecsize = n - x->x_vecsize; while (vecsize--) *************** *** 824,828 **** pd_error(x, "tabsend~: %s: no such array", x->x_arrayname->s_name); } ! else if (!garray_getfloatarray(a, &x->x_vecsize, &x->x_vec)) pd_error(x, "%s: bad template for tabreceive~", x->x_arrayname->s_name); else --- 825,829 ---- pd_error(x, "tabsend~: %s: no such array", x->x_arrayname->s_name); } ! else if (!garray_getfloatwords(a, &x->x_vecsize, &x->x_vec)) pd_error(x, "%s: bad template for tabreceive~", x->x_arrayname->s_name); else *************** *** 866,874 **** t_garray *a; int npoints; ! t_float *vec;
if (!(a = (t_garray *)pd_findbyclass(x->x_arrayname, garray_class))) pd_error(x, "%s: no such array", x->x_arrayname->s_name); ! else if (!garray_getfloatarray(a, &npoints, &vec)) pd_error(x, "%s: bad template for tabread", x->x_arrayname->s_name); else --- 867,875 ---- t_garray *a; int npoints; ! t_word *vec;
if (!(a = (t_garray *)pd_findbyclass(x->x_arrayname, garray_class))) pd_error(x, "%s: no such array", x->x_arrayname->s_name); ! else if (!garray_getfloatwords(a, &npoints, &vec)) pd_error(x, "%s: bad template for tabread", x->x_arrayname->s_name); else *************** *** 877,881 **** if (n < 0) n = 0; else if (n >= npoints) n = npoints - 1; ! outlet_float(x->x_obj.ob_outlet, (npoints ? vec[n] : 0)); } } --- 878,882 ---- if (n < 0) n = 0; else if (n >= npoints) n = npoints - 1; ! outlet_float(x->x_obj.ob_outlet, (npoints ? vec[n].w_float : 0)); } } *************** *** 917,944 **** t_garray *a; int npoints; ! t_float *vec;
if (!(a = (t_garray *)pd_findbyclass(x->x_arrayname, garray_class))) pd_error(x, "%s: no such array", x->x_arrayname->s_name); ! else if (!garray_getfloatarray(a, &npoints, &vec)) pd_error(x, "%s: bad template for tabread4", x->x_arrayname->s_name); else if (npoints < 4) outlet_float(x->x_obj.ob_outlet, 0); else if (f <= 1) ! outlet_float(x->x_obj.ob_outlet, vec[1]); else if (f >= npoints - 2) ! outlet_float(x->x_obj.ob_outlet, vec[npoints - 2]); else { int n = f; ! float a, b, c, d, cminusb, frac, *fp; if (n >= npoints - 2) n = npoints - 3; ! fp = vec + n; frac = f - n; ! a = fp[-1]; ! b = fp[0]; ! c = fp[1]; ! d = fp[2]; cminusb = c-b; outlet_float(x->x_obj.ob_outlet, b + frac * ( --- 918,946 ---- t_garray *a; int npoints; ! t_word *vec;
if (!(a = (t_garray *)pd_findbyclass(x->x_arrayname, garray_class))) pd_error(x, "%s: no such array", x->x_arrayname->s_name); ! else if (!garray_getfloatwords(a, &npoints, &vec)) pd_error(x, "%s: bad template for tabread4", x->x_arrayname->s_name); else if (npoints < 4) outlet_float(x->x_obj.ob_outlet, 0); else if (f <= 1) ! outlet_float(x->x_obj.ob_outlet, vec[1].w_float); else if (f >= npoints - 2) ! outlet_float(x->x_obj.ob_outlet, vec[npoints - 2].w_float); else { int n = f; ! float a, b, c, d, cminusb, frac; ! t_word *wp; if (n >= npoints - 2) n = npoints - 3; ! wp = vec + n; frac = f - n; ! a = wp[-1].w_float; ! b = wp[0].w_float; ! c = wp[1].w_float; ! d = wp[2].w_float; cminusb = c-b; outlet_float(x->x_obj.ob_outlet, b + frac * ( *************** *** 985,993 **** int i, vecsize; t_garray *a; ! t_float *vec;
if (!(a = (t_garray *)pd_findbyclass(x->x_arrayname, garray_class))) pd_error(x, "%s: no such array", x->x_arrayname->s_name); ! else if (!garray_getfloatarray(a, &vecsize, &vec)) pd_error(x, "%s: bad template for tabwrite", x->x_arrayname->s_name); else --- 987,995 ---- int i, vecsize; t_garray *a; ! t_word *vec;
if (!(a = (t_garray *)pd_findbyclass(x->x_arrayname, garray_class))) pd_error(x, "%s: no such array", x->x_arrayname->s_name); ! else if (!garray_getfloatwords(a, &vecsize, &vec)) pd_error(x, "%s: bad template for tabwrite", x->x_arrayname->s_name); else *************** *** 998,1002 **** else if (n >= vecsize) n = vecsize-1; ! vec[n] = f; garray_redraw(a); } --- 1000,1004 ---- else if (n >= vecsize) n = vecsize-1; ! vec[n].w_float = f; garray_redraw(a); }