python/lib/generator.py: add source_avcodec to blacklist
[aubio.git] / python / lib / generator.py
index ead37cf..4c2b4d8 100755 (executable)
@@ -33,16 +33,34 @@ def generate_object_files(output_path):
 
   generated_objects = []
   cpp_output, cpp_objects = get_cpp_objects()
-  skip_objects = ['fft',
+  skip_objects = [
+      # already in ext/
+      'fft',
       'pvoc',
       'filter',
       'filterbank',
+      #'resampler',
+      # AUBIO_UNSTABLE
+      'hist',
+      'parameter',
+      'scale',
+      'beattracking',
       'resampler',
       'sndfile',
+      'peakpicker',
+      'pitchfcomb',
+      'pitchmcomb',
+      'pitchschmitt',
+      'pitchyin',
+      'pitchyinfft',
       'sink_apple_audio',
       'sink_sndfile',
       'source_apple_audio',
-      'source_sndfile']
+      'source_sndfile',
+      'source_avcodec',
+      #'sampler',
+      'audio_unit',
+      ]
 
   write_msg("-- INFO: %d objects in total" % len(cpp_objects))
 
@@ -142,37 +160,53 @@ def generate_object_files(output_path):
 
 """
 
-  for each in generated_objects:
-      s += "extern PyTypeObject Py_%sType;\n" % \
-              each.replace('aubio_','').replace('_t','')
-
   types_ready = []
   for each in generated_objects:
       types_ready.append("  PyType_Ready (&Py_%sType) < 0" % \
               each.replace('aubio_','').replace('_t','') )
 
+  s = """// generated list of objects created with generator.py
+
+#include "aubio-generated.h"
+"""
+
   s += """
-  int
-  generated_types_ready (void)
-  {
-    return (
-  """
+int generated_types_ready (void)
+{
+  return (
+"""
   s += ('\n     ||').join(types_ready)
   s += """);
-  }
-  """
+}
+"""
 
   s += """
-  void
-  add_generated_objects ( PyObject *m )
-  {"""
+void add_generated_objects ( PyObject *m )
+{"""
   for each in generated_objects:
-      s += """  Py_INCREF (&Py_%(name)sType);
-    PyModule_AddObject (m, "%(name)s", (PyObject *) & Py_%(name)sType);""" % \
-            { 'name': ( each.replace('aubio_','').replace('_t','') ) }
+    s += """
+  Py_INCREF (&Py_%(name)sType);
+  PyModule_AddObject (m, "%(name)s", (PyObject *) & Py_%(name)sType);""" % \
+          { 'name': ( each.replace('aubio_','').replace('_t','') ) }
 
   s += """
-  }"""
+}"""
+
+  fd = open(os.path.join(output_path,'aubio-generated.c'), 'w')
+  fd.write(s)
+
+  s = """// generated list of objects created with generator.py
+
+#include <Python.h>
+
+"""
+
+  for each in generated_objects:
+      s += "extern PyTypeObject Py_%sType;\n" % \
+              each.replace('aubio_','').replace('_t','')
+
+  s+= "int generated_objects ( void );\n"
+  s+= "void add_generated_objects( PyObject *m );\n"
 
   fd = open(os.path.join(output_path,'aubio-generated.h'), 'w')
   fd.write(s)