Myriad Blog 1.3.0 Tuesday, Oct 17th, 2017 at 02:58pm 

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

Myriad Life Wednesday, Dec 24th, 2014 at 05:11pm
Joyeux Noël 2014 !

 
La longue nuit de Noël est là.  
Nous vous souhaitons une douce nuit, en famille, au pied du sapin !
by Didier Guillion

Dev News Wednesday, Dec 24th, 2014 at 04:57pm
ACAM sur Mac étape 9
Bien que présentant tout un bataillon de fonctions encore à écrire, Acam est fonctionnel sur Mac. Dans le futur il faudra essayer de déterminer si les éléments de l'interface peuvent être dessinés via le système : on sait que les utilisateurs Mac  n'aiment pas trop les applications qui changent l'aspect de l'interface.
Nous attaquons maintenant le passage d'un gros projet sous Acam : essayons de voir ce que cela donne avec Harmony Assistant par exemple...
by Didier Guillion

Dev News Monday, Dec 22nd, 2014 at 04:54pm
ACAM sur Mac étape 8
Le module d'impression commence à fonctionner.  
Petit rappel du fonctionnement interne :
Lorsque le programme trace une page du document, les ordres QuickDraw sont collecté dans une zone mémoire. Si l'on sauvegarde cette zone on obtient un fichier image de type PICT.
Cette zone mémoire peut être affiché sur l'écran via un offscreen (une surface en couleur) ou imprimé via le pilote d'impression. Les différents ordres collectés sont dans ce cas interprétés par Acam et transformés en commandes CoreGraphicsqui sont envoyés à l'imprimante.
Il reste maintenant à traiter une à une chacune des commandes QuickDraw et les transformer en commande CoreGraphic.
by Didier Guillion

Dev News Thursday, Dec 18th, 2014 at 04:49pm
ACAM sur Mac étape 7
Les courbes de Bezier fonctionnent enfin !
 

 
Les fenêtres Cocoa ne peuvent être a la fois dans la liste des fenêtres et invisible. Une ruse a permis de pallier à ceci.
 
La cartographie brute du clavier a été implémenté (elle permet de déterminer rapidement si une ou plusieurs touches sont enfoncées)
 
Au passage plein de petites irrégularités ont été corrigées.
 
Maintenant, nous allons attaquer un gros morceau, l'impression.
by Didier Guillion

Dev News Tuesday, Dec 16th, 2014 at 04:55pm
ACAM sur Mac étape 6
Les styles de base des textes (souligné, gras) ont été implémenté en CoreText
Les polices embarquées sont reconnues par le CoreText et correctement affichées.
Nous essayons de faire fonctionner les courbes de Bezier via les entrées graphiques standard, pour l'instant sans succès.
by Didier Guillion

Dev News Friday, Dec 12th, 2014 at 05:00pm
ACAM sur Mac étape 5
Pour finir la semaine, les fenêtres de sélection du nom du fichier en lecture et écriture ont été implémentées via un appel Cocoa, elles seront donc au "look" du système.
 
L'affichage des images a été réécrit pour utiliser des surfaces Quartz ce qui nous rend normalement indépendants de Quicktime :
 

 
Enfin, l'affichage des textes qui utilisait la technologie ATSUI se fait maintenant via le CoreText. L'ATSUI comportait des petits bugs jamais corrigés, par exemple certaines polices perdaient leur capacité à s'afficher en gras sans raison valable.
Le CoreText est assez bien fait quoique complexe et semble puissant. D'après Apple il serait deux fois plus rapide que l'ATSUI.
 
Ce n'est pas encore totalement fonctionnel. Il nous manque par exemple la capacité d'utiliser des polices fournies avec l'application et non installées dans le système.
 
Bon week-end !
by Didier Guillion
 1 comment.

Dev News Wednesday, Dec 10th, 2014 at 04:53pm
ACAM sur Mac étape 4
Les problèmes graphiques ont été corrigés et la fenêtre principale s'affiche maintenant correctement :
 

 
L'interface réagit aux clics souris et aux touches clavier.
 
Les boites de dialogue additionnelles s'ouvrent également :
 

 
Elles sont fonctionnelles. L'aspect est bien entendu celui d'Acam et non de Mac OS X puisque nous traçons tout "à la main".
 
