jean-emmanuel / open-stage-control

Libre and modular OSC / MIDI controller
https://openstagecontrol.ammd.net
GNU General Public License v3.0
702 stars 88 forks source link

[Feature] instructions pour avoir le support du Midi via python-rtmidi #778

Closed nlebellier closed 2 years ago

nlebellier commented 2 years ago

bonjour,

Si on clone le dépôt et qu'on souhaite lister les ports midi sans avoir au préalable fait le nécessaire comme indiqué dans la doc, on obtient ce message un peu obscur. image

je crois qu'avant il y avait un lien vers la procédure à suivre. non ? peut-être indiquer cette page https://openstagecontrol.ammd.net/docs/midi/midi-configuration/

nlebellier commented 2 years ago

je sais que c'est plus en rapport avec l'installation de python-rtmidi mais j'obtiens une erreur si je suis les instructions de la doc. Il faut avoir un outil supplémentaire de windows. Voir les précisions

geant@DESKTOP-SQ1LRE4 MINGW64 ~/audio/open-stage-control (master)
$ python -m pip install python-rtmidi
Collecting python-rtmidi
  Using cached python-rtmidi-1.4.9.tar.gz (251 kB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Building wheels for collected packages: python-rtmidi
  Building wheel for python-rtmidi (setup.py): started
  Building wheel for python-rtmidi (setup.py): finished with status 'error'
  error: subprocess-exited-with-error

  python setup.py bdist_wheel did not run successfully.
  exit code: 1

  [28 lines of output]
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-3.10
  creating build\lib.win-amd64-3.10\rtmidi
  copying rtmidi\midiconstants.py -> build\lib.win-amd64-3.10\rtmidi
  copying rtmidi\midiutil.py -> build\lib.win-amd64-3.10\rtmidi
  copying rtmidi\version.py -> build\lib.win-amd64-3.10\rtmidi
  copying rtmidi\__init__.py -> build\lib.win-amd64-3.10\rtmidi
  running egg_info
  writing python_rtmidi.egg-info\PKG-INFO
  writing dependency_links to python_rtmidi.egg-info\dependency_links.txt
  writing top-level names to python_rtmidi.egg-info\top_level.txt
  reading manifest file 'python_rtmidi.egg-info\SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no previously-included files found matching '.appveyor.yml'
  warning: no previously-included files found matching '.travis.yml'
  warning: no previously-included files found matching '*.rst.in'
  no previously-included directories found matching 'ci'
  warning: no previously-included files matching '__pycache__' found under directory '*'
  warning: no previously-included files matching '*.py[co]' found under directory '*'
  adding license file 'LICENSE.txt'
  adding license file 'AUTHORS.rst'
  writing manifest file 'python_rtmidi.egg-info\SOURCES.txt'
  running build_ext
  building 'rtmidi._rtmidi' extension
  error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
  [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for python-rtmidi
  Running setup.py clean for python-rtmidi
Failed to build python-rtmidi
Installing collected packages: python-rtmidi
  Running setup.py install for python-rtmidi: started
  Running setup.py install for python-rtmidi: finished with status 'error'
  error: subprocess-exited-with-error

  Running setup.py install for python-rtmidi did not run successfully.
  exit code: 1

  [28 lines of output]
  running install
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-3.10
  creating build\lib.win-amd64-3.10\rtmidi
  copying rtmidi\midiconstants.py -> build\lib.win-amd64-3.10\rtmidi
  copying rtmidi\midiutil.py -> build\lib.win-amd64-3.10\rtmidi
  copying rtmidi\version.py -> build\lib.win-amd64-3.10\rtmidi
  copying rtmidi\__init__.py -> build\lib.win-amd64-3.10\rtmidi
  running egg_info
  writing python_rtmidi.egg-info\PKG-INFO
  writing dependency_links to python_rtmidi.egg-info\dependency_links.txt
  writing top-level names to python_rtmidi.egg-info\top_level.txt
  reading manifest file 'python_rtmidi.egg-info\SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no previously-included files found matching '.appveyor.yml'
  warning: no previously-included files found matching '.travis.yml'
  warning: no previously-included files found matching '*.rst.in'
  no previously-included directories found matching 'ci'
  warning: no previously-included files matching '__pycache__' found under directory '*'
  warning: no previously-included files matching '*.py[co]' found under directory '*'
  adding license file 'LICENSE.txt'
  adding license file 'AUTHORS.rst'
  writing manifest file 'python_rtmidi.egg-info\SOURCES.txt'
  running build_ext
  building 'rtmidi._rtmidi' extension
  error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
  [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure

Encountered error while trying to install package.

python-rtmidi

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.

Donc il faut

Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/

je ne sais pas si je suis sur la bonne voie car il faudrait 5,2 Go d'espace...

image

Une autre idée ? Merci pour d'éventuelles lumières.

jean-emmanuel commented 2 years ago

J'ai ajouté un lient dans "Running from sources".

En effet, il faut installer Visual C++ pour compiler python-rtmidi sous windows. Tu peux éventuellement contourner le problème en téléchargeant directement l'executable midi d'open stage control (https://github.com/jean-emmanuel/open-stage-control-midi/releases/tag/v1.9.1, c'est celui qui est inclu dans les versions distribuées sur le site) et en le mettant dans le dossier app/server/

nlebellier commented 2 years ago

Merci pour l'astuce ! effectivement en faisant un copier / coller dans app/server/ de osc-midi-windows.exe c'est fonctionnel !