Myriad Blog 1.3.0 Wednesday, Jul 23rd, 2014 at 08:06am 

Dev News Friday, Nov 27th, 2009 at 04:56pm
Linux natif ? (partie 1)

 
Le passage de Mac OS X en 64 bits a des conséquences inattendues, comme une ligne de dominos qui tombe.
 
Safari, sur Snow Leopard, est compilé en 64 bits. Il ne permet donc plus de faire tourner les plug-ins compilés en 32 bits (je pense que les programmeurs d'Apple ne se sont pas non plus trop foulés sur le coup).
 
Nous allons donc devoir recompiler le Myriad plug-in en 64 bits, ce qui serait simple si Apple avait bien voulu porter la librairie de compatibilité Mac OS 9, appelée "Carbon", en 64 bits.  
 
Sans cette librairie, impossible d'utiliser directement les fonctions système Mac dont nous avons assuré la compatibilité avec la version PC depuis 15 ans. Il faudrait donc, pour pouvoir utiliser nos fichiers "source" compatibles PC/Mac sur le Mac, se réécrire une librairie qui servirait de couche d'interface avec le système (elle est appelée ACAM sur Windows).
 
Donc nous nous sommes dit: si nous devons écrire une librairie sur les deux systèmes, donc si nos fichiers "source" ne peuvent être écrit nativement pour utiliser ni le système Mac OS, ni Windows, pourquoi alors ne pas écrire notre système propriétaire?
 
Voila comment cela fonctionnerait: nos programmes utiliseraient un jeu de fonctions, identique sur Mac et sur PC, mais n'étant ni les fonctions système Mac, ni PC.  
 
Pour porter nos programmes sur une plateforme (Mac OS, Windows, Linux, Chrome OS ou n'importe quoi d'autre), il nous suffirait d'écrire la "petite" couche qui traduit ce jeu de fonctions en fonctions système natives.
Mettre au point cette couche, depuis ses caractéristiques sur papier jusqu'au code, représenterait un gros travail, certainement plusieurs mois, mais nous assurerait un système de travail pérenne pour au moins la prochaine décennie.
 
On en vient donc à Linux. Nos applications deviendraient ainsi encore plus portables. Envisager un portage sur un nouveau système reviendrait à ne réécrire que le goulot d'étranglement (bottleneck) logiciel de liaison avec les fonctions système, la totalité des fichiers source de l'application elle-même restant strictement inchangés.
C'était déjà à peu près le cas avec ACAM, développé pour Windows uniquement. Mais petit à petit, au fil des améliorations, ACAM et Windows se sont imbriqués. Le réécrire pour un autre système deviendrait un casse-tête. La mise à plat générale du projet, et le nouveau départ sur des bases plus solides, permettrait de clarifier la tâche.
 
Nous avons donc -re-commencé à évaluer le développement sur Linux, en installant quelques outils et en procédant à quelques tests.
 
Ceux-ci ne sont pas encore terminés à l'heure où j'écris, donc nous partagerons nos impressions dans un prochain billet.  
 
Bon week-end à tous !
by Olivier Guillion
 1 comment.

Dev News Thursday, Nov 26th, 2009 at 04:57pm
Harmony 9.5 étape 15 et autre

 
En parallèle de nos questionnement sur la portabilité de nos applications, l'évolution des systèmes d'exploitation et nos orientations en matière de système de développement pour la décennie à venir, nous continuons à corriger les problèmes, crashs et irrégularités que nous trouvons sur Harmony/Melody.
 
Aujourd'hui :
 
- Correction d'un crash possible dans les calculs de Virtual Singer
 
- Crash possible lors de la détermination de la meilleure portée parole d'un document (par exemple lors d'un import MIDI karaoke)
 
- Crash lors de l'effacement du tout premier caractère d'une ligne de paroles
 
- Erreurs et crashs lors des opérations de recherche/Remplacement dans les fenêtres de source MyrScript
 
- Crash lors de l'accès à la gestion de l'espace utilisateur en l'absence de connectivité internet.
by Olivier Guillion

