diff options
author | cbdev <cb@cbcdn.com> | 2020-03-08 17:12:03 +0100 |
---|---|---|
committer | cbdev <cb@cbcdn.com> | 2020-03-08 17:12:03 +0100 |
commit | e0000797c80789d9d4559bb5264b982c187e1137 (patch) | |
tree | 746a063886aa0a3e51a21ce83bc8e2189d6adcd9 /backends/python.h | |
parent | 8558c3acef273833d7366e1af3659514fff9c942 (diff) | |
parent | 5f4b349aff49be0a5f6895631a93c47fcafcff93 (diff) | |
download | midimonster-e0000797c80789d9d4559bb5264b982c187e1137.tar.gz midimonster-e0000797c80789d9d4559bb5264b982c187e1137.tar.bz2 midimonster-e0000797c80789d9d4559bb5264b982c187e1137.zip |
Merge branch 'master' into debian/master
Diffstat (limited to 'backends/python.h')
-rw-r--r-- | backends/python.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/backends/python.h b/backends/python.h new file mode 100644 index 0000000..8ca12f9 --- /dev/null +++ b/backends/python.h @@ -0,0 +1,44 @@ +#include "midimonster.h" + +MM_PLUGIN_API int init(); +static uint32_t python_interval(); +static int python_configure(char* option, char* value); +static int python_configure_instance(instance* inst, char* option, char* value); +static int python_instance(instance* inst); +static channel* python_channel(instance* inst, char* spec, uint8_t flags); +static int python_set(instance* inst, size_t num, channel** c, channel_value* v); +static int python_handle(size_t num, managed_fd* fds); +static int python_start(size_t n, instance** inst); +static int python_shutdown(size_t n, instance** inst); + +typedef struct /*_python_channel_data*/ { + char* name; + PyObject* handler; + double in; + double out; +} mmpython_channel; + +typedef struct /*_mmpy_registered_socket*/ { + int fd; + PyObject* handler; + PyObject* socket; +} mmpy_socket; + +typedef struct /*_mmpy_interval*/ { + uint64_t interval; + uint64_t delta; + PyObject* reference; + PyThreadState* interpreter; +} mmpy_timer; + +typedef struct /*_python_instance_data*/ { + PyThreadState* interpreter; + PyObject* config; //TODO + + size_t sockets; + mmpy_socket* socket; + + size_t channels; + mmpython_channel* channel; + mmpython_channel* current_channel; +} python_instance_data; |