Myriad Blog 1.3.0 Thursday, Mar 5th, 2015 at 11:45pm 

Dev News Thursday, Mar 5th, 2015 at 05:01pm
Acam et justification (2)
Le système permettant d'afficher à l'écran des textes qui conservent leurs tailles relatives à toutes les échelles fonctionnant bien sous Linux, nous avons donc décidé de le généraliser, et donc de faire de même sur Windows et MacOS.
 
Mais pour pouvoir faire cela, il faut que le système permette l'affichage de texte avec une grande précision, au détriment s'il le faut de l'aspect des petites polices. Or, sur Windows, l'interface de tracé graphique GDI  que nous utilisions jusque-là et datant de l'origine de Windows ne le permet pas.
 
Pour avoir ce style de fonctionnalité, il faut utiliser le nouveau système, baptisé GDI+ dans le moment de folie créatrice décennal chez Microsoft.
 
GDI+ se pîlote en C++, et constitue un jeu entièrement nouveau de fonctions graphiques. Nous avons donc dû entièrement réécrire le module de tracé de texte, dans chacune de ses configurations possibles : en couleur, ombré, détouré, souligné, selon un angle donné, etc.
 
Les fonctions de texte en GDI+ ne sont pas très bien conçues (c'est le moins qu'on puisse dire) mais nous y sommes tout de même parvenus. Il nous faut maintenant vérifier que notre code C++ est "propre" au niveau mémoire.
 
Quoi qu'il en soit, un paragraphe en objet libre plus ou moins justifié, dessiné avec un angle, donne maintenant ceci à différents zooms :
 

 
A comparer avec le même type d'objet dans la version publique actuelle d'Harmony.
by Olivier Guillion
 Leave a comment.

Dev News Wednesday, Mar 4th, 2015 at 04:59pm
ACAM sur Mac étape 30
Nous progressons dans l'implémentation des éléments de l'interface. Plusieurs types d'objets fonctionnent plutôt bien.
Voici par exemple un volet des préférences d'Harmony sous Acam Mac :
 

by Didier Guillion
 1 comment.

Dev News Tuesday, Mar 3rd, 2015 at 05:12pm
Acam et justification
Lorsque le système de rendu de texte du système trace des petites polices à l'écran, il s'arrange pour que les petites lettres restent lisibles et soient bien séparées.
 
Par exemple, si quelqu'un s'amuse à choisir une toute petite police pour la barre de menu, ça va donner ceci :
 

 
En voici un détail zoomé à 300%
 

 
Même si elles sont petites, le système s'arrange pour que les lettres restent bien espacées et lisibles.
 
Hélas, cela se fait au détriment de la précision. les largeurs de caractères sont à un pixel près, ce qui peut entraîner des différences de largeur selon l'échelle de visualisation.
 
Par exemple, dans Harmony Assistant, voici le même texte visualisé à différents zooms :
 

 
D'accord, même en petit, les lettres sont bien séparées, mais la justification n'est pas conservée aux différents zooms. Les largeurs relatives des lignes ne sont plus égales.
 
La solution serait donc de calculer avec beaucoup de précision les largeurs de caractères, et privilégier la conservation des largeurs relatives au détriment de la lisibilité des petites polices.
Le même exemple donne alors ceci :
 

 
Là, les tailles relatives des lignes sont conservées aux différents zooms, même si, en petit, les lettres se touchent parfois.
 
Mais si nous utilisons ce type de tracé dans ACAM, notre exemple de menu du début, qui était :
 

 
devient  
 

 
Ça a l'air tout juste un peu moins beau, mais croyez-moi, de telles petites imperfections sur la totalité de l'interface, ça fait très moche.
 
Il faudrait donc privilégier la précision dans tous les textes écrits sur les documents (la partition) ou destinés à être imprimés, alors qu'il faudrait privilégier l'espacement agréable des petites polices dans l'interface (boutons, menus, titres, etc).
 
C'est ce que nous sommes en train de mettre en place.
by Olivier Guillion
 Leave a comment.

