Myriad Blog 1.3.0 Monday, Feb 15th, 2016 at 00:03am 

Dev News Friday, Jan 15th, 2016 at 04:59pm
Harmony 9.6 étape 863 et autres

 
Deux nouveautés dans MyrScript:  
 
  • un membre "PlayedVelocity" a été ajouté à l'objet "Symbol". Il donne (en lecture seule) une estimation de la vélocité jouée de la note.
    Estimation, car les nuances pouvant être conditionnelles, une même note peut être jouée plusieurs fois avec des vélocité différentes au gré des répétitions. Dans ce cas, la valeur retournée par PlayedVelocity devrait être la première, mais ce n'est pas garanti.
     
  • Une méthode Score.SetDisplayAtPage() a été ajoutée. Elle permet de se positionner graphiquement sur n'importe quelle page de la partition. Inutile de préciser qu'elle fonctionnera mieux en mode page qu'en mode ruban. Cela permet à un script de positionner la visualisation de la partition à n'importe quel endroit.
     
    Sinon, nous avons passé une bonne partie de la journée à traquer un bug tenace dans PDFtoMusic, qui faisait générer un fichier MusicXML avec des durées de mesures improbables (plusieurs millions de temps). Le problème ne se produisait que sur un fichier de 60 pages et plus de 700 mesures, et uniquement sur Macintosh.
    Après grosse et longue prise de tête, nous avons pu trouver et corriger le problème (dû à un accès à une zone mémoire non initialisée). Il était localisé dans une portion relativement récente du code, donc ne concernait pas la version publique.
     
    Bon week-end à tous, et restez au chaud!
  • by Olivier Guillion

    Dev News Tuesday, Jan 19th, 2016 at 05:10pm
    Harmony 9.6 étape 865

     
    Une nouvelle option va être ajoutée au menu "Edition > Mesures" : "Recadrer aux durées écrites".
     
    Imaginons par exemple le cas où l'utilisateur a entré une partition avec une anacrouse, mais n'a pas inséré une mesure incomplète au début pour cela.
     
    Il obtient ceci:

     
    Ici, nous avons demandé de visualiser par une double flèche les silences fantômes, qui indiquent que la durée totale de la mesure n'a pas été remplie par les notes. Mais ceux-ci peuvent être invisibles.
     
    Jusqu'ici, la méthode la plus simple pour corriger cela était d'insérer une mesure incomplète, de recopier les notes ou de les copier-coller, puis de supprimer la mesure d'origine.
    La nouvelle option, en un clic, réduira la durée de la mesure demandée (en jouant sur la signature temps) de manière à ce qu'elle corresponde à la durée des notes écrites, éliminant ainsi les silences fantômes :

     
    Nous avons eu par le passé le cas d'un utilisateur qui avait entré l'intégralité d'une pièce en 3/4 sur des mesures en 4/4. Il ne s'est inquiété du temps vide à la fin de chaque mesure lors du jeu que lorsque tout a été entré.
    Récupérer cela sera désormais facile, il suffira d'appliquer l'option à l'intégralité des mesures.
    by Olivier Guillion
     1 comment.

    Dev News Thursday, Jan 21st, 2016 at 05:11pm
    Harmony 9.6 étape 866 et autres

     
    Dans Harmony Assistant, La fonction de recadrage des mesures aux durées écrites a été finalisée, avec l'ajout d'une option pour rendre visibles (ou laisser invisibles) les changements de signature temps.
     
    La fonction qui indique les notes hors tessiture a été améliorée pour les instruments qui peuvent servir à noter plusieurs instruments de registres différents. Par exemple, le son de tuba peut être utilisé aussi bien pour un tuba baryton ou contrebasse.
    Le logiciel va donc d'abord analyser les notes de la portée pour déterminer celui des deux instruments qui est le plus probable sur cette portée. Il indiquera ensuite les notes en dehors de l'étendue de cet instrument.
     
    Sur PDFtoMusic, les bases de détermination de caractères alphanumériques ont été améliorées, pour prendre en compte notamment les fontes textuelles Swing proposées en complément de Finale.
     
    Sur PDFtoMusic toujours, sur des portées couplées main droite/main gauche des problèmes de positionnement des changements de clé en milieu de mesure, ou de hauteur d'appoggiatures après ce changement, ont été corrigés.
    by Olivier Guillion

    Dev News Monday, Jan 25th, 2016 at 05:32pm
    Myriad Plug-in, et après ? -2-

     
    Cela fait maintenant quelque temps que nous réfléchissons à la manière de continuer à proposer un plug-in permettant de visualiser sur une page Web les musiques réalisées avec nos programmes.
     
    Le changement forcé de technologie que nous avons évoqué dans ce billet réduit drastiquement notre éventail de possibilités.
     
    Voici le cheminement logique que nous avons été contraints de suivre.
     
    - Avec l'abandon de NPAPI, aucune possibilité de développement nous permettant de réutiliser directement les codes sources d'Harmony/Melody (comme le faisait jusqu'ici le plug-in) n'existe. Ou en tout cas, aucun système de ce type n'est compatible avec suffisamment de navigateurs pour être réellement utilisable.(Cf Chrome PPAPI)
     
    - Les convertisseurs automatiques (emScripten, ...) ne fonctionnent pas pour de gros projets, et demandent la mise en place sur le site d'un environnement assez lourd (grosses bibliothèques Javascript).
     
    - Flash et son langage ActionScript ne fonctionnent pas sur nombre de plateformes, et est en train d'être éliminé petit à petit des navigateurs récents.
     
    - Il ne reste guère que HTML5/Javascript, mais il nous faut alors réécrire intégralement le plug-in pour ce langage. Il est impensable de porter le code d'Harmony/Melody : Cela équivaudrait au bas mot à plusieurs mois de travail, pour un résultat pouvant s'avérer trop lent (n'oublions pas que Javascript est un langage interprété et pas compilé).
     
    La seule solution réaliste serait donc d'écrire une app en HTML5/JS permettant d'effectuer au moins les opérations de base du plug-in : visualiser une partition et la jouer.
     
    Pour des raisons de complexité du développement et de rapidité d'exécution, il n'est pas raisonnable de laisser cette app "comprendre" par elle-même la structure d'une partition pour la montrer ou la jouer : il faut absolument lui fournir des données pré-machées, aussi bien visuellement que musicalement, afin de la cantonner à des opérations de base. Et encore, même cela risque de s'avérer trop compliqué pour ce langage.
     
    Ceci exclut donc que ce plugin/app charge directement de fichiers MYR, MIDI, ou MusicXML.  
     
    Il faut prévoir un format spécial d'export depuis Harmony, qui intègre de manière simple les données visuelles de la partition, les données sonores, et les liens entre les deux.
    Ceci impliquera donc de convertir à ce format toutes les musiques du MUSL (cela pourra être réalisé automatiquement de notre coté), et toutes les personnes ayant utilisé notre plug-in sur leur site devront faire de même.
    by Olivier Guillion
     4 comments.

    Dev News Wednesday, Jan 27th, 2016 at 05:11pm
    Myriad Plug-in, et après ? -3-

     
    Afin de savoir ce qu'il sera possible de faire (ou pas), nous avons analysé rapidement les solutions retenues par les autres éditeurs de musique.  
    De manière générale, on peut dire qu'ils ne sont pas nombreux à proposer quelque chose.  
    Le plus proche de ce que nous avions développé était le plug-in Scorch (Sibelius). Comme le nôtre, basé sur NPAPI, et comme le nôtre menacé de désuétude.
     
    Ce plug-in serait apparemment remplacé à terme par une plateforme "Cloud" qui permettrait aux clients (moyennant finance?) de disposer d'un espace de stockage pour leurs partition, accessibles par le Web.
    Leur système fonctionne apparemment comme ceci:
    lorsqu'un fichier musical est envoyé sur le cloud d'Avid (l'éditeur de Sibelius), il est automatiquement converti en images de pages, et en MP3. Ce sont ces images qui sont présentées à l'écran dans le navigateur, et le MP3 qui est joué.
     
    C'est également ce genre de solution qui a été retenue par MuseScore.
     
    Avantage : pour l'utilisateur, cela correspond peu ou prou au MUSL, un espace dédié hébergé par l'éditeur. Les manipulations sont simples.
     
    Problème: tous les documents musicaux présentés sur le Web doivent être hébergés sur les serveurs de l'éditeur, et dans un format assez gourmand en place (un MP3 est plus gros qu'un MYR). De plus, la conversion en images+MP3 doit être réalisé par le serveur, ce qui implique une consommation de CPU assez conséquente.
    Jusqu'ici, avec notre plug-in, n'importe qui pouvait héberger les partitions sur son propre serveur, et les gérer à sa guise, sans contrainte de taille, de disponibilité d'un cloud externe, ou autre.  
     
    De nombreuses chorales, mais aussi des profs, de simple amateurs ne s'en sont d'ailleurs pas privés. Il y a environ 10000 partitions sur le MUSL, mais le nombre de partitions .MYR actuellement proposées sur l'ensemble du Web est difficilement quantifiable.
     
    Avons-nous les ressources, le temps matériel, les capacités humaines et techniques pour gérer un tel système de cloud centralisé, même s'il devait être payant? Rien n'est moins sûr.  
     
    L'alternative à cela serait, comme nous l'avions prévu au départ, de proposer l'export vers le format de partitions Web directement depuis Harmony Assistant, et fournir les outils (sources Javascript) permettant à tout un chacun d'héberger ses musiques sur son propre serveur. MUSL utiliserait simplement le même système que celui proposé aux utilisateurs, comme c'est le cas actuellement avec le plug-in.
     
    Nous nous interrogeons encore, et n'avons pas encore pris de décision définitive à ce sujet.
    by Olivier Guillion
     3 comments.

    Dev News Friday, Jan 29th, 2016 at 05:10pm
    Myriad Plug-in, et après ? -4-

     
    Le Tracé des pages
     
    Nous nous sommes tout d'abord attaqués à la partie censée poser le moins de problème: l'affichage graphique des partitions.
     
    Avant de se décider sur une solution ou une autre, nous avons besoin de savoir ce qui est faisable, ce qui fonctionne, et sur quels navigateurs. Nous avons donc exploré plusieurs possibilités, en créant pour chacune une page Web de démonstration, nous permettant de savoir si les concepts tenaient la route.
     
    I- Les polices
     
    Le premier problème était celui des polices. Le logiciel embarque des polices musicales, et laisse le système se charger de leur affichage. Comment faire sur le Web?
    Il nous faut utiliser le système des Webfonts, qui permet d'ajouter une police spécifique à une page Web. Le système n'est pas encore complètement standardisé, et demande de fournir les polices en question en plusieurs formats alternatif afin que chaque navigateur y trouve son compte.  
    Nous avons utilisé l'un des multiples services en ligne pour convertir ainsi toutes les polices incluses dans Harmony Assistant.
     
    Démonstration des Webfonts

     
    II- L'affichage des pages
     
    Les pages devront être pré-calculées par le programme (ce qui empêchera les transpositions graphiques, à moins de stocker toutes les alternatives transposées).  
    Ces pages doivent ensuite être affichées dans le navigateur. On peut envisager leur stockage dans plusieurs formats:
     
    A- Le format PNG
     
    Il s'agit d'un format d'image non vectoriel, qui peut être affiché directement dans un navigateur. Pas besoin de page de démo ici; Harmony Assistant exporte directement à ce format, et ces images peuvent être affichées très facilement, n'importe où (c'est le format généralement utilisé pour les illustrations de ce blog).
     
    Problème:  
    - Format d'image point à point, donc impossible de zoomer à volonté, à moins de stocker de très grands format
    - Fichiers relativement gros (une centaine de Ko par page)
     
    B- Le format PICT
     
    C'est le format interne à Harmony Assistant, basé sur les spécifications du QuickDraw (Macintosh). Les tracés graphiques de la page sont, dans Harmony Assistant, collectés dans ce format, pour être ensuite imprimées ou converties dans un autre format graphique.
    Il était donc naturel de chercher à afficher directement ce format, et d'écrire en Javascript un visualiseur de PICT.
    C'est chose faite :  
     
    Démonstration d'affichage de PICT

     
    C'est un format vectoriel (donc zoomable à l'infini).
    Pas de problème particulier, si ce n'est que cela demande un code Javascript assez complexe (les technophiles pourront le consulter en regardant le code source de la page de démo). Cela a l'air assez rapide, et les données sont plutôt courtes (23 Ko compressées).
     
    C- Le format SVG
     
    C'est le format de dessin vectoriel conçu pour Internet. De mieux en mieux pris en compte par les différents navigateurs, il a l'avantage d'être pris en compte directement par ces derniers, ce qui est la garantie d'un affichage très rapide. Quelques problèmes de standardisation subsistent, notamment quant à l'usage de polices externes.
    Nous avons écrit, dans Harmony Assistant, un export graphique SVG (en fait, un convertisseur PICT->SVG) qui inclut directement dans le fichier les tracés des caractères musicaux utilisés dans la page.
    On obtient un fichier un peu plus long, mais qui au final se compresse mieux que le PICT (18Ko compressés pour la même page).
     
    Démonstration d'affichage de SVG

     
    Cela semble, à première vue, le format le plus pratique. Seuls quelques navigateurs très anciens (Safari sur iOS 6) rencontrent des problèmes d'affichage. Sur Internet Explorer, il y a des problèmes de débordement du cadre lors des zooms. Nous avons trouvé la solution sur Internet, mais ne l'avons pas encore essayée.
     
    Le format SVG serait probablement celui que nous retiendrions. Dans tous les cas, l'export graphique SVG sera proposée dans la prochaine version d'Harmony.
    by Olivier Guillion
     6 comments.

    Dev News Tuesday, Feb 2nd, 2016 at 05:24pm
    Myriad Plug-in, et après ? -5-

     
    Le son
     
    Nous avons conduit divers tests sur les possibilités sonores du HTML5.  
    Dans ce domaine, la disparité entre les navigateurs semble assez forte. Un standard prometteur, appelé WebAudio, est en passe d'être implémenté sur la plupart d'entre eux, mais Microsoft semble avoir fait l'impasse sur Internet Explorer, pour ne s'intéresser qu'à Edge (Windows 10 uniquement).
     
    Pour le reste, WebAudio permet pas mal de choses, dont de la génération sonore à la volée.
    Voici le résultat de nos essais. Ces derniers étant codés à l'arrache, nous rechignons à les montrer, car nous recevrions probablement des commentaires sur l'aspect graphique, l'ergonomie ou les défauts de synchro. Nous vous demandons donc de nous croire sur paroles. Ceux qui sont intéressés peuvent cependant nous contacter en direct.
     
    I- WebAudio API
     
    Permet de créer un "graphe" audio, c'est-à-dire des noeud interconnectés. Par exemple, un noeud "données numériques" connecté à un noeud "filtre", lui-même connecté à un noeud "gain", lui-même connecté à la sortie.
    Lorsque le graphe est lancé, les données numériques sont filtrées, amplifiées, puis envoyées aux haut-parleurs.
     
    Ne pouvant pas recoder en Javascript l'intégralité de notre module de sortie audio, avec Virtual Singer et tous les effets numériques, nous ne pouvons pas envisager une génération sonore identique à Harmony. Nous avons tenté des solutions intermédiaires, mais sans succès. A priori, il faudra donc stocker l'intégralité de l'audio du morceau.
     
    Compatibilité: initialisations particulières sur Safari, non géré par IE
     
    II- Le tag <audio> HTML5
     
    C'est une fonction de haut niveau du HTML5, beaucoup plus compatible que WebAudio API, mais beaucoup moins puissante. Elle permet de jouer un morceau numérique extérieur, en MP3, OGG (pas tous les navigateurs) ou WAV (tous, sauf apparemment IE qui gèrerait pas ce format créé par Microsoft !).  
    En rusant pas mal, on peut s'arranger pour lui faire jouer des données MP3 extraites par le Javascript plutôt qu'un véritable fichier séparé.
     
    De tout cela, voici ce que nous en avons tiré:
     
  • Le format spécial d'export de musique contiendrait les données MP3 de tout le morceau, ou plusieurs MP3 représentant les portées pouvant être jouées en solo
     
  • L'app jouerait ce ou ces MP3. Il semblerait possible de varier la vitesse et/ou de transposer l'audio.
     
  • Si le fichier contient plusieurs MP3, l'app pourrait les mixer, et faire varier le volume relatif de chacun
     
  • Il serait sans doute possible de ne pas démarrer au début, et de boucler sur une portion
     
  • Il ne serait pas possible de modifier leur position stéréo
     
  • Pour pouvoir jouer le métronome, il faudrait une piste MP3 séparée
     
    Les fichiers pourraient devenir très volumineux, si beaucoup de pistes différentes étaient nécessaires (16 ko par seconde et par piste). Mais c'est pour l'instant la seule solution que nous ayions trouvée.
  • by Olivier Guillion
     2 comments.

    Dev News Thursday, Feb 4th, 2016 at 05:08pm
    Myriad Plug-in, et après ? -7-

     
    Ce n'est certainement pas la partie la plus cruciale du projet, mais nous avons commencé à réfléchir à l'interface.  
     
    Il faut pouvoir afficher des boutons, des icônes, etc.  En temps normal, chaque graphisme, dans chacun de ses états, c'est un fichier supplémentaire, qui doit être téléchargé par l'utilisateur.  
     
    Mais nous nous sommes alors souvenu que pour construire l'image de la page de partition, nous avions utilisé le format SVG. Très compacts, les dessins sont zoomables à volonté, et cerise sur le gâteau, ils peuvent être animés automatiquement.
     
    Nous avons alors commencé à dessiner quelques icônes en SVG, et prévu des animations (transitions) pour les passages d'un état à l'autre.
    Une petite démo illustre cela:
     
    Icônes SVG et transitions

     
    Nous avons eu ainsi la confirmation que la mode actuelle des à-plats de couleur pour les icônes n'est pas une affaire d'esthétique ou d'ergonomie, mais bien de facilité de programmation.
    Mais plutôt que de dire : "On revient en arrière parce que ça facilite la vie des programmeurs", cela a été présenté comme une amélioration, le nec plus ultra de la hi-tech.
     
    Quoi qu'il en soit, nous commençons à savoir un peu créer des choses en SVG, et il se peut qu'à l'avenir, nous nous penchions sérieusement sur ce format pour une intégration dans nos produits (l'export existe maintenant, mais l'import est peut-être plus compliqué).
     
    by Olivier Guillion
     1 comment.

    Dev News Friday, Feb 5th, 2016 at 05:14pm
    Myriad Plug-in, et après ? -8-

     
    Nous avons réalisé un petit essai de calcul de données numériques par WebAudio (non disponible sur IE):
     
    Génération de sons par WebAudio

     
    Ce procédé nous permettra de réécrire la partie sonore l'app de Kooplet que nous avions réalisée en ActionScript (Flash). En effet, le plug-in flash, lui aussi utilisant NPAPI, aurait dû ne plus être supporté en même temps que notre plug-in. Mais il continue à fonctionner encore, bénéficiant d'un traitement de faveur que nous trouvons assez injuste.
     
    Il est en effet le seul plug-in NPAPI à fonctionner encore sur Firefox 64 bits, ce navigateur le testant spécifiquement pour le laisser passer entre les mailles, et bloquant définitivement tous les autres.
     
    Pour en revenir à l'audio, nous allons faire d'autres tests sur WebAudio, pour voir s'il ne serait pas possible d'implémenter une fonction "métronome" par ce biais. Le métronome est en effet en sursis dans la nouvelle version du plug-in à moins de stocker une piste MP3 supplémentaire pour lui, ce qui ferait grossir encore le fichier.
     
    Bon week-end !
    by Olivier Guillion
     Leave a comment.

    Dev News Tuesday, Feb 9th, 2016 at 05:25pm
    Myriad Plug-in, et après ? -10-

     
    Nous avons utilisé WebAudio pour générer des sons de clic et de cloche de métronome, puis pour jouer ces sons synchronisés avec deux pistes MP3.
     
    Le petit test qui suit permet donc de jouer un morceau avec le métronome, et de régler séparément les volumes de chaque piste:
     
    Métronome WebAudio

     
    Pour les navigateurs ne supportant pas le WebAudio, nous avons également prévu que le son du métronome puisse être calculé sur l'ensemble de la durée de la musique. Cela prend un peu de temps à générer, mais permet d'offrir une solution sur ces navigateurs.
     
    Hélas, nous avions oublié qu'Internet Explorer ne sait pas jouer les données brutes WAV (non compressées). Il ne peut donc pas jouer la piste de métronome que l'app a construite. Pour que cela fonctionne, il faudrait que nous créions des données MP3, mais là, créer des données sonores puis les encoder en MP3, tout ça en javascript, c'est un peu trop compliqué pour simplement pallier aux carences d'IE.
    by Olivier Guillion
     3 comments.

    Dev News Thursday, Feb 11th, 2016 at 05:13pm
    Myriad Plug-in, et après ? -12-

     
    Les deux équipe de forage du tunnel se sont rencontrées au milieu. D'un coté, la sauvegarde au format d'export Myrweb, de l'autre, l'utilisation de ces fichiers dans une app HTML5/CSS3/JS.
     
    Les fichiers sont maintenant lus, décompactés, analysés, et ils commencent à être interprétés.
     
    Nous avons mis en place une première version du clavier virtuel permettant de montrer le doigté du piano en fonction de la musique
     

     
    Cette toute première version peut être testée en vrai sur cette page:
     
    Démo du clavier virtuel Myrweb
    by Olivier Guillion
     1 comment.


    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
    Dec 2014
    Jan 2015
    Feb 2015
    Mar 2015
    Apr 2015
    May 2015
    Jun 2015
    Jul 2015
    Aug 2015
    Sep 2015
    Oct 2015
    Nov 2015
    Dec 2015
    Jan 2016
    Feb 2016
    Feb 12th, 2016 at 05:06pm 
    Article from Didier Guillion
    Myriad Plug-in, et après ? -13-
    Feb 11th, 2016 at 06:55pm 
    Comment from JP
    Très impressionnant!
    Feb 11th, 2016 at 06:18pm 
    Comment from Olivier Guillion
    Dum Dum Tik
    Feb 11th, 2016 at 05:13pm 
    Article from Olivier Guillion
    Myriad Plug-in, et après ? -12-
    Feb 11th, 2016 at 05:13pm 
    Article from Olivier Guillion
    Myriad Plug-in, et après ? -12-
    Feb 10th, 2016 at 05:00pm 
    Article from Didier Guillion
    Myriad Plug-in, et après ? -11-
    Feb 9th, 2016 at 09:16pm 
    Comment from Sylvain
    Feb 9th, 2016 at 09:16pm 
    Comment from Sylvain
    Feb 9th, 2016 at 08:21pm 
    Comment from bubu42
    Firefox est muet sous Linux
    Feb 9th, 2016 at 08:21pm 
    Comment from bubu42
    Firefox est muet sous Linux

    Top of page
    Legal information Last update:  (c) Myriad