Comments (8)
It seems that your version of the jack library does not have jack_port_rename
. This was added to jack1 in 2016 and to jack2 in summer 2017 at the latest. Let me know, if for some reason you can't update to a more current version of jack and I'll think about a way to make setting the JACK_HAS_PORT_RENAME
directive for the compiler configurable.
from python-rtmidi.
We're just running sudo apt-get libjack-dev
(https://github.com/tensorflow/magenta/blob/master/.travis.yml). Should we be installing it some other way to get a newer version?
from python-rtmidi.
The Travis build environment is based on Ubuntu 14.04 (Trusty) or 16.04 (Xenial) apparently. Unfortunately, even in the latter, the version of libjack-dev
(jack1) is only 0.124.1, which is ancient, and libjack-jackd2-dev
(jack2) is version 1.9.10, which is also too old (1.9.11+ should work). :-(
This is unfortunate, since these distributions are probably still widely used and I don't know a simple way to update the jack version on these distros. I'll think about a way to detect the jack version in the python-rtmidi's setup.py
and set JACK_HAS_PORT_RENAME
accordingly.
Until then, I can only suggest to either a) install jack from source (which isn't too complicated) or b) disable jack support in python-rtmidi (by installing it separately from source and passing --no-jack
to python setup.py install
.)
from python-rtmidi.
Tentative fix in e4a4f33.
I still want to set up a Travis environment for Linux builds too before I do a bugfix release.
from python-rtmidi.
Thanks!
from python-rtmidi.
I just released version 1.2.1, which contains the above mentioned fix.
With this release I also enhanced python-rtmidi's own Travis setup to also test the build under Linux (Ubuntu Xenial) for Python 2.7 and 3.4 - 3.5.
Interestingly, when you use the dist: xenial
build environment on Travis and when you install libjack-jack2-dev
, the deb that gets installed has the version 1.9.10+20150825git1ed50c92~dfsg-1ubuntu1
but JACK identifies itself as version 1.9.11
via pkg-config
and it compiles ok with JACK_HAS_PORT_RENAME
set. If you install libjack-dev
instead, you get JACK 1 version 0.124.x
, which triggered the error you were encountering. But with the above mentioned fix, python-rtmidi can be built with either one.
from python-rtmidi.
from python-rtmidi.
It's not strictly necessary, since the new set_port_name
method will now work with jack library versions, which do not have the jack_port_rename
function as well. But I know from personal conversations with the jack maintainer (falkTX) that jack1 will not be developed any further any more, so jack2 is the way to go, unless you're using features that are still only available in jack1.
Also, the Travis builds for Linux I have set up now are using libjack-jackd2-dev
, so this build variant is the one tested.
from python-rtmidi.
Related Issues (20)
- Apple Silicon macOS wheel? HOT 2
- [WSL2] Failed to install 1.5.0 via pypi HOT 10
- [macOS] incompatible binary wheels for architecture M1 / arm64 HOT 35
- [windows] No result from 1.5.0 get_ports() HOT 23
- Version 1.5.0 PyPi incompatible with M1 ARM64 architectures HOT 1
- get_ports() method returns blank lists with Python 3.11 and ARM Macs HOT 8
- how to close midi port which has been opened? HOT 1
- Error when installing on Raspberry PI (1.5.5) HOT 2
- ALSA incomplete message on Pi HOT 8
- get_ports() returns garbled text on multi-byte character port name. HOT 2
- Missing wheel for Python 3.12 HOT 2
- 1.5.7 seems to have an issue with Pipewire implementing JACK HOT 5
- pypi link to source code HOT 1
- Build error [due to version field missing] HOT 4
- Error when installing via pip on CoreElec (aarch64) HOT 16
- Increase the sysex input buffer size on Windows HOT 3
- MIDI port crashes if midi sent inside async socket server HOT 4
- delta timestamps are broken on macOS in current release (1.5.8) HOT 3
- How to get Port Number after calling open_midiinput or open_midioutput? HOT 4
- Is data conflict between MIDIIN thread and main function loop? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from python-rtmidi.