[PD] external object becoming a message box after saving

Anders Friberg andersf at speech.kth.se
Wed Jan 10 21:00:32 CET 2007



Hans-Christoph Steiner wrote:
>
> Strange, this is happening with the cyclone/toxy objects too.  I 
> wonder what's causing it...
I had the same problem with the cyclone/switch object in the 38.4 
pd-extended on windows.
/Anders
>
>
> .hc
>
> On Jan 9, 2007, at 2:50 PM, ugur guney wrote:
>
>> # Hi list!
>> # I'm trying to learn how to write externals (after being able to 
>> link and compile the source codes thanks to Yvan Vander Sanden's 
>> tutorial) and come up with a strange behavoir: The object [additive~] 
>> turns into a messege box [additive~( (and sometimes its borders are 
>> totally erased or sometimes pd crashes) after saving the patch (but 
>> not everytime). Maybe I made a mistake that I couldn't find. What 
>> might be the reason of such an error?
>> # Here is the code I've written. The object should be post the number 
>> of incoming bangs and the time after creation (when dsp is on) and 
>> compiled .dll file is attached.
>> -ugur-
>>
>> #include "m_pd.h"
>>
>> static t_class *additive_tilde_class;
>>
>> typedef struct _additive_tilde {
>>   t_object x_obj;
>>
>>   t_int bangtime;
>>   t_float time;
>> } t_additive_tilde;
>>
>> void additive_tilde_bang(t_additive_tilde *x)
>> {
>>   post("you banged %d times. time: %f", x->bangtime++, x->time);
>> }
>>
>> t_int *additive_tilde_perform(t_int *w)
>> {
>>   t_additive_tilde *x = (t_additive_tilde *)(w[1]);
>>   t_sample       *out =         (t_sample *)(w[2]);
>>   int               n =                (int)(w[3]);
>>
>>   while (n--)
>>   {
>>     *out++ = x->time;
>>     x->time += 1.0f/44100;
>>   }
>>
>>   return (w+4);
>> }
>>
>> void additive_tilde_dsp(t_additive_tilde *x, t_signal **sp)
>> {
>>   dsp_add(additive_tilde_perform, 3, x,
>>           sp[0]->s_vec, sp[0]->s_n);
>> }
>>
>> void *additive_tilde_new(t_floatarg f)
>> {
>>   t_additive_tilde *x = (t_additive_tilde *)pd_new(additive_tilde_class);
>>   x->time = f;
>>   x->bangtime =  0;
>>   outlet_new(&x->x_obj, gensym("signal"));
>>
>>   return (void *)x;
>> }
>>
>> __declspec (dllexport) void additive_tilde_setup(void)
>> {
>>   additive_tilde_class = class_new(gensym("additive~"),
>>         (t_newmethod)additive_tilde_new,
>>         0, sizeof(t_additive_tilde),
>>         CLASS_DEFAULT,
>>         A_DEFFLOAT, 0);
>>
>>   class_addmethod(additive_tilde_class,
>>         (t_method)additive_tilde_dsp, gensym("dsp"), 0);
>>
>>   class_addbang(additive_tilde_class, additive_tilde_bang);
>> }
>> <additive~.dll>
>> _______________________________________________
>> PD-list at iem.at <mailto:PD-list at iem.at> mailing list
>> UNSUBSCRIBE and account-management -> 
>> http://lists.puredata.info/listinfo/pd-list
>
>
> ------------------------------------------------------------------------
>
> As we enjoy great advantages from inventions of others, we should be 
> glad of an opportunity to serve others by any invention of ours; and 
> this we should do freely and generously.         - Benjamin Franklin
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> PD-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
>   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20070110/cca89cf8/attachment.htm>


More information about the Pd-list mailing list