GeekFunkLabs / fluidpatcher

A performance-oriented patch interface for FluidSynth
MIT License
123 stars 15 forks source link

Can't install python3-rtmidi #16

Closed berthelemy closed 3 years ago

berthelemy commented 3 years ago

Hi there, It looks like there's a small bug in the installer at https://geekfunklabs.com/squishbox

The line apt_pkg_install "python3-rtmidi" gives a "failed to install error.

Changing it to: pip_install "python-rtmidi" seems to work. (note the removal of the 3 as well as the change to pip.

I haven't yet finished the full install, but that change gets me past the error.

Thanks, Mark

albedozero commented 3 years ago

Hmm.. Thanks for your report but TL;DR I think this is not actually a bug. However, your fix is fine for getting the software installed and won't break anything important.

I can confirm that apt_pkg_install "python3-rtmidi" does work - I think what happened is the installer quit because sometimes the Raspbian mirror director (i.e. http://mirrordirector.raspbian.org/) takes too long to respond and apt times out, and I haven't figured out a good way for the installer to differentiate between this and failure for some other reason (although the install log will give you a clue what happened if you check it). That's why I added the option to use a local mirror to the installer. The _pythonrtmidi module is a Python wrapper around some C++ code that does the actual MIDI interfacing. Pip will install the wrapper, but the C++ code is system-specific and has to be installed with apt. The 3 in the package name differentiates the Python 3 vs. Python 2 version.

The only thing python-rtmidi is actually used for is sending SYSEX messages. So, if you're not sending sysex messages in your bank files to change the settings of your MIDI controllers, Python won't complain about not being able to call the C++ functions and everything will be fine.