Myriad Blog 1.3.0 Friday, Aug 29th, 2014 at 06:23pm 

Dev News Thursday, Jun 30th, 2011 at 05:05pm
Acam III, version Ubuntu, étape 52

 
Nous avons poursuivi la mise au point de l'installation de Melody Assistant sous Linux, avec l'association des types de documents (myr, mus,..) à l'application, l'icône spécifique au document, etc.
Cela s'est bien passé sur certains points, alors que d'autres ne fonctionnent pas. Cette partie du système semble plutôt bancale, avec plusieurs méthodes pour arriver au même résultat, chacune "coiffant" l'autre dans un ordre indéterminé.
 
Dans le programme lui-même, certaines choses qui fonctionnaient sur nos versions de développement se sont mises à réagir différemment sur la version beta que nous préparions. Cela va donc être assez difficile à corriger. De plus, nous nous sommes dits qu'il serait judicieux de détourner les crashes de l'application vers une de nos fonctions, afin de nous permettre une recherche et une résolution plus faciles des  problèmes rencontrés.
 
C'est pourquoi nous allons vraisemblablement attendre encore quelques jours avant de proposer une version beta (ou alpha), afin d'être prêts à gérer les retours dans de bonnes conditions. Déjà que nous ne sommes pas spécialistes de Linux, si en plus nous n'avions pas toutes les informations possibles sur un dysfonctionnement, les corrections s'avéreraient vite compliqiuées.
by Olivier Guillion

Dev News Wednesday, Jun 29th, 2011 at 04:59pm
Acam III, version Ubuntu, étape 51

Voilà, une première version de l'installateur a été finalisée. Mais comme nous sommes un peu perfectionniste et enthousiaste nous nous sommes dit que ce serait sympa pour l'utilisateur d'avoir des musiques de démo pré-installées dans ses documents et un raccourci sur Melody Assistant sur son bureau (Plutôt que de passer par le menu Applications>Audio & Video>Melody Assistant)
Et ce fut le genre de petit plus qui nous a inutilement mangé la journée entière.  
Pour une raison étrange l'installation se fait obligatoirement en mode 'root', et dans ce mode il nous est impossible de connaître la position des dossiers de l'utilisateur courant.
Nous avons cherché dans toutes les directions sans résultat.  
Bon, ce n'était qu'un plus, la première bêta est proche, peut être bien d'ici la fin de semaine !
by Didier Guillion

Dev News Tuesday, Jun 28th, 2011 at 05:14pm
Acam III, version Ubuntu, étape 50

 
Les dernières imperfections graphiques flagrantes ont été corrigées, notamment lors du redimensionnement de fenêtres. Des irrégularités dans l'appel aux fonctions d'impression de GTK ont également été corrigées.
 
Nous avons ensuite mis en place la gestion des numéros de série pour Linux de Melody Assistant et Virtual Singer, ainsi que les diverses autres protections du logiciel.
 
Outre Acam et Linux, nous avons par ailleurs été pas mal occupés par un problème sur notre serveur de mails, qui a duré près d'une journée entre dimanche soir et lundi. Certains messages de spam, contenant une très grosse liste de de destinataires (plusieurs dizaines de milliers) occupaient notre filtre anti-spam suffisamment longtemps pour empêcher une relève correcte de nos e-mails. Nous avons donc "patché" le programme de filtrage, écrit en Perl, pour ignorer les listes trop longues.
by Olivier Guillion

Dev News Monday, Jun 27th, 2011 at 04:45pm
Acam III, version Ubuntu, étape 49

 
Le package d'installation est maintenant quasiment opérationnel. Le .deb que nous créons est reconnu par la logithèque et balayé sans erreur. A l'installation, un raccourci est créé dans la liste des applications avec l'icône appropriée.  
 

 
Un double click sur cette icône lance l'application.
Les polices sont installées dans le système et reconnues. Que demander de plus ?
 
