Myriad Blog 1.3.0 Tuesday, Dec 12th, 2017 at 11:37am 

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

    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


    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
    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
    Dec 11th, 2017 at 05:03pm 
    Article from Olivier Guillion
    Harmony 9.8 et autre étape 7
    Dec 8th, 2017 at 04:58pm 
    Article from Didier Guillion
    Melody Player 6.5.0
    Dec 7th, 2017 at 07:22pm 
    Comment from Oliveira
    Versión anterior: OK
    Dec 7th, 2017 at 06:10pm 
    Comment from CRI-CRI
    Reprises complexes
    Dec 7th, 2017 at 06:10pm 
    Comment from CRI-CRI
    Reprises complexes
    Dec 7th, 2017 at 05:34pm 
    Article from Olivier Guillion
    Harmony 9.8 et autre étape 6
    Dec 6th, 2017 at 05:12pm 
    Article from Didier Guillion
    Harmony 9.8 et autre étape 5
    Dec 5th, 2017 at 05:03pm 
    Article from Olivier Guillion
    Harmony 9.8 étape 4
    Dec 4th, 2017 at 04:55pm 
    Article from Didier Guillion
    Harmony 9.8 étape 155
    Dec 4th, 2017 at 04:55pm 
    Article from Didier Guillion
    Harmony 9.8 étape 3

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