HomeProductsDownloadOrderSupportSearch
  
 
 Myriad Blog 1.3.0 Wednesday, Dec 4th, 2024 at 01:53pm 

Dev News Wednesday, Dec 31st, 2014 at 05:06pm
Acam Winter étape 26

 
Les derniers points manquants dans la version d'Acam Winter pour Linux ont tous été pris en compte et terminés, après moultes recherches.
 
La programmation Linux tient plus de l'alchimie que du processus industriel. Par exemple, la gestion de la molette de la souris sur X passe par un pseudo-appui sur les boutons 4 et 5 de la souris.
Ce n'est expliqué nulle part, commenté nulle part, il faut juste le savoir. C'est pourquoi Linux est une telle "usine à gourous" : le savoir y est empirique, transmis de bouche à oreille, et noyé dans la montagne de sites recopiant le résultat de la commande "man".
 
Nous avons donc maintenant une version quasi fonctionnelle d'Harmony Assistant sur Acam-Winter Linux.
 
Les dépendances ont été réduites, il faut voir maintenant si on peut aller plus loin.
 
Pour mémoire, il y a trois manières d'utiliser un module externe ou système dans une application :
 
- La plus courante est appelée liaison dynamique ou dépendance. Lors du lancement de l'application, les modules nécessaires sont recherchés dans le système. Ils seront utilisés par l'application. S'ils ne sont pas tous présents, l'application ne se lancera pas.
 
- La plus sûre est appelée liaison statique. Le module est directement intégré dans l'application, augmentant de ce fait sa taille. C'est la solution à privilégier pour limiter les ennuis, mais ce n'est pas toujours possible.
 
- Entre les deux, lorsqu'un module n'est pas absolument nécessaire, et lorsque l'application peut se débrouiller sans, il y a le "weak link". La liaison dynamique est effectuée par le programme lui-même après son démarrage. Si le module n'est pas trouvé, l'application continue quand même.  
 
Voici la liste des dépendances d'Harmony Assistant à ce jour.
 
linux-gate.so.1  
 libasound.so.2 => /usr/lib/i386-linux-gnu/libasound.so.2
 libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2
 librt.so.1 => /lib/i386-linux-gnu/librt.so.1
 libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0
 libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6
 libfontconfig.so.1 => /usr/lib/i386-linux-gnu/libfontconfig.so.1
 libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6
 libm.so.6 => /lib/i386-linux-gnu/libm.so.6
 libc.so.6 => /lib/i386-linux-gnu/libc.so.6
 /lib/ld-linux.so.2
 libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1
 libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1
 libz.so.1 => /lib/i386-linux-gnu/libz.so.1
 libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6
 libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6

 
