Myriad Blog 1.3.0 Friday, Nov 21st, 2014 at 05:45am 

Technical Thursday, Nov 20th, 2014 at 04:54pm
PDFtoMusic 1.5.0 (Technique)

 
 
Attention, ce billet est plutôt technique. La dernière partie nécessite de connaître le langage C.
 
Nous avons enfin trouvé l'erreur sur laquelle nous nous cassions les dents depuis plusieurs jours !
 
Comme nous l'avions déduit, il s'agissait de l'utilisation d'une variable non initialisée, dont la valeur était donc aléatoire, et qui conditionnait la logique de la détermination du type d'accord.
En conformité avec la loi de Murphy, dès que nous ajoutions dans le programme un test nous permettant de vérifier nos calculs, l'erreur ne se produisait plus.
 
Les symptômes nous ont cependant permis de réduire notre champ de recherche à seulement quelques fonctions, et là, bingo ! Un calcul sur une variable "score" non initialisée.
Il a suffi d'ajouter 2 caractères seulement, et changer :
float score;
par
float score=0;
pour que tout fonctionnne correctement.  
 
Afin de nous assurer qu'il ne restait pas d'autres petites nuisances comme celle-ci dans nos programmes, nous avons soigneusement configuré notre compilateur pour qu'il détecte ce genre de cas et nous permette de les vérifier un à un.
 
________________

 
Pour les programmeurs sous Windows, il faut activer les alertes de niveau 4. Mais à ce moment-là, on est inondé de milliers de messages anxiogènes portant sur des détails sans importance.  
Nous avons donc répertorié une à une puis masqué les alertes nous paraissant inutiles.  
En voici la liste, dans Visual Studio Express 2012
 4214;4206;4057;4200;4129;4390;4125;4245;4702;4706;4310;4389;4005;4127;41 89;4505;4100;4121;4068;4273;4244;4305;4996;4309;4018;4805;4101
