Nous avons commencé à nous remettre à Harmony Assistant et PDFtoMusic. Au vu des changements importants des couches basses de l'interface, nous allons probablement limiter les améliorations apportées pour nous concentrer sur les tests en profondeurs et la solidité. Ainsi, nous démarrerons probablement une session beta "ouverte", c'est-à-dire annoncée publiquement. Nous essayons cependant de mettre en place les améliorations relativement simples, ne changeant pas profondément la structure du programme ou de ses données. Par exemple, nous avons amélioré la transformation des silences fantômes en silences dans HA, et avons réglé un problème de détection inopportune de notation Mensurstrich dans PDFtoMusic. |
|
|
by Olivier Guillion | | | |
|
L'application Cassiopée est maintenant fonctionnelle, et une première version beta a été envoyée au commanditaire. Cette mise à jour nous a permis de détecter quelques problèmes mineurs sur ACAM, ce qui fera bénéficier les autres applications de ces améliorations: - Lors de l'édition de champs éditables, la fonte pouvait être légèrement différente de celle utilisée lors de leur affichage hors édition. Cela se traduisait par un grossissement des caractères lorsqu'on cliquait sur le champ pour y entrer une valeur. - Les curseurs souris monochromes définis par l'application ne fonctionnaient plus sous Windows. Harmony/Melody n'en utilisant pas, nous ne nous en étions pas aperçus. Le reste de nos corrections est strictement spécifique à Cassiopée. En bonus, cette application va bénéficier du nouvel installateur, incluant les signatures numériques et le mode d'installation "nomade" pour clés USB (en cours de test). Nous en avons également profité pour réduire de 80% la charge processeur lorsque l'utilisateur ne fait rien (les batteries des ordinateurs portables nous diront merci). |
|
|
by Olivier Guillion | | | |
|
La compilation de PDFtoMusic sur Macintosh rencontre des problèmes de crash dans les modules de reconnaissance optique. Nous avons donc recompilé la version Windows qui, elle, s'avère fonctionner correctement. Il y a donc quelque chose de spécifique au Macintosh, nous allons tenter de découvrir de quoi il s'agit. Quelques petits défauts ont été signalés sur Harmony et PDFtoMusic (toutes plateformes), nous allons en profiter pour les corriger dans les prochaines versions, qui ne sauraient trop tarder. |
|
|
by Olivier Guillion | | | |
|
Nous étions presque prêts à fabriquer les versions publiques de nos produits quand nous nous sommes aperçus de quelques irrégularités dûes à un mauvais alignement de structures. Il y a apparemment des problèmes dans certains fichiers "include" du système Linux, qui génèrent des structures de données incorrectes lorsqu'un paramètre d'alignement non standard est fixé dans le programme qui les utilise. Ce problème n'apparaît ni sur Windows, ni sur Mac OS. Cela nous a obligé à reprendre la presque totalité de nos propres fichiers "include" (il y en a pas mal) pour corriger le problème. Hélas, cela nous a obligé à retester les applications, et notamment toutes les fonctionnalités qui utilisent des structures binaires stockées dans les fichiers (import / export Ogg et MP3, lecture des bases de sons, de certains fichiers de préférences, etc). On espère donc avoir terminé demain (justement le jour où on rase gratis) |
|
|
by Olivier Guillion | | | |
|
Maintenant que tout semble fonctionner sur Linux, nous avons repris la compilation des différents programmes, et notamment du plugin, sur Mac OS et Windows. Les modifications apportées avaient généré des incompatibilités qu'il faut examiner et corriger. Tous se compile maintenant à nouveau sur les 3 plateformes, mais le plug-in plante au démarrage sur Windows. On y est donc dessus, ainsi que sur la modification de la gestion du compte à rebours Virtual Singer dans le plug-in, dont la logique doit changer pour fonctionner sur Linux. Tout ceci ne devrait pas nous prendre trop de temps, et des versions fonctionnelles sur toutes les plateformes devraient être prêtes d'ici quelques jours. |
|
|
by Olivier Guillion | | | |
|
Nous avons enfin résolu nos problèmes de rafraîchissement graphique dans le plug-in. Afin que nos efforts, étalés sur plusieurs semaines, puissent bénéficier à d'autres, voici le pourquoi et le comment. <technique on> Lorsqu'un plug-in Mozilla désire avoir la main régulièrement, par exemple pour gérer des animations sans intervention de l'utilisateur, il doit se charger de mettre en place un timer, un thread ou tout autre moyen permettant d'exécuter une fonction régulièrement. Dans notre cas, nous avons choisi un thread, qui boucle sur une attente de 1/10e de seconde - usleep(100000) - puis qui appelle la fonction demandée. Mais là, attention! Les fonctions du navigateur ne sont pas "thread-safe". On ne doit donc pas, depuis le thread qui boucle, appeler une quelconque fonction du navigateur, comme par exemple celle qui demande de remettre à jour une partie de l'aire du plug-in: browser -> invalidaterect(NPP id,NPRect * rect) Pour le faire, il faut passer par une fonction spéciale qui lance l'appel de manière asynchrone: browser -> pluginthreadasynccall(void * myAsyncFn, void * parametre) La fonction désirée, appelée ici myAsyncFn, sera appelée plus tard, lorsque le navigateur le pourra, et dans celle-ci, on pourra utiliser toutes les méthodes du navigateur que l'on désire (par exemple invalidaterect). <technique off> Maintenant, le plug-in fonctionne donc bien mieux. Il reste à régler des problèmes de son dans le jeu des didacticiels, ainsi que la musique qui parfois ne s'arrête pas lorsqu'on ferme la page sur laquelle est le plug-in (!) Dès que ceux-ci seront résolus, nous posterons une nouvelle beta. |
|
|
by Olivier Guillion | | | |
|
Nous avons peut-être identifié la cause de nos soucis de mise à jour graphique sur le plug-in Linux. Nous avons besoin que certains tracés graphiques aient lieu sans intervention de l'utilisateur. Par exemple, quand on réalise une animation sur les didacticiels, l'utilisateur ne clique pas, ne bouge pas la souris et n'appuie rien sur le clavier, mais le plug-in fait bouger l'image ou joue des sons. Pour cela, nous avons dû créer une fonction qui passe régulièrement dans le plug-in, qui effectue les changements graphiques, puis demande au système de montrer ces changements graphiques sur l'écran. Cette fonction est en fait un "thread" séparé. Or, il semble que Firefox ne permette pas à un thread lancé depuis un plug-in de demander cette mise à jour graphique. Il ne plante pas, mais n'honore pas les demandes. Nous devons donc trouver un autre moyen. Nous savons que cela doit être possible, puisque d'autres plug-ins montrent des animations à l'écran, et ont donc besoin du même type de système. Nous recherchons donc un plug-in simple qui nous permettrait de savoir comment s'y prendre (nous avons depuis longtemps abandonné l'idée de trouver notre réponse dans une quelconque documentation)... |
|
|
by Olivier Guillion | | | |
|
Nous avons donc bricolé comme prévu un contournement du crash de la fonction ALSA dans le plug-in. Cela semble fonctionner chez nous. Nous avons attaqué la partie "jeu des didacticiels" du plug-in, qui commence à fonctionner. Il manque les bruitages (son du clic souris, etc) et la mise à jour de la fenêtre ne fonctionne pas encore très bien. Aussi attendrons-nous que cette partie soit opérationnelle pour proposer une nouvelle version beta du plug-in. Bon week-end à tous! |
|
|
by Olivier Guillion | | | |
|
Aujourd'hui, journée peu productive. Nous avons essayé d'obtenir une version déboguable de la librairie ALSA, sans succès. Nous avons suivi les conseils obtenus sur une mailing-list de développeurs, avons installé 700 Mo de packages divers dans notre système, sans arriver au résultat escompté. Nous sommes donc revenu en arrière en restaurant notre machine virtuelle à son état précédent. Parallèlement, nous nous sommes assurés que le problème n'était pas dû à une corruption de mémoire. Il ne l'est donc pas. Nous avons créé un tout petit plug-in de test, qui plante à volonté sur la fonction ALSA douteuse. Il y a donc maintenant trois possibilités: - Un bug dans la librairie ALSA - Une erreur de notre part dans les paramètres de configuration ou de liens - Une erreur dans Firefox qui planterait les liens entre les plug-ins et ALSA. Nous sommes malheureusement arrivés presque au bout de ce que nous pouvons faire. A moins d'un éclair de génie, d'un miracle, ou de l'aide d'un expert en développement sous Linux, nous sommes cuits. La fonction en question est assez indispensable, elle permet de lister les périphériques de sortie audio disponibles dans le système, ce qui est nécessaire pour savoir sur lequel jouer la musique numérique. On va quand même essayer de bricoler quelque chose, pour pouvoir proposer de nouvelles versions beta demain. |
|
|
by Olivier Guillion | | | |
|
|