Dev News Tuesday, Nov 24th, 2009 at 04:53pm
Harmony 9.5 étape 14 et autre

 
Alors que, sur Macintosh, la mise au point du nouvel installateur se poursuit, nous corrigeons dans Harmony Assistant des problèmes mis en évidence par le nouveau compilateur, notamment dans MyrScript :
 
- Divers crashs possibles lors de la consultation du manuel MyrScript
 
- MyrScript: correction du paramètre de retour de Score.NewView(...)
 
- MyrScript: le nom de fichier envoyé à Score.MusicExport peut maintenant être stylé. Le style est alors éliminé.
 
- MyrScript: la méthode Score.AbortRecording() libère la partition si cette dernière est vide. La documentation et l'exemple associé ont été corrigés.
 
- Une irrégularité dans les liens depuis le sommaire des exemples exécutables de la documentation MyrScript a été corrigée.
 
- Divers dépassements possibles de tableaux (buffer overflow) ont été corrigés. Chacun d'eux pouvait produire un crash.
by Olivier Guillion

Dev News Friday, Nov 20th, 2009 at 04:40pm
Harmony 9.5 étape 13 et autre

 
Maintenant que tous les projets d'usage courant ont été recompilés avec Visual C++, nous avons entamé une opération de test général et de débogage sur Harmony Assistant.
 
Les tests sont pour vérifier que la nouvelle version du programme est pleinement fonctionnelle. Il est à peu près impossible de tester toutes les fonctionnalités d'Harmony, mais nous avons essayé de nous focaliser sur ce qui aurait le plus de risques de mal fonctionner, c'est-à-dire tous les imports de fichiers, les entrées/sorties audio et MIDI, certains scripts de calcul massif (sur les pistes numériques), les éditions complexes (copiers/collers), la gestion des portées fuisionnées ou des vues, etc.
 
Les fonctions de contrôle lors de l'exécution offertes par Visual C++ nous permettent par la même occasion de débusquer des problèmes potentiels.
 
Ainsi, nous avons pu corriger:
 
- un problème dans l'import de certains fichiers Finale
- une mauvaise mise en forme des notes après une saisie MIDI en temps réel
- un crash possible à la fermeture du menu contextuel des portées multi-voix
- un crash dans Melody Player
 
En parallèle, nous continuons le cours normal du développement, avec une correction sur le script d'import Noteworthy, et une nouvelle valeur, nouvelle valeur GlobalBarSetting.IsInvisible, ajoutée à MyrScript.
 
Bon week-end !
by Olivier Guillion

Dev News Wednesday, Nov 18th, 2009 at 05:18pm
Harmony 9.5 étape 11 et autres

 
Le zoom sur les palettes est pratiquement fini. Il reste à tout revérifier une dernière fois et redessiner les icônes les plus importantes en grand format.
 
Un fichier PDF utilisant une police de caractères que nous ne connaissions pas nous a été envoyée. Cette police, appelée "Reprise", imite un tracé à la main à l'instar de "Jazz" ou "Inkpen". Elle est fournie avec la dernière version d'un logiciel d'édition concurrent. Nous avons donc recalculé nos filtres afin que PDFtoMusic la traite correctement. Cette nouvelle version sera livrée avec la prochaine version beta de PDFtoMusic/Pro
 
Des tests précis de vitesse d'exécution ont été menés, afin de s'assurer que le nouveau compilateur était aussi efficace que l'ancien. On note un ralentissement de seulement 1 à 2%, ce qui peut être considéré comme négligeable.
 
En version Windows, Melody et Harmony sont livrés avec une petite application, appelée MyrPref, à laquelle nous avions ajouté une fonction particulière pour Vista, lorsqu'elle était lancée avec la touche majuscules appuyée.
Sur Windows 7, il n'est pas possible de double-cliquer sur une application avec la touche majuscules enfoncée, aussi avons-nous modifié MyrPref pour lui faire demander en clair l'action à effectuer.  
 
A ce sujet, saluons encore une fois le génie des gens de chez Microsoft.  
 
Chaque version de Windows, même si elle possède un nom, est numérotée de manière interne sous la forme x.yy.
 
