Nous devrions mettre à disposition dans quelques instants la version 7.6.1 beta 4 de Melody pour Linux. Pas mal de choses nouvelles ont été implémentées dans cette nouvelle beta, et notamment : - les entrées et sorties MIDI, qui devraient être parfaitement synchronisées avec le jeu de la musique A ce sujet, nous nous étonnons grandement de la non-disponibilité dans ALSA du synthétiseur logiciel qui permet au lecteur multimédia Banshee de jouer les fichiers MIDI. C'est bizarre que ce synthé n'ait pas été implémenté au niveau système, ce qui aurait permis à toutes les applications d'en profiter, et de pouvoir jouer des musiques MIDI... - Une gestion des raccourcis clavier améliorée, plus compatible avec les versions Mac & PC. Beta-testeurs, à vos claviers! |
|
|
by Olivier Guillion | | | |
|
Nous avons bien avancé sur la MIDI avec ALSA. Les fonctions offertes au programmeur sont suffisantes, et semblent stables et logiques. Seul problème: l'absence quasi-totale de documentation claire sur ces fonctions. La documentation la plus poussée semble être un résumé des noms de fonctions et de leurs paramètres, généré automatiquement à partir des en-têtes C fournies aux programmeurs. Il faut donc faire par essai et erreur, ou récupérer des exemples de code source et s'en inspirer, en espérant qu'ils fonctionnent. C'est le genre de situation où si le premier programmeur fait une erreur qui ne plante pas visiblement , il y a fort à parier que cette erreur sera recopiée dans tous les programmes qui vont suivre. Mais bon, pour l'instant, nous avons réussi à implémenter la sélection des périphériques MIDI, le jeu de la musique en MIDI, la synchronisation de la MIDI avec le jeu en numérique et les entrées de notes au pas à pas. Il ne reste que les entrées en temps réel. Nous récupérons les événements, mais avons encore à parfaire la synchronisation, afin que les notes jouées apparaissent au bon endroit dans la partition. Sauf gros problème de dernière minute, une version beta avec la MIDI entièrement fonctionnelle devrait être disponible en début de semaine prochaine. Cela laisse aux beta-testeurs le week-end pour retrouver leurs interfaces MIDI et commencer à connecter leurs claviers et expandeurs. A lundi (midi, bien sûr) ! |
|
|
by Olivier Guillion | | | |
|
Devant l'impossibilité, sur Linux, de disposer d'une fonction qui serait appelée régulièrement (par exemple chaque 1/200e de seconde), nous avons dû nous résoudre à utiliser les fonctions ALSA haut niveau de traitement de file d'attente MIDI. Dans ce mode de fonctionnement, le programme stocke à l'avance la liste de commandes MIDI à jouer, chaque commande contenant le temps exact, en nanosecondes (!) par rapport au lancement de la sortie MIDI, auquel elle doit être effectivement envoyée au matériel. Les premiers essais sont concluants, les envois sur la MIDI sont maintenant bien réguliers. Reste un problème de synchronisation. Avec cette méthode, il faut absolument que le démarrage de la MIDI et le démarrage de la sortie numérique soient parfaitement simultanés. Or, pour l'instant, il y a des délais variables entre les deux sorties, différents à chaque lancement de la musique, et pouvant atteindre un quart de seconde. Espérons que ce n'est pas inhérent à ALSA, et cela pourra être résolu. Sinon, on est mal... |
|
|
by Olivier Guillion | | |
| |
|
Une nouvelle version beta (7.6.1 beta 2) a été préparée aujourd'hui, et mise à la disposition des beta-testeurs. Nous avons été contraints de créer deux paquets Debian différents, un pour la version 32 bits de Melody Assistant, l'autre pour la version 64 bits. Comme beaucoup d'autres applications sur Ubuntu, en fait de version 64 bits, il s'agit du même programme en 32 bits, mais qui requiert l'installation préalable des librairies de compatibilité. Nous avions tenté de créer une seule archive pour les deux versions, mais nous ne sommes pas parvenus à créer une dépendance variable en fonction de l'architecture sur laquelle le paquet est installé. Par contre, pour la base Gold, qui ne contient que des données et pas de programme, nous avons pu créer un seul et même paquet pour 32 et 64 bits. En fait, le paquet de la base GOLD contient un petit programme permettant le décompactage des fichiers sonores, et nous avons dû utiliser une astuce pour "cacher" ce programme au gestionnaire d'archive, qui est conçu pour empêcher toute installation multi-architecture en vérifiant le format de tous les fichiers exécutables. Donc au final, une version de la base GOLD peut également être essayée par les beta-testeurs. Il faut alors prévoir au moins 1.2 Go de libre sur le disque dur pour pouvoir procéder à la très longue installation de cette base de sons. |
|
|
by Olivier Guillion | | | |
|
Nous avons continué à travailler sur les paquets installables, et avons trouvé une solution que nous estimons satisfaisante pour gérer les versions 64 bits d'Ubuntu. Nous avons écrit un script Perl qui automatise la création de deux paquets pour Melody, un destiné à Ubuntu 32 bits, l'autre à Ubuntu 64 bits. Les deux paquets sont quasiment identiques et installent les mêmes fichiers, mis à part que la version 64 bits déclare avoir besoin des librairies de compatibilité 32 bits, qui seront alors installées automatiquement par le gestionnaire d'installation (la Logithèque). Informatiquement, donc, tout fonctionne. Pour ce qui est de l'ergonomie, il y a à notre avis un *très* gros problème avec la logithèque en général. Nous avons même essayé d'installer des paquets autres que les nôtres, sur les 2 versions d'Ubuntu, afin de vérifier que cela n'était pas dû à une erreur de notre part. L'erreur ne semble pas venir de notre côté. Voici ce que, logiquement, on attend d'un logiciel d'installation: - On double-clique sur le fichier téléchargé, le logiciel d'installation s'ouvre - Une description de ce qui va être installé est montré (avec possibilité de lire les licences ou de configurer l'install) - Un clic sur le bouton install démarre l'installation, et pendant les quelques minutes qui suivent, une jauge montre la progression - A la fin de l'installation, le logiciel est lancé, et/ou une icône de lancement apparaît sur le bureau et/ou un message explique dans quel menu trouver l'icône de lancement. Mais cela aurait été trop facile, et c'était sans compter sur la fameuse technologie PFSQOPFC d'Ubuntu (Pourquoi Faire Simple Quand On Peut Faire Compliqué): - On double-clique sur le fichier .deb. - La logithèque s'ouvre - Elle ne montre pas l'application en question, mais plutôt un menu général. Il faut patienter une dizaine de secondes avant que l'application à installer apparaisse. - Là, un bouton "Installer" et une explication dans une seule langue (qui sera donc probablement en anglais, même pour les utilisateurs francophones), pas de pages de licence, pas de configuration possible. - On clique sur Install. Une jauge de progression apparaît pendant 5 secondes, puis disparaît. Le bouton "Installer" réapparaît. Que s'est-il passé, c'est déjà fini ? Il y a eu une erreur ? Rien de tout cela, en fait l'installation continue. Il ne faut pas recliquer sur le bouton. - Cela dure une bonne minute, puis les explications disparaissent, et réapparaissent avec de nouveau une jauge - 3 minutes plus tard, le bouton "Installer" redevient actif, et reste ainsi pendant 5 bonnes minutes. Plus rien ne bouge. Seule la lenteur anormale de tout le reste du système laisse à penser qu'une opération est en cours. - La jauge pleine apparaît alors, puis la mention "installé". C'est tout. Depuis le temps, on a presque oublié quel logiciel on était en train d'installer, la procédure ayant duré environ 10 fois le temps mis par la version Windows. Aucun message, l'application ne se lance pas, et aucun raccourci n'apparaît à un endroit visible. - Là, on peut alors aller à la pêche, en examinant tous les menus jusqu'à ce qu'on découvre celui dans lequel l'icône de lancement de l'application s'est nichée (pour Melody, c'est "Applications > Son et Vidéo). Nous sommes vraiment surpris par le fait qu'une telle catastrophe ergonomique puisse exister dans un logiciel, même gratuit. Alors, sachant que c'est intégré par défaut au système, notre surprise se mue en consternation. |
|
|
by Olivier Guillion | | | |
|
La version beta ayant été publiée hier, nous avons déjà eu quelques retours. L'un d'entre eux était particulièrement préoccupant : Sur Ubuntu version 64 bits, les applications 32 bits ne fonctionnent pas, et ne peuvent même pas s'installer depuis la logithèque. C'est pourtant un mode de compatibilité assuré par défaut et de manière totalement transparente sur les autres plateformes (Mac OS ou Windows). Mais la compatibilité ascendante ne semble pas être la préoccupation principale du consortium Ubuntu... Ne pouvant pas nous permettre de maintenir 2 versions (32 et 64 bits) de chacun de nos programmes sur chacune des plateformes Linux que nous envisageons de gérer, et le bénéfice du 64 bits en terme de performances restant encore à prouver, voici une méthode du type "mains dans le cambouis" pour faire fonctionner la version actuelle (32 bits) sur Ubuntu 64 bits: 1- Lancer Terminal 2- Se positionner dans le répertoire où est sauvegardé le paquet Debian téléchargé. 3- Installer les librairies de compatibilité 32 bits grâce à la commande: Quote:sudo apt-get install ia32-libs |
| 4- Installer le paquet par la commande: Quote:sudo dpkg -i --force-architecture "Melody_7.6-1.deb" |
| 5- A partir de maintenant, le programme peut être lancé depuis le menu "Application > Son et Vidéo > Melody Assistant". Il est à noter que: - Il suffit d'installer une seule fois les librairies de compatibilité (étape 3) pour pouvoir ensuite installer à volonté n'importe quel paquet 32 bits. On se demande pourquoi ces librairies ne sont pas incluses par défaut. Soi-disant, pour obliger les utilisateurs à bien vérifier qu'une version 64 bits de l'application n'existe pas. Si c'est pour notre bien, alors... - La procédure d'installation du paquet (étape 4) fonctionne de la même manière pour n'importe quel paquet 32 bits, pas seulement le nôtre. - Il nous faudra trouver un moyen d'expliquer cela de manière claire, lorsque la version définitive sera disponible, afin que les utilisateurs ne butent pas trop sur le problème. |
|
|
by Olivier Guillion | | |
| |
|
Nous avons presque terminé la mise au point de la gestion des crashs sur Linux. Nous avions au début pensé utiliser la gestion des "core dump" du système, mais sur Ubuntu, ceux-ci sont désactivés par défaut. Ne pouvant les activer que globalement, et pas uniquement pour nos propres applications, nous avons préféré gérer cela nous-même, comme nous le faisons sur Windows. Nous capturons donc les crashs, et une de nos fonctions se charge de collecter un maximum d'informations et de nous les envoyer par le biais d'un frontal Web. Après nous être battus un moment avec la syntaxe abracadabrantesque de l'assembleur de GCC (syntaxe AT&T), nous avons réussi à tout faire fonctionner. Enfin presque : Melody affiche une boîte, ouvre la page Web voulue, puis se termine proprement. Malheureusement, la terminaison du programme a pour effet de terminer également tous les processus fils, ceci incluant le navigateur Internet montrant le formulaire. Nous essayons donc de pallier à ce problème. |
|
|
by Olivier Guillion | | | |
|
|