Myriad Life Monday, Mar 2nd, 2015 at 04:54pm
New Order et la TVA (2)
La nouvelle gestion de la TVA intra-communautaire est finalisée. Nous allons pouvoir générer automatiquement les états. En espérant que cette nouvelle version nous tiendra quelques années...
by Didier Guillion
 2 comments.

Dev News Friday, Feb 27th, 2015 at 05:12pm
Acam Winter étape 43

 
Les petits projets satellites ayant été terminés, nous avons pu nous remettre à Acam - Winter.
Il tourne de mieux en mieux, mais les problèmes qui demeurent sont de plus en plus difficiles à localiser et à résoudre.
 
Nous avons corrigé un problème général (qui affectait donc aussi les versions Mac et Windows), apparu dans notre version de développement, qui ralentissait de manière extrêmement sensible les redimensionnements des fenêtres de document.
 
A titre cosmétique, nous avons réduit les marges des fenêtres (zones à cliquer pour redimensionner) pour les rendre identiques à la version Windows.
 
Ensuite, et cette fois spécifique à Winter, l'image de fond de la palette de Virtual Singer n'apparaissait pas. C'était en fait dû à une erreur de calcul de la couche alpha par défaut, lors du chargement de fichier PNG sans information de transparence.
 
Bon week-end !
by Olivier Guillion
 Leave a comment.

Myriad Life Thursday, Feb 26th, 2015 at 05:01pm
New Order et la TVA
Depuis 1999, toutes nos commandes et licences utilisateur sont gérées par notre logiciel maison "New Order". New Order génère également des états comme, par exemple, la TVA mensuelle à reverser.
En janvier 2015 de nouvelles directives européennes sont entrées en vigueur. Elles chamboulent pas mal de choses.
Jusqu'à présent le taux de TVA appliqué à un produit était celui du vendeur. C'était la porte ouverte à de petits malins qui installaient une pseudo filiale dans un pays où le taux était le plus bas et revendait avec jusqu'à près de 10 % moins cher ! (17% de TVA au Luxembourg, 25 % au Danemark).
Donc maintenant, le taux de TVA appliqué est celui du pays de l' acheteur ce qui rend les fraudes plus complexes.
Ceci s'applique pour l'instant aux services numériques et pas aux produits physiques. A Myriad, nous entrons en plein dans ce cadre.
Conséquence : il nous faut, chaque mois, déclarer séparément la TVA pour chacun des pays de la CEE et ce via (heureusement) un seul guichet unique et pas dans chacun des pays.
Nous avons donc modifié New Order qui est maintenant capable de générer automatiquement ces états.
Petit détail amusant, pour déclarer de manière conforme il nous faut évidemment connaitre le taux de TVA en cours dans chacun des pays de la CEE. On pourrait s'attendre benoitement à ce que le législateur Européen propose une petite liste des taux sous forme d'un fichier OpenData en ligne. Et bien non, il n'y a qu'un fichier PDF (donc difficilement traitable automatiquement) qui n'est même pas à jour !
by Didier Guillion
 1 comment.

Dev News Wednesday, Feb 25th, 2015 at 05:09pm
En coulisses...

Aujourd'hui, travail sur un module à usage interne, qui ne sera pas directement utilisé par nos programmes.
Il s'agit d'un système permettant de stocker des fichiers "en dur" à l'intérieur même d'un programme en C.
 
Cela permettra de diffuser un exécutable standard et monobloc (pas de fichiers de données associés). Cet exécutable pensera lire une arborescence complète de fichiers de données sur le disque dur mais consultera en fait les données embarquées dans lui-même.
 
L'utilité pourrait être la diffusion facile de "patches" plus avancés qu'un simple ZIP, car contenant, outre les fichiers à mettre à jour, la logique testant les versions actuelle, la configuration, etc.
by Olivier Guillion
 Leave a comment.

Dev News Tuesday, Feb 24th, 2015 at 04:51pm
ACAM sur Mac étape 29
Les premiers éléments de l'interface commencent à fonctionner :
 

 
Boutons, cases à cocher, couleur de fond sont fonctionnels.
 