Par exemple, Windows 95 porte le numéro 4.00 et Windows 98, 4.10.  
 
Là, version majeure. Windows 2000 prend le numéro 5.0 et Windows XP 5.1.
 
Puis Vista sort et à droit au numéro 6.00
 
Là Microsoft se dit que le nom de la version de Windows pourrait tout simplement être son numéro.  
Et naturellement, Windows 7, qui marque une avancée majeure, correspond donc à la version... 6.1 !
by Olivier Guillion
 2 comments.

Dev News Thursday, Nov 12th, 2009 at 05:29pm
Nouveau compilateur (suite)

 
Nos principaux projets (Harmony, Melody, PDFtoMusic, Myriad Plug-in, Melody Player...) sont maintenant totalement fonctionnels avec le nouveau compilateur.
Les tests de vitesse effectués, tant au niveau de la vitesse de compilation que de la vitesse d'exécution de l'application générée, sont à vue de nez concluants, ça va suffisamment vite.
 
Nous y avons pour l'instant un peu perdu en ergonomie de travail, mais nous continuons à chercher les fonctionnalités manquantes dans les coins. Par exemple, impossible de trouver dans Visual C/C++:
 
- Une recherche multi-fichiers qui présente tous les résultats d'un coup et qui permette d'y naviguer rapidement
 
- Une comparaison de deux fichiers "source", permettant de voir rapidement ce qui a bougé dans un module depuis la dernière sauvegarde. Si cela n'existe pas dans Visual, on doit pouvoir s'en tirer avec un programme indépendant, si ce dernier existe.
 
- Lors du débogage, un moyen simple de visualiser un tableau d'éléments sur lequel on possède un pointeur. Nous avons pu trouver une fonction non documentée de Visual qui le permet, mais ce n'est ni  très pratique, ni sécurisant, une fonction non documentée pouvant être abandonnée dans une prochaine version.
 
- Possibilité de démarrer un projet avec, dans tous les panneaux de réglage,  les options par défaut que nous aurons choisies. Ca, ce soit être possible, nous continuons à chercher.
 
- Le moyen d'utiliser l'option qui produit des calculs rapides sur les nombres à virgule (/Fp:fast). L'option existe mais nos tentatives pour l'utiliser se sont soldées jusque-là au mieux par un blocage infini de l'éditeur de lien, au pire par un crash de Visual C. Pourtant, ce serait bien de voir si elle accélère les calculs (Virtual Singer, tracés graphiques, calculs de PDFtoMusic, etc)
 
Donc, dans l'ensemble, tout va bien, mais on continue à polir les détails. Nous allons utiliser cette application 8h par jour, autant la rendre la plus confortable possible pour notre usage.
by Olivier Guillion
 3 comments.

Dev News Tuesday, Nov 10th, 2009 at 05:16pm
PDFtoMusic 1.2.1 et autre Etape 10

 
La recompilation de PDFtoMusic / PDFtoMusic Pro sous Visual C/C++ a été assez fastidieuse, car PDFtoMusic, plus que tout autre de nos logiciels, utilise de petits bouts de nos applications et les mixe ensemble, en mélangeant du C pur et du C++.
Par exemple, la lecture audio des partitions provient de modules d'Harmony Assistant (langage C), leur affichage est un tracé des commandes PDF (langage C++), l'affichage des bulles d'aide est repris sur celui des didacticiels vidéo (C), etc.
 
Au final, tout cela a finit par vouloir tourner ensemble. Mis à part quelques fonctionnalités non diffusées au public, nous permettant de déboguer le programme, tout tourne correctement.
 
En parallèle, nous avons continué à corriger les problèmes signalés:
 
Harmony Assistant : Correction d'un problème d'extraction de nom de police de caractère dans le script d'import Finale pour le format ETF 1998.
 
PDFtoMusic : meilleure gestion des barres de mesure doubles
 
PDFtoMusic : gestion des numéros de mesure forcés
by Olivier Guillion

Dev News Friday, Nov 6th, 2009 at 05:12pm
PDFtoMusic 1.2.1 et autres, Etape 8

 
 
