[PD] writing dsp externals for variable number of inlets
matju at artengine.ca
Sat May 7 23:24:58 CEST 2011
On Sat, 7 May 2011, Ahmet Kizilay wrote:
> Hello, I want to write an external which creates the signal inlets
> dynamically depending on the number of arguments, just like the
> multiplex~ object from zexy. My question is about writing the dsp_add
> function. How do I set the arguments when I don't exactly know how many
> signals I will be handling?
For passing a variable number of args to dsp_add itself, use dsp_addv
In any case, one of the fixed arguments has to be saying how many
arguments there will be, or one of the variable arguments has to be
telling it, or one of the arguments has to point to a struct that says it.
It's similar to how functions that depend on <stdarg.h> provide variable
length lists of arguments. class_addmethod says "end of arguments" by
passing A_NULL. printf's format strings have %-codes that tell you how
many extra args there are. some functions in pd want format strings like
"ffsfsffp;" to say two floats, one symbol, one float, etc., to announce
the upcoming arguments in a function call. some other functions pass just
an integer that says n arguments are upcoming, such as dsp_add itself.
(you know what I mean ?)
| Mathieu Bouchard ---- tél: +1.514.383.3801 ---- Villeray, Montréal, QC
More information about the Pd-list