A noter qu'Acam permet d'afficher d'une manière particulière l'objet survolé par la souris, ce que fait Mac/OS pour certains de ces objets (dans la barre de titre par exemple) mais pas à l'intérieur des boites de dialogues. Pour l'instant nous avons conservé cette fonctionnalité même si elle n'est pas 100% Macintosh.
by Didier Guillion
 Leave a comment.

Dev News Monday, Feb 23rd, 2015 at 05:06pm
Acam Winter étape 42

 
Aujourd'hui, derniers calages des effets graphiques de l'interface, avant de reprendre l'analyse et la correction des problèmes signalés.
 
Nous rappelons que le but est de pouvoir proposer une version beta fonctionnelle, permettant aux utilisateurs Linux rencontrant des problèmes avec la version publique courante de pouvoir travailler en attendant la prochaine.
by Olivier Guillion
 Leave a comment.

Dev News Friday, Feb 20th, 2015 at 05:06pm
ACAM sur Mac étape 28
Nous continuons a essayer d'implémenter une interface dessinée "à la main" dans Acam Mac. Nous progressons peu à peu. Par exemple, impossible d'utiliser les jolis icônes créées à l'étape précédente. Les fichiers PNG s'affiche bien sur le bureau mais sont déclarés erronés par Quartz.
L'objectif reste de proposer une interface "Mac Like" au démarrage mais de laisser la possibilité à l'utilisateur d'en changer.
 
Bon week-end !
by Didier Guillion

Dev News Thursday, Feb 19th, 2015 at 04:54pm
Acam Winter étape 41 et autre

 
 
Nous avons bien avancé sur les effets graphiques associés aux fenêtres dans Acam-Winter.
Tout d'abord, les ombres portées ont été affinées et paramétrées (ici avec le thème "Desert Chrome":
 

 
Ensuite, nous avons mis au point l'algorithme de transparence floue, qui permet de jolis effets de recouvrement :
 

 
Il reste encore quelques problèmes dans cet algorithme, qui nous donnent du fil à retordre.
 
En parallèle, la version Acam-Mac avait besoin des boutons de contrôle des fenêtres au "look" système Mac OS.  
Mais avec les écrans Retina, on pourrait avoir besoin de ces boutons en différentes dimensions. Nous avons donc créé un programme, qui dessine les boutons en n'importe quelle taille, avec calcul automatique des reflets et des ombres. Cela a donné ceci (tous les boutons possibles, dans tous leurs états) :
 

 
Et je vous le donne en mille, le langage le plus pratique et le plus rapide pour créer ces objets a une fois de plus été MyrScript. C'est donc Harmony Assistant qui nous a permis de dessiner les boutons de l'interface dans laquelle il tournera
by Olivier Guillion

Dev News Wednesday, Feb 18th, 2015 at 04:52pm
ACAM sur Mac étape 27
Nous avons commencé à travailler sur les aspects des fenêtres. L'interface doit être entièrement dessinée avec Quartz et en évitant les images pré-stockées : leur aspect serait dégradé lors de l'affichage sur un écran Retina.
Les premiers tests commencent à fonctionner :
 
by Didier Guillion

Dev News Tuesday, Feb 17th, 2015 at 05:00pm
Acam Winter étape 40

 
Nous n'étions pas satisfaits des ombres et transparences des fenêtres, nous avons donc tout repris à la base, pour l'accélérer et le généraliser.
 
Il sera maintenant possible de créer et de gérer des fenêtres de n'importe quelle forme (rondes, en étoile, à trous...) et l'ombre portée sera correctement calculée.
Il sera également possible de créer des fenêtres dont les zones système (titre, bordures) sont translucides et le contenu opaque (ou vice-versa).
 
Nous étudions également la possibilité de gérer un paramètre de netteté des  transparences, c'est-à-dire que ce qui est vu par transparence derrière la fenêtre pourrait apparaître flou.
by Olivier Guillion
 1 comment.

Dev News Monday, Feb 16th, 2015 at 04:56pm
ACAM sur Mac étape 26
L'impression des images bitmaps incluses dans des images vectorielles a été implémenté.
Nous avons cherché aujourd'hui le moyen le plus simple permettant de proposer un aspect de l'interface conforme aux habitudes Mac/OS.
by Didier Guillion

