Myriad Blog 1.3.0 Tuesday, Jan 27th, 2015 at 04:31am 

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 Tuesday, Dec 30th, 2014 at 04:59pm
    ACAM sur Mac étape 10
    Nous avons donc tenté de passer Harmony sous Acam Mac, ceci rappelons-le afin de le rendre indépendant de Carbon et de pouvoir accéder aux nouvelles API Mac OS X.
    En première étape, il a fallu recréer un projet en s'inspirant du protocole mis en place pour adapter Myredit puis Melody Player.
    Puis, les différents sources C ont été compilés jusqu'à ce qu'il n'y ait plus d'erreur, ensuite il a fallu lier avec la librairie Acam ce qui a produit de nombreux liens irrésolus qui ont été redéfinis dans un source mannequin. Ceci nous a pris plusieurs jours, sans aucun résultat tangible à l'écran.
    Mais ce matin, les phases d' initialisation sont passées sans problème et nous avons obtenu ceci :
     

     
    Maintenant nous attaquons tous les points laissés en suspens.
     
    Les menus ont ensuite été complétés afin de gérer les menus hiérarchiques, les éléments checkés et les images.
    by Didier Guillion

    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, Jan 5th, 2015 at 04:57pm
    ACAM sur Mac étape 11
    Pour commencer l'année :
     
    Gestion de la hiérarchie des fenêtres (palette, dialogues, document)
    Gestion de la transparence des fenêtres.
    Gestion des sous menus hiérarchiques.
    Gestion des différents aspect de l'interface (thèmes):

     
    Mise en place des boite de sélection de fichier avec gestion des noms par défaut et chemins.
    by Didier Guillion
     1 comment.

    Dev News Tuesday, Jan 6th, 2015 at 05:11pm
    Acam Winter étape 27

     
     
    La version alpha pour Linux approche à grand pas. Une version du programme suffisamment fonctionnelle a été générée.
    Une archive installable a été créée, et nous sommes en train de la tester sur un maximum de distributions.
     
    Pour l'instant, elle s'installe sur Ubuntu 32 bits 12.04 et Mint 64 bits Cinnamon 17.1. Il y a quelques problèmes dans la recopie des thèmes graphiques, mais qui sont en passe d'être résolus.
     
    Sur Ubuntu 14.04 64 bits, l'application ne fonctionne que si elle est lancée en mode super-utilisateur, par un sudo depuis la console. Apparemment, un problème de permission sur certains fichiers.
     
    Dès que nous aurons quelque chose qui fonctionne sur suffisamment de distributions, nous le mettrons à disposition des utilisateurs désireux de le tester. Cela devrait être fait sous quelques jours.
    by Olivier Guillion

    Dev News Wednesday, Jan 7th, 2015 at 04:30pm
    ACAM sur Mac étape 12
    Le défi d'aujourd'hui était d'invoquer et de faire cohabiter la boîte standard de sélection de police. Après quelques astuces, c'est fonctionnel :
     

     
    La gestion des polices a été finalisée, l'ensemble des polices installées est maintenant disponible.
    by Didier Guillion

    Dev News Thursday, Jan 8th, 2015 at 05:01pm
    Acam Winter étape 28

     
    Ce coup-ci, c'est enfin parti. Nous avons installé pas moins de 7 distributions Linux différentes, puis rédigé les instructions d'installation de la version alpha d'Harmony Assistant.  
     
    Celle-ci devrait donc être disponible sous quelques minutes et nous permettra de savoir si Acam-Winter fonctionne sur les différentes distributions du système. Elle sera annoncée sur le forum, ainsi que par e-mail aux utilisateurs qui en ont fait la demande.
     
    Un fichier Lisez-moi au format HTML est fourni dans l'archive, et doit être lu et appliqué pour installer correctement cette version. N'oublions pas qu'on est sur Linux, ou la ligne de commande et le clavier remplacent (trop) souvent les icônes et les double-clics.
    by Olivier Guillion

    Dev News Friday, Jan 9th, 2015 at 04:55pm
    ACAM sur Mac étape 13
    Pour finir la semaine :
    Le menu de l'application (menu ? sur Acam) a été déplacé à sa position habituelle sur Mac.
     

     
    Gestion de la molette de la souris.
    Extraction de la version de Mac OS X.
    Ouverture de la documentation.
    Gestion du double-click sur les listes.
     
    Bon week-end !
    by Didier Guillion

    Dev News Monday, Jan 12th, 2015 at 05:01pm
    Acam Winter étape 29

     
    Nous corrigeons les problèmes signalés, ou déjà connus, de la version Linux, afin d'obtenir rapidement une version assez stable pour contenter les utilisateurs qui rencontrent des problèmes en attendant la version publique.
     
    Nous avons donc corrigé :
  • Un  problème de rendu sonore (notes qui vibrent et crachotent) en base GMSE
  • L'activation de l'instance de l'application déjà en fonction lorsqu'on tente de démarrer le programme deux fois
  • Les droits sur les fichiers et dossiers de préférences sont maintenant automatiquement fixés. Sinon, un lancement de l'application en mode "sudo" lui faisait créer des fichiers impossibles à modifier ultérieurement
  • La hauteur de la barre de menu était prise en compte deux fois dans le calcul de magnétisme des palettes
  • La boîte signalant que la session précédente n'avait pas été terminée convenablement s'affichait à tort
  • Une erreur de mémoire dans la gestion des chaînes Unicode pouvait faire planter l'application au lancement. Ceci pouvait également impacter la version Windows
  • by Olivier Guillion

    Dev News Tuesday, Jan 13th, 2015 at 04:48pm
    ACAM sur Mac étape 14
    Nous reprenons maintenant les points que nous avons laissés en attente. On peut citer : l'affichage des polices dans différents styles, les curseurs de la souris, les fenêtres à bords arrondis, la saisie des touches mortes du clavier et d'une façon plus spécifique à Harmony, la saisie numérique et les entrées/sorties MIDI.
     
    Depuis le début de Mac OS, trois systèmes d'affichage de caractères ce sont succédés. QuickDraw pendant très longtemps a été la référence. Ensuite l'ATSUI a vu le jour, il permettait de gérer enfin les caractères unicodes. Il n'a pas tenu la rampe très longtemps et Apple a préféré se lancer dans le CoreText plutôt que de corriger les problèmes connus de l'ATSUI.
     
    Le CoreText est plutôt bien fait et n'est pas basé sur des concept nébuleux. Nous avons cependant rencontré une mauvaise surprise. Dans les systèmes d'affichages précédents, on pouvait demander d'afficher en italique ou en gras, n'importe laquelle des polices présentes. C'est ce qui est également annoncé pour le CoreText que ce soit dans la documentation ou dans les exemples complets fournis, mais cela ne fonctionne absolument pas. Après deux jours passés sur le problème nous avons du nous résoudre à faire comme les autres développeurs : écrire nos propres fonctions pour le gras, l'italique, le relief et l'ombré.  
    Cela fonctionne plutôt bien et va déjà plus loin que les styles proposés par le CoreText :
     
    by Didier Guillion
     Leave a comment.

    Dev News Wednesday, Jan 14th, 2015 at 05:06pm
    Acam Winter étape 30

     
    Encore un lot de corrections sur Acam-Winter Linux:
     
  • Saisie d'accentués dans les noms de fichiers (boîte de sélection)
  • Gestion de l'affichage des caractères Unicode grecs, cyrilliques, hébreux, arabes, etc avec des polices ne les possédant pas
  • Correction d'un problème de téléchargement de fichiers depuis Harmony. Cela affecte et simplifie la version Windows également
  • Dans le sélecteur de fichier, les alertes et la saisie de nom de dossier apparaissaient derrière la boîte de sélection
  • L'ouverture d'un script par "Scripts > Ouvrir ..." plantait
  • L'entrée de caractères spéciaux avec Alt+chiffre ne fonctionnait pas. Maintenant on peut utiliser Alt+<décimal unicode> ou Alt+0+<hexadécimal unicode>
  • by Olivier Guillion
     Leave a comment.

    Dev News Thursday, Jan 15th, 2015 at 04:57pm
    ACAM sur Mac étape 15
    Aujourd'hui nous avons mis au point la saisie des touches claviers avec "touche morte". Une touche morte (Dead Key) est une touche qui pressée, ne donne aucun caractère, c'est la touche suivante qui va le générer. Par exemple la touche "^" ne donne rien, c'est la touche "a" qui va suivre qui va donner "â".  
    Ce mode de réaction est intimement lié à la configuration matérielle de l'utilisateur et est assez délicat à implémenter car cela doit fonctionner sur des claviers de langues les plus diverses.
     
    Ce faisant nous avons pu tester que notre saisie clavier était compatible avec les palettes systèmes sur lequel l'utilisateur peut cliquer pour insérer des caractères.
     
    Enfin, nous avons rendu cette saisie compatible Unicode.
     

    by Didier Guillion
     1 comment.

    Dev News Monday, Jan 19th, 2015 at 04:55pm
    ACAM sur Mac étape 16
    Aujourd'hui nous avons mis en place les curseurs souris en couleur. L'utilisateur pourra définir leur taille dans les préférences générales de l'application.
     
    Les fenêtres à bord arrondis ont été implémentées.
     

     
    A noter que les fenêtres peuvent avoir une ombre.
    by Didier Guillion
     Leave a comment.

    Dev News Tuesday, Jan 20th, 2015 at 04:58pm
    Acam Winter étape 31

     
    Les points suivants ont été corrigés ou améliorés, sur Acam Winter Linux:
     
  • Une icône réseau est apparue dans la barre de raccourcis du sélecteur de fichier. Elle permet d'accéder aux dossiers partagés qui ont été montés dans le système.
    Cependant, l'emplacement de ces dossiers partagés semble changer selon la distribution (et parfois sa version). Il se peut donc que cela ne fonctionne pas partout.
     

     
  • La case de fermeture dans la barre de titre du sélecteur de fichiers est maintenant opérationnelle
     
  • Les effets d'apparition/disparition progrssives des fenêtres (glissement/fondu, etc) ont été remis en place. Cependant cela semble assez lent et nécessiterait un calibrage, mais peut-être est-ce dû au fait que nous faisons tourner Linux sur des machines virtuelles?
     
  • Les options de la boîte d'impression sont maintenant sélectionnables
     
  • La boîte de sélection de police a été mise en place, et est totalement fonctionnelle. Il nous faut maintenant la tester en profondeur
     

     
    Il ne nous reste que très peu de points à corriger/améliorer. Une nouvelle version alpha devrait donc arriver bientôt, même si nous n'avons eu que très peu de retours sur celle-ci.
  • by Olivier Guillion
     Leave a comment.

    Dev News Wednesday, Jan 21st, 2015 at 04:54pm
    ACAM sur Mac étape 17
    Aujourd'hui nous nous sommes attaqué à un point de détail qui s'est avéré plus ardu que prévu. Nous voulions ajouter un menu surgissant dans la boite de dialogue standard de la sauvegarde afin de pouvoir choisir le format d'export. Cela a demandé une grosse bidouille et l'écriture de pas mal de code, mais c'est fonctionnel :
     

     
    Nous allons aborder maintenant la saisie/sortie MIDI.
    by Didier Guillion
     Leave a comment.

    Dev News Thursday, Jan 22nd, 2015 at 04:53pm
    Acam Winter étape 32

     
    Une jolie petite boîte a été créée sur Acam Winter. Elle permettra à nos applications de proposer un sélecteur de couleur standard, sur tous les systèmes.
     
    En voici un aperçu :
     

     
    Elle présente la palette de couleur au format HSL pour Hue (teinte) - Saturation - Luminance.
    En haut de la boîte, la double flèche permet de choisir la représentation :
     
    Teinte et saturation dans le grand cadre, luminance dans la barre de droite

     
    Teinte et luminance dans le grand cadre, saturation dans la barre de droite

     
    Saturation et luminance dans le grand cadre, teinte dans la barre de droite

     
    Au-dessous, des palettes de couleur permettent de choisir rapidement une couleur :
    - Soit dans une palette spécifique à l'application
    - Soit dans une liste des couleurs précédemment sélectionnées
    - Soit dans une palette de 256 couleurs
    - Soit dans une palette de 256 gris.
     
    Enfin, il est possible d'entrer les valeurs numériques, en RVB, HSL ou en code couleur HTML.
     
    Un cadre de prévisualisation, en bas à droite, permet de comparer la couleur actuellement choisie avec la précédente.
     
    Cette boîte pourra être testée dans la prochaine version Alpha pour Linux, dans le choix de la couleur du thème graphique.
    by Olivier Guillion
     Leave a comment.

    Dev News Friday, Jan 23rd, 2015 at 04:53pm
    ACAM sur Mac étape 18
    Pour finir la semaine :
     
    La gestion des fichiers ressources Son est abandonnée : elle n'a plus de signification : les fichier ressources ne sont gardés qu'à des fins de compatibilité dans Mac OS X.  
     
    Nous avons attaqué l'implémentation MIDI. La première étape a été de mettre en place un timer au 1000eme de seconde.
    Puis nous avons défini une audio unit qui accepter les évènements MIDI et les interprète. Tout ceci avec succès.
     
    Bon week-end !
    by Didier Guillion
     Leave a comment.

    Dev News Monday, Jan 26th, 2015 at 04:55pm
    Acam Winter étape 33

     
    Une nouvelle version alpha pour Linux (9.6.4 alpha-4) a été mise à disposition. Elle intègre toutes les améliorations décrites sur ce blog, et devrait donc être plus stable et plus fonctionnelle.
     
    En attendant les retours des alpha-testeurs, nous essayons d'automatiser la procédure d'installation en peaufinant un ensemble de scripts shell. L'utilisation d'un système de paquetage nous paraît assez compromise étant donné le manque d'uniformisation de ces derniers.
    Nous voudrions ne conserver qu'une seule archive de l'application, qui s'installe sur toutes les distributions, au lieu des 3 versions (.deb 32, .deb 64, .rpm) que nous avions précédemment et qui nous apportaient principalement des ennuis plutôt que des avantages.
    by Olivier Guillion
     Leave a 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
    Jan 26th, 2015 at 04:55pm 
    Article from Olivier Guillion
    Acam Winter étape 33
    Jan 23rd, 2015 at 04:53pm 
    Article from Didier Guillion
    ACAM sur Mac étape 18
    Jan 22nd, 2015 at 04:53pm 
    Article from Olivier Guillion
    Acam Winter étape 32
    Jan 21st, 2015 at 04:54pm 
    Article from Didier Guillion
    ACAM sur Mac étape 17
    Jan 20th, 2015 at 04:58pm 
    Article from Olivier Guillion
    Acam Winter étape 31
    Jan 19th, 2015 at 04:55pm 
    Article from Didier Guillion
    ACAM sur Mac étape 16
    Jan 16th, 2015 at 05:49pm 
    Comment from dheo
    Keyboard Input
    Jan 16th, 2015 at 05:49pm 
    Comment from dheo
    Keyboard Input
    Jan 16th, 2015 at 05:49pm 
    Comment from dheo
    Keyboard Input
    Jan 16th, 2015 at 05:49pm 
    Comment from dheo
    Keyboard Input

    Top of page
    Last update:  (c) Myriad