1*4930cef6SMatthias Ringwald /****************************************************************************** 2*4930cef6SMatthias Ringwald * 3*4930cef6SMatthias Ringwald * Copyright 2022 Google LLC 4*4930cef6SMatthias Ringwald * 5*4930cef6SMatthias Ringwald * Licensed under the Apache License, Version 2.0 (the "License"); 6*4930cef6SMatthias Ringwald * you may not use this file except in compliance with the License. 7*4930cef6SMatthias Ringwald * You may obtain a copy of the License at: 8*4930cef6SMatthias Ringwald * 9*4930cef6SMatthias Ringwald * http://www.apache.org/licenses/LICENSE-2.0 10*4930cef6SMatthias Ringwald * 11*4930cef6SMatthias Ringwald * Unless required by applicable law or agreed to in writing, software 12*4930cef6SMatthias Ringwald * distributed under the License is distributed on an "AS IS" BASIS, 13*4930cef6SMatthias Ringwald * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14*4930cef6SMatthias Ringwald * See the License for the specific language governing permissions and 15*4930cef6SMatthias Ringwald * limitations under the License. 16*4930cef6SMatthias Ringwald * 17*4930cef6SMatthias Ringwald ******************************************************************************/ 18*4930cef6SMatthias Ringwald 19*4930cef6SMatthias Ringwald #include <Python.h> 20*4930cef6SMatthias Ringwald 21*4930cef6SMatthias Ringwald static struct PyModuleDef module_def = { 22*4930cef6SMatthias Ringwald PyModuleDef_HEAD_INIT, 23*4930cef6SMatthias Ringwald .m_name = "LC3", 24*4930cef6SMatthias Ringwald .m_doc = "LC3 Test Python Module", 25*4930cef6SMatthias Ringwald .m_size = -1, 26*4930cef6SMatthias Ringwald }; 27*4930cef6SMatthias Ringwald 28*4930cef6SMatthias Ringwald PyMODINIT_FUNC lc3_mdct_py_init(PyObject *); 29*4930cef6SMatthias Ringwald PyMODINIT_FUNC lc3_energy_py_init(PyObject *); 30*4930cef6SMatthias Ringwald PyMODINIT_FUNC lc3_attdet_py_init(PyObject *); 31*4930cef6SMatthias Ringwald PyMODINIT_FUNC lc3_bwdet_py_init(PyObject *); 32*4930cef6SMatthias Ringwald PyMODINIT_FUNC lc3_ltpf_py_init(PyObject *); 33*4930cef6SMatthias Ringwald PyMODINIT_FUNC lc3_sns_py_init(PyObject *); 34*4930cef6SMatthias Ringwald PyMODINIT_FUNC lc3_tns_py_init(PyObject *); 35*4930cef6SMatthias Ringwald PyMODINIT_FUNC lc3_spec_py_init(PyObject *); 36*4930cef6SMatthias Ringwald PyMODINIT_FUNC lc3_interface_py_init(PyObject *); 37*4930cef6SMatthias Ringwald PyInit_lc3(void)38*4930cef6SMatthias RingwaldPyMODINIT_FUNC PyInit_lc3(void) 39*4930cef6SMatthias Ringwald { 40*4930cef6SMatthias Ringwald PyObject *m = PyModule_Create(&module_def); 41*4930cef6SMatthias Ringwald 42*4930cef6SMatthias Ringwald if (m) m = lc3_mdct_py_init(m); 43*4930cef6SMatthias Ringwald if (m) m = lc3_energy_py_init(m); 44*4930cef6SMatthias Ringwald if (m) m = lc3_attdet_py_init(m); 45*4930cef6SMatthias Ringwald if (m) m = lc3_bwdet_py_init(m); 46*4930cef6SMatthias Ringwald if (m) m = lc3_ltpf_py_init(m); 47*4930cef6SMatthias Ringwald if (m) m = lc3_sns_py_init(m); 48*4930cef6SMatthias Ringwald if (m) m = lc3_tns_py_init(m); 49*4930cef6SMatthias Ringwald if (m) m = lc3_spec_py_init(m); 50*4930cef6SMatthias Ringwald if (m) m = lc3_interface_py_init(m); 51*4930cef6SMatthias Ringwald 52*4930cef6SMatthias Ringwald return m; 53*4930cef6SMatthias Ringwald } 54