Dev News Friday, Feb 13th, 2015 at 05:07pm
Acam Winter étape 39

 
 
Après quelques hésitations, nous avons implémenté la gestion des écrans Retina (haute précision) sur Acam Winter - Linux.
 
Les écrans Retina n'existent pas à l'achat seul, ils sont pour l'instant toujours intégrés à un Mac (MacBook ou iMac). Il est donc peu probable que la version Linux rencontre ce type d'écran (à moins que quelqu'un n'installe Linux sur son Mac Retina à 3000¤)
 
Mais on peut imaginer que des écrans avec une précision de point plus importante apparaissent dans les années qui viennent. Il se peut alors (mais rien n'est moins sûr) que les couches de haut niveau du système Linux (GTK, QT...) le gère de manière transparente pour les applications.
 
Mais nous n'utilisons pas les couches hautes, seulement X11. Et il y a encore moins de chance que X11 soit modifié pour gérer ces écrans. Nos applications continueraient donc de fonctionner, mais les titres de fenêtres, polices, options... seraient tout petits.
 
Avec la gestion de Retina dans Acam, il sera très facile à l'application de doubler les tailles de tous les objets, comme le montre ce morceau de fenêtre en zoom x2
 

 
Il ne reste plus qu'à anticréneler les bords arrondis de la fenêtre, et de prévoir des icônes de plus grande dimension, et ce zoom sera géré sans que nous ayons besoin de le prévoir dans chacune de nos applications.
 
Bon week-end !
by Olivier Guillion

Dev News Thursday, Feb 12th, 2015 at 04:47pm
ACAM sur Mac étape 25
Le mode Retina commence à fonctionner. Pour fixer les idées voici une capture écran de la même partie du logiciel en mode standard :
 

 
et en mode Retina :
 

 
Il n'y a pas apparemment de possibilité de tester si le périphérique est Retina : cela apparait en système 10.7 et nous voulons fonctionner en 10.6 minimum.
L'utilisateur devra paramètrer le mode depuis l'application.
Cette boîte de paramétrage a été mise en place.
by Didier Guillion

Dev News Wednesday, Feb 11th, 2015 at 05:08pm
ACAM et Retina

Nous avons progressé dans l'implémentation des affichage de type "Retina" dans ACAM.
 
Etant donné que cela modifie les fonctions de bas niveau, voire de très bas niveau d'ACAM, nous devons mettre cela en place sur l'ensemble des plateformes, même si pour l'instant seul le Mac gère ce type d'écran de haute précision (plus de 200 pixels/pouce).
 
Des facteurs d'échelle ont dû être ajoutées à de nombreux endroits dans ACAM, afin de travailler en interne sur des données très précises (4, 9 ou 16 fois plus précises qu'originellement), tout ceci sans que l'application n'ait besoin d'être modifiée.
 
Cela fonctionne pas trop mal sur la version PC,  il reste à reporter ces modifications sur la version Mac.
 
Quant à ce qui est de tester sur un vrai écran Retina, on attendra que les 1000 pixels tombent au-dessous de 10 centimes d'euros.
by Olivier Guillion

Dev News Tuesday, Feb 10th, 2015 at 04:53pm
ACAM sur Mac étape 24
Allez, on commence à reprendre point par point tout ce qui n'était pas vraiment fondamental et qui est resté en suspends :
 
Correction d'un problème de masquage des fenêtres flottantes.
Correction d'un problème de presse-papier.
Correction d'un problème dans la forme du cadre des fenêtres.
Correction d'un problème d'affichage des menus contextuels.
Correction d'un problème de mise à jour des fenêtres de fond de dialogue.
by Didier Guillion

Dev News Monday, Feb 9th, 2015 at 04:54pm
Acam Winter étape 38

 
Une version alpha-5 a été mise à disposition vendredi soir. Nous pensions avoir corrigé le problème d'icône de l'application dans le lanceur, qui n'apparaissait pas et était remplacée par un point d'interrogation.
 
Malheureusement, notre correction ne fonctionnait toujours pas sur certaines distributions.
 