Et en voici le détail, avec les questions et problèmes que nous nous posons :
 
  • linux-gate (Accès à Linux) Trop lié au système pour envisager un passage en statique
  • libasound (Alsa, gestionnaire sonore) Trop volumineux, complexe et lié au système pour passer en statique
  • libdl (laison dynamique)  D'après certains forums, trop lié au système pour passer en statique
  • librt (Extensions Temps Réel) Gestions des entrées-sorties, flux, fichiers, etc. D'après certains forums, trop lié au système pour passer en statique
  • libpthread (Gestion des processus) D'après certains forums, trop lié au système pour passer en statique
  • libX11 (Système d'interface homme-machine X11) Trop volumineux, complexe et lié au système pour passer en statique
     Necessite libfontconfig, libxdcmp
  • libfontconfig (Fontconfig, gestion des polices) Trop complexe et volumineux pour passer en statique
  • libfreetype (Freetype, affichage de polices)  Trop complexe et volumineux pour passer en statique
  • libm (bibliothèque mathématique du C)  Tentative de passage en statique inopérante, raison indéterminée à ce jour
  • libc (bibliothèque C standard) Le passage en librairie statique semble déconseillé. À vérifier. Tentative de passage en static inopérante, raison indéterminée à ce jour
  • ld-linux (chargement dynamique de librairies). Permet les weak links. Vérifier le rapport avec libdl.
  • libxcb (interface sur le protocole X-Window). Semble être une alternative à Xlib. Pas certain de comprendre qui en a besoin.
     necessite libXau
  • libexpat (XML) lecture de fichier XML. Tentative de passage en statique inopérante, probablement utilisée par une autre lib (fontes, etc)
  • libz (Zlib) compression ZIP.  Tentative de passage en statique inopérante, probablement utilisée par une autre lib (fontes, etc)
  • libXau (X11 Authorization Protocol) Quelle utilité ?
  • libXdcmp (X Display Manager Control Protocol) : interactions avec le gestionnaire d'affichage de X Window
     
    La bibliothèque optionnelle libXrender, permettant les pointeurs souris en couleur, est chargée en weak-link, et ne fait fonc pas partie des dépendances.
     
    Voila, il nous reste à trouver des réponses à toutes nos questions sur ces modules.
     
    Mais je crois que ça pourra attendre 2015
     
    Joyeux réveillon à tous !
  • by Olivier Guillion
     1 comment.

    Dev News Monday, Dec 29th, 2014 at 05:20pm
    Acam Winter étape 25

     
     
    Avant de pouvoir envisager une version alpha, 4 points doivent encore être réglés dans Acam-Winter :
     
  • Les pointeurs de souris non-standards, en couleur
  • La gestion de la molette de la souris
  • Des problèmes de clavier : certaines touches de fonctions sont considérées comme restant appuyées lorsqu'elles sont relâchées quand l'application n'est plus à l'avant-plan
  • Les palettes qui disparaissent lorsque l'application n'est plus à l'avant-plan, ceci n'étant plus nécessaire lorsqu'on a une grande fenêtre "bureau" qui contient les fenêtres de l'application
     
    Nous nous sommes donc attaqués aux pointeurs souris en couleur, et nous sommes rendus compte que ce n'était tout simplement pas possible avec X11.  
     
    Pour pouvoir les gérer, il faut utiliser Xrender, ce qui implique une dépendance supplémentaire. Et si nous l'utilisons, ce module semble permettre également l'utilisation de polices de caractères vectorielles et anticrénelées, ce qui fait double emploi avec freetype.
     
    Nous nous posons donc les questions suivantes : est-ce freetype qui utilise Xrender ou le contraire (ou les deux librairies sont-elles totalement indépendantes?). Et si Xrender est à un plus bas niveau et nous permet de nous affranchir de freetype, a-t-on à notre disposition toutes les fonctions dont on a besoin ?
     
    Une fois de plus, tenter de résoudre un problème sous Linux nous amène à nous en poser trois autres, d'où l'impression confuse de pédaler sans avancer.
  • by Olivier Guillion

    Memories Tuesday, Dec 23rd, 2014 at 05:01pm
    On en a pris pour 20 ans...

     
    Il y a à peine un peu plus de 20 ans, la toute première version d'Harmony Assistant était diffusée. Déjà disponible à la fois sur Macintosh et PC, elle ressemblait à une version très simplifiée de celle d'aujourd'hui, comme le montre ce diaporama.
     
    Bien sûr, à l'époque, pas de couleurs, pas de sortie numérique, de chanteur Virtuel, de scripts ou même de changement de métrique en cours de morceau. Le programme était livré sur disquette, accompagné d'une "disquette clef" protégée contre la copie que nous fabriquions sur Mac, en nous appuyant sur le fabuleux circuit de gestion du lecteur appelé IWM, pour Integrated Woz(niak) Machine, inégalé à ce jour.
     
    Nous avons tenté, au début, de diffuser l'application par le circuit classique, dans les magasins de musique. Il s'est rapidement avéré que ce circuit était peu adapté aux produits bon marché et aux marges décentes, les revendeurs d'alors préférant vendre des produits très chers avec des marges de 75%. C'était en 1994, avant la démocratisation d'Internet qui devait précipiter la fin de l'âge d'or des points de vente physiques de produits technologiques ...
     
    Si nous remontons au tout début du développement d'Harmony, le point de départ a été une combinaison de deux logiciels que nous avions écrit sur Mac SE pour notre usage propre :  

    Le premier, BarMan, était une boîte à rythme (BAR) simplifiée. A partir de petits tableaux écrits dans un fichier texte, le programme envoyait les notes en MIDI, faisant jouer les différents instruments de batterie sur un petit expandeur Yamaha. La version 2.0 y ajoutait des notes de basse.
     

     
    Le deuxième, Solfège, montrait une portée, et une note y apparaissait. Il fallait très rapidement appuyer sur la touche du clavier correspondant à la note. Ceci permettait de s'entrainer à déchiffrer plus rapidement une partition.  
     
    Nous avions donc un programme rudimentaire qui jouait sur la MIDI, et un autre qui montrait une portée. Nous nous sommes alors demandé "Et si nous écrivions un éditeur de partition ?". C'était parti...
     
    Dans Harmony Assistant, tout a été réécrit, certaines parties ayant même été entièrement changées plusieurs fois. Aussi, absolument rien n'a été conservé des programmes d'origine sauf une chose : le nom "Solfège" qui, 20 ans plus tard, reste chez nous la dénomination d'Harmony, utilisée pour le développement.  
     
    Donc, souhaitons à Harmony Assistant un heureux anniversaire, et profitons-en pour remercier tous les utilisateurs qui, depuis 20 ans, ont contribué sans relâche à son amélioration.
    by Olivier Guillion
     2 comments.

    Dev News Friday, Dec 19th, 2014 at 05:03pm
    Acam Winter étape 24

     
     
    La boîte d'édition des paramètres d'impression est maintenant graphiquement en place et entièrement fonctionnelle sur Winter-Linux :
     

     
    La boîte d'impression a été également mise en place graphiquement, mais sa gestion n'est pas encore tout à fait finalisée.
     

     
    Les documents sont correctement imprimés, au travers d'un export EPS puis un envoi par CUPS. On peut donc considérer que l'impression fonctionne.  
     
    Nous en avons profité également pour corriger quelques défauts graphiques d'interface dans Winter, ainsi que quelques sources de crash.
     
    Nous savons que beaucoup d'utilisateurs Linux attendent une version plus solide avec impatience. L'objectif est donc maintenant d'obtenir quelque chose de suffisamment complet et stable pour proposer rapidement une version pré-alpha d'un de nos programmes sur Linux.
    Pré-alpha, et non alpha, beta ou RC car il ne s'agirait pas là de tester les fonctionnalités de l'application elle-même mais plutôt l'interface graphique et les relations avec le système Linux en général.
     
    Bon week-end à tous !
    by Olivier Guillion
     1 comment.

    Dev News Wednesday, Dec 17th, 2014 at 05:04pm
    Acam Winter étape 23

     
    La logique d'impression d'Acam Winter commence à fonctionner. Nous avons pu obtenir la première boîte d'options d'impression sur Linux:
     

     
    Au bas de la boîte, on trouve les options supplémentaires, dépendantes du type d'imprimante.
     
    Celles-ci, ainsi que la liste des imprimantes disponibles, ont été obtenues par un simple appel caché à la ligne de commande de CUPS (lpstat et lpoptions), ce qui nous évite d'avoir à lier notre projet à une librairie.
    by Olivier Guillion

    Dev News Monday, Dec 15th, 2014 at 05:08pm
    Acam Winter étape 22

     
     
    Nous planchons toujours sur Acam Winter. La structure de l'impression est de plus en plus simplifiée, afin de limiter les fonctions dépendantes du système.
    Nous les avons maintenant réduites à 4 ou 5 fonctions seulement, ce qui devrait grandement simplifier l'implémentation sous une nouvelle plateforme, à condition que ce dernier permette d'imprimer facilement des données PostScript.
     
    Bientôt nous aurons quelque chose à montrer, et, si tout va bien, nous devrions pouvoir assez rapidement  proposer une beta-version de quelque chose (Harmony, Melody ou notre éditeur de texte de démo) sous Acam Winter / Linux.
    by Olivier Guillion

    Dev News Thursday, Dec 11th, 2014 at 04:58pm
    Acam Winter étape 21 et autres

     
    Nous avons avancé sur l'impression sous ACAM-Winter. Les boîtes de dialogue ne sont pas ergonomiquement en place, mais la logique a été mise en place : l'application peut demander une mise en page, puis imprimer.  
     
    Les pages imprimées sont collectées dans un fichier EPS qui est pour l'instant sauvegardé sur disque. Dans la version définitive, ce sera au petit module d'impression système-dépendant (notre cible étant dans un premier temps les plateformes Linux) d'imprimer réellement ce fichier EPS sur papier.
     
    Ce travail sur les fichiers EPS nous a permis de repérer quelques dysfonctionnements, dont la correction améliorera encore la qualité de l'export graphique EPS d'Harmony/Melopy, sur toutes les plateformes.  
    by Olivier Guillion

    Dev News Tuesday, Dec 9th, 2014 at 05:01pm
    Acam Winter étape 20

     
     
    Après les sélecteurs de fichiers, les seules boites de dialogue restantes gérées par le système sont les boîtes de sélection d'imprimante et d'impression.
    Afin de s'affranchir au maximum des appels au système, nous allons donc gérer ces boîtes nous-même. Et pour éviter les problèmes de traduction, elles fonctionneront avec des icônes plutôt que des textes.
     
    Voici une "vue d'artiste" de ce que pourrait être la boîte de sélection d'imprimante, obtenue par "Fichier > Mise en page" :
     

     
    On y trouve :  
  • Le choix de l'imprimante
  • Le choix de la taille du papier
  • L'orientation (portrait/paysage)
  • La définition de taille des marges
  • Le choix de l'échelle d'impression (ou de l'adaptation automatique au papier)
  • Les boutons d'annulation et de validation
     
    Ensuite, lors de l'impression par "Fichier > Imprimer", une boîte permet de régler d'autres paramètres :
     

     
    Nous avons :
     
  • A nouveau le choix de l'imprimante, pour les changements d'avis de dernière minute
  • Un bouton permettant de redéfinir les paramètres (accès à la boîte précédente)
  • Le nombre de copies
  • Le choix des pages à imprimer
  • Le choix de l'impression recto/verso
  • Le choix du sens d'impression (pages croissantes ou décroissantes) ainsi que des pages paires/impaires
  • Le choix de la division de la page, qui permet d'imprimer plusieurs petites pages sur une même feuille
  • Les boutons d'annulation et de validation
     
    Il nous faudra ensuite voir si nous n'avons rien oublié, puis réfléchir à l'implémentation sous Linux, qui se fera probablement par un appel caché à la ligne de commande de CUPS.
  • by Olivier Guillion

    Dev News Friday, Dec 5th, 2014 at 05:00pm
    PDFtoMusic 1.5.0

     
     
    On y est, enfin !
     
    Après quelques versions beta et trois RC, La version 1.5.0 est en cours de mise à disposition sur le site. Elle devrait apparaître d'ici quelques minutes.
     
    Mais, par expérience, et une fois de plus en totale conformité avec la loi de Murphy, il y a de bonnes chances qu'un gros problème non détecté jusqu'ici se soit glissé dans cette version, et que nous devions poster une sous-version très rapidement pour corriger ça.
     
    Quelqu'un veut parier?
     
    Bon week-end !
     
    by Olivier Guillion

    Dev News Wednesday, Dec 3rd, 2014 at 05:03pm
    PDFtoMusic 1.5.0

     
    Nous étions en train d'envisager sérieusement de publier la nouvelle version de PDFtoMusic/PDFtoMusic Pro (v 1.5.0) quand nous nous sommes rendu compte d'un problème de calcul sur certains fichiers.
     
    Conformément à la Loi de Murphy, le problème ne survient que sur les versions Windows 95 du programme, et en version publique (non déboguable). On investigue, donc, et la nouvelle version est en standby jusqu'à la résolution de cette bizarrerie.
    by Olivier Guillion

    Myriad Life Monday, Dec 1st, 2014 at 05:01pm
    Aquarium -2-

     
     
     
    Depuis sa mise en eau en juillet dernier, les plantes ont pas mal poussé dans notre aquarium

     
    Pour doper un peu l'éclairage faiblard (un tube de 15W) prévu pour ce bac, nous avons bricolé une rampe de leds composé de 240 leds SMD 5050, qui ajoutent 48W de puissance.  
     

     
    S'il le faut, nous envisagerons la réalisation d'un complément à base de led dans la gamme de l'ultra-violet, pour favoriser la pousse des plantes.
     
    Et ce week-end, après une visite à la bourse d'aquariophilie de Montauban, de nouveaux pensionnaires ont fait leur apparition dans le bac :  
    Une quarantaine de crevettes "Red Cherry" (taille réelle 2cm)
     

     
    et une douzaine de corydoras pygmées (ce sont des mini-mini poissons), tout mignons avec leur micro-moustache (taille réelle du poisson complet, moustache comprise : 1,5cm grand max)
     

     
    Il ne reste plus à ce petit monde qu'à s'acclimater.
    by Olivier Guillion
     3 comments.


    Full view
    Reduced view
    Most recent first
    Oldest first
    All
    Didier Guillion
    Myriad
    Olivier Guillion
    Sylvie Ricard
    All
    Memories
    Myriad Life
    Technical
    Dev News
    Mood
    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
    Mar 2016
    Apr 2016
    May 2016
    Jun 2016
    Jul 2016
    Aug 2016
    Sep 2016
    Oct 2016
    Nov 2016
    Dec 2016
    Jan 2017
    Feb 2017
    Mar 2017
    Apr 2017
    May 2017
    Jun 2017
    Jul 2017
    Aug 2017
    Sep 2017
    Oct 2017
    Nov 2017
    Dec 2017
    Jan 2018
    Feb 2018
    Mar 2018
    Apr 2018
    May 2018
    Jun 2018
    Jul 2018
    Aug 2018
    Sep 2018
    Oct 2018
    Nov 2018
    Dec 2018
    Jan 2019
    Feb 2019
    Mar 2019
    Apr 2019
    May 2019
    Jun 2019
    Jul 2019
    Aug 2019
    Sep 2019
    Oct 2019
    Nov 2019
    Dec 2019
    Jan 2020
    Feb 2020
    Mar 2020
    Apr 2020
    May 2020
    Jun 2020
    Jul 2020
    Aug 2020
    Sep 2020
    Oct 2020
    Nov 2020
    Dec 2020
    Jan 2021
    Feb 2021
    Mar 2021
    Apr 2021
    May 2021
    Jun 2021
    Jul 2021
    Aug 2021
    Sep 2021
    Oct 2021
    Nov 2021
    Dec 2021
    Jan 2022
    Feb 2022
    Mar 2022
    Apr 2022
    May 2022
    Jun 2022
    Jul 2022
    Aug 2022
    Sep 2022
    Oct 2022
    Nov 2022
    Dec 2022
    Jan 2023
    Feb 2023
    Mar 2023
    Apr 2023
    May 2023
    Jun 2023
    Jul 2023
    Aug 2023
    Sep 2023
    Oct 2023
    Nov 2023
    Dec 2023
    Jan 2024
    Feb 2024
    Mar 2024
    Apr 2024
    May 2024
    Jun 2024
    Jul 2024
    Aug 2024
    Sep 2024
    Oct 2024
    Nov 2024
    Dec 2024
    Dec 3rd, 2024 at 07:42pm 
    Article from Myriad
    Harmony 9.9.9 RC étape 3
    Dec 2nd, 2024 at 06:10pm 
    Article from Myriad
    Harmony 9.9.9 RC étape 2
    Nov 30th, 2024 at 08:28am 
    Comment from Myriad
    Re: Harmony 9.9.9 RC1 et autres
    Nov 29th, 2024 at 07:10pm 
    Comment from Sylvain
    Liens en HTTP
    Nov 29th, 2024 at 05:07pm 
    Article from Myriad
    Harmony 9.9.9 RC1 et autres
    Nov 28th, 2024 at 07:15pm 
    Article from Myriad
    Harmony Assistant 9.9.9 beta étape 54
    Nov 28th, 2024 at 07:15pm 
    Article from Myriad
    Harmony Assistant 9.9.9 beta étape 54
    Nov 28th, 2024 at 07:15pm 
    Article from Myriad
    Harmony Assistant 9.9.9 beta étape 54
    Nov 28th, 2024 at 07:15pm 
    Article from Myriad
    Harmony Assistant 9.9.9 beta étape 54
    Nov 28th, 2024 at 07:15pm 
    Article from Myriad
    Harmony Assistant 9.9.9 beta étape 54

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