Enfin, cerise sur le gâteau, la musique se joue en utilisant le CoreAudio.
 
Maintenant, il faut attaquer la gestion des fenêtres standards de sélection de fichier en lecture et écriture.
by Didier Guillion
 2 comments.

Dev News Monday, Dec 8th, 2014 at 04:55pm
ACAM sur Mac étape 3
Les fichiers de configuration et de ressource sont maintenant correctement localisé. La lecture/écriture des fichiers passe maintenant par les entrées standard Unix fopen et fclose. Or sur Mac les fichiers sont divisés en deux parties, le ressource fork et le data fork. La fonction fopen ouvre le data fork. Apple a du ruser méchamment pour permettre d'accéder au ressource fork. Voici l'astuce :
soit xxxx le nom d'un fichier fopen("xxxx","rb") va ouvrir le data fork et fopen("xxxx/..namedfork/rsrc","rb") va ouvrir le ressource fork. Ce n'est pas très élégant mais cela fonctionne.
 
Nous obtenons donc ceci :
 

 
La barre de menu est correctement affichée et gérée.
La fenêtre s'ouvre avec un titre et on peut la déplacer.
Le document musical se charge apparemment correctement.
L'affichage essaie de s'exprimer mais avec beaucoup de mal.
 
On progresse, on progresse...
by Didier Guillion

Dev News Thursday, Dec 4th, 2014 at 04:48pm
ACAM sur Mac  étape 2
Nous avons avancé sur le portage de Melody Player sur Mac OS sans Carbon. L'astuce était de faire croire au Mac OS que notre application est une application Cocoa écrite en Objective-C.  
 
Ce se fait via une petite amorce toute simple dont voici l'intégralité :
Code:

#import <Cocoa/Cocoa.h>
 
int main(int argc, char *argv[])
{
       if(NSApplicationLoad())
            {
            InitAppFileName(*argv);// Pour le chemin sur les ressources
            AcamInitSettings();
            [NSBundle loadNibNamed:@"MainMenu" owner:NSApp];
            mymain();
            }
}

C++ et Objective-C n'étant que des sur-couches au langage C on peut donc au sein d'un même projet, mixer les trois types de langages et appeler les fonctions de l'un à partir d'un autre.
 
Puis il a fallu lier avec Acam et le minimum de librairies. Nous avons ainsi obtenu un exécutable complet. Il va nous permettre de tester et peaufiner l'implémentation d'Acam sur Mac/OS.
Prochaine étape, gestion des accès aux fichiers et aux chemins.
by Didier Guillion

Dev News Tuesday, Dec 2nd, 2014 at 04:52pm
PDFtoMusic 1.5.0

 
Certains noms de polices embarquées dans le PDF pouvait contenir des caractères entrainant une erreur de l'export en MusicXML, un filtre a été appliqué à ces caractères.
 
Des barres de ligatures ou de tuplets pouvaient être confondues avec des tenuti, c'est corrigé.
 
Certains coulés étaient pris pour des tête de note en triangle, c'est corrigé.
by Didier 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
Oct 16th, 2017 at 04:45pm 
Article from Didier Guillion
Harmony 9.7 étape 131
Oct 13th, 2017 at 05:01pm 
Article from Didier Guillion
Harmony 9.7 étape 130
Oct 12th, 2017 at 05:08pm 
Article from Olivier Guillion
Versions RC1
Oct 11th, 2017 at 05:01pm 
Article from Didier Guillion
Harmony 9.8 étape 129
Oct 10th, 2017 at 05:12pm 
Article from Olivier Guillion
Harmony 9.7 étape 128
Oct 9th, 2017 at 04:59pm 
Article from Didier Guillion
Harmony 9.7 étape 127
Oct 6th, 2017 at 06:12pm 
Article from Olivier Guillion
Harmony 9.7 étape 126
Oct 5th, 2017 at 05:00pm 
Article from Didier Guillion
Harmony 9.7 étape 125
Oct 4th, 2017 at 05:07pm 
Article from Olivier Guillion
Harmony 9.7 et autre étape 124
Oct 3rd, 2017 at 04:59pm 
Article from Didier Guillion
Harmony 9.7 et autre étape 123

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