Closed AdamWill closed 1 week ago
I am no kind of audio engineer - just a distribution qa/python guy - but I ran this locally and it does at least run successfully, seems to pick up the audio devices on my system, and let me drag them around. I didn't try doing anything else in case I broke something I wouldn't know how to fix. :D
Hi ! thanks for your PR.
I also use and ask to use pyliblo3, as you can see here : https://github.com/Houston4444/RaySession/blob/master/INSTALL.md#running . Original liblo does not works anymore since python3.11.
I didn't know that the import name should be changed from liblo
to pyliblo3
, indeed it works with liblo
for me (I use the python3-liblo debian package which use this lib).
There are some odd cases of redundant importing here, but I decided not to 'fix' those, it could be done separately if wanted.
Indeed, I'll largely prefer a little module where all liblo components are imported, then we import this module in the code. Because RaySession use several executables (ray-daemon, raysession, ray-jackpatch, etc...), this little module could be placed in src/shared
and linked (relatively) in all projects.
AFAICS, Debian is still shipping the original pyliblo, patched to work with Python 3.11 - https://packages.debian.org/sid/python3-liblo . They are not shipping the pyliblo3 fork. This is what we were doing in Fedora until recently as well, but Python 3.13 breaks the original pyliblo even worse than Python 3.11 did, and we found it more convenient to just package the maintained fork than keep trying to patch the zombie original - see the discussion at https://bugzilla.redhat.com/show_bug.cgi?id=2248131 and https://bugzilla.redhat.com/show_bug.cgi?id=2307912 .
It would be possible to ship the fork with some kinda compat link or shim so it provided the liblo
name, but I don't think we wanted to do that as it would be a bit unclear and against the intent of upstream.
Ok, Thanks for theses informations !
pyliblo has not been touched upstream since 2015 and doesn't work out of the box with Python releases since 3.11. There is an actively-maintained fork called 'pyliblo3' at https://github.com/gesellkammer/pyliblo3 which does work with current upstream Python releases. It provides a library called 'pyliblo3' rather than 'liblo'. Let's support it.
There are some odd cases of redundant importing here, but I decided not to 'fix' those, it could be done separately if wanted.