Dans Harmony Assistant, une icône branchant sur l'aide à été associé à chaque élément de la palette.
Dans PDFtoMusic : Redéfinition complète des listes de sélection d'instrument avec possibilité de choisir des instruments MyrSynth. Dans PDFtoMusic standard, on peut accéder aux voix Virtual Singer étendue si Virtual Singer est enregistré. Configuration des liens entre les instruments standards et MyrSynth depuis le menu Configuration.
Le module de gestion des licences a été généralisé et est maintenant accessible depuis PDFtoMusic et Melody Player.
Aujourd'hui, travail important, mais qui n'a presque pas d'effet visible :
PDFtoMusic est un programme totalement à part, mais qui utilise quelques fonctionnalités d'Harmony Assistant (jeu de la musique, choix des instruments, sauvegarde...).
Pour cela, un jeu réduit de fonctionnalités d'Harmony Assistant a été exporté sous la forme d'une "bibliothèque", qu'utilise PDFtoMusic. Il s'agit d'un jeu réduit, car PDFtoMusic n'a pas besoin de toutes les fonctionnalités d'Harmony, par exemple tout ce qui se rapporte à l'édition de la partition.
Nous avons cependant décidé d'exporter un lot d'autres fonctions, d'Hrmony, liées à l'interface, l'édition des instruments MyrSynth, la gestion des numéros d'enregistrement, etc.
Il nous faut donc ajuster tout cela, choisir les bon module, tailler dans la masse, pour n'extraire que ce dont on a besoin. Gros travail, donc.
Suite à des remarques d'utilisateur nous nous sommes penchés à nouveau sur les fonctionnalités disponibles dans Melody Player. Dans cette prochaine version l'accès à l'impression sera accessible aux utilisateurs non enregistrés si le créateur du document est un utilisateur enregistré. De même pour Virtual Singer. Le module MyrSynth Guitare a été intégré à Melody Player afin de pouvoir interpreter les fichiers musicaux crées avec Myriad HQ.
Des problèmes de positionnement graphique assez important ont été repérés dans l'affichage des clés, tonalités et signatures temps.
Par exemple, un changement de tonalité au milieu de la partition était graphiquement bien positionné après une barre de mesure double, mais ne l'était pas si on supprimait cette barre.
Nous avons tout remis en ordre, recalé tout ça, et ça nous semble plus correct :
(1e ligne, avant, 2e ligne, après)
Cependant, ceci va légèrement modifier la taille des clés/tonalités des anciens fichiers. Donc, dans des cas limites, lorsqu'une ligne est pleine au pixel près, cette petite modification peut faire passer une mesure à la ligne suivante, et changer la mise en page.
Nous allons essayer de limiter au maximum ces cas, mais il est probable qu'il en restera tout de même quelques-uns.
L'implémentation des modules sonores VST nous pose de sérieux problèmes sur Windows. Comportement erratique, grave manque de documentation détaillée, on n'avance pas beaucoup.
Maintenant, le jeu de l'instrument VST lui-même fonctionne mieux (moins de plantage), mais l'édition de ses paramètres n'est pas au point, graphiquement.
Nous nous heurtons à des problèmes de gestion de fenêtre Windows, qui cache l'interface graphique du plug-in VST. Malgré tout, quelquefois (selon la direction du vent) ça fonctionne:
Le cahier de route va bon train et la palette de gestion de Myriad HQ à été construite. Elle respecte l'aspect des boites de configuration avancée de son module phare : MyrSynth.
La palette est fonctionnelle : on peut désactiver séparément chacun des différents modules. Le système de numéro de série est en place. Les points suivants vont être de matérialiser dans l'interface les fonctionnalités associées à Myriad HQ et de définir le mode de fonctionnement de la version d'évaluation.
Sur Windows, les fondations de la prise en compte des instruments internes VSTi sont en place.
Le problème principal est de trouver des instruments VSTi qui nous permettent de régler notre système. La plupart ne semblent pas réagir comme attendu, plantent, ne jouent qu'en mono ou sont silencieux, ou encore émaillent leur sortie sonore de craquements périodiques.
Dans le lot, il y en a quand même quelques-uns qui donnent quelque chose de probant. En voici un exemple. Le son lui-même est ce qu'il est, mais c'est ce que les anglophones appellent "proof of concept", une démo prouvant que le principe fonctionne.
Contrairement à la sortie MIDI, le son de ces instruments pourra être directement exporté en MP3, ou traité par nos effets sonores habituels.
Nous avons décidé de regrouper dans une seule entité toutes les améliorations que nous avons apporté depuis 2014 et qui n'ont jamais été diffusées : elle va s'appeler Myriad HQ et devrait être disponible dans Harmony ou Melody sous la forme d'un module additionnel, à la manière de Virtual Singer.
La première étape a été de collecter et d'organiser ses améliorations, nous trouvons donc :
* La Haute définition numérique : possibilité de travailler avec plus de 16 bits par échantillon et avec un échantillonnage plus grand que 44100. Ceci pour la restitution audio mais également en édition des pistes numériques. Bien entendu les bases de sons resterons aux valeurs d'échantillonnage d'origine, il faudrait en effet les ré-enregistrer complètement. Ce qui envisageable mais reste un boulot titanesque.
* Post-traitement numérique avec un équaliseur multi-bandes s'appliquant à tous les instruments mixés.
* Sortie multi-canaux qui ouvre la possibilité de spatialisation du son jusqu'au 7.1.
* Instruments MyrSynth guitare. Là c'est un gros morceau, des sons d'instruments à cordes frétées directement généré par modélisation pour une qualité optimale.
* Module instruments externes : gestion des VSTi et peut être des Audio Units sur Mac, si l'on trouve suffisamment d'instruments qui existent en AU mais pas en VSTi...
L'étape suivante va être de créer une palette permettant à l'utilisateur d'activer/désactiver ces différents modules.
Lorsque la musique joue, et que l'utilisateur a zoomé sur la partition, l'app se débrouille pour que la partie jouée soit visible dans l'aire dédiée à l'app sur la page Web.
Mais si cette aire n'est pas complètement contenue dans la page, il se peut que la portion jouée disparaisse de l'écran. Il faudrait alors que l'app touche à l'ascenseur de la page Web, pour recentrer son aire sur l'écran.
C'est maintenant chose faite, mais cela amène d'autres problèmes. Sur un petit écran pendant le jeu, il peut alors être difficile d'atteindre la barre d'outils (pour arrêter la musique) par exemple, celle-ci étant en permanence éjectée de la portion visible pour montrer le bas de la partition en train d'être joué.
Alors, nous avons fait en sorte qu'un clic en dehors de l'aire de l'app arrête le processus de repositionnement automatique. Cette version est actuellement en service, vous pouvez le tester (par exemple sur le morceau posté sur ce blog en fin de semaine dernière)
Mais ce n'est probablement pas encore suffisant. Peut-être faudrait-il que ce processus automatique s'arrête également lorsque l'utilisateur manipule manuellement l'ascenseur de la page ?
Correction d'un problème d'export MyrWeb en version d'évaluation. Gestion des changements de tempi en export ABC. Correction du positionnement des changements de tempo en import ABC. Enfin, nous avons commencé à interconnecter et interfacer les modules destinés à proposer une version Haute Qualité Sonore de nos logiciels.
Sur IE11, une grosse partie des fonctions de manipulation de sons (WebAudio) ne sont pas disponibles, ne l'ont jamais été et ne le seront probablement jamais. Il faut donc utiliser les fonctions disponibles, beaucoup plus réduites. Celles-ci permettent cependant de jouer une piste, et d'en changer le tempo (mais pas de transposer). Malheureusement, la dernière mise à jour de Windows avait également modifié le comportement de la fonction de changement de tempo, qui ne fonctionnait plus.
Un contournement a été trouvé, et mis en place dans l'app Myrweb. Sur IE11, l'exemple posté avant-hier devrait donc maintenant fonctionner. Sur ce navigateur, l'outil de transposition (le diapason) ne devrait pas apparaître.
Accessoirement, les noms de portées ou titres de partitions trop long devraient maintenant être correctement tronqués. Harmony Assistant a également été amélioré, pour exporter les bons doigtés sur le clavier virtuel de Myrweb (mais ceci, par contre, ne sera testable qu'avec la prochaine version d'Harmony)
Nous avions totalement zappé le plugin QuickLook pour macOS dans nos opérations de transition. Pour rappel un plugin QuickLook permet de visualiser directement un document depuis le Finder. De fait, le plugin n'avait pas été mis à jour depuis 2013. Comme nous n'avions que très peu de retours sur ce gratuiciel nous pensions que personne ne l'utilisait. Ce qui était apparemment faux. Nous avons donc reconstruit le projet sous XCode 7. Un problème est rapidement apparu : comme le plugin doit s'installer dans le système, c'était le seul de nos produits à utiliser les installateurs standards d'Apple. Qui ont été entretemps abandonnés par Apple ! Nous sommes donc passé en ligne de commande avec scellement du paquet. La nouvelle version (2.0) est disponible sur le site. A noter que c'est la première app compilée avec le nouvel environnement qui est rendue publique.
Nous avons été obligé de souscrire à l'Apple Developper Program afin d'obtenir des clefs de scellement. Comme nous avons notre propre installateur c'est lui qu'il est nécessaire de sceller. Notre logiciel de fabrication d'installateur a été modifié en conséquence. Il n'était pas possible de publier ces versions car un nouveau compilateur nécessite des tests en profondeur avec publication. Les archives des versions courantes ont été récupérées depuis notre site, modifiées à la main, scellées et re-publiées. Ceci concerne : Melody Assistant, Harmony Assistant, Melody Player, OMeR, PDFtoMusic, PDFtoMusic Pro, Awalé, Sapiens et Galerie.
La cata ! Apparemment, la dernière mise à jour de Windows 10 en a profité pour abîmer un peu plus Internet Explorer 11 qui n'était déjà pas le navigateur le plus brillant sur le marché.
Attention, quelques morceaux de technique suivent...
Le système que nous utilisons pour stocker les données binaires Myrweb à l'intérieur d'une page Web revient à les inscrire au format "Base64" à l'intérieur d'un paramètre de la division (div). Ceci ne plaît plus à IE11.
Lors du chargement de la page, IE11 fait on ne sait quoi, pendant plusieurs secondes (minutes?), avant même de démarrer l'app. Pendant ce temps, il n'utilise pas le processeur, il semble attendre un je-ne-sais-quoi, et en désespoir de cause, finir à contrecoeur par rendre la main et lancer notre app. Sur tous les autres navigateurs essayés, pas d'attente de plus d'une seconde.
Il nous a donc fallu, pour contourner ce nouveau problème, changer pour la troisième fois la manière de stocker ces données.
Donc après les avoir mises :
- Dans le contenu d'une "div" cachée (rapide sur IE, Edge & Chrome, lent sur Firefox)
- Dans un paramètre de la "div" (rapide partout, sauf maintenant sur IE11)
- les voila maintenant dans une balise <script>, sous forme d'une affectation à une variable texte.
Cette méthode semble rapide sur IE, Edge, Chrome, Firefox et Android Browser. Reste à la tester sur Safari, Opera, et tout autre navigateur qui nous tombera sous la main
Nous continuons à avancer sur l'adaptation de nos projets. Nous nous consacrons maintenant aux installateurs qui doivent être modifiés pour ce nouvel environnement. Nous nous sommes un peu cassé la tête pour comprendre pourquoi nos nombreuses demandes d'inscription au Apple Developer Program échouaient. Apparemment c'était un problème de base de donnée qu'Apple à corrigé après un rapport de notre part.
Sur Myrweb, inexplicablement, le chargement de fichiers lourds se met à prendre un temps important sur IE11 pour Windows (et seulement sur ce navigateur). Nous suspectons un changement dans IE lié à la dernière mise à jour de Windows, puisque l'attente, qui peut durer 20 à 30 secondes, semble se produire avant même que notre app soit démarrée. Nous investiguons tout de même.
Sur Harmony Assistant, des problèmes de calage ont été détectés sur les pistes numériques. Ils concernent le jeu de la sélection sur des pistes contenant des portions vides, les bornes du couper/copier/coller, et apparemment la sauvegarde de document. Là aussi, on est sur le coup