[PD-dev] Double precision externals extensions.

Lucas Cordiviola lucarda27 at hotmail.com
Wed Dec 11 00:07:16 CET 2019


Thx

:)

Mensaje telepatico asistido por maquinas.

On 12/10/19 7:59 PM, Christof Ressi wrote:
>> How do I install gdb in msys2?
> pacman -S gdb
>
> Execute in MinGW32 shell and MINGW64 shell accordingly
>
>> How do I use it?
> gdb --args pd [arguments]
>> run // actually run the program
> ... wait for crash ...
>> bt // get the backtrace
> press Enter repeatedly to see more lines
>
> Christof
>
>> Gesendet: Dienstag, 10. Dezember 2019 um 22:59 Uhr
>> Von: "Lucas Cordiviola" <lucarda27 at hotmail.com>
>> An: "pd-dev at lists.iem.at" <pd-dev at lists.iem.at>, "Christof Ressi" <christof.ressi at gmx.at>
>> Betreff: Re: [PD-dev] Double precision externals extensions.
>>
>> @christof
>>
>> How do I build Pd with debug symbols?
>>
>> How do I install gdb in msys2?
>>
>> How do I use it?
>>
>> or can I send you the .dll lib and test patch do you get the backtrace?
>>
>>
>> --
>>
>> Mensaje telepatico asistido por maquinas.
>>
>> On 12/10/19 6:48 PM, Christof Ressi wrote:
>>>>> # pkgs including both single- and double-precision externals
>>>>> a single external binary (say: "foo.dll") can hold both single-precision
>>>>> and double-precision variants of the [foo] object.
>>> I'm also interested in how this works. The following solution popped up in my head: compile the object twice, one time with -DPD_FLOATSIZE=32 and another time with -DPD_FLOATSIZE=64, with different setup functions based on -DPD_FLOATSIZE, then link it with a third file which exports the "real" setup function (which calls the other two private setup functions).
>>>
>>> Is there an easier way?
>>>
>>> If not, then a new extension could be handy, so people can throw both versions into the same folder.
>>>
>>> Christof
>>>
>>>> Gesendet: Dienstag, 10. Dezember 2019 um 21:45 Uhr
>>>> Von: "Lucas Cordiviola" <lucarda27 at hotmail.com>
>>>> An: "pd-dev at lists.iem.at" <pd-dev at lists.iem.at>
>>>> Betreff: Re: [PD-dev] Double precision externals extensions.
>>>>
>>>> On 12/10/2019 4:54 PM, IOhannes m zmölnig wrote:
>>>>> # avoiding crashes
>>>>> an external that has been compiled with single-precision will not
>>>>> register objectclasses in a double-precision Pd - so the doubl-precision
>>>>> Pd will not know about those new objects and not crash while using them.
>>>>> same goes for the other way round.
>>>> I see with normal externals itt refuses to load and thats fine.
>>>>
>>>> But I'm creating a single binary external with a collection of authors
>>>> [zexy] [cyclone] [ggee] [pddplink] ...
>>>>
>>>> I create a setup for the lib and is working *OK* in Pd-w64-32 but it
>>>> crashed the double precision.
>>>>
>>>> this is my wrapper setup:
>>>>
>>>> ~~~~~~~~~~~~~~~~~~
>>>>
>>>> #include "m_pd.h"
>>>>
>>>> #include <stdio.h>
>>>> #include <stdarg.h>
>>>>
>>>>
>>>> #ifdef __WIN32__
>>>> # define vsnprintf _vsnprintf
>>>> #endif
>>>>
>>>>
>>>>
>>>> typedef struct liblucdep {
>>>>      t_object t_ob;
>>>> } t_liblucdep;
>>>>
>>>> t_class *liblucdep_class=NULL;
>>>>
>>>>
>>>>
>>>>
>>>> static void *liblucdep_new(void)
>>>> {
>>>>      t_liblucdep *x = (t_liblucdep *)pd_new(liblucdep_class);
>>>>      return (x);
>>>> }
>>>>
>>>> void liblucdep_setup(void)
>>>> {
>>>>
>>>>      post("*******************");
>>>>      post("liblucdep loaded.");
>>>>      post("*******************");
>>>>
>>>>      liblucdep_class = class_new(gensym("liblucdep"), liblucdep_new, 0,
>>>> sizeof(t_liblucdep), 0, 0);
>>>>
>>>>
>>>>      /* ************************************** */
>>>>      coll_setup();
>>>>      comment_setup();
>>>>      freeverb_tilde_setup();
>>>>      glue_setup();
>>>>      helplink_setup();
>>>>      image_setup();
>>>>      pddplink_setup();
>>>>      pink_tilde_setup();
>>>>      reson_tilde_setup();
>>>>      tabminmax_setup();
>>>>      time_setup();
>>>>      z_tilde_setup();
>>>> }
>>>>
>>>>
>>>> ~~~~~~~~~~~~~~~~~
>>>>
>>>>
>>>>> # pkgs including both single- and double-precision externals
>>>>> a single external binary (say: "foo.dll") can hold both single-precision
>>>>> and double-precision variants of the [foo] object.
>>>> How is that?
>>>>
>>>> As I am willing to contribute to the w32/64-double Deken.
>>>>
>>>>
>>>> :)
>>>>
>>>> Mensaje telepatico asistido por maquinas.
>>>>
>>>>
>>>> _______________________________________________
>>>> Pd-dev mailing list
>>>> Pd-dev at lists.iem.at
>>>> https://lists.puredata.info/listinfo/pd-dev
>>>>
>>>
>>> _______________________________________________
>>> Pd-dev mailing list
>>> Pd-dev at lists.iem.at
>>> https://lists.puredata.info/listinfo/pd-dev
>
>
> _______________________________________________
> Pd-dev mailing list
> Pd-dev at lists.iem.at
> https://lists.puredata.info/listinfo/pd-dev


More information about the Pd-dev mailing list