grrrr / xsample

xsample – Extended sample objects for Pure Data and Max
http://grrrr.org/research/software/xsample
Other
11 stars 4 forks source link

xsampe~library not compilable with current flext with Max 7 SDK for 64 bit #2

Closed ghost closed 5 years ago

ghost commented 7 years ago

I'm trying to compile the xsample objects for Max 7 64bit with the latest flext, but I'm failing, because the nex main signaure is not supported, any ideas? thx

/*j

grrrr commented 7 years ago

Hi Jan, do want to compile it for 64-bit DSP? This is currently not supported in the main branch, but there is a respective pull request. The thing with "nex main signature" i don't get.

ghost commented 7 years ago

Hello Thomas,

Sorry for being unclear, the new SDK changes the main function signature as well as the 64bit dsp and perform routines. They're much simpler and clearer now, but above all much different from before and certainly from PD.

void myobj_dsp64(t_myobj *x, t_object *dsp64, short *count, double samplerate, long maxvectorsize, long flags);

void myobj_perform64(t_myobj *x, t_object *dsp64, double **ins, long numins, double **outs, long numouts, long sampleframes, long flags, void ``*userparam);

In addition the main datatypes have changed to include 64bit variables:

/** A float -- always a 32 bit floating point number.       @ingroup msp    */
typedef float t_float;

/** A double -- always a 64 bit floating point number.      @ingroup msp    */
typedef double t_double;

/** A sample value -- width determined by MSP version.      @ingroup msp    */
#if MSP64
typedef double t_sample; 
#else
typedef float t_sample;
#endif`

So, that implies big changes in flext, I guess....

grrrr commented 7 years ago

Hi, the datatype changes are fully recognized by flext. The 64 bit dsp chain is implemented by the "64bit mod" pull request, but i am still unsure what is the best way to integrate it.

Am 17.11.2016 um 09:13 schrieb jasch notifications@github.com:

Hello Thomas,

Sorry for being unclear, the new SDK changes the main function signature as well as the 64bit dsp and perform routines. They're much simpler and clearer now, but above all much different from before and certainly from PD.

void myobj_dsp64(t_myobj _x, t_object dsp64, short count, double samplerate, long maxvectorsize, long flags); void myobj_perform64(t_myobj x, t_object dsp64, double _ins, long numins, double _outs, long numouts, long sampleframes, long flags, void_userparam);

In addition the main datatypes have changed to include 64bit variables:

/* A float -- always a 32 bit floating point number. @ingroup https://github.com/ingroup msp / typedef float t_float;

/* A double -- always a 64 bit floating point number. @ingroup https://github.com/ingroup msp / typedef double t_double;

/* A sample value -- width determined by MSP version. @ingroup https://github.com/ingroup msp /

if MSP64

typedef double t_sample;

else

typedef float t_sample;

endif``

So, that implies big changes in flext, I guess....

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/grrrr/xsample/issues/2#issuecomment-261182317, or mute the thread https://github.com/notifications/unsubscribe-auth/AAJ-JikGnAQhksgZXlMZKDyzlKQ1p9isks5q_AyqgaJpZM4KxDaD.

grrrr commented 7 years ago

Actually, i think this has been resolved a while ago. @j45ch, do you like to check?

grrrr commented 5 years ago

64-bit DSP with Max is now enabled with flext commit fa8bde0 although i consider it still experimental