Recently, I ‘ve been working with MAX external object with C++. The goal was building an “object with multiple outputs with audio input” to control array speaker.
To reach that goal, I’ve modified original MAX object “index” which plays audio signal from buffer.
After some modification, finally I build an external object (let’s say it is “index2”) with two inlets.
One is for count purpose, and this is MSP inlet. ( Since index object needs counting MSP signal from object “count”)
Another one is inlet for some variables ( Actually, it is in the form of “Atom”, which is same as “list” variable in MAX )
Fortunately, This object works fine for the first shot. But If I turn off the DSP and turn on DSP again,
MAX system continually showing the message” Signal outlet connected to nonsignal inlet“ and stops.
Sometimes system even crashes…
Probably, this is because of declaring issue about “inlet”.
But I get confused about declaring the input.
In main fucntion, I declared class method,
class_addmethod(c, (method)index2_dsp64, "dsp64", A_CANT, 0);
class_addmethod(c, (method)index2_set, "set", A_SYM, 0);
class_addmethod(c, (method)index2_assist, "assist", A_CANT, 0);
class_addmethod(c, (method)index2_dblclick, "dblclick", A_CANT, 0);
class_addmethod(c, (method)index2_in1, "in1", A_LONG, 0);
class_addmethod(c, (method)index2_list, "list", A_GIMME, 0);
and in index2_new function, I declared two inputs.
dsp_setup((t_pxobject *)x,1); // TJ : one msp input
inlet_new ((t_object *)x, "list")
I repeatedly tried every combination about erasing this or that, but nothing have came to solve that.
These declaration is seem to be somewhat mixed up and messed with max inlet that MAXMSP system gives to every external objects. (I mean, leftmost basic MAX inlet when we don’t declare inlets in C++ code)
Do you have any idea about declaring inlet when we have to use both MAX input and MSP input?
Do I have to use proxy inlet?
How am I supposed to do in order to avoid such error?
Thanks for reading my post. If you have any great idea for this issue, please give me any helpful advice for me.