Au passage la Logithèque souffre de quelque problèmes. Par exemple, elle indique que l'application est installée alors que c'est loin d'être le cas : des scripts de copies tournent encore en tâche de fond et il faudra attendre plusieurs minutes avant de pouvoir effectivement la lancer...
by Didier Guillion
 1 comment.

Dev News Friday, Jun 24th, 2011 at 05:06pm
Acam III, version Ubuntu, étape 48

 
Nous avons travaillé sur plusieurs points :  
 
- D'abord, la gestion du clavier, avec la prise en compte des touches mortes telles que l'accent circonflexe qui ne montre rien jusqu'à ce qu'on tape une voyelle. En théorie, le programme gère aussi les IME, méthodes de saisie au clavier destinées aux langues à la graphie complexe (Chinois, Japonais...), mais nous n'avons pas réussi à configurer le système Ubuntu pour le tester. Il ne subsiste que quelques problèmes dans la gestion des raccourcis clavier de Melody.
 
- Ensuite, nous avons complété les trous dans les fonctions d'affichage des textes, avec la prise en compte des styles souligné, relief, ombré, condensé et étendu :
 

 
- Nous avons à nouveau cherché vainement le moyen d'utiliser une police de caractères sans l'installer préalablement dans le système. Il est extrêmement étonnant que cette fonctionnalité n'existe pas, car cela empêcherait d'envisager des applications portables (utilisables sans installation depuis une clé USB) qui embarqueraient leurs propres polices. Mais on a pourtant bien cherché...
 
L'un dans l'autre, il commence tout de même à y avoir de moins en moins de problèmes visibles, la version beta approche à grands pas.
 
Sur ce, bon week-end à tous !
by Olivier Guillion

Dev News Thursday, Jun 23rd, 2011 at 05:03pm
Acam III, version Ubuntu, étape 47

Les saisies numériques semblent maintenant fonctionnelles.
Nous avons donc attaqué une phase importante : l'installation du logiciel sous Ubuntu.
Avec les dernières versions du système il semble qu'une nette amélioration a été introduite.
L'application "Logithèque" permet d'installer des "paquets" au format .deb (pour Debian).
La première étape a donc été de créer un fichier archive .deb reconnu par la Logithèque.
Ce qui a été fait :
 

 
Cependant, il apparait que les droits d'accès de nos fichiers ne sont pas correct, il faudra remédier à cela dans la prochaine étape.
by Didier Guillion

Dev News Wednesday, Jun 22nd, 2011 at 05:15pm
Acam III, version Ubuntu, étape 46

 
 
Quelques fonctionnalités ont été mises en place ou améliorées:
 
