'specdesc': '1',
'tempo': '1',
'filterbank': 'self->n_filters',
- 'tss': 'self->hop_size',
+ 'tss': 'self->buf_size',
}
objinputsize = {
'specdesc': 'self->buf_size / 2 + 1',
'tempo': 'self->hop_size',
'wavetable': 'self->hop_size',
+ 'tss': 'self->buf_size / 2 + 1',
}
def get_name(proto):
output_params = self.do_outputs
#print input_params
#print output_params
+ out += """
+ PyObject *outputs;"""
for input_param in input_params:
out += """
PyObject *py_{0};""".format(input_param['name'])
out += """
{do_fn}(self->o, {inputs}, {c_outputs});
+""".format(
+ do_fn = do_fn,
+ inputs = inputs, c_outputs = c_outputs,
+ )
+ if len(self.do_outputs) > 1:
+ out += """
+ outputs = PyTuple_New(2);""".format(len(self.do_outputs))
+ for i, p in enumerate(self.do_outputs):
+ out += """
+ PyTuple_SetItem( outputs, {i}, self->{p[name]});""".format(i = i, p = p)
+ else:
+ out += """
+ outputs = self->{p[name]};""".format(p = self.do_outputs[0])
+ out += """
- return {outputs};
+ return outputs;
}}
""".format(
- do_fn = do_fn,
- inputs = inputs, outputs = outputs, c_outputs = c_outputs,
+ outputs = outputs,
)
return out