<div dir="ltr"><div><div><div><div><div><div><div><div><div><div>I'm building an external (my very first one) and it's working as expected, only the arguments I type when I create it are not passed and the variables set to get values from these arguments are set to zero.<br>
<br></div>The new instance routine prototype is this:<br></div>void *tabPowSine_new(t_symbol *s, short argc, t_atom argv)<br><br></div>and in this routine I type the following two lines:<br></div>if(argc >= 1) { x->x_frequency = atom_getfloatarg(0, argc, argv); }<br>
</div>if(argc >= 2) { x->x_power = atom_getfloatarg(1, argc, argv); }<br><br></div>but if I create an object like this [tabPowSine~ 220 0.5], the variables x_frequency and x_power (declared in the object structure) won't get these values. As soon as I send a signal or float to the respective inlet, everything works fine.<br>
</div><div><br></div>Also, I get a warning when I type "make" in the terminal, to make the Pd object, which is:<br>tabPowSine~.c:60:32: warning: unused parameter 's' [-Wunused-parameter]<br><br></div>Can I just ommint the t_symbol *s?<br>
</div>I'm following Eric Lyon's book for writing externals, and he's passing this symbol pointer (it is a symbol pointer, right?) to the new instance routine...<br><br></div>Final question, so that I don't send three different emails, is it preferable to use a table lookup cosine oscillator than using the cos function in the perform routine? Is there significant difference in the CPU consumption?<br>
</div>