Notre nouveau PC (d'occase) installé avec Ubuntu 16.04 - 64 bits, il est temps de le préparer pour développer dessus. Nous avons déjà les projets complets sur notre machine virtuelle, il suffit donc de mettre en place le compilateur et l'environnement de développement (Code:Blocks), transférer nos projets et établir les lecteurs réseau vers les sources C partagés entre Windows et Linux. Piece of cake. Répertoires partagés Les répertoires partagés sur Windows sont accessibles directement par smb://MonRepertoireDePartage. Pour les monter, Un petit fichier sh d'abord, pour vérifier que ça fonctionne. Un simple sudo mount -c cifs -o username=utilisateur,password=motdepasse,uid=1000,iocharset=utf8,file_mo de=0777, //192.168.1.3/MonRepertoireDePartage /media/shared suffit à monter le partage. Ensuite, bien entendu, on ajoute //192.168.1.3/MonRepertoireDePartage /media/shared cifs username=utilisateur,password=motdepasse,uid=1000, iocharset=utf8,file_mode=0777 au fichier /etc/fstab pour rendre ça permanent, cela va sans dire. Bon, ça a bien pris trois bonnes heures avant de trouver ces commandes, qui permettent d'avoir l'accès aux fichiers en lecture/écriture. Code:Blocks Prudents, et suivant à la lettre les recommandations, nous passons par la librairie logicielle intégrée au système, pour récupérer la version de Code:Blocks "connue pour bien fonctionner et s'installer convenablement". Donc, téléchargement par "Ubuntu Software" de la version 13.12 de Code:Blocks. Aucun problème. Enfin, presque. Après 2 secondes d'utilisation, tout plante. L'éditeur se fige pendant plusieurs secondes, n'affiche plus les noms des fichiers dans les onglets, et met un temps infini à répondre. Inutilisable. Direction le site de CodeBlocks pour récupérer la dernière version (16.01). On suit les directives d'install, qui consistent simplement à ajouter au système un nouveau site de téléchargement grâce à ces quelques petites lignes (le principe même en est fortement déconseillé dans à peu près tous les forums sur Linux) : sudo add-apt-repository ppa:damien-moore/codeblocks-stable puis sudo apt-get update et sudo apt-get install codeblocks Et là, ça fonctionne. Plus de plantage ! Compilation Nous pouvons maintenant passer aux tentatives de compilation. Le système étant en 64 bits et nos applications en 32, et ces dernières utilisant quelques librairies (le moins possible, mais quand même), il faut préparer tout ça: sudo apt-get install g++-multilib sudo apt-get install libx11-dev sudo apt-get install libxrender-dev sudo apt-get install libfreetype6-dev Sommes-nous étourdis ! Il faut installer la version i386 de certains de ces paquets, of course: sudo apt-get install libx11-dev:i386 sudo apt-get install libfreetype6-dev:i386 sudo apt-get install libfontconfig-dev:i386 sudo apt-get install libasound-dev:i386 Et voila, le tour est joué. On peut maintenant compiler, en prenant soin de cocher la compilation 32 bits dans les options du projet. Bon, bien entendu, avec tous les paquets que nous venons d'installer, notre système n'a plus rien à voir avec ce que l'application peut s'attendre à trouver chez l'utilisateur lambda. Une autre installation, ou une autre machine sera donc nécessaire pour disposer d'une plateforme de test. Fidèle à sa réputation de solidité et de convivialité, installer un compilateur et recompiler nos projets sur Linux nous a pris tout au plus deux jours, contre 2 heures sous Windows. Les commandes sont d'une simplicité biblique (je suis sûr qu'en lisant ce billet, vous les avez déjà mémorisées sans vous en rendre compte). On se demande vraiment pourquoi, sur MacOS et Windows, ils s'obstinent encore à proposer des boîtes et des boutons, alors qu'un clavier et un terminal texte suffisent pour tout faire sans effort ! Plus on s'intéresse à Linux, et plus on y passe du temps. 2 jours entiers sans décrocher, si ce n'est pas la preuve de son attractivité, ça ! |
|
|
by Olivier Guillion | | |
| |
|
Nous débutons la semaine par un lot de correction mineures : édtion de nuances, boite de sélection de fichiers sur Mac, copier/coller dans l'album, etc. Toute la partie d'exportation en page HTML qui était présente dans le Jukebox depuis très longtemps, utilisait le Myriad Music Plug-In et devient donc obsolète avec l'abandon forcé de celui-ci. Nous étudions maintenant comment va se dérouler les nouvelles exportations utilisant le format MyriadWeb en solo ou le MyriadWeb embarqué dans un fichier HTML. Il faudra très certainement générer une page d'index présentant la liste des fichiers et pointant sur les différentes pages HTML filles. Chaque page HTML fille fera référence à un fichier MyrWeb généré à partir du .myr de même nom. |
|
|
by Didier Guillion | | | |
|
Au détour du net, et pour finir la semaine avec quelque chose d'original, nous sommes tombés sur cette vidéo surprenante, que nous ne pouvons que vous faire partager: Ténor vu en coupe Un ténor en train de chanter est filmé, en coupe, par un IRM. On voit en temps réel, sa bouche, sa langue et son palais. Hypnotique et dérangeant à la fois. Si nous avions eu cela lorsque nous avons commencé Virtual Singer, nous aurions pu, en mesurant les surfaces et positions des divers éléments, déduire le volume et la forme des diverses cavités, et envisager ainsi une modélisation physique de l'appareil vocal. Sur ces considérations, nous vous souhaitons un bon week-end ! |
|
|
by Olivier Guillion | | | |
|
Correction d'un décalage sur les textes d'aide du menu "Options". Correction de changement illicite de page des objets libres après un double click. Les plans (avant-plan, arrière plan) des objets libres concernent maintenant également les pieds et entêtes de page. Nouvelle option dans le JukeBox pour retrouver le fichier sur le disque. |
|
|
by Didier Guillion | | | |
|
Dans la palette de Virtual Singer, sur Windows, l'icône de certains chanteurs apparaissait avec des zones blanches à la place du noir. Ceci a été corrigé. Dans la même palette, lorsque plusieurs chanteurs sont situés à la même position stéréo, ou à une position proche, un algorithme empêche les noms des chanteurs de se chevaucher. Nous essayons d'améliorer cet algorithme, et de gérer également le chevauchement des drapeaux représentant la langue du chanteur. En effet, les langues des chanteurs situés derrière ne sont pas toujours bien visible, ce qui peut conduire à des erreurs. |
|
|
by Olivier Guillion | | | |
|
Nous continuons à améliorer notre logiciel de gestion de clientèle et nous nous sommes posés la question de savoir comment être prévenu si nous ne sommes pas sur place et qu'il y a un problème. Nous avons donc recherché un moyen d'envoyer un SMS de manière automatique. Par chance notre fournisseur d'accès est Free et Free a mis en place depuis juin 2014 un service gratuit d'envoi de SMS via une adresse HTML. Voilà comment cela fonctionne, si vous êtes client chez Free : - Allez sur votre page "Espace Abonné" - Après "Notification par SMS", cliquez sur "Activer l'option", vous obtenez un mot de passe. Pour envoyer un SMS, entrez comme URL dans votre navigateur : https://smsapi.free-mobile.fr/sendmsg?user=xxxx&pass=yyyy&msg=zzzz où xxxx est votre identifiant Free yyyy est le mot de passe zzzz est le message Si vous voulez utiliser le caractère 'espace' dans le message entrez %20 Ou plus simplement, utilisez le petit code HTML que nous avons écrit pour la démonstration : http://myriad-online.com/misc/html5/freesms/ |
|
|
by Didier Guillion | | | |
|
Nous avions lancé un appel, sur le forum, pour nous aider à localiser un problème récurrent d'arrêt de la mise à jour graphique du fond du bureau, sur Windows. Ce problème était présent depuis assez longtemps, mais nous ne parvenions pas à le reproduire. C'est par hasard qu'un utilisateur nous a contacté à ce sujet. Son analyse n'était pas exacte (il pensait à un problème de fermeture de fenêtre, car la fenêtre fermée restait graphiquement à l'écran) et il nous a fallu plusieurs échanges pour comprendre qu'il s'agissait bien du Saint Graal. Le problème survenait donc après minimisation puis restauration de la fenêtre principale du logiciel. Programmatiquement, c'était assez complexe, mais c'est maintenant (enfin!) corrigé. Dans un tout autre domaine, nous avons maille à partir avec un petit malin qui essaie de commander plusieurs de nos licences (généralement, n'importe quoi, mais en quantité, pour un gros montant) avec des cartes bleues volées. Venant prétendument des USA ou de Suisse, changeant de nom et d'adresse à chaque fois, mais pas toujours d'adresse IP ou d'adresse électronique, il semble situé en Russie, ou bien utilise un VPN ou un proxy localisé là-bas. Pour l'instant, il n'est parvenu à obtenir aucun code d'enregistrement, mais nous oblige à réagir vite pour éviter que nous ayons à payer à la banque des frais de remboursement En effet, lorsque la banque laisse passer tranquillement une opération frauduleuse faute de vérification, et que nous nous en apercevons, c'est à nous de supporter l'intégralité des frais de remboursement de l'opération. C'est ce qu'on appelle, en jargon bancaire, le partage des risques. Ah, banquier, c'est tout de même un beau métier... |
|
|
by Olivier Guillion | | |
| |
|
Pour finir la semaine. Dans le jukebox : Nouveau menu contextuel pour appliquer des actions rapidement : Correction de la gestion du délai entre les morceaux dans le JukeBox. Correction de la sauvegarde de l'aire de la boîte. Accélération du rafraichissement de la liste et de la recherche de la présence des fichiers. Bon week-end ! |
|
|
by Didier Guillion | | | |
|
1998 C'était un temps où le premier iMac venait de sortir, équipé d'un processeur PowerPC. Les aficionados d'Apple esquissaient une moue de dégoût à la simple évocation des processeurs Intel. Windows 98 venait tout juste de sortir, et Melody Assistant, version shareware simplifiée d'Harmony, faisait ses premiers pas sur ce système. 2016 Un utilisateur nous contacte pour un petit problème de protection de fichiers. Il est sur Windows 7, 64 bits et fait tourner Melody en version 1.1, jamais mise à jour en 18 ans. En pièce jointe, cette copie d'écran, qui fait ressurgir de vieux souvenirs : Pas mal d'outils n'étaient pas encore présents, et l'aspect général du bureau n'était pas configurable. Mais ce programme d'il y a 18 ans tourne sans aucun problème sur un système récent, ce qui montre tout de même le souci du respect de compatibilité dont fait preuve Microsoft. Pendant ce temps-là, chez Apple, on a changé à la fois de processeur (Power PC -> Intel) et de système (Mac OS9 -> Mac OS X) rendant toutes les applications d'alors doublement incompatibles. |
|
|
by Olivier Guillion | | | |
|
Dans PDFtoMusic correction d'un crash quand on changeait l'instrument associé à une portée chantée quand la musique se jouait. Correction de problèmes de jeu dans le Jukebox. Un jukebox avec plus de 590 heures de musique a été créé pour valider les nouveaux chargements et export en MyrWeb. Des irrégularités ont été signalés et corrigées dans le manuel de MyrScript. Dans la boîte d'envoi de mail à l'aide technique, ajout d'un texte demandant de vérifier que la réponse n'est pas déjà dans le manuel ou l'interface via les fonctionnalités de recherche intégrées. Si le conseil est suivi cela devrait résoudre sans intervention de notre part une grande partie des problèmes... Enfin, le travail de traduction en Espagnol est quasiment terminé. |
|
|
by Didier Guillion | | | |
|
Afin de faciliter la navigation sur notre site, nous allons essayer de proposer, sur la page de chaque produit, deux gros boutons, qui permettront respectivement - De télécharger directement le logiciel - D'acquérir la licence pour ce produit Chaque option pose un problème technique. La première demande de connaître le système sur lequel navigue l'internaute. Ceci peut être réalisé avec une marge d'erreur assez faible en analysant la signature du navigateur qu'il utilise (user-agent). Nous faisons déjà cela lors de la commande, pour prévenir l'utilisateur s'il commande par exemple une licence pour Windows alors qu'il navigue depuis un Mac. La deuxième nécessite de connaître la monnaie (euros ou dollars US) dans laquelle afficher les prix. Ceci dépend du pays de résidence de l'internaute. Pour connaître ce pays sans avoir à le demander explicitement, il faut donc géolocaliser son adresse IP. Nous avons mis cela en place, et vous pouvez le tester sur votre IP : Démo de Géolocalisation Bien entendu, la détermination du système, du pays et de la monnaie permettrait de proposer automatiquement des options ciblées, mais l'utilisateur pourrait tout de même passer outre. On peut en effet imaginer qu'un Américain en voyage en Allemagne commande depuis son iPhone une licence pour son PC sous Linux... |
|
|
by Olivier Guillion | | |
| |
|
Afin d'être en mesure de tester les versions Linux dans de bonnes conditions, nous avons besoin d'une machine qui tourne nativement sur ce système. Jusqu'ici, nous développions et testions sur une machine virtuelle depuis Windows. Mais, si la compilation est rapide et le système réactif, le comportement des pilotes vidéo et audio sont sensiblement différents de celui d'une machine dédiée. En un mot, concevoir les programmes est possible sur une machine virtuelle, mais les tester en profondeur reste difficile. Alors, bien décidés à recycler, nous avons sorti du placard un vieux mini-PC, un petit ASUS des années 2001-2002 équipé d'un AMD Athlon 2400. Le graveur CD était HS, et l'une des deux barrettes de RAM fonctionnait mal, nous réduisant la capacité mémoire à 256Mo ! Retroussage de manches, démontage, nettoyage, remplacement des deux RAM par 2x512Mo récupérées sur un vieux Mac G4 au rebut, déconnexion du lecteur défectueux. Malheureusement, l'installation par clé USB d'Ubuntu 16.04 (32 bits) puis 14.04 se solde par un écran désespérément noir. Il faut redescendre jusqu'à la version 12.04 pour que ça fonctionne. Et là, on obtient quelque chose de très, très lent, apparemment, les accès graphiques ralentissent tout. Une tentative infructueuse d'installer un autre pilote graphique se solde par la désinstallation de dizaines de paquets du système, et leur remplacement apparemment par une version plus ancienne (je n'ai pas tout compris), et là, au redémarrage, miracle, tout tourne beaucoup plus vite. Mais bon, tester nos programmes sur une version de Linux d'il y a 5 ans, c'est pas top. Alors, rendez-vous chez notre vendeur de PC d'occasion, et nous voila maintenant les heureux propriétaires d'un Lenovo Thinkstation, au moins 4 fois plus rapide que le petit ASUS, en 64 bits, avec 4 Go de RAM, sur lequel il nous faut installer Linux. Mauvaise surprise, impossible de trouver comment démarrer sur une clé USB On en est donc là, juste avant le week-end.... |
|
|
by Olivier Guillion | | |
| |
|
Lors de l'enregistrement numérique, meilleur choix de la piste de destination par défaut. Possibilité de spécifier rapidement, depuis la palette de saisie, le nombre de mesures de métronomes préliminaires. Si l'on interrompt l'enregistrement durant le jeu des mesures de métronome préliminaires aucune boite ne s'ouvre (Actuellement cela pouvait donner un crash) Dans la recherche dans l'interface, meilleure gestion des fenêtres à onglet. Correction d'un problème de positionnement des fenêtres de dialogue sur les écrans de faible résolution. |
|
|
by Didier Guillion | | | |
|
- Nous avons corrigé l'erreur survenant dans l'export HTML ou Myrweb. Elle était plus générale que ce que nous pensions à l'origine. En fait, avec la version beta courante, il n'est pas possible d'exporter dans ces formats des partitions comportant plus d'une portée avec paroles - Dans ACAM (Windows / Linux), la gestion des menus a été améliorée afin d'éviter que la dernière option, au bas du menu, puisse ne pas être sélectionnable lorsque la fenêtre principale a un ascenseur horizontal. - Sur Windows, le travail à la souris sur les perforations de l'aperçu d'impression de cartons d'orgue de barbarie ne fonctionnait plus après changement d'application par Alt-Tab, et retour sur Harmony - Pour corriger un petit problème graphique signalé par un utilisateur sur l'app Myrweb, nous avons généré une nouvelle version de l'app. L'avantage est que l'app est alors instantanément remise à jour, sans que l'utilisateur ait besoin de faire autre chose que rafraîchir la page. Appréciable ! |
|
|
by Olivier Guillion | | | |
|
Il n'était plus possible de choisir le numéro du port MIDI, c'est corrigé. Les 12 sorties MIDI indépendantes refont leur apparition dans la boite de sélection du périphérique et les préférences générales. Correction de l'affichage des points d'arrets en MyrScript. Correction d'un problème d'activité des menus quand une palette MyrScript était ouverte. |
|
|
by Didier Guillion | | | |
|
Nous traitons, dans l'ordre de leur arrivée, les rapports que nous avons reçus sur la version 9.6.4 beta 4. Si nous ne vous avons pas encore répondu, nous vous demandons encore un peu de patience, le temps que nous traitions les rapports précédents. Jusqu'ici donc : - Nous avons reçu notre certificat de sécurité Authenticode SHA-1, qui nous permet, par le biais d'une double signature de nos applications, de proposer des applications signées aussi bien sur Windows XP et moins que sur Vista jusqu'à Windows 10. La double signature est maintenant en place (pour la prochaine beta) mais pas encore testée sur XP. - Correction d'un crash lors de l'export HTML, lorsque celui-ci échouait à cause d'un problème de connexion Internet - La version la plus récente de l'app Myrweb (code Javascript de visualisation et de jeu des partitions) sera livré dans l'installateur. Nous avons modifié nos utilitaires de création d'archive pour récupérer cette dernière version sur notre site, au moment de la création de la version. Ceci ne sera utile que lorsque l'utilisateur qui crée une page HTML n'a pas, à ce moment-là, de connexion Internet opérationnelle - L'export Myrweb échouait lorsqu'une portée était définie comme ayant une ligne de paroles, mais que ces paroles étaient vides. |
|
|
by Olivier Guillion | | | |
|
Dernier petit ajout de dernière minute : il est maintenant possible d'utiliser des séquences graphiques sous la forme $(xxxx) dans les paroles associées aux portées. Ca y est la bêta 4 est disponible sur notre site pour Windows et Mac OS ! C'est la première version qui propose notre nouveau format de publication sur l'Internet : MyrWeb. Maintenant nous allons attaquer la version Linux, puis Melody Assistant... |
|
|
by Didier Guillion | | |
| |
|
Nous sommes encore en train de mettre au point la prochaine beta d'Harmony Assistant pour Windows et Mac. Les derniers détails nous prennent un peu plus de temps que prévu, à cause de problèmes principalement liés à Windows: - La suppression et création de répertoires par un fichier .bat MS/DOS ne fonctionne pas correctement lorsque ces répertoires sont sur une lettre réseau. Si on est en train de voir, dans l'explorateur Windows, le contenu d'un répertoire qui se fait effacer, on est expulsés au niveau supérieur, ce qui est normal, mais plus aucun "md" (commande de création de répertoire) ne fonctionne ensuite, ce qui est beaucoup moins normal. - Microsoft a demandé d'augmenter la sécurité des signatures numériques des applications, en passant de l'algorithme SHA-1 à SHA-256, beaucoup moins facile à hacker. Résultat, nous avons dû demander une nouvelle signature numérique et l'installer. Mais l'algorithme SHA-256 n'est pas supporté par Windows XP et moins. Il faut donc apposer sur nos exécutables une double signature, SHA-256 (pour Windows Vista et plus) et SHA-1 (pour Windows XP et antérieur). Mais pour cela, il nous faut mettre à jour nos outils de signature. Et pour avoir ces outils, il faut télécharger et installer le kit de développement complet (SDK) pour Windows 8.1, qui fait 1.6Go !! ... De proche en proche, cela prend de plus en plus de temps, on s'en va de plus en plus loin, jusqu'à en oublier pourquoi on faisait tout ça au départ... |
|
|
by Olivier Guillion | | |
| |
|
Nous préparons les archives d'Harmony dont la nouvelle bêta est sous le point de sortir, l'important est de ne pas oublier un des nouveaux fichier de données. Quelques irrégularité ont été corrigés dans l'export MP3 et dans l'édition des paramètres MyrWeb. Dans PDFtoMusic, amélioration du traitement des caractères fournis en Ascii et en Unicode. |
|
|
by Didier Guillion | | |
| |
|
|