Nous avons traité les retours de la version beta de PDFtoMusic et avons corrigé quelques problèmes signalés.
 
Nous avons également entamé la recompilation sur le nouveau compilateur de PDFtoMusic / PDFtoMusic Pro, deuxième gros programme après Harmony.
 
Etant donné que nous n'avons pas trouvé moyen de récupérer les fichiers "projets" de l'ancien compilateur, qui contiennent la liste des modules à compiler et leurs options, nous n'avons pas eu d'autre choix que d'aller récupérer un à un les 259 modules qui composent PDFtoMusic et les ranger dans l'arborescence recréée à l'identique.  
 
Un travail passionnant et créatif s'il en est, qui rappelle un peu Charlot dans "les temps modernes".
 
Les prochaines versions beta, compilées avec Visual C, vont être extrèmement importantes. Nous nous sommes en effet rendu compte que les petites incompatibilités pouvaient générer des effets quasi indétectables lors d'un test rapide mais très gênants dans le cadre d'une utilisation plus sérieuse.
Par exemple, lors de l'import des fichiers au format ABC, certaines altérations de l'armure à la clé n'étaient pas bien prises en compte, remplaçant des notes non altérées par des bécarres. La musique jouait donc tout simplement faux.  
 
Cela a été corrigé, mais laisse à penser que le Poltergeist peut frapper n'importe où, et que des tests intensifs seront nécessaires pour débusquer ce type de problème.
by Olivier Guillion
 2 comments.

Dev News Wednesday, Nov 4th, 2009 at 05:16pm
PDFtoMusic 1.2.1 Etape 6

 
Nous avons eu à résoudre aujourd'hui un problème intéressant:
Pour la reconnaissance des caractères musicaux, PDFtoMusic utilise un fichier, que nous appelons filtre, qui permet de déterminer, par comparaison avec des dessins prédéfinis, à quoi ressemble le plus un caractère musical.  
 
Par exemple, une série de clé de sols, de clés de fa, de têtes de notes, etc, appelés symboles modèles, sont traités par un programme, qui construit le filtre. Ensuite, lorsqu'un symbole musical est trouvé dans une partition, il est comparé à ces symboles modèles et on en déduit de quoi il s'agit.
 
