On Feb 26, 2009, at 3:49 AM, IOhannes m zmoelnig wrote:
John Harrison wrote:
danomatika wrote:
I made a 64bit build of pd-extended using the pd core (0.41 I
believe) from the pd-extended svn and it has this table bug. It seems to
only access half of the table, at least in the C08 and C09 audio example patches. They work fine in my build using pd-vanilla 0.42.4.Wow I am surprised to hear that. I remember seeing this table bug in 0.40 but thought it disappeared on my 64 bit ubuntu Hardy build of
0.41.it's definitely fixed in 0.41
there are 2 possibilites, i see:
- dan has (despite his claims) not built a 0.41 version but a prior
one
- the bug he is experiencing comes from some externals using
garray_getfloatarray() rather than garray_getfloatwords()
in the latter case, there ought to be some printout in the Pd-console about the illegal use of garray_getfloatarray() on 64bit.
I just ran a check of the code in SVN, turns out there are many using
garray_getfloatarray(). What's the conversion path for that? That
would be good to fix, so we can have fully working 64-bit builds of
all this:
hans@palatschinken.at.or.at:trunk > find . -type f -print0 | xargs -0
grep garray_getfloatarray | grep -v desiredata | grep -v svn
./extensions/xgui/xgui-lib/m_pd.h:EXTERN int
garray_getfloatarray(t_garray *x, int *size, t_float **vec);
./externals/algocomp/m_pd.h:EXTERN int garray_getfloatarray(t_garray
*x, int *size, t_float **vec);
./externals/bsaylor/partconv~.c: } else if ( !
garray_getfloatarray(arrayobj, &arraysize, &array)) {
./externals/bsaylor/pvoc~.c: } else if ( ! garray_getfloatarray(x-
arrayobj, &x->arraysize, &x->array)) {
./externals/build/include/m_pd.h:EXTERN int
garray_getfloatarray(t_garray *x, int *size, t_float **vec);
./externals/creb/modules/statwav~.c: else if (!
garray_getfloatarray(a, &x->x_npoints, &x->x_vec))
./externals/creb/modules/tabreadmix~.c: else if (!
garray_getfloatarray(a, &x->x_npoints, &x->x_vec))
./externals/cxc/mean~.c: else if (!garray_getfloatarray(a, &x-
x_nsampsintab, &x->x_vec))
./externals/cxc/mean~.c: garray_getfloatarray(a,&x->x_nsampsintab,&x-
x_vec);
./externals/cxc/mean~.c: else if (!garray_getfloatarray(a, &x-
x_nsampsintab, &x->x_vec))
./externals/cxc/mean~.c: garray_getfloatarray(a,&x->x_nsampsintab,&x-
x_vec);
./externals/cxc/mean~.c: else if (!garray_getfloatarray(a, &x-
x_nsampsintab, &x->x_vec))
./externals/cxc/mean~.c: garray_getfloatarray(a,&x->x_nsampsintab,&x-
x_vec);
./externals/cxc/mean~.c: else if (!garray_getfloatarray(a, &x-
x_nsampsintab, &x->x_vec))
./externals/cxc/mean~.c: garray_getfloatarray(a,&x->x_nsampsintab,&x-
x_vec);
./externals/dfx/transverb/prep.i:extern int
garray_getfloatarray(struct _garray *x, int *size, t_float **vec);
./externals/ekext/framescore~/m_pd.h:EXTERN int
garray_getfloatarray(t_garray *x, int *size, t_float **vec);
./externals/ekext/framespect~/m_pd.h:EXTERN int
garray_getfloatarray(t_garray *x, int *size, t_float **vec);
./externals/ekext/hssc~/m_pd.h:EXTERN int
garray_getfloatarray(t_garray *x, int *size, t_float **vec);
./externals/ekext/listmoses/m_pd.h:EXTERN int
garray_getfloatarray(t_garray *x, int *size, t_float **vec);
./externals/ekext/simile/m_pd.h:EXTERN int
garray_getfloatarray(t_garray *x, int *size, t_float **vec);
./externals/ekext/simile~/m_pd.h:EXTERN int
garray_getfloatarray(t_garray *x, int *size, t_float **vec);
./externals/frankenstein/chord_melo.c: else if (!
garray_getfloatarray(arysrc_note, &vecsize, &(x->vecsrc_note)))
./externals/frankenstein/chord_melo.c: else if (!
garray_getfloatarray(arysrc_octave, &vecsize, &(x->vecsrc_octave)))
./externals/frankenstein/chord_melo.c: else if (!
garray_getfloatarray(arysrc_passing, &vecsize, &(x->vecsrc_passing)))
./externals/frankenstein/chord_melo.c: else if (!
garray_getfloatarray(arysrc_played, &vecsize, &(x->vecsrc_played)))
./externals/frankenstein/chord_melo.c: else if (!
garray_getfloatarray(arydest_note, &vecsize, &(x->vecdest_note)))
./externals/frankenstein/chord_melo.c: else if (!
garray_getfloatarray(arydest_octave, &vecsize, &(x->vecdest_octave)))
./externals/frankenstein/chord_melo.c: else if (!
garray_getfloatarray(arydest_passing, &vecsize, &(x->vecdest_passing)))
./externals/frankenstein/chord_melo.c: else if (!
garray_getfloatarray(arydest_played, &vecsize, &(x->vecdest_played)))
./externals/frankenstein/GArhythm.c: else if (!
garray_getfloatarray(arysrc_strum1, &vecsize, &vecsrc_strum1))
./externals/frankenstein/GArhythm.c: else if (!
garray_getfloatarray(arysrc_strum2, &vecsize, &vecsrc_strum2))
./externals/frankenstein/GArhythm.c: else if (!
garray_getfloatarray(arysrc_strum3, &vecsize, &vecsrc_strum3))
./externals/frankenstein/GArhythm.c: else if (!
garray_getfloatarray(arysrc_strum4, &vecsize, &vecsrc_strum4))
./externals/frankenstein/GArhythm.c: else if (!
garray_getfloatarray(arysrc_strum1, &vecsize, &vecsrc_strum1))
./externals/frankenstein/GArhythm.c: else if (!
garray_getfloatarray(arysrc_strum2, &vecsize, &vecsrc_strum2))
./externals/frankenstein/GArhythm.c: else if (!
garray_getfloatarray(arysrc_strum3, &vecsize, &vecsrc_strum3))
./externals/frankenstein/GArhythm.c: else if (!
garray_getfloatarray(arysrc_strum4, &vecsize, &vecsrc_strum4))
./externals/frankenstein/GArhythm.c: else if (!
garray_getfloatarray(arydest_strum1, &vecsize, &vecdest_strum1))
./externals/frankenstein/GArhythm.c: else if (!
garray_getfloatarray(arydest_strum2, &vecsize, &vecdest_strum2))
./externals/frankenstein/GArhythm.c: else if (!
garray_getfloatarray(arydest_strum3, &vecsize, &vecdest_strum3))
./externals/frankenstein/GArhythm.c: else if (!
garray_getfloatarray(arydest_strum4, &vecsize, &vecdest_strum4))
./externals/frankenstein/ritmo1.c: else if (!
garray_getfloatarray(arysrc, &vecsize, &vecsrc))
./externals/frankenstein/ritmo1.c: else if (!
garray_getfloatarray(arydest, &vecsize, &vecdest))
./externals/ggee/experimental/fofsynth~.c: else if (!
garray_getfloatarray(a,points,vec))
./externals/ggee/experimental/tabwrite4~.c: else if (!
garray_getfloatarray(a, &x->x_npoints, &x->x_vec))
./externals/grill/flext/source/flbuf.cpp: else if(!
garray_getfloatarray(arr, &frames1, &data1))
./externals/grill/flext/source/flbuf.cpp: if(!
garray_getfloatarray(arr, &frames1, &data1)) {
./externals/hcs/TAGS:int garray_getfloatarray(1153,38595
./externals/hcs/usbhid/TAGS:int garray_getfloatarray(1153,38595
./externals/iem/iem_adaptfilt/src/n_CLNLMS~.c: else if(!
garray_getfloatarray(a, &n_points, &vec))
./externals/iem/iem_adaptfilt/src/n_CNLMS~.c: else if(!
garray_getfloatarray(a, &n_points, &vec))
./externals/iem/iem_adaptfilt/src/NLMSCC~.c: else if(!
garray_getfloatarray(a, &n_points, &vec))
./externals/iem/iem_adaptfilt/src/NLMS~.c: else if(!
garray_getfloatarray(a, &n_points, &vec))
./externals/iem/iem_bin_ambi/src/iemlib.h:/* on 64bit systems we
cannot use garray_getfloatarray... */
./externals/iem/iem_bin_ambi/src/iemlib.h:# define iemarray_getarray
garray_getfloatarray
./externals/iem/iem_spec2/src/iemlib.h:/* on 64bit systems we cannot
use garray_getfloatarray... */
./externals/iem/iem_spec2/src/iemlib.h:# define iemarray_getarray
garray_getfloatarray
./externals/iem/iem_tab/src/iemlib.h:/* on 64bit systems we cannot use
garray_getfloatarray... */
./externals/iem/iem_tab/src/iemlib.h:# define iemarray_getarray
garray_getfloatarray
./externals/iem16/src/table16.c: if (!garray_getfloatarray(a,
&npoints, &vec)){
./externals/iemlib/iemlib1/src/FIR~.c: else if(!
garray_getfloatarray(ga, &table_size, &x->x_coef_beg))
./externals/io/hidio/TAGS:int garray_getfloatarray(1153,38595
./externals/loaders/pdj/src/MSPBuffer.c: if ( !
garray_getfloatarray(array, &size, &vec) )
./externals/loaders/pdj/src/MSPBuffer.c: if ( !
garray_getfloatarray(array, &size, &vec) )
./externals/loaders/pdj/src/MSPBuffer.c: if ( !
garray_getfloatarray(array, &size, &vec) )
./externals/loaders/pdj/src/MSPBuffer.c: if ( !
garray_getfloatarray(array, &size, &vec) )
./externals/maxlib/src/arbran.c: if (!garray_getfloatarray(bx, &ix,
&tx))
./externals/maxlib/src/arbran.c: if (!garray_getfloatarray(bp, &ip,
&tp))
./externals/maxlib/src/arbran.c: if (!garray_getfloatarray(bx, &ix,
&tx))
./externals/maxlib/src/arbran.c: if (!garray_getfloatarray(bp, &ip,
&tp))
./externals/maxlib/src/arraycopy.c: if (!garray_getfloatarray(b,
&items, &tab))
./externals/maxlib/src/arraycopy.c: else if (!garray_getfloatarray(A,
&npoints, &vec))
./externals/maxlib/src/score.c: if (!garray_getfloatarray(b, &items,
&tab))
./externals/maxlib/src/subst.c: else if (!garray_getfloatarray(A,
&npoints, &vec))
./externals/maxlib/src/subst.c: if (!garray_getfloatarray(b, &items,
&tab))
./externals/miXed/shared/common/vefl.c: if
(garray_getfloatarray(ap, &vsz, &vec))
./externals/miXed/shared/common/vefl.c: && !garray_getfloatarray(vp-
v_garray, &vp->v_size, &vp->v_data))
./externals/miXed/shared/common/vefl.c: else if (!
garray_getfloatarray(vp->v_garray, &vp->v_size, &vp->v_data))
./externals/moocow/flite/flite.c: if (!garray_getfloatarray(a,
&vecsize, &vec))
./externals/moocow/pdstring/src/array2rawbytes.c: if (!
garray_getfloatarray(a, &fvecsize, &fvec))
./externals/moocow/pdstring/src/pdstringUtils.c: if (!
garray_getfloatarray(fa->fa_garray, &fa->fa_vlen, &fa->fa_vec)) {
./externals/moocow/pdstring/src/pdstringUtils.c: pd_error(x,
"pdstring_floatarray_getvec(): garray_getfloatarray() failed for array
'%s'", fa->fa_name->s_name);
./externals/moocow/pdstring/src/rawbytes2array.c: if (!
garray_getfloatarray(a, &fvecsize, &fvec))
./externals/moonlib/readsfv~.c: else if (!
garray_getfloatarray(garrays[i], &vecsize, &vecs[i]))
./externals/moonlib/readsfv~.c: garray_getfloatarray(garrays[i],
&vecsize, &vecs[i]);
./externals/moonlib/readsfv~.c: garray_getfloatarray(garrays[i],
&vecsize, &vecs[i]);
./externals/moonlib/readsfv~.c: garray_getfloatarray(garrays[i],
&vecsize, &foo);
./externals/moonlib/readsfv~.c: else if (!
garray_getfloatarray(garrays[i], &vecsize, &vecs[i]))
./externals/moonlib/tabdump2.c: else if (!garray_getfloatarray(A,
&npoints, &vec))
./externals/moonlib/tabdump2.c: else if (!garray_getfloatarray(A,
&npoints, &vec))
./externals/moonlib/tabenv.c: else if (!garray_getfloatarray(a, &x-
x_nsampsintab, &x->x_vec))
./externals/moonlib/tabreadl.c: else if (!garray_getfloatarray(a,
&npoints, &vec))
./externals/moonlib/tabsort.c: else if (!garray_getfloatarray(a,
&n1, &vec1))
./externals/moonlib/tabsort.c: else if (!garray_getfloatarray(a,
&n2, &vec2))
./externals/moonlib/tabsort2.c: else if (!garray_getfloatarray(a,
&n1, &vec1))
./externals/moonlib/tabsort2.c: else if (!garray_getfloatarray(a,
&n2, &vec2))
./externals/moonlib/tabsort2.c: else if (!garray_getfloatarray(a,
&n3, &vec3))
./externals/mrpeach/flist2tab/flist2tab.c:/* garray_getfloatarray uses
t_float but is not 64-bit */
./externals/mrpeach/flist2tab/flist2tab.c: else if (!
garray_getfloatarray(a, &npoints, &vec))
./externals/mrpeach/flist2tab/flist2tab.c: if (!
garray_getfloatarray(a, &npoints, &vec))
./externals/mrpeach/flist2tab/flist2tab.c: else if (!
garray_getfloatarray(a, &npoints, &vec))
./externals/mrpeach/flist2tab/flist2tab.c: if (!
garray_getfloatarray(a, &npoints, &vec))
./externals/mrpeach/tab2flist/tab2flist.c:/* garray_getfloatarray uses
t_float but is not 64-bit */
./externals/mrpeach/tab2flist/tab2flist.c: else if (!
garray_getfloatarray(a, &tabpoints, &vec))
./externals/mrpeach/tabfind/tabfind.c:/* garray_getfloatarray uses
t_float but is not 64-bit */
./externals/mrpeach/tabfind/tabfind.c: else if (!
garray_getfloatarray(a, &npoints, &vec))
./externals/mrpeach/tabfind/tabfind.c: else if (!
garray_getfloatarray(a, &npoints, &vec))
./externals/oscbank~/oscbank~.c: else if (!garray_getfloatarray(a,
&x->wavetablesize, &x->wavetable))
./externals/pdp/modules/image_basic/pdp_cheby.c: else if (!
garray_getfloatarray(a, &x->x_nbpoints, &x->x_vec)){
./externals/pdp/modules/image_io/pdp_qt.c: garray_getfloatarray(g,
&vecsize, &f);
./externals/pdp/modules/image_special/pdp_array.c: if (!
garray_getfloatarray(a, &x->x_nbpoints, &x->x_vec)){
./externals/pdp/modules/image_special/pdp_histo.c: else if (!
garray_getfloatarray(a, &nbpoints, &vec)){
./externals/pdp/modules/matrix_basic/clusterstuff.c: else if (!
garray_getfloatarray(a, &nbpoints, &vec)){
./externals/rhythm_estimator/pd_rhythm_ioi_histogram.c: else if (!
garray_getfloatarray (a, &x->array_nsampsintab, &x->array_vec))
./externals/rhythm_estimator/pd_rhythm_ioi_histogram.c: else if (!
garray_getfloatarray (a, &x->array_nsampsintab, &x->array_vec))
./externals/rhythm_estimator/pd_rhythm_quantum.c: else if (!
garray_getfloatarray (a, &x->array_nsampsintab, &x->array_vec))
./externals/rhythm_estimator/pd_rhythm_quantum.c: else if (!
garray_getfloatarray (a, &x->array_nsampsintab, &x->array_vec))
./externals/signal/expr~/vexp_if.c: !garray_getfloatarray(garray,
&size, &vec))
./externals/signal/expr~/vexp_if.c: !garray_getfloatarray(garray,
&size, &vec)) {
./externals/signal/pique/pique.c: !garray_getfloatarray(a, &n,
&fpreal) ||
./externals/signal/pique/pique.c: !garray_getfloatarray(a, &n,
&fpimag) ||
./externals/tb/sndfiler/src/sndfiler.c:
if(garray_getfloatarray(array, &size, &dummy))
./externals/tclpd/tcl_wrap.cxx:_wrap_garray_getfloatarray(ClientData
clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST
objv[]) {
./externals/tclpd/tcl_wrap.cxx: if (SWIG_GetArgs(interp, objc,
objv,"ooo:garray_getfloatarray x size vec ",(void *)0,(void *)0,(void
*)0) == TCL_ERROR) SWIG_fail;
./externals/tclpd/tcl_wrap.cxx:
SWIG_exception_fail(SWIG_ArgError(res1), "in method '"
"garray_getfloatarray" "', argument " "1"" of type '" "_garray *""'");
./externals/tclpd/tcl_wrap.cxx:
SWIG_exception_fail(SWIG_ArgError(res2), "in method '"
"garray_getfloatarray" "', argument " "2"" of type '" "int *""'");
./externals/tclpd/tcl_wrap.cxx:
SWIG_exception_fail(SWIG_ArgError(res3), "in method '"
"garray_getfloatarray" "', argument " "3"" of type '" "t_float **""'");
./externals/tclpd/tcl_wrap.cxx: result =
(int)garray_getfloatarray(arg1,arg2,arg3);
./externals/tclpd/tcl_wrap.cxx: { SWIG_prefix
"garray_getfloatarray", (swig_wrapper_func)
_wrap_garray_getfloatarray, NULL},
./externals/zexy/src/zexy.h:# define zarray_getarray
garray_getfloatarray
./Gem/src/Manips/linear_path.cpp: if (!
garray_getfloatarray(m_array, &size, &vec))
./Gem/src/Manips/spline_path.cpp: if (!
garray_getfloatarray(m_array, &size, &vec))
./Gem/src/Pixes/pix_curve.cpp: else if (!garray_getfloatarray(a,
length, &fp))
./Gem/src/Pixes/pix_histo.cpp: else if (!garray_getfloatarray(a,
length, &fp))
./Gem/src/Vertex/vertex_tabread.cpp: } else if (!
garray_getfloatarray(a, length, &fp)) {
Mistrust authority - promote decentralization. - the hacker ethic