Pour finir la semaine, nous avons implémenté un volume général pour l'essai dans l'édition des instruments virtuels. Mais surtout nous avons peaufiné l'interface. La quasi totalité des paramètres d'affichages des différents éléments n'est maintenant plus fixé en dur mais via un fichier de configuration. Par exemple, voici ce que donne l'édition des microphones avec l'aspect standard : Si l'on créée un nouveau fichier de configuration, on obtient ceci : Il sera donc possible de passer rapidement d'un habillage à un autre. Nous espérons que cela calmera les appréhensions des personnes craignants de devoir travailler sur un fond sombre.... En fait, nous nous rendons compte que la sur-couche que nous sommes en train de mettre au point pour les instruments virtuels est infiniment plus simple à manipuler que les accès Carbon standard. Et surtout elle ouvre un éventail de possibilités telle que les images de fond des boîte, les transitions douces quand on change d'onglet, un paramêtrage fin des affichages des différents éléments, etc. Peut être cette interface devrait être inclue dans MyrScript afin que ce nouvel aspect s'applique également aux boites et palettes du langage. A étudier. Bon week-end ! |
|
|
by Didier Guillion | | |
| |
|
Nous avons avancé sur l'édition des instruments frettés, avec l'implémentation du bouton "Essayer". Nous voudrions que l'utilisateur puisse choisir entre différent morceaux, lui permettant d'écouter en situation l'instrument en cours d'édition. Mais si on prépare par exemple des morceaux pour guitare, cela posera alors des problèmes si l'instrument a moins (ou plus) de 6 cordes, ou n'est pas accordé de manière classique. Il va nous falloir réfléchir là-dessus. En parallèle, nous avons amélioré l'installation du plug-in sur Linux (Ubuntu) 64 bits : maintenant la ligne de commande nspluginwrapper est appelée automatiquement en fin d'installation, et ce paquet est automatiquement installé s'il n'est pas déjà présent. On nous a signalé l'impossibilité de lancer Harmony après installation sur Linux Mint 13. Nous avons installé une machine en Mint 13 "Maya" Cinnamon 32bits, et effectivement le raccourci vers le programme ne semblerait pas créé dans la rubrique "Vidéo et audio" (à confirmer). Il faut alors le faire manuellement en allant chercher Harmony Assistant dans /usr/bin. A moins que le problème soit plus important dans les versions de Mint avec un autre environnement de bureau (MATE, KDE, Xfce) ou en 64 bits, mais nous ne pouvons pas essayer chacune des combinaisons... Enfin, nous avons corrigé des crashs dans le player (et probablement le plug-in) lors du chargement de fichiers xml qui ne contiennent pas du MusicXML. Ceci vaut pour toutes les versions. |
|
|
by Olivier Guillion | | |
| |
|
Premier prototype de l'édition des microphones. Gestion de l'annulation sur l'édition des paramètres (64 niveaux d'annulation) Implémentation des menus contextuels dans l'interface. Implémentation des boites de confirmation d'une action. |
|
|
by Didier Guillion | | |
| |
|
Nous avons mis au point les calculs de paramètres de l'instrument lorsque l'utilisateur modifie le corps en mode simplifié. A partir d'un instrument prédéfini, il pourra modifier la surface de caisse, son épaisseur, le type d'ouverture (rosace ou ouies), ainsi que la taille de cette ou ces ouvertures. A partir de ces choix, des modifications seront apportées aux paramètres de réponse en fréquence de la caisse. S'il le désire, l'utilisateur pourra alors passer en mode avancé pour apporter des modifications fines à ces paramètres. Dans un autre registre, nous avons amélioré plusieurs points dans Harmony Assistant : - En mode page avec des zooms faibles, les lignes de la portée dépassent parfois à droite de la dernière barre de mesure. Nous avons atténué cet effet indésirable. - Lorsque, lors de l'édition des ruptures, un renvoi à une mesure impossible était effectué, il pouvait arriver qu'une boîte d'alerte apparaisse inlassablement, empêchant d'effectuer les modifications. Nous essayons de limiter l'apparition de cette boîte afin de laisser à l'utilisateur le temps de corriger ses ruptures. - Le calcul de tablature pouvait crasher lorsque l'utilisateur forçait un numéro de case pour la dernière note de la portée. |
|
|
by Olivier Guillion | | | |
|
Un premier prototype d'édition de la réponse impulsionnelle de la caisse via trois paramètres simples est opérationnel. A terme, le type de la caisse corps creux, corps plein, etc devrait être pris en compte. L"édition des cordes avec ajout, suppression, édition simplifiée et avancée des différentes valeurs est quasiment finalisé. Nous attaquons maintenant l'édition des microphones. Pour rappel, il peut y avoir, par corde, jusqu'à trois microphones, placés entre le pont et la première frette, sous les cordes. |
|
|
by Didier Guillion | | | |
|
En travaillant sur la version Windows de notre plug-in (format Netscape NPAPI), nous nous heurtons à des dysfonctionnements fréquents des navigateurs, des implémentations partielles du format, ou des réactions inattendues. On a parfois l'impression de marcher sur un plancher pourri, ne sachant pas quelle latte va céder et nous expédier à l'étage du dessous sans prévenir. Par exemple, le plug-in contient une option "vue en plein écran". Lorsque le bouton est cliqué, le plug-in crée une page HTML dans le dossier temporaire de la machine, et demande l'ouverture d'une autre fenêtre (ou d'un autre onglet) pour le visualiser. Nous avons développé trois méthodes différentes pour demander au navigateur d'ouvrir cette fenêtre : - La méthode "NPN_Get" qui est l'appel standard du système NPAPI "NPN_GetURL" et qui fonctionne bien lorsqu'on demande de visualiser une page HTML présente sur un serveur Web (http://). Malheureusement, sur beaucoup de navigateurs, cette méthode ne fonctionne plus lorsqu'il s'agit de montrer une page locale (file://). - La méthode "JS Open" qui consiste à utiliser les objets Javascript depuis le plug-in. On a ainsi accès à la fonction Javascript window.open(). Cet accès Javascript n'est pas disponible dans l'implémentation de NPAPI sous Internet Explorer. - La méthode "OpenDoc" qui consiste à rechercher quelle est, sur le PC, l'application qui gère l'affichage des fichiers de type HTML et de l'appeler en lui donnant en paramètre la page locale à visualiser (appel par WinExec ou ShellExecute) Nous utilisions plutôt la dernière méthode, qui fonctionnait sur tous les navigateurs. Malheureusement, dans sa dernière version, Firefox bloque pendant 30 secondes avant de montrer la page, et Opera ne montre plus rien. Nous avons donc dû réaliser un tableau récapitulant les réactions des divers navigateurs lorsqu'on utilise chacune des trois méthodes: - Les cases en vert indiquent que cela fonctionne, et que le code d'erreur retourné nous dit que tout s'est bien passé - Les cases en orange indiquent que cela n'a pas fonctionné, mais que le code d'erreur retourné nous dit qu'une erreur s'est produite, nous permettant d'essayer éventuellement une autre méthode - Les cases en rouge indiquent que cela n'a pas fonctionné correctement, mais que le code d'erreur retourné nous dit que tout s'est bien passé ! On s'aperçoit qu'Opéra ne fonctionne dans aucun des trois cas. Il n'y aura donc aucune possibilité de faire fonctionner le mode plein écran sur ce navigateur. On s'aperçoit également qu'il n'est pas possible d'essayer les méthodes une à une jusqu'à ce que le code d'erreur retourné nous dise que la page est apparue, car il y a trop de cases rouges, ne nous permettant plus de savoir si la partition est effectivement apparue, ou seulement une page blanche. Nous n'avons donc pas d'autre choix que de tester le navigateur, par une demande de "javascript:navigator.userAgent". Si ce paramètre n'est pas disponible, nous sommes sous Internet Explorer (qui ne contient pas d'implémentation des objets javascript en NPAPI), si le paramètre contient "Firefox", nous sommes sous Firefox, et sinon nous sommes sous l'un des autres navigateurs. On utilisera donc la méthode NPN_Get sous Internet Explorer, la méthode JS Open sous Firefox, et la méthode OpenDoc sous les autres. Des problèmes risquent de se poser avec des navigateurs utilisant le moteur de Firefox, mais ne se signalant pas comme tels dans "navigator.userAgent". Mais là, on est déjà dans le contournement du contournement, et à force de contourner, on va finir par tourner en rond. |
|
|
by Olivier Guillion | | |
| |
|
Nous avons travaillé sur le plug-in. En version Linux, le problème sur Ubuntu 64 bits s'est résolu de lui-même. Nous avions simplement oublié que l'utilisateur doit lancer à la main une commande pour enregistrer notre plug-in dans la liste des plug-ins 32 bits reconnus par le navigateur. Une fois cela fait, ça fonctionne. En version Windows, on nous a signalé un délai de 30 secondes entre le clic sur l'icône "plein écran" et l'apparition de la partition. Il semblerait que ce soit un "time-out" laissé par Firefox, donc il nous paraît impossible d'y remédier simplement. Pour simplifier, l'utilisateur clique sur le bouton. Une fonction du plug-in est appelée. Cette fonction crée une page Web temporaire présentant la partition en plein écran et lance le navigateur sur cette page par une commande du type "firefox.exe mapage.html". Mais cette commande, appelée depuis l'intérieur du plug-in, attend que la page soit effectivement ouverte. Or cette page contient elle-même une instance du même plug-in. Firefox semble avoir une protection contre les réentrances et laisse 30 secondes à la fonction appelante pour se terminer, ce qu'elle ne peut pas faire car elle attend que la nouvelle page donne signe de vie. Nous avons tourné ça dans tous les sens pour essayer de trouver une solution. Nous essayons maintenant de forger un code Javascript et de passer par là pour ouvrir le nouvel onglet. Mais il y a un risque que cela présente le même problème... |
|
|
by Olivier Guillion | | | |
|
Le volet d'édition des frettes est quasiment finalisé. Il nous a demandé un peu de temps de travail puisqu'il a fallu implémenter à la main chacun des différents types d'objets de l'interface. Mais maintenant, nous pouvons nous appuyer sur cette boite à outils pour les autres volets, ce qui va accélérer grandement le processus. Donc, les listes, défilement des ascenseurs, gestion de la molette, affichage des images, etc, sont fonctionnels. On peut cliquer sur le manche pour sélectionner une frette, double cliquer dans la liste pour éditer une valeur en place, soit la position en cm depuis le pont, soit directement la valeur en demi-ton. Nous attaquons maintenant le paramétrage du corps de l'instrument. Il y aura deux niveaux de fonctionnement : Dans le mode simplifié, on règlera la largeur du corps, sa profondeur, la largeur et le type de l'ouverture. Dans le mode avancé, on éditera de manière fine la réponse impulsionnelle (c'est à dire le "Tick" sur la caisse). Ce mode a déjà été implementé. |
|
|
by Didier Guillion | | |
| |
|
La version Windows de l'édition d'instruments frettés a été améliorée, afin de la rendre identique à la version Macintosh, aussi bien graphiquement qu'en terme de réactivité. Le positionnement automatique de la zone d'édition en mode ruban a été encore amélioré, les modifications précédentes ne géraient pas tous les cas possibles. Une erreur a été détectée dans le rendu sonore des instruments des bases de sons sur Macintosh. Cette erreur rendait fausses certaines notes de la base GMSE, par exemple le Mi5 de l'accordéon français. Fixer la qualité à "Maximale" dans la configuration de la sortie numérique corrige le problème, en attendant la sortie de la prochaine version. Il est étonnant que cette erreur, pourtant ancienne, ne nous ait pas été signalée plus tôt. Enfin, on nous a signalé des problèmes d'installation du plug-in sur Ubuntu 64 bits. Nous n'avons pour l'instant pas réussi à reproduire le problème sur nos configurations. |
|
|
by Olivier Guillion | | | |
|
Toujours sur l'édition des frettes, nous avons commencé à implémenter des images : |
|
|
by Didier Guillion | | |
| |
|
L'édition des frettes se poursuit avec mise en place d'une vrai liste avec ascenseur, édition des valeurs en place, insertion et suppression de frettes. Un premier prototype de l'aperçu du résultat a été transféré tel quel de MyrScript en C. Bon week-end ! |
|
|
by Didier Guillion | | | |
|
Nous avons attaqué la définition des frettes puisque cela vient avant l'édition des cordes. Les différents paramètres sont extraits et nous avons commencé a implémenter la liste des frettes. |
|
|
by Didier Guillion | | | |
|
Ouch ! Perte de réseau une bonne partie de l'après midi, mais c'est revenu... La boite d'édition des paramètres du corps de l'instrument est quasiment finalisée avec : - Mise en place des images de tests pour les différents fonds. - Edition des courbes de l'équaliseur graphique - Sauvegarde et chargement des paramètres dans un fichier indépendant - Importation d'un fichier numérique pour en extraire les paramètres. - Mise à zéro des différentes valeurs - Gestion des potentiomètres linéaires avec affichage du titre, des minimum et maximum, de la valeur en cours. Demain nous attaquons l'édition des cordes. |
|
|
by Didier Guillion | | |
| |
|
Une grande partie de l'édition avancé du corps de l'instrument a été réécrite en C. L'édition de la courbe est quasiment opérationnelle. |
|
|
by Didier Guillion | | | |
|
Un crash dans l'import MusicXML a été corrigé. Nous avons trouvé une astuce pour faire fonctionner le clipping sur les affichages Quartz. Une première boîte de configuration avancé (corps de l'instrument) est en cours d'implémentation. Les potentiomètres linéaires sont en cours d'écriture. |
|
|
by Didier Guillion | | | |
|
Aujourd'hui: - Nouvelle option dans la recherche sur les scripts MyrScript : tout remplacer dans la sélection. - Les champs texte éditables sont opérationnels. - Nous avons commencé a remplacer les fonds des boites et des items par des images, les images sont juste pour le test mais c'est fonctionnel. L'objectif serait de pouvoir utiliser les transparences des images, le problème est surtout sur Mac : QuickDraw gère le clipping mais pas les transparences, Quartz gère les transparences mais pas le clipping. Il faudrait pouvoir convertir le clipping QuickDraw en clipping Quartz, il me semble que j'ai déjà fait cela quelque part, mais je ne me rappelle plus où... Enfin, pour finir la semaine sur une note touchante et drôle, un remerciement à un auteur/compositeur/interprete que j'apprécie beaucoup : http://www.youtube.com/watch?feature=player_embedded&v=6iGaSUIyp98 Bon week-end ! |
|
|
by Didier Guillion | | |
| |
|
L'effacement et le retraçage des items sur fond non homogène a été implémenté. Plusieurs barillets peuvent être associés à la même fenêtre. Les premiers essais de gestion des barillet nous nous ont pas satisfait, nous en avons écrit une autre. Nous attaquons la gestion des champs de texte éditantes. |
|
|
by Didier Guillion | | | |
|
A partir des essais réalisés sur papier, une première maquette a commencé à être développée. A partir des ressources standards, une boite de dialogue a été construite "à la main". Pour l'instant les différents objets sont justes des essais rapides mais a terme leur aspect pourra être défini via une image ou autre effet graphique. Nous sommes en train d'essayer de mettre au point la sélection d'onglets via un barillet, dont on aperçoit un prototype à gauche. |
|
|
by Didier Guillion | | |
| |
|
Aujourd'hui, nous avons progressé sur l'interface des Instruments Virtuels, essentiellement sur le papier. A priori, les contrastes devraient être inversés et nous travaillerions en clair sur fond sombre. Nous envisageons un nouveau mode de sélection des différents onglets : par "barillet". Un problème d'affichage des symboles de répétition sur les tablatures Kountigui a été corrigé. |
|
|
by Didier Guillion | | | |
|
Nous avons publié une nouvelle version bêta d'Harmony et de Melody qui devrait corriger le problème d'incompatibilité des fichiers avec la version publique courante. Une intense réflexion a été menée sur l'aspect graphique de l'interface des Instruments Virtuels, a priori, cela devrait être très différent de l'aspect "standard" de l'application. Quelques croquis ont été posés sur le papier, nous allons attaquer cette interface dans les jours à venir, donc, à suivre. Un problème de position de la marque de début de jeu lors de la création d'un document avec anacrouse ou d'insertion de mesure en début de document a été corrigé. |
|
|
by Didier Guillion | | |
| |
|
|