Parfois, il y a une erreur flagrante (par exemple, un # que le programme croit être une tête de note) qui nuit à la reconnaissance d'un ou plusieurs PDF. Dans ces cas-là, il faut isoler cette nouvelle version du #, l'ajouter à la liste des symboles # modèles, puis recalculer une nouvelle version du filtre et la diffuser.
 
Mais, en faisant cela, qui nous dit que le nouveau filtre ne génèrera pas des erreurs sur des fichiers qui étaient jusque-là bien reconnus, et que des têtes de notes ne seront pas  maintenant improprement prises pourt des #?
 
Afin de minimiser ce risque, nous avons donc mis en place une nouvelle procédure. Lors de l'utilisation courante d'une version du filtre sur nos ordinateurs, nous constituons une base de données de tous les symboles musicaux traités, accompagné du résultat de la reconnaissance par le filtre. Nous balayons tous les fichiers PDFs que nous possédons afin d'obtenir une base la plus complète possible.
 
Lorsque nous recalculons une nouvelle version du filtre, nous vérifions que le résultat de la reconnaissance de chacun de ces symboles n'a pas été modifiée. Lorsqu'elle l'est, nous affichons l'ancien résultat et le nouveau. S'il y a dégradation, nous ajoutons le symbole problématique à la liste des symboles modèles et recalculons à nouveau le filtre, jusqu'à ce qu'il n'y ait plus d'erreur.
 
Ceci devrait grandement diminuer les risques de déterioration des résultats de PDFtoMusic suite à une mise à jour.
by Olivier Guillion

Dev News Monday, Nov 2nd, 2009 at 05:20pm
Harmony 9.5, et autre étape 7

 
Petit à petit, nous continuons la recompilation de tous nos projets. Après Harmony Assistant et Melody Assistant (incluant Virtual Singer), c'est maintenant le tour de Melody Player.
Les deux Assistants et le Player ainsi que le plug-in sont à 90% constitués des mêmes modules.  Simplement, un bon paquet, tous ceux qui se rapportent à l'édition  de la partition, sont désactivés dans le player et le plug-in, et remplacés par la gestion de l'interface propre à ces deux programmes.  Il apparaît que le nouveau compilateur est beaucoup plus sourcilleux en matière de "dépendances" de chaque module, et a trouvé plus de 2000 endroits où il considère (à tort) qu'il pourrait y avoir un problème.
 
Nous sommes donc condamnés à modifier les fichiers source afin qu'il les avale sans crier. Allez, plus que 200 !
 
En parallèle, sur Macintosh nous continuons à corriger et améliorer le programme :
 
 Le tag "URL" dans les textes libres a été étendu aux objets libres de type texte. Comme $L avait déjà une signification dans ce cas, il est devenu $W.
 
Dans Melody Player, il est maintenant possible de changer la langue de l'interface directement depuis l'application.
 
Nous continuons à travailler sur la version Néerlandaise du Melody Player.
by Olivier Guillion


Full view
Reduced view
Most recent first
Oldest first
All
Didier Guillion
Olivier Guillion
Sylvie Ricard
All
Dev News
Technical
Mood
Memories
Myriad Life
To be seen
30 previous days
Apr 2006
May 2006
Jun 2006
Jul 2006
Aug 2006
Sep 2006
Oct 2006
Nov 2006
Dec 2006
Jan 2007
Feb 2007
Mar 2007
Apr 2007
May 2007
Jun 2007
Jul 2007
Aug 2007
Sep 2007
Oct 2007
Nov 2007
Dec 2007
Jan 2008
Feb 2008
Mar 2008
Apr 2008
May 2008
Jun 2008
Jul 2008
Aug 2008
Sep 2008
Oct 2008
Nov 2008
Dec 2008
Jan 2009
Feb 2009
Mar 2009
Apr 2009
May 2009
Jun 2009
Jul 2009
Aug 2009
Sep 2009
Oct 2009
Nov 2009
Dec 2009
Jan 2010
Feb 2010
Mar 2010
Apr 2010
May 2010
Jun 2010
Jul 2010
Aug 2010
Sep 2010
Oct 2010
Nov 2010
Dec 2010
Jan 2011
Feb 2011
Mar 2011
Apr 2011
May 2011
Jun 2011
Jul 2011
Aug 2011
Sep 2011
Oct 2011
Nov 2011
Dec 2011
Jan 2012
Feb 2012
Mar 2012
Apr 2012
May 2012
Jun 2012
Jul 2012
Aug 2012
Sep 2012
Oct 2012
Nov 2012
Dec 2012
Jan 2013
Feb 2013
Mar 2013
Apr 2013
May 2013
Jun 2013
Jul 2013
Aug 2013
Sep 2013
Oct 2013
Nov 2013
Dec 2013
Jan 2014
Feb 2014
Mar 2014
Apr 2014
May 2014
Jun 2014
Jul 2014
Jul 22nd, 2014 at 10:53pm 
Comment from Cri-Cri
Le triolet
Jul 22nd, 2014 at 04:59pm 
Article from Olivier Guillion
Harmony 9.6 étape 697
Jul 22nd, 2014 at 04:59pm 
Article from Olivier Guillion
Harmony 9.6 étape 697
Jul 21st, 2014 at 05:08pm 
Article from Didier Guillion
PDFtoMusic 1.4.3
Jul 20th, 2014 at 08:22pm 
Comment from musikus
Jul 19th, 2014 at 09:44pm 
Comment from Olivier Guillion
nicht füttern...
Jul 18th, 2014 at 11:02pm 
Comment from
Jul 18th, 2014 at 11:02pm 
Comment from
Jul 18th, 2014 at 04:57pm 
Article from Olivier Guillion
Linux et les formats graphiques
Jul 18th, 2014 at 04:57pm 
Article from Olivier Guillion
Linux et les formats graphiques

Top of page
Last update:  (c) Myriad 2013