fix: Cython compile error with Cython 3

Declare MIDI change callback as 'noexcept' as it needs the GIL

Signed-off-by: Christopher Arndt <chris@chrisarndt.de>
This commit is contained in:
Christopher Arndt 2023-11-09 15:46:42 +01:00 committed by Christopher Arndt
parent 2a65a70977
commit 5f99220275
4 changed files with 4 additions and 4 deletions

View File

@ -17,7 +17,7 @@ information.
To build and install jack_mixer run:
```console
meson builddir --prefix=/usr --buildtype=release
meson setup builddir --prefix=/usr --buildtype=release
meson compile -C builddir
[sudo] meson install -C builddir
```

View File

@ -25,7 +25,7 @@ cdef extern from "jack_mixer.h":
ctypedef void * jack_mixer_output_channel_t
ctypedef void * jack_mixer_threshold_t
ctypedef void (*midi_change_callback)(void *)
ctypedef void (*midi_change_callback)(void *) noexcept with gil
cdef enum midi_behavior_mode:
pass

View File

@ -10,7 +10,7 @@ import enum
from _jack_mixer cimport *
cdef void midi_change_callback_func(void *userdata) with gil:
cdef void midi_change_callback_func(void *userdata) noexcept with gil:
"""Wrapper for a Python callback function for MIDI input."""
channel = <object> userdata
channel._midi_change_callback()

View File

@ -35,7 +35,7 @@ if get_option('gui').enabled()
jack_mixer_mod_pyx = '_jack_mixer.pyx'
jack_mixer_mod_c = '_jack_mixer.c'
cython = find_program('cython3', 'cython', required: false)
cython = find_program('cython3', 'cython', 'cython0', required: false)
if fs.exists(jack_mixer_mod_c)
jack_mixer_cython = files(jack_mixer_mod_c)