Auteur | Message |
---|---|
Beau Parleur
![]() |
Bonjour,
Bonjour Hibou ! j'envisage de porter à présent mon programme sur MS Windows. le problème, c'est la bibliotèque MIDI. la bibliothèque portmidi-dev utilisée apporte beaucoup de contrainte dans la chaine de production du logiciel. C'est pourquoi je réfléchie à une implementation Win32. Mais fortes ressources temporelle puisqu'il me faudra l'année encore pour refaire le nécessaire. Qu'en penser ? |
Administrateur
![]() |
Zut, j’allais justement répondre PortMIDI, spontanément. J’ai un peu programmé l’API MIDI de Windows, mais ça remonte à loin.
Sinon, quelles sont les contraintes de PortMIDI qui poseraient problème ? |
Administrateur
![]() |
Un bon point d’entrée dans les API Windows pour le MIDI : About MIDI (msdn.microsoft.com).
|
Beau Parleur
![]() |
Le problème c'est le taf à faire pour l'utilisateur.
Installer et mettre à jours. Merci beaucoup pour le document, je vais commencer par la alors. |
Administrateur
![]() |
Pour la mise à jour, tu peux peut‑être omettre temps que ça semble assez stable. Cette librairie est ancienne, j’imagine qu’elle est stable, surtout que le MIDI est lui‑même stable.
|
Beau Parleur
![]() |
ouais, mais le truc c'est plutôt l'install, qui nécessite de compiler du C++ avec du java, etc... Bref le truc hyper lourd'ingue.
En plus, après si je doit interfacer avec du java ou du c++ ça va pas être de la tarte. |
Administrateur
![]() |
Pourtant PortMIDI est une librairie C, c’est bizarre … Ou alors je crois à tord.
|
Beau Parleur
![]() |
yes.
C'est bien du C d'un sens. J'ai réussie à produire mon programme sur Windows avec une petite modif mais rien à voir avec le midi, et j'ai lié -largs -L. pmjni.dll Et ça focntionne. C'est super. C'est bête comme tout. Merci Hibou ! |
Beau Parleur
![]() |
Bonjour, Bonjour Hibou.
Je reviens ici, avec un petit problème. Je compile avec la ligne suivante qui produit l'exécutable mais à l'exécution ne trouve pas la bibliothèque pmjni : Citation : gnatmake -O3 -D obj src/main.adb -aIsrc/lib -aIPragmARC -o bin/ultrason -aIc:\GtkAda\include\gtkada -aOc:\GtkAda\bin -largs -Lc:\GtkAda\include\gtkada -Lc:\GtkAda\lib "C:\Program Files (x86)\PmDefaults\pmjni.dll" A l'exécution donc, une boite de dialogue s'ouvre en me disant que réinstaller le programme peut régler le problème. Merci pour votre aide. |
Administrateur
![]() |
En supposant que la librairie est bien présente quelque, ça dépend si c’est à l’execution depuis Windows ou Linux.
Je suppose depuis Windows, alors je dirais que si tu sais où est la librairie, il peut suffire d’essayer de la copier dans le répertoire de l’executable. Le chemin de recherche est le même pour les DLL que pour les programmes, et il inclut le répertoire courant de l’application. Au démarrage, ce répertoire courant est normalement le répertoire dans lequel se trouve l’application (mais pas toujours il me semble). Si c’est depuis Linux, il faut modifier quelque chose dans le fichier ELF pour indiquer le chemin de la librairie, le RPATH. Il existe un utilitaire nommé patchelf qui permet de le faire. À moins qu’il ne s’agisse d’un problème de version de la librairie … |