mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2025-03-01 10:33:28 +00:00
Details coming soon.
This commit is contained in:
21
libsrc/python/CMakeLists.txt
Normal file
21
libsrc/python/CMakeLists.txt
Normal file
@@ -0,0 +1,21 @@
|
||||
find_package(PythonLibs 3.4 REQUIRED)
|
||||
|
||||
# Include the python directory. Also include the parent (which is for example /usr/include)
|
||||
# which may be required when it is not includes by the (cross-) compiler by default.
|
||||
include_directories(${PYTHON_INCLUDE_DIRS} ${PYTHON_INCLUDE_DIRS}/..)
|
||||
|
||||
# Define the current source locations
|
||||
SET(CURRENT_HEADER_DIR ${CMAKE_SOURCE_DIR}/include/python)
|
||||
SET(CURRENT_SOURCE_DIR ${CMAKE_SOURCE_DIR}/libsrc/python)
|
||||
|
||||
FILE ( GLOB PYTHON_SOURCES "${CURRENT_HEADER_DIR}/*.h" "${CURRENT_SOURCE_DIR}/*.h" "${CURRENT_SOURCE_DIR}/*.cpp" )
|
||||
|
||||
add_library(python
|
||||
${PYTHON_SOURCES}
|
||||
)
|
||||
|
||||
target_link_libraries(python
|
||||
effectengine
|
||||
hyperion-utils
|
||||
${PYTHON_LIBRARIES}
|
||||
)
|
31
libsrc/python/PythonInit.cpp
Normal file
31
libsrc/python/PythonInit.cpp
Normal file
@@ -0,0 +1,31 @@
|
||||
#undef slots
|
||||
#include <Python.h>
|
||||
#define slots
|
||||
|
||||
// utils
|
||||
#include <utils/Logger.h>
|
||||
|
||||
#include <python/PythonInit.h>
|
||||
#include <python/PythonUtils.h>
|
||||
|
||||
// modules to init
|
||||
#include <effectengine/EffectModule.h>
|
||||
|
||||
PythonInit::PythonInit()
|
||||
{
|
||||
// register modules
|
||||
EffectModule::registerHyperionExtensionModule();
|
||||
|
||||
// init Python
|
||||
Debug(Logger::getInstance("DAEMON"), "Initializing Python interpreter");
|
||||
Py_InitializeEx(0);
|
||||
PyEval_InitThreads(); // Create the GIL
|
||||
mainThreadState = PyEval_SaveThread();
|
||||
}
|
||||
|
||||
PythonInit::~PythonInit()
|
||||
{
|
||||
Debug(Logger::getInstance("DAEMON"), "Cleaning up Python interpreter");
|
||||
PyEval_RestoreThread(mainThreadState);
|
||||
Py_Finalize();
|
||||
}
|
Reference in New Issue
Block a user