(celle qui nous intéresse et ne doit donc pas être masquée est l'alerte n° 4701)
 
Ainsi configuré, si on compile cette fonction:
 
short fonction(short a)
{
short b,c;
if(a) b=c=1;
else b=0;
b=b+c;
return(b);
}

 
le compilateur inscrit à juste titre une alerte disant que la variable c peut être utilisée sans être initialisée.
En effet, si la variable d'entrée a est non nulle, b et c recevront la valeur 1, et le calcul b+c vaudra 2.
Mais si la variable a est nulle, c ne reçoit aucune valeur, et le calcul b+c est indéterminé.
 
Nous avons donc activé cette option et recompilé entièrement PDFtoMusic et Harmony Assistant.  
Nous avons obtenu une centaine d'alertes pour le premier et plus de 600 pour le second !
 
Autant d'erreurs potentielles dans ces programmes ? Non, car le compilateur trouve énormément de "faux positifs".
Sa logique n'est pas très poussée, aussi certains cas ne peuvent pas être détectés correctement.
Par exemple, si on modifie la fonction précédente en :
 
short fonction(short a)
{
short b,c;
 
if(a) b=c=1;
else b=0;
if(b) b=b+c;
return(b);
}

 
Le compîlateur va prévenir qu'il peut y avoir un usage de c non initialisée. Mais c'est faux. Pour que c ne soit pas initialisé, il faut que b soit nul. Or, dans ce cas, le calcul n'est pas effectué.
C'est donc un faux positif.
 
Une variante est:
 
short fonction(short a)
{
short b;
 
if(a) b=1;
if(a) return(b);
return(0);
}

 
Le compilateur ne se rend pas compte que c'est le même test qui positionne b et qui l'utilise par la suite. Là aussi, alerte qui n'a pas lieu d'être.
En réalité, les cas sont beaucoup plus complexe, et chacun d'entre eux nous demande au moins 30 secondes à 1 minute de réflexion pour nous assurer qu'il n'y a pas de vraie erreur.
Pour l'instant, sur les 300 traités, nous n'en avons trouvé que 2 ou 3 de potentiellement dommageables, et encore ils ne surviennent que dans des opérations très rares.
 
Mais, par contre, le compte est facile à faire. 600 vérifications, à 1 mn par vérification, cela fait 10 heures consécutives de réflexion intense.  
Il faut commence par nous assurer qu'il nous reste assez de paracétamol.
by Olivier Guillion
 3 comments.

Dev News Wednesday, Nov 19th, 2014 at 04:56pm
PDFtoMusic 1.5.0

 
Certains tous petits coulés pouvaient être confondu avec la tête de note en demi-cercle de la notation ShapeNote, c'est corrigé.
Correction d'un problème de reconnaissance de métrique.
Meilleure gestion des sens de tiges sur les notes tracées entièrement via un symbole.
by Didier Guillion
 Leave a comment.

Dev News Tuesday, Nov 18th, 2014 at 04:59pm
PDFtoMusic 1.5.0 et autre

 
  • Amélioration de la base de donnée de reconnaissance optique: discrimination entre certains coulés courts et têtes de notes demi-blanche de la notation FaSoLa
     
  • Amélioration du suivi des portées d'un système à l'autre lorsqu'une portée chantée était présente mais sans note
     
    Un problème nous occupe depuis plusieurs jours : dans certains cas, le premier accord de la partition peut être incorrectement déterminé. Il semble s'agir d'un problème intermittent survenant aléatoirement. Nous avons donc pu le reproduire quelquefois, mais impossible de savoir d'où cela provient exactement.
     
  • Harmony Assistant, palette de Virtual Singer : maintenant que nous savons gérer les affichages en transparence partielle, nous avons amélioré l'aspect des chanteurs lorsqu'ils sont désactivés. Ils apparaissent maintenant comme des fantômes bleus semi-transparents.
  • by Olivier Guillion
     Leave a comment.

    Dev News Monday, Nov 17th, 2014 at 04:51pm
    PDFtoMusic 1.5.0

     
    Correction d'un problème d'attribution de paroles aux portées.
    Correction d'un problème de détection des trémolos.
    Correction d'un problème de confusion de coulé.
    Le tableau des mesures à jouer ne fonctionnait pas si les extensions au MusicXML étaient désactivées, c'est corrigé.
    by Didier Guillion
     Leave a comment.

    Dev News Friday, Nov 14th, 2014 at 04:59pm
    Harmony 9.6 et autres étape 733

     
     
  • Un problème de saisie et de manipulation des ornements de notes de type "texte" en mode ruban à partir d'une certaine position dans la musique a été corrigé.
     
  • Cela nous a également permis de corriger une erreur arithmétique dans le calcul des positions des ornements placés au-dessus de la portée. Contrairement au point précédent, cette erreur avait été introduite avec les versions beta
     
  • Dans PDFtoMusic (Std & Pro), correction d'un problème de positionnement d'appoggiatures sur les portées multivoix
     
    Bon week-end !
  • by Olivier Guillion
     Leave a comment.

    Dev News Thursday, Nov 13th, 2014 at 04:50pm
    PDFtoMusic 1.5.0 et autre

     
    Nous commençons à analyser les retours des testeurs.  
     
    Dans Harmony les tuplets 6:4 étaient transformés en 3:2, c'est corrigé.
     
    Les tuplets abrégés notés "7" étaient considérés comme étant "7:2", ils seront désormais traités en "7:4".
     
    Lorsque une appoggiature débutait une ligne de mesure, elle pouvait "voler" une altération de la tonalité, c'est corrigé.
     
    by Didier Guillion
     Leave a comment.

    Dev News Wednesday, Nov 12th, 2014 at 05:06pm
    PDFtoMusic 1.5.0

     
    Nous avons corrigé des problèmes de menu dans la version standard de PDFtoMusic RC2 :
     
    - L'option "Quitter" pouvait rester grisée lorsqu'aucun document n'était en mémoire
     
    - L'option "Imprimer", quant à elle, pouvait être accessible, et générait un crash
     
    - L'option "Mise en page" était inutile sur Windows. Elle a donc été supprimée de la version de PDFtoMusic et PDFtoMusic Pro sur cette plateforme.
    by Olivier Guillion
     Leave a comment.

    Dev News Friday, Nov 7th, 2014 at 06:12pm
    PDFtoMusic 1.5.0

     
    Pour finir la semaine :
     
    Correction d'un problème de décalage horizontal des accords sur la première ligne quand le titre était souligné (ouioui c'est possible)
    Les lignes de mesures ne contenant que des informations textuelles étaient éliminé, c'est corrigé.
     
    Enfin, la version 1.5.0 RC2 a été publiée et les utilisateurs de PDFtoMusic version standard prévenus.
     
    Bon week-end !
    by Didier Guillion
     Leave a comment.

    Dev News Thursday, Nov 6th, 2014 at 04:53pm
    PDFtoMusic 1.5.0

     
    Après correction de quelques vilaines irrégularités dans certains cas limites, la version 1.5.0 RC2 est maintenant prête.
     
    Malheureusement, un peu trop tard pour être mise à disposition ce soir, nous préférons en effet être en mesure de traiter les premiers retours dans les heures qui suivent la diffusion d'une version, même beta ou RC.
     
    Elle devrait donc être disponible demain, en version Pro et non-pro, sur MacOS et Windows XP et plus.
    Cette version a été testée sur Windows XP SP3 "sorti de boîte", afin de nous assurer que l'installation n'oublie aucun fichier et que le programme est resté compatible avec ces anciennes versions du système.
     
    Demain, dès que nous aurons posté cette version, nous contacterons par e-mail tous les utilisateurs enregistrés de PDFtoMusic pour leur proposer de nous aider à traquer les derniers problèmes qui pourraient subsister.
    by Olivier Guillion

    Dev News Wednesday, Nov 5th, 2014 at 04:55pm
    PDFtoMusic 1.5.0

     
    Nous progressons vers la Rc2
    Amélioration de l'affichage des caractères quand la police n'est pas embarquée.
    Amélioration de la reconnaissance des doigtés.
    Correction d'un problème de signature temps.
    Correction d'un problème de sauvegarde Mp3 dans la librairie.
    by Didier Guillion

    Dev News Tuesday, Nov 4th, 2014 at 04:55pm
    PDFtoMusic 1.4.3

     
    Aujourd'hui, en chemin vers la RC2 :
     
  • Correction de l'export MP3 et OGG (ne fonctionnait pas en RC1)
     
  • Correction de crash lors d'un clic droit sur le titre de la palette clavier
     
  • Crashs sur de grands fichiers scannés, aux dimensions incorrectes (dans notre exemple, 136 pages de 1m40 par 1m79)  
     
  • Amélioration des tests de saturation mémoire
     
  • Amélioration de la correspondance entre les portées d'un système (une ligne d'écriture) à l'autre, par leur nom. Le programme doit comprendre que le nom abrégé (par exemple Fl. & Pno) correspond au nom long (Flûte & Piano)
     
  • Nouveau calcul d'échelle pour la visualisation en "taille réelle", plus proche de la taille véritable de la page
     
  • Windows: problème de retours à la ligne des textes des info-bulles (correction bas niveau dans la gestion des largeurs des polices)
     
  • Amélioration de la recherche d'un nom utilisable pour les fichiers temporaires
  • by Olivier Guillion

    Dev News Monday, Nov 3rd, 2014 at 04:53pm
    PDFtoMusic 1.4.3

     
    Déjà pas mal de retours de l'équipe de testeurs.
     
    Meilleure localisation des portées pour les crescendo/decrescendo.
     
    Reconnaissances des doigtés pour guitare représentant les cordes : nombre entouré d'un cercle quand celui-ci est tracé manuellement.
     
    Sauvegarde des indications de cordes en MusicXML. Chargement dans Harmony Assistant.
     
    Dans certains cas les indications de tempo du genre noire=140 étaient tracés via une police non musicale et donc considéré comme des textes libres et encodés dans le MusicXML par "q=140". Un nouveau post-traitement tente de repérer cette séquence et la transforme en tempo.
    by Didier Guillion

    Dev News Friday, Oct 31st, 2014 at 05:11pm
    PDFtoMusic 1.4.3

     
    Nous avons envoyé un e-mail à tous les utilisateurs de PDFtoMusic Pro (pour l'instant, la seule version en RC1) pour leur proposer de participer aux test des versions RC avant la sortie de la version définitive.
     
    Cette demande a rencontré jusqu'ici un écho favorable, plusieurs d'entre eux nous ayant déjà proposé leur assistance. La disparité des contenus des fichiers PDF rend vraiment nécessaire des tests intensifs des préversions de ce logiciel.
     
    Nous étendrons le groupe des testeurs à PDFtoMusic non-pro dès qu'une préversion récente aura été publiée pour ce produit.  
     
    Pour la petite histoire, sur certains lecteurs d'e-mails, un clic sur le lien que nous avions fourni n'amenait pas au bon endroit. Plutôt que de renvoyer un message correctif à tout le monde, nous avons "hacké" le logiciel du forum pour faire fonctionner les adresses incorrectes. L'avantage de contrôler les logiciels de A à Z coté serveur...
    by Olivier Guillion
     1 comment.

    Dev News Thursday, Oct 30th, 2014 at 04:57pm
    PDFtoMusic 1.4.3

     
    Nous commençons à recevoir quelques retours sur la rc1.
    Un nom d'accord n'était pas reconnu : Faug. (Fa augmenté) il est apparu que l'analyse le découpait en Fa (latin) suivi de "ug" qui n'a pas de signification. Ceci a été corrigé. Cela devait également bloquer sur Domit5.
     
    Les tous petits liés entre deux notes très proches pouvaient être pris pour des fermata. Cela a été corrigé.
     
    A la lecture de toutes les améliorations accumulées depuis ces derniers mois nous avons décidé de passer en version 1.5.0 et non en 1.4.3.
    by Didier Guillion

    Dev News Wednesday, Oct 29th, 2014 at 05:03pm
    PDFtoMusic 1.4.3 RC1

     
     
    On en voit la fin ! Une version "Release Candidate" de PDFtoMusic Pro vient d'être annoncée sur le forum.
     
    C'est donc l'une des toutes dernières étapes avant la version publique. Pour agrandir le groupe des beta-testeurs, nous envisageons de contacter par e-mail tous les utilisateurs enregistrés afin de leur proposer de nous aider, s'ils le souhaitent.  
     
    Nous sommes très prudents en ce qui concerne les envois "massifs" de courriels, car nous sommes les premiers à nous insurger contre le spam ou les annonces commerciales trop insistantes. Aussi nous allons encore réfléchir un peu, et nous assurer que cela ne dérange personne avant de procéder à un tel envoi. Mais là, ce n'est pas de la pub, mais de l'info
    by Olivier Guillion

    Dev News Tuesday, Oct 28th, 2014 at 04:56pm
    PDFtoMusic 1.4.3

     
    Il y avait un problème d'application de trémolo sur les notes à double tiges. C'est corrigé.
    Amélioration de la reconnaissance des dièses tracés avec des lignes.
    Gestion de l'accord énigmatique x2 (C2, G2...) qui sera traité comme un xadd9.
    by Didier Guillion

    Dev News Monday, Oct 27th, 2014 at 04:53pm
    Harmony 9.6 et autres étape 732

    Les points suivants ont été améliorés
     
    - Les ornements "numéro de corde" (chiffre dans un cercle) étaient automatiquement noirs. La couleur choisie pour le texte est maintenant prise en compte
     
    - Tests et corrections diverses sur la saisie numérique au microphone
     
    - Correction des fonctions MyrScript d'accès direct aux données numériques (indexation de DigitalData)
     
    - Correction de problèmes en sauvegarde WAV Monophonique
     
    - Correction du script "Vocoder"
     
    Un utilisateur nous a signalé un défaut de fonctionnement du plug-in avec Firefox sur Windows 8. Cela semble lié à un problème de prise en compte du répertoire des fichiers temporaires. Nous n'avons pas été capables de reproduire ce problème, ce qui laisse à penser qu'il peut s'agir d'une mauvaise configuration du navigateur sur le poste de l'utilisateur en question. Si nous ne parvenons pas à trouver la cause de ce défaut, nous lancerons un appel sur le forum pour savoir si cela se produit chez d'autres.
    by Olivier Guillion

    Dev News Friday, Oct 24th, 2014 at 04:53pm
    PDFtoMusic 1.4.3

     
    Des corrections ont été appliquées dans la localisation des ligatures fines.
     
    Dans certains cas les nuances pouvaient être associées à la mauvaise portée : on recherchait la portée la plus proche.
    Maintenant, lors d'une première passe, on recherche la note la plus proche et la portée est celle de la note. Ceci corrigé pas mal d'erreurs.
     
    Bon week-end !
    by Didier Guillion

    Dev News Thursday, Oct 23rd, 2014 at 05:00pm
    PDFtoMusic 1.4.3

     
    - Une erreur a été corrigée dans le traitement des textes. Ceci pouvait générer un crash dans la version beta
     
    - La concaténation des lettres pour former des mots pouvait ne pas fonctionner correctement lorsque les caractères étaient en Unicode. Ceci a été corrigé.
     
    - Le drapeau servant à choisir la langue du chanteur n'apparaissait pas dans le cas de partitions où le chant ne démarrait pas dans le premier système (intro avec portées chant masquées). Ceci a été amélioré.
    by Olivier Guillion

    Dev News Wednesday, Oct 22nd, 2014 at 04:53pm
    PDFtoMusic 1.4.3

     
    Parfois, l'aire d'application des tuplets est tracé avec des lignes horizontales non terminées par des lignes verticales. Or, ces lignes verticales servent à déterminer quel est le sens d'application du tuplet. Maintenant, en l'absence de ligne on regarde si le nombre est au dessus ou en dessous de la ligne horizontale pour déterminer la portée de destination.
     
    Certains PDFs utilisaient de toutes petits lignes verticales qui étaient éliminées par le dépoussiéreur. Le seuil a été abaissé afin de les conserver.
    by Didier Guillion

    Dev News Tuesday, Oct 21st, 2014 at 05:02pm
    PDFtoMusic 1.4.3

     
     
    La première opération que réalise PDFtoMusic pour analyser un nouveau document, c'est de le charger et le décoder.  
    Les objets sont extraits du PDF, décompactés, et rangés en mémoire. Le tracé graphique de toutes pages est préparé, et cela a lieu avant même que PDFtoMusic vérifie s'il voit des portées et des notes dans tout cela.
     
    Mais voila : décompacter toutes les pages, s'il s'agit d'images issues d'un scanner, cela prend de la place, beaucoup de place. Pour une résolution de 600dpi, chaque page prendra au bas mot 80Mo. 20 pages, et on dépasse allègrement le Giga-octet de mémoire.
     
    Autant dire que la zone mémoire pouvant être gérée par l'application se retrouve alors saturée, interdisant toute manipulation ultérieure de mémoire. Lorsqu'on est au fin fond des analyses de la page PDF, cela devient difficile de sortir proprement de là et de poursuivre un fonctionnement normal de l'application. Cela se solde quasi-immanquablement par un crash.
     
    Ceci se produit uniquement lorsqu'on tente de traiter des collections de pages scannées, qui ne pourront de toute façon pas être gérées par PDFtoMusic.
     
    Nous avons donc amélioré toutes nos fonctions de manipulation mémoire, afin de leur faire tenir le compte de la quantité de mémoire utilisée. Ainsi nous pouvons à tout moment savoir si la mémoire disponible baisse dangereusement. Nous avons mis une limite à partir de laquelle le processus de chargement du PDF est abandonné et un message d'erreur affiché.
     
    Ainsi, les fichiers PDF très volumineux, contenant de nombreuses pages scannées en haute précision ne feront plus planter l'application. Un message clair apparaîtra, et le fichier PDF ne sera simplement pas chargé.
    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
    Aug 2014
    Sep 2014
    Oct 2014
    Nov 2014
    Nov 20th, 2014 at 10:57pm 
    Comment from Sylvain
    Nov 20th, 2014 at 10:27pm 
    Comment from Geo
    Itou
    Nov 20th, 2014 at 10:27pm 
    Comment from Geo
    Itou
    Nov 20th, 2014 at 07:23pm 
    Comment from JP
    Bon courage!
    Nov 20th, 2014 at 07:23pm 
    Comment from JP
    Bon courage!
    Nov 20th, 2014 at 04:54pm 
    Article from Olivier Guillion
    PDFtoMusic 1.5.0 (Technique)
    Nov 19th, 2014 at 04:56pm 
    Article from Didier Guillion
    PDFtoMusic 1.5.0
    Nov 18th, 2014 at 04:59pm 
    Article from Olivier Guillion
    PDFtoMusic 1.5.0 et autre
    Nov 17th, 2014 at 04:51pm 
    Article from Didier Guillion
    PDFtoMusic 1.5.0
    Nov 14th, 2014 at 04:59pm 
    Article from Olivier Guillion
    Harmony 9.6 et autres étape 733

    Top of page
    Last update:  (c) Myriad 2013