PyMODINIT_FUNC initrtmidi(void) { PyEval_InitThreads(); PyObject* module; if (PyType_Ready(getMidiMessageType()) < 0) return; if (PyType_Ready(&MidiIn_type) < 0) return; if (PyType_Ready(&MidiOut_type) < 0) return; module = Py_InitModule3("rtmidi", midi_methods, "RtMidi wrapper."); Py_INCREF((PyObject*) getMidiMessageType()); PyModule_AddObject(module, "MidiMessage", (PyObject*) getMidiMessageType()); Py_INCREF(&MidiIn_type); PyModule_AddObject(module, "RtMidiIn", (PyObject *)&MidiIn_type); Py_INCREF(&MidiOut_type); PyModule_AddObject(module, "RtMidiOut", (PyObject *)&MidiOut_type); char eName[32]; strcpy(eName, "rtmidi.Error"); RtMidiError = PyErr_NewException(eName, NULL, NULL); Py_INCREF(RtMidiError); PyModule_AddObject(module, "Error", RtMidiError); }
PyObject *PyMidiMessage_new() { return PyMidiMessage_new(getMidiMessageType(), 0, 0); }
PyMODINIT_FUNC init_rtmidi(void) #endif { PyEval_InitThreads(); PyObject* module; if (PyType_Ready(getMidiMessageType()) < 0) #if PK_PYTHON3 return 0; #else return; #endif if (PyType_Ready(&MidiIn_type) < 0) #if PK_PYTHON3 return 0; #else return; #endif if (PyType_Ready(&MidiOut_type) < 0) #if PK_PYTHON3 return 0; #else return; #endif #if PK_PYTHON3 module = PyModule_Create(&moduledef); #else module = Py_InitModule3("rtmidi._rtmidi", midi_methods, "RtMidi wrapper"); #endif Py_INCREF((PyObject*) getMidiMessageType()); PyModule_AddObject(module, "MidiMessage", (PyObject*) getMidiMessageType()); Py_INCREF(&MidiIn_type); PyModule_AddObject(module, "RtMidiIn", (PyObject *)&MidiIn_type); Py_INCREF(&MidiOut_type); PyModule_AddObject(module, "RtMidiOut", (PyObject *)&MidiOut_type); PyObject *inDict = MidiIn_type.tp_dict; PyObject *outDict = MidiOut_type.tp_dict; PyDict_SetItemString(inDict, "UNSPECIFIED", PyLong_FromLong(RtMidi::UNSPECIFIED)); PyDict_SetItemString(outDict, "UNSPECIFIED", PyLong_FromLong(RtMidi::UNSPECIFIED)); PyDict_SetItemString(inDict, "MACOSX_CORE", PyLong_FromLong(RtMidi::MACOSX_CORE)); PyDict_SetItemString(outDict, "MACOSX_CORE", PyLong_FromLong(RtMidi::MACOSX_CORE)); PyDict_SetItemString(inDict, "LINUX_ALSA", PyLong_FromLong(RtMidi::LINUX_ALSA)); PyDict_SetItemString(outDict, "LINUX_ALSA", PyLong_FromLong(RtMidi::LINUX_ALSA)); PyDict_SetItemString(inDict, "UNIX_JACK", PyLong_FromLong(RtMidi::UNIX_JACK)); PyDict_SetItemString(outDict, "UNIX_JACK", PyLong_FromLong(RtMidi::UNIX_JACK)); PyDict_SetItemString(inDict, "WINDOWS_MM", PyLong_FromLong(RtMidi::WINDOWS_MM)); PyDict_SetItemString(outDict, "WINDOWS_MM", PyLong_FromLong(RtMidi::WINDOWS_MM)); PyDict_SetItemString(inDict, "RTMIDI_DUMMY", PyLong_FromLong(RtMidi::RTMIDI_DUMMY)); PyDict_SetItemString(outDict, "RTMIDI_DUMMY", PyLong_FromLong(RtMidi::RTMIDI_DUMMY)); char eName[32]; #if PK_WINDOWS strcpy_s(eName, "rtmidi.Error"); #else strcpy(eName, "rtmidi.Error"); #endif rtmidi_Error = PyErr_NewException(eName, NULL, NULL); Py_INCREF(rtmidi_Error); PyModule_AddObject(module, "Error", rtmidi_Error); #if PK_PYTHON3 return module; #endif }