Nous avons localisé le problème et amélioré le fichier "desktop" qui permet au système d'obtenir des informations sur les applications installées.  
Ceci faisant partie du processus d'installation et non de l'application elle-même, nous avons republié le paquet dans le courant du week-end, sans changer la version qui reste en alpha-5.
 
Nous en avons également profité pour nous débarrasser de l'affichage disgracieux de points lors du décompactage de l'archive, en modifiant légèrement le petit script embarqué dans l'auto-extractible.
by Olivier Guillion

Dev News Friday, Feb 6th, 2015 at 04:59pm
ACAM sur Mac étape 23
Maintenant qu'Harmony est complètement indépendant de QuickTime, QuickDraw et Carbon, nous pouvons commencer à analyser des fonctionnalités qui nous ont été demandé et qui restaient en attente.
 
Parmi celles-ci une meilleure intégration avec les écrans de type Retina. Nous avons donc passé la journée à comprendre de quoi il s'agit et à installer les outils permettant d'émuler ce genre de périphérique (nous ne disposons pas d'écran de ce type).
 
Un écran Rétina est un écran où la correspondance pixel-point n'est pas 1 pour 1 mais plutôt 4 pour 1, c'est à dire qu'il faut 4 pixels pour dessiner un point écran. Ceci améliore grandement le lissage des caractères par exemple.
Il nous faut donc mettre en place dans Acam la possibilité de travailler sur une surface 4 fois plus grande que celle de la fenêtre puis de transférer cette surface sur la fenêtre.  
 
Des essais rapides ont montré que le principe est bon. Il nous reste maintenant à modifier en profondeur Acam pour lui faire accepter ce facteur d'échelle.
 
Bon week-end !
by Didier Guillion

Dev News Thursday, Feb 5th, 2015 at 05:10pm
Acam Winter étape 37

 
 
Le problème de polices de caractères peu visibles sur certaines versions de Linux a été corrigé.
 
Divers petits problèmes ergonomiques ont été corrigés dans le sélecteur de fichier (touche Entrée ou backspace, double-clic sur un fichier déjà sélectionné, etc).
 
Mais le principal travail a été effectué sur la gestion du "drag & drop", c'est-à-dire la possibilité de déplacer un fichier vers une fenêtre d'Harmony.
Cette opération a été uniformisée sur les 3 plateformes (Mac/Windows/Linux), en prenant la version MacOS comme base de travail.
Ainsi, dorénavant, sur Linux et Windows :  
 
- Déplacer un fichier musical vers une zone libre de la fenêtre principale d'Harmony ouvre ce fichier
 
- Déplacer un fichier quelconque (fichier graphique ou partition) vers une fenêtre document en mode page crée dans la partition un objet libre contenant ces données. Ceci permet d'ajouter des objets graphiques avec un minimum d'efforts
 
Et, cerise on ze gateau, sur Windows, cela permet de déplacer une image depuis une page Web ouverte avec Firefox vers un document musical ouvert dans Harmony  
 
by Olivier Guillion
 2 comments.


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
Mar 5th, 2015 at 05:01pm 
Article from Olivier Guillion
Acam et justification (2)
Mar 5th, 2015 at 07:10am 
Comment from Antoine Bautista
Quel est le Mobile ???
Mar 4th, 2015 at 04:59pm 
Article from Didier Guillion
ACAM sur Mac étape 30
Mar 4th, 2015 at 04:59pm 
Article from Didier Guillion
ACAM sur Mac étape 30
Mar 3rd, 2015 at 05:12pm 
Article from Olivier Guillion
Acam et justification
Mar 3rd, 2015 at 07:10am 
Comment from Antoine Bautista
Une seule suffit...
Mar 2nd, 2015 at 07:34pm 
Comment from bubu42
Mar 2nd, 2015 at 04:54pm 
Article from Didier Guillion
New Order et la TVA (2)
Mar 2nd, 2015 at 04:54pm 
Article from Didier Guillion
New Order et la TVA (2)
Feb 27th, 2015 at 05:12pm 
Article from Olivier Guillion
Acam Winter étape 43

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