History

python/lib/gen_code.py: add support for rdo

Paul Brossier committed 9 years ago

Commit c96e6c01 parent 2bf59042 files · +18 −5Browse files

Showing the changes to python/lib/gen_code.py (1 of 2 files). Show all

Unified · Split

python/lib/gen_code.py+15−4
@@ -192,6 +192,11 @@ class MappedObject(object): · 191 unmodified lines
192192 out += self.gen_init()
193193 out += self.gen_del()
194194 out += self.gen_do()
195+ if len(self.prototypes['rdo']):
196+ self.do_proto = self.prototypes['rdo'][0]
197+ self.do_inputs = [get_params_types_names(self.do_proto)[1]]
198+ self.do_outputs = get_params_types_names(self.do_proto)[2:]
199+ out += self.gen_do(method='rdo')
195200 out += self.gen_memberdef()
196201 out += self.gen_set()
197202 out += self.gen_get()
@@ -372,12 +377,12 @@ Py_{shortname}_del (Py_{shortname} * self, PyObject * unused) · 174 unmodified lines
372377 """.format(del_fn = del_fn)
373378 return out
374379
375− def gen_do(self):
380+ def gen_do(self, method = 'do'):
376381 out = """
377382 // do {shortname}
378383 static PyObject*
379−Py_{shortname}_do (Py_{shortname} * self, PyObject * args)
380−{{""".format(**self.__dict__)
384+Pyaubio_{shortname}_{method} (Py_{shortname} * self, PyObject * args)
385+{{""".format(**self.__dict__, method = method)
381386 input_params = self.do_inputs
382387 output_params = self.do_outputs
383388 #print input_params
@@ -517,6 +522,12 @@ static PyMethodDef Py_{shortname}_methods[] = {{""".format(**self.__dict__) · 133 unmodified lines
517522 out += """
518523 {{"{shortname}", (PyCFunction) Py{name},
519524 METH_NOARGS, ""}},""".format(name = name, shortname = shortname)
525+ for m in self.prototypes['rdo']:
526+ name = get_name(m)
527+ shortname = name.replace('aubio_%s_' % self.shortname, '')
528+ out += """
529+ {{"{shortname}", (PyCFunction) Py{name},
530+ METH_VARARGS, ""}},""".format(name = name, shortname = shortname)
520531 out += """
521532 {NULL} /* sentinel */
522533 };
@@ -542,7 +553,7 @@ PyTypeObject Py_{shortname}Type = {{ · 19 unmodified lines
542553 0,
543554 0,
544555 0,
545− (ternaryfunc)Py_{shortname}_do,
556+ (ternaryfunc)Pyaubio_{shortname}_do,
546557 0,
547558 0,
548559 0,

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t