- la couleur de certaines icônes (par exemple, l'icône du chanteur dans la palette VS)  était erronée. Cela a été corrigé.
 
- Les textes n'étaient pas affichés exactement au bon endroit. Cela a été amélioré.
 
- Les textes en rotation n'étaient pas bien gérés.
 
- Enfin, nous avons mis en place un système permettant à l'application d'être mono-instance. Cela signifie que lorsque l'application est lancée, et que vous double-cliquez à nouveau dessus, elle n'est pas lancée une seconde fois. Ou, si vous double-cliquez sur un fichier musical, il s'ouvre dans l'application déjà lancée, sans démarrer une deuxième copie du programme.
 
Ce type de comportement d'application n'était pas prévu dans les versions précédentes de GTK. Des librairies avaient été écrites pour gérer cela, puis elles ont été remplacées par des appels dédiés dans le système. Il nous a été impossible de les faire fonctionner l'un ou l'autre correctement. Nous avons donc dû nous résoudre à mettre en place notre propre système, qui passe par des communications inter-processus bas niveau de Linux.
by Olivier Guillion

Dev News Tuesday, Jun 21st, 2011 at 05:03pm
Acam III, version Ubuntu, étape 45

Voilà quatre jours que nous souffrons sur les saisies de données numériques depuis un microphone. Les sorties avaient été gérées de manière simple et rapide, ce n'est pas le cas des entrées.
Les docs officielles disent qu'il suffit de faire comme pour une sortie en remplaçant le "write" par un "read".
Faux, faux, faux ! C'est beaucoup plus complexe...
Dans l'état actuel nous arrivons à afficher le vu-mêtre et à faire une saisie de son utilisateur.
 

 
Mais ce de façon synchrone : le programme saisi régulièrement des données sur le pilote Alsa. Ce que nous voudrions c'est arriver à fonctionner de manière asynchrone : le pilote Alsa nous invoquant quand des données sont disponibles afin d'être sur de ne pas en perdre.
by Didier Guillion

Dev News Monday, Jun 20th, 2011 at 05:02pm
Acam III, version Ubuntu, étape 44

 
Un peu lassés de buter pendant des jours sur quelques points critiques (synchros MIDI, saisies complexes au clavier, etc), nous nous sommes un peu détendus en s'attaquant à d'autres fonctions pas encore écrite ou pas complètement fonctionnelles.
 
Ainsi, nous avons finalisé la gestion des pointeurs souris, la vérification des périphériques de sortie utilisés par une partition, avons géré le presse-papier, qui permet de coller dans Melody des textes copiés depuis une autre application Linux (et vice-versa), et avons arrangé l'export MP3.
 
Au sujet de cet export, justement, en tant que programmeurs assez expérimentés, nous sommes restés bouche bée devant le comportement de certaines fonctions C sur Linux.
Le C, qui est destiné à être portable, utilise en interne le point décimal (.) pour séparer la partie entière de la partie à virgule des nombres. Ainsi, 4 et demi s'écrit 4.5
 
Plusieurs des fichiers de données de Melody (tables MP3, voix Virtual Singer, etc) sont en fait des fichiers au format texte contenant de telles valeurs.  
 
Lors de la lecture de ces fichiers, le programme tronquait des valeurs, puis plantait lamentablement. Ce n'est qu'après quelques heures de recherche que nous nous sommes rendu compte que le programme attendait comme séparateur une virgule et non un point, puisque notre système est en français. Il a fallu explicitement fixer le séparateur à "." pour que cela fonctionne ! Du jamais vu, sur aucun des systèmes que nous ayons pu rencontrer ces 20 dernières années.
 
Cela a sans doute des conséquences sur le fonctionnement de pas mal de programmes. Si un programmeur américain écrit, dans un programme GTK, quelque chose d'aussi basique que :
Code:
if(atof("4.5")>4.0) printf("All right");

son programme fonctionnera chez lui mais pas en France... Si nous avions été anglophones, nous ne nous en serions probablement aperçus que lors du signalement de problèmes de quelques clients étrangers. Rassurez-moi, il y en a d'autres, des monstruosités comme celles-là?
by Olivier Guillion
 5 comments.

Dev News Friday, Jun 17th, 2011 at 05:08pm
Acam III, version Ubuntu, étape 43

 
Côté synchronisation des envois de données MIDI, les choses se présentent mal. Contrairement à MacOS ou à Windows, Linux ne semble pas prévu en standard pour effectuer des tâches temps réel, nécessitant une synchronisation précise. Il semblerait que pour cela, il faille travailler à un niveau beaucoup plus bas, ce qui compliquerait beaucoup trop l'application et son installation.
 
Donc, nous avons essayé de faire avec ce que nous avions, notamment les "timers" d'Alsa. Grâce à eux, il est possible de définir qu'une partie de notre programme (celle qui envoie les données MIDI) soit appelée régulièrement, toutes les millisecondes, par exemple. Cela a d'abord plutôt bien fonctionné, et nous avons pu tester la régularité des appels et la fiabilité de ce système, puis avons tout mis au propre, croyant que notre problème était résolu.
 
Malheureusement, il semble que, dans la pratique, cette fonctionnalité ne soit pas gérable. Elle perturbe gravement tous les timings du reste du programme, en rendant inutilisables  les fonctions système telles que "sleep" ou "usleep", et en induisant des ralentissements sensibles dans la gestion des événements de l'interface graphique.
 
Croyant que nous avions commis une erreur dans l'écriture du  code, nous avons compilé l'exemple "timer.c" livré avec ALSA et l'avons essayé sur une vraie machine Linux. Même résultat. C'est donc bien un problème inhérent aux timers ALSA, et nous en sommes revenus au point de départ, avec de moins en moins d'espoir de pouvoir faire fonctionner la sortie MIDI correctement dans la version Linux.
by Olivier Guillion
 6 comments.

Dev News Thursday, Jun 16th, 2011 at 05:05pm
Acam III, version Ubuntu, étape 42

La gestion de l'écho lorsque l'on pose des notes a été implémenté, que ce soit en mode optimisé ou non optimisé.
Nous avons amélioré les séquences d' initialisation des périphériques audio avec l'affichage en clair du message d'erreur précis que nous fournit Alsa.
Nous attaquons maintenant la saisie numérique, ce n'est pas aussi simple que la sortie numérique. Mais enfin, nous recevons des paquets de données que nous devons maintenant traiter.
Sur notre feuille de route il nous reste avant la première bêta : les saisies clavier IME (pour les langues exotiques), la sortie synchronisée MIDI, la saisie numérique et bizarrement l'export en MP3 qui ne fonctionne pas.
Nous avons ouvert un fil sur le Forum pour créer une première équipe de bêta testeur.
by Didier Guillion

Dev News Wednesday, Jun 15th, 2011 at 05:03pm
Acam III, version Ubuntu, étape 41

 
La gestion des entrées-sorties MIDI a été implémentée sans trop de difficultés. Nous avons pu trouver les fonctions très bas niveau (choix de l'interface MIDI, envoi des données MIDI brutes) dont nous avions besoin.
 
On peut donc maintenant sélectionner une interface MIDI dans la boîte de configuration matérielle, et appuyer sur le bouton "Test" pour entendre des notes se jouer sur la MIDI.
 
Nous avons ensuite essayé de passer à l'étape suivante, jouer la musique sur une sortie MIDI. Et là, nous nous heurtons à un problème ardu : la difficulté (l'impossibilité?) sur Linux de définir qu'une fonction est appelée à intervalle régulier, et très souvent, par exemple à chaque millième de seconde.
Cela nous est nécessaire pour obtenir une sortie MIDI bien régulière et synchronisée, et, pour l'instant, nous n'avons pas réussi à trouver une manière de faire cela.
by Olivier Guillion

Dev News Tuesday, Jun 14th, 2011 at 05:02pm
Acam III, version Ubuntu, étape 40

Nous attaquons la gestion des périphériques sous Ubuntu. VirtualBox est plutôt bien fait puisqu'il permet de définir qu'un périphérique USB n'est pas associé à la machine hôte mais à la machine virtuelle.
Cela suppose cependant que les périphériques ne soient pas trop anciens...
Ainsi sur Mac, l'iMic de Griffin est reconnu sans problème, ce qui permet de faire des saisies numériques au microphone sous Ubuntu. Par contre rien à faire pour notre interface Midi USB
Sur Ubuntu fonctionnant sous Windows, pas de problème par contre pour les entrées/sorties Midi.
L'un dans l'autre nous avons donc un jeu complet de périphériques reconnus par Ubuntu.
Nous nous sommes alors plongé dans la détection de ces matériels par nos logiciels, ce à quoi nous sommes parvenus sans trop de problèmes.
Prochaine étape, jouer une musique sur le périphérique Midi choisi depuis Melody...
by Didier Guillion

Dev News Friday, Jun 10th, 2011 at 05:00pm
Acam III, version Ubuntu, étape 39

 
Pour finir la semaine, nous avons finalisé l'envoi de mail depuis le programme. Nous voulions inclure dans le mail le maximum d'informations sur la configuration matérielle : version de GTK, d'Alsa, du noyau Unix.  Cela n'a pas été facile, mais c'est maintenant fonctionnel.
 
Nous avons attaqué ensuite la boite de la configuration matérielle.
 

 
Obtenir la liste des périphériques installés s'est avéré assez redoutable mais cela commence à marchotter.
 
Maintenant, pour pouvoir tester la MIDI, il va nous falloir faire reconnaître un périphérique USB par Virtual Box et y accéder via Ubuntu/Alsa, cela va être chaud...
 
Bon weekend !
by Didier Guillion

Dev News Thursday, Jun 9th, 2011 at 05:03pm
Acam III, version Ubuntu, étape 38

 
Aujourd'hui, nous avons momentanément laissé tomber les problèmes d'ordre d'empilage des fenêtres (sous Unity, il faut cliquer 2 fois sur un document pour  faire passer sa fenêtre à l'avant-plan) afin d'avoir l'impression d'avancer un peu.  
 
Nous avons donc implémenté:
 
- Les clics et double-clics souris avec les deux boutons (en fait, jusqu'à 5 boutons)
 
- Les défilements rapides avec la molette de la souris
 
- Les touches du clavier "modifiers" (Ctrl, Maj, Alt, etc)
 
- Les raccourcis clavier dans les menus (Ctrl N pour "Nouveau", etc)
 
- L'entrée de textes au clavier. Pour l'instant, c'est une version très simplifiée, qui ne permet pas d'entrer les caractères accentués sur deux touches (ê, ï, etc) ni les langues complexes (japonais, arabe,...), mais c'est déjà suffisant pour tester en profondeur.
 
- Les touches fléchées, page précédente, page suivante, suppressions, tabulations, etc dans l'édition des textes
 
Maintenant, nous essayons, au sens propre, d'arrondir les angles de nos fenêtres, en bataillant avec les documentations incomplètes, obsolètes ou même trop à jour, Ubuntu n'intégrant pas encore la dernière version de GTK.
by Olivier Guillion
 2 comments.

Dev News Wednesday, Jun 8th, 2011 at 04:57pm
Acam III, version Ubuntu, étape 37

Aujourd'hui nous avons attaqué les connections Internet depuis le programme. Comme nous n'avons rien trouvé de vraiment convivial dans GTK nous nous sommes tournés vers la librairie libre multi-plateformes Curl.  
Nous connaissons bien Curl puisque elle a été intégrée il y a quelques années dans Galerie, où elle assure  les transferts FTP des images. Nous en gardions un bon souvenir : du solide et du bien pensé.
Passé l'étape douloureuse de la compilation en ligne de commande, nous l'avons lié à notre projet et défini une couche universelle de communication.
Au bout de quelques heures, des pans entiers de l'interface commencent à apparaître....
 
Tout d'abord le téléchargement et l'interprétation des didacticiels vidéo.
 

 
Puis la recherche via Kooplet, avec téléchargement des documents.
 

 
Enfin, sur une version un peu mutante de Melody, la création et la gestion des espaces utilisateurs MUSL.
 

 
Il nous reste à gérer l'envoi de mails depuis le programme.
 
Curl fonctionne vraiment bien et nous envisageons de l'utiliser dans les versions Mac et Windows de nos programmes afin d'uniformiser le tout.
by Didier Guillion

Dev News Tuesday, Jun 7th, 2011 at 05:02pm
Acam III, version Ubuntu, étape 36

 
Nous continuons à progresser, parfois pas aussi vite que nous le voudrions, principalement en raison du manque de documentation complète de chacun des modules du système.
 
Mais bon, nous avons pu mettre en place:
 
- La gestion de la forme du curseur de la souris, ceci incluant les formes définies par l'application
 
- Les processus permettant à l'application de prendre en compte les mouvements et redimensionnements de fenêtres que le système n'a pas pu mener à bien
 
- L'ordre d'empilage des fenêtres, notre petite astuce (voir étape 34) ne fonctionnant pas sur Unity. Nous avons trouvé une parade, mais nous ne pouvons pas être certain qu'elle fonctionnera sur les prochaines versions...
 
Dès que nous aurons une version de Melody qui tourne de manière à peu près satisfaisante, nous ferons bien entendu appel aux Linuxiens parmi vous pour démarrer une session d'alpha-test. Mais, à l'heure actuelle, c'est encore un peu prématuré : les problèmes de fonctionnement sont encore nombreux, et nous les détectons aisément. Des rapports de problème ne nous seraient donc pas utiles à ce stade.
by Olivier Guillion

Dev News Monday, Jun 6th, 2011 at 04:55pm
Acam III, version Ubuntu, étape 35

Nous sommes toujours sur l'impression des documents. Sur GTK il n'y a pas de notion de ppp sur les contextes graphiques puisque la collecte des objets se fait avec une précision en virgule flottante sur une aire, ma foi, assez réduite. Nous avons donc émulé cela pour le faire fonctionner avec nos systèmes de coordonnées.
Dans la foulée nous avons implémenté le remplissage des aires avec des patterns.
Nous allons maintenant attaquer l'impression des images bitmap embarquées dans le document.
by Didier Guillion

Dev News Wednesday, Jun 1st, 2011 at 05:04pm
Acam III, version Ubuntu, étape 34

 
Nous avons résolu une partie des problèmes liés au système de fenêtrage, abordés dans le billet de l'étape 31.
N'ayant pas trouvé de solution "propre", nous avons exploité une fonction a priori pas destinée à cela, mais qui nous permet de réaliser ce que l'on désire, c'est-à-dire positionner les fenêtres les unes au-dessus des autres dans l'ordre voulu.
 
Nous espérons seulement que cela fonctionnera de la même façon dans les autres versions de Gnome, et les futures versions d'Ubuntu.
 
Reste un problème inhérent au système, qui est le délai entre les ordres donnés au gestionnaire de fenêtres et leur résultat effectif. En résumé, cela veut dire que notre programme positionne une fenêtre sur l'écran, lui donne une taille, mais cette position et cette taille ne seront réellement appliquées qu'au bout d'un certain temps, et encore, peut-être pas avec les valeurs demandées.
 
Cela a donc nécessité de mettre en place un système de feedback qui réajuste les valeurs internes à  ACAM par rapport à ce qui s'est véritablement passé sur l'écran. Il y a encore quelques ratés, mais globalement ça fonctionne plutôt bien.
 
Nous implémentons maintenant les curseurs souris définis par l'application. En effet, en leur absence, la forme du curseur reste fixée sur un rond avec des points qui tournent, équivalent Ubuntu du sablier de Windows.
Cela nous gène pour voir ce qu'il y a sous la souris, et pour cliquer précisément sur les icônes ou sur la partition.
by Olivier Guillion
 1 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
Aug 29th, 2014 at 04:56pm 
Article from Olivier Guillion
Harmony et les VST(i) Partie 3
Aug 28th, 2014 at 05:04pm 
Article from Olivier Guillion
Harmony 9.6 et autre, étape 707
Aug 27th, 2014 at 05:30pm 
Comment from Oliveira
Adelante
Aug 27th, 2014 at 05:04pm 
Comment from Nicou59
Aug 27th, 2014 at 05:04pm 
Comment from Nicou59
Aug 27th, 2014 at 05:01pm 
Article from Olivier Guillion
Harmony et les VST(i) Partie 2
Aug 27th, 2014 at 07:22am 
Comment from Antoine Bautista
les lignes...
Aug 27th, 2014 at 07:20am 
Comment from Sylvain Machefert
pré réglages
Aug 26th, 2014 at 05:00pm 
Article from Olivier Guillion
Harmony 9.6 et autre, étape 706
Aug 26th, 2014 at 05:00pm 
Article from Olivier Guillion
Harmony 9.6 et autre, étape 706

Top of page
Last update:  (c) Myriad 2013