Aujourd'hui, nous n'avons pas travaillé sur les applications elles-mêmes mais sur leur environnement. Sur notre serveur, nous avons au fil des ans développé des dizaines (centaines) de petits scripts en Perl, qui permettent à nos programmes de faire tout plein de choses, comme vérifier s'ils sont à jour, télécharger des didacticiels, nous envoyer un courrier électronique, sans parler de la gestion des pages MUSL. C'est donc sur ces scripts que nous avons travaillé. Petites mises au propre, simplifications, et vérifications. Par exemple, dans l'un d'entre eux, une inscription dans un fichier journal de toutes ses actions avait été oubliée après sa mise en place définitive, il y a un an et demi. Le fichier contenait plus de 300,000 lignes, et était bien parti pour atteindre la centaine de méga-octets. Bon week-end à tous ! |
|
|
by Olivier Guillion | | | |
|
Pour normaliser les accès à Internet, nous avons tenté d'utiliser une librairie commune pour les versions Mac, Windows et Linux. Après installation, compilation et tests, nous nous sommes rendu compte que cette librairie, en tout cas sur Windows, utilisait beaucoup trop de choses dans le système, et nécessitait par exemple que certaines librairies de cryptographie ou de gestion d'annuaire soient installées sur le poste de l'utilisateur. Nous essayons de limiter au maximum ce genre de dépendances, afin de permettre à nos programmes de tourner sur un maximum de versions ( ils fonctionnent toujours sur Windows 95). Nous avons donc abandonné l'idée, sommes revenus en arrière et continuerons à utiliser nos propres accès, simples et compatibles. L'app Myrweb prend maintenant en compte 3 niveaux de paramètres de configuration, qui définissent l'apparence des outils, de la partition, des différentes zones d'action, leur réaction, leur graphisme, leur couleur, etc : - Les valeurs par défaut des paramètres, prédéfinies et conçues pour donner un résultat correct dans la plupart des cas - Les valeurs de paramètres imposées dans le contenu du fichier Myrweb, qui modifient les précédentes, et permettent au créateur du fichier de choisir certains réglages en fonction de la partition qu'il exporte - Les valeurs de paramètres imposées dans la page HTML qui utilise le Myrweb, qui modifient les précédentes, et permettent au webmaster de modifier les réglages précédents (par exemple pour adapter le look de l'app à celui de son site) |
|
|
by Olivier Guillion | | | |
|
La version Linux d'Harmony Assistant a été recompilée. Certains rafraîchissements graphiques sont inexplicablement imparfaits, mais nous soupçonnons un problème lié à l'utilisation d'une machine virtuelle Linux. Nous avons donc exhumé notre petit PC sur lequel Linux est installé en natif, et ces problèmes ne semblent plus présents. Cependant, ce PC, équipé de seulement 256 Mo de RAM, tourne sur une version très ancienne de Linux (Ubuntu 11.04). Nous avons donc tenté une mise à jour, mais le lecteur de DVD est en panne, et une mise à jour par clé USB ou par le réseau semble assez complexe. Donc pour l'instant, stand-by sur la machine en question. Côté développement (toutes plateformes), nous avons continué à corriger certains problèmes de copier/coller sur les pistes numériques, et de gestion des styles de texte lors de l'édition des paroles sous les portées. |
|
|
by Olivier Guillion | | | |
|
Nous avons changé l'encodeur MP3, afin d'obtenir une meilleure qualité, même avec des taux de compression importants. Ceci nous permet d'obtenir des fichiers Myrweb relativement courts, même s'ils embarquent la totalité du morceau en MP3. Mais le format MP3 est utilisé à divers endroits dans le logiciel, et notamment dans l'export de la partition au format MU3, dans lequel les données des pistes numériques sont compactées (en MP3 ou en OGG) Mais le nouvel encodeur nous a posé un petit problème : les données décompactées sont légèrement décalées par rapport aux données d'origine. C'est-à-dire que pour être certain de bien prendre en compte le tout début des données audio, un petit blanc, de quelques centièmes de secondes, est inséré puis encodé. Lorsqu'on écoute un morceau MP3 sur son baladeur, cela n'a aucune espèce d'importante. 5 centièmes de secondes de blanc avant le morceau, personne ne s'en rend compte. Mais dans une piste numérique, si l'original est : une fois encodé en MU3 puis réimporté, ça devient : et là, 5 centièmes de décalage par rapport aux portées classiques, ça s'entend vraiment bien ! Il nous fallait donc éliminer ce blanc excédentaire, mais sa taille était difficile à déterminer, car elle variait en fonction du taux de compression demandé. Nous avons donc rendu le module auto-adaptatif : le programme génère un petit son, le compacte avec le taux de compression choisi, le décompacte, puis calcule la taille du blanc. Ce calcul sert ensuite à éliminer les données inutiles au début de la piste numérique encodée en MP3, lors de son import. Beaucoup de travail pour un tout petit détail, mais maintenant, tout est calé pile poil. |
|
|
by Olivier Guillion | | | |
|
Nous avons corrigé un dysfonctionnement qui était déjà présent depuis plusieurs versions (aux alentours de la v9.6.0) Lorsque, dans une partition, un changement de tempo (ou un point d'orgue) est situé après des répétitions ou des ruptures (saut au segno, etc), lorsqu'on demande de jouer seulement la zone sélectionnée, ce changement de tempo ne s'applique pas au bon endroit. Pour vérifier cela: répéter par exemple un groupe de deux mesures, et placer derrière une note avec point d'orgue. Sélectionner la mesure qui contient cette note et jouer la sélection (5e icône de la palette "Outils joue musique). Le point d'orgue n'est pas entendu, car il s'applique en fait deux mesures plus loin. |
|
|
by Olivier Guillion | | |
| |
|
Pour montrer en ligne le graphisme des partitions, notre app utilise le format de dessin vectoriel SVG. Les polices standard (Times, Arial/Helvetica) sont gérées directement par le navigateur, mais tout se complique dès qu'on utilise des polices non standards. Par exemple, pour pouvoir afficher les symboles de notre police musicale SToccata, ceux-ci doivent être inclus dans le fichier SVG sous la forme de tracés vectoriels. Pour cela, nous avons converti cette police, ainsi que toutes les polices livrées avec Harmony (dans le dossier "Fonts", au format TTF) en tracés au format SVG, grâce au convertisseur en ligne Font2Web. Notre exporteur SVG utilise alors ces données pour tracer les caractères de ces polices. Mais si l'utilisateur, dans une de ses partitions, emploie une police textuelle ou musicale particulière, installée dans son système mais pas fournie avec notre application, il est probable que celle-ci ne sera pas installée sur l'ordinateur de la personne qui visualise son document en SVG. Elle sera alors remplacée par une police standard. Nous nous sommes alors souvenus que, pour l'export au format EPS (PostScript), nous incluions le tracé de tous les caractères utilisés, y compris ceux des polices standards ou des polices tierce partie installées dans le système. Ces tracés pourraient-ils être également exportés dans le SVG? En examinant le contenu des exports EPS, nous nous sommes aperçu que ce tracé de caractères (appelé "glyphes") était très, très proche des tracés SVG. A tel point qu'un simple code Javascript pouvait effectuer cette conversion. La preuve est là, avec cette démo: Conversion de glyphes EPS -> SVG Ce petit code Javascript charge un document EPS, analyse son contenu, repère les tracés de glyphes, les convertit en SVG et les affiche à l'écran. Ceci prouve qu'avec un minimum de travail, nous pourrions directement inclure dans le SVG (et donc dans l'export Myrweb) l'ensemble de tous les glyphes utilisés, quelle que soit la police avec laquelle ils sont tracés. Ceci rendrait le rendu graphique de la partition entièrement indépendant du système et des éventuelles polices installées ou non. |
|
|
by Olivier Guillion | | |
| |
|
C'était il y a tout juste 10 ans, jour pour jour, nous inaugurions ce blog, pas encore tout à fait certains de sa pérennité. Nous désirions rendre notre travail moins obscur, et permettre à tous de comprendre un peu mieux ce que nous faisions. Nous avions même pensé, au début, installer une Webcam, mais le procédé était un peu trop inquisiteur (la transparence, d'accord, mais jusqu'à un certain point tout de même). Le résultat est là : depuis 10 ans, nous partageons ici le travail de notre journée, nos questions, nos solutions, nos astuces, notre enthousiasme, nos déceptions, nos bonnes surprises et parfois notre énervement. 10 ans de blog, ce sont 2420 billets rédigés, 3300 réactions de votre part, et plus de 1000 images d'illustration. Merci à tous ceux qui nous ont suivi ces 10 dernières années, et à ceux qui nous seront fidèles pendant les 10 prochaines ! |
|
|
by Olivier Guillion | | |
| |
|
La boite d'édition des préférences générales voit apparaître un nouvel onglet, permettant de régler les options graphiques du Dock : Mais aussi : - Correction de la prise en compte de certaines préférences graphiques lors de la création d'un nouveau document - Accélération des initialisations au démarrage de l'application Nous travaillons activement à la résolution des dernier problèmes, afin de proposer au plus vite une nouvelle version beta. Il ne devrait donc plus y avoir d'implémentation de nouvelle fonctionnalité d'ici la sortie de la version définitive. Bon week-end ! |
|
|
by Olivier Guillion | | | |
|
Le format Myrweb et l'app de visualisation ont été complétés afin de prendre en compte une image de fond. Ce type d'image est traditionnellement utilisée pour appliquer une légère texture de papier à l'aire de visualisation de la page (il y en a une, par défaut, dans Harmony Assistant). Le choix de cette image sera réservé au mode super-avancé de l'exporteur Myrweb. On pourra alors choisir non seulement l'image, mais aussi la manière dont elle est avancée. Je préviens tout de suite, afin d'éviter le malaise vagal chez les moins sagaces : j'ai utilisé dans les exemples qui suivent une image très contrastée, et absolument pas prévue pour servir d'image de fond pour une partition. Cette image a été choisie afin que le résultat soit bien visible sur les copies d'écran réduite. Je précise donc clairement: l'app ne montrera pas, par défaut, toutes les partitions à l'écran sur un fond de tronche de Frankenstein. On peut par exemple spécifier que l'image de fond sera dupliquée en mosaïque : Autre possibilité, adapter sa largeur à la largeur de la page: Il y a ainsi 4 modes possibles (mosaïque, adapter la largeur, adapter la hauteur, étirer). Ces quatre modes sont doublés, en permettant ou non à l'image de fond de s'agrandir ou se réduire en fonction de l'échelle donnée à la partition. Mais l'usage des images de fond ne se limite pas à des textures de papier. Elles peuvent également être utilisées en fond des textes des paroles, pour se rapprocher des effets graphiques de bon goût des machines à karaoké. |
|
|
by Olivier Guillion | | | |
|
Une demande de mise à la norme concernant les parties conditionnelles nous a été formulée. Après vérification du bien fondé de cette demande, nous avons décidé de la mettre en place. Sauf avis contraire, ceci devrait donc modifier l'aspect des partitions existantes. Les parties conditionnelles numérotées peuvent (et pourront toujours) être affichées selon deux modes, sélectionnables dans l'aspect graphique de la partition. Dans le premier mode, conservé depuis l'origine pour assurer compatibilité avec les premières versions du programme, les débuts et fins de parties conditionnelles ne sont pas joints. Début et fin dans la même mesure Début et fin dans une mesure différente Pas de fin Ceci ne sera pas modifié dans la prochaine version et restera graphiquement identique. Auparavant Dans le deuxième mode, le début et fin de partie sont joints. Les cas de figure ci-dessus s'affichaient alors ainsi : Dorénavant C'est ce troisième cas qui va être modifié. Dorénavant, en mode "joint" (le mode par défaut), une partie non fermée verra sa barre horizontale prolongée jusqu'à la fin de la mesure: Il sera également possible d'éditer la rupture de fin de partie conditionnelle et de supprimer totalement le texte associé, afin de créer visuellement des parties non fermées qui s'étendent sur plus d'une mesure comme ici : Ceci devrait permettre de noter tous les cas de figure habituellement rencontrés, et surtout de proposer par défaut la notation la plus fréquente. C'est juste le fait de modifier l'aspect des partitions existantes qui nous chagrine un peu. Même si c'est peu probable, si des utilisateurs avaient employé à dessein l'ancienne notation et désirent la conserver, ils devront alors se manifester, nous pourrons toujours prévoir un nouveau réglage dans les préférences. |
|
|
by Olivier Guillion | | |
| |
|
|