Myriad Blog 1.3.0 Friday, Nov 28th, 2014 at 09:33pm 

Dev News Wednesday, Jun 30th, 2010 at 04:57pm
Kooplet étape 43

Nous avançons par bonds sur le plug-in Flash.  
Parfois, nous bloquons sur un problème qui nous prends trois ou quatre heures, puis la solution vient et des pans entiers de code que nous avions écrit se mettent à fonctionner.  
Alors, voici les avancées de cette journée :  
Premier essai d'un jeu d'images pour représenter les notes, avec couche alpha de transparence.
Utilisation de ces mêmes images pour les boutons.
Gestion de l'activité des boutons selon le mode d'édition choisi.
Premiers essais de récupération de paramètres depuis JavaScript et envoi des paramètres à JavaScript lors de la demande de recherche.
La note à poser est représentée sur la portée lorsque l'on bouge la souris.
Affichage des images dans une couleur donnée (pour le curseur note)
Le plug-in flash a été testé sur Windows (nous développons sur Mac) et fonctionne de la même façon.
 
Nous en sommes là :

Certaines fonctionnalités sont opérationnelles sous l'interface Flex, mais ne marchent plus si on transfère le SWF dans un autre dossier. C'est très étrange, il nous faut comprendre cela.
by Didier Guillion
 8 comments.

Dev News Tuesday, Jun 29th, 2010 at 04:53pm
Kooplet étape 42

Gloria ! Nous avons réussi (au bout d'une journée) à enfin trouver comment afficher des images bitmap en AS3 (ActionScript 3).
Si cela peut intéresser quelqu'un...
Soit un fichier PNG "vuvu.png", on déclare :
Code:

      <mx:Image id="vuvu" source="@Embed(source='../images/vuvu.png')" visible="false" />

Son nom (ID) devient "vuvu". On réfère à l'objet via son nom : vuvu.  
Pour l'afficher à une position (x,y) donnée :
Code:

      private function getBitMapData(img:Image):BitmapData
            {
                  var dp:DisplayObject = img.content;
                  var bmp:BitmapData = new BitmapData(dp.width, dp.height, true, 0x00000000);
                  bmp.draw(dp);
                  return bmp;
            }
      protected function AffichePict(This:DisplayObjectContainer,image:Image,x:Number,y:Number,co lor:Number):int
            {
                  var myBitmap:Bitmap;
                  var mySprite:Sprite = new Sprite();
                  
                  myBitmap=new Bitmap(getBitMapData(image).clone());
                  myBitmap.x=x;
                  myBitmap.y=y;
                  This.addChild(myBitmap);
                  return(x+myBitmap.width);
            }

Et on invoque:
AffichePict(parent,vuvu,10,10,couleur);
Pour l'instant la couleur n'est pas gérée mais cela doit être possible.
Nous en sommes là :

 
Nous allons maintenant dessiner les différents objets sous forme de PNG avec couche alpha et cela devrait rouler...
Nous gardons à l'esprit que la taille du SWF obtenu est très importante : il sera chargé sur notre serveur à chaque requête. Je ne sais pas si les navigateurs gèrent un cache pour ce genre de fichier.
 
Quand à Vuvu, notre hyménoptère préféré, que voici :

 
Il (elle plutôt) a construit 7 cellules de terre ces derniers jours, et en a presque fini quatre de mieux aujourd'hui.
by Didier Guillion
 4 comments.

Dev News Monday, Jun 28th, 2010 at 05:00pm
Kooplet étape 41

Las ! Malgré que notre police soit correctement embarqué, impossible de l'utiliser. Dès que le champ texte est marqué comme acceptant ce genre de police, l'affichage est vide. Nous avons épluché les docs Adobe et apparemment c'est un problème connu qui n'est pas prêt d'être corrigé. Nous avons alors tenté d'afficher les symboles via des fichiers images PNG avec un fond transparent. Déconfiture. Nous n'avons pas trouvé de moyen de charger un fichier image et de l'afficher plusieurs fois à des positions différentes. Apparemment un concept nous échappe.
Alors, un peu fatigués, nous avons progressé sur l'interface. Les boutons de commande ont été définis, avec de vrais morceaux d' icône dedans. Nous gérons les click sur quelques un de ceux-ci et cela fonctionne plutôt bien.
Nous en sommes là :

D'après les docs Adobe, il serait possible de communiquer avec la page Web via JavaScript et de jouer de la musique avec un système de buffering temps réél. C'est une bonne nouvelle mais nous ne l'avons pas encore expérimenté...
Pas de découragement, cela ne fait que deux jours que nous travaillons sur ActionScript/Flex/Spark/Flash. Nous n'avons d'ailleurs toujours pas compris où commence l'un et finit l'autre.
Et pour l'anecdote, c'est vuvuzela toute la journée pour moi : une guêpe solitaire a entrepris de construire son "nid" dans la feuillure de ma fenêtre, à moins de deux mètres de ma tête, et elle vronzine du lever au coucher du soleil. Je ne peux plus fermer la fenêtre.
by Didier Guillion
 4 comments.

Dev News Friday, Jun 25th, 2010 at 04:54pm
Kooplet étape 40

Nous explorons donc Flash et plus précisément Flex pour voir s'il est possible de réécrire la partie du plug-in qui gère la saisie de la recherche Kooplet.
L'environnement de développement Flash Builder est basé sur Eclipse, donc c'est assez mou en réactivité mais plutôt solide.
Les fichiers sources sont en XML, nous ne sommes pas dépaysés. La syntaxe est très très proche du C++, nous avançons en territoire connu.
Première bonne surprise, le déboggeur est opérationnel. Rappelons au passage qu'Apple n'a jamais été capable de finaliser un déboggueur pour son propre langage, AppleScript...
Deuxième surprise, interface et documentation technique sont en Français. Et la traduction est excellente.
Petit bémol, il y a eut plusieurs versions d'ActionScript (le langage, nous en sommes à la v3) et les mécanismes ont violemment changés dans le temps, ce qui fait que pas mal de codes d'exemples sont erronés. Le même problème se retrouve sur l'Internet.
 
Certains mécanismes nous sont absolument indispensables : pouvoir afficher ce que l'on veut dans une aire, récupérer en temps réel la position de la souris, être informé d'un click souris et enfin pouvoir être invoqué régulièrement via un "Idle".
Il n'y a pas d'élément d'interface "vide", alors nous rusons en définissant une image qui sert de fond et sur laquelle on peut faire des tracés.
Des méthodes sont données pour demander la position de la souris et recevoir les évènements de click. Bien.
Par contre pas de Idle, quelques heures à potasser la doc et on trouve que l'on peut programmer un timer (setInterval) qui va nous invoquer à intervalle régulier. Les 4 points de base sont validés.
Nous en sommes là :

 
Maintenant il nous faut "embarquer" notre police STOCCATA dans le projet et réussir à tracer des caractères musicaux. Le premier point a été très ardu, mais nous pensons y être arrivé. Pour les développeurs que cela intéresse, il faut placer en début de la section <![CDATA[    [Embed(source='../STOCCATA.TTF', fontName = 'stoccata', mimeType="application/x-font")]
 private static var stoccata:Class;

 
La suite au prochain numéro...
by Didier Guillion
 1 comment.

Dev News Thursday, Jun 24th, 2010 at 04:54pm
Kooplet étape 39

 
Alors que nous poursuivons la mise en place de la base de données de Kooplet, nous avons commencé à examiner les système de développement pour Flash.
 
Le but final serait de réécrire en Flash le module de recherche de séquence musicale, afin de permettre à un maximum de personnes de pouvoir utiliser le moteur, sans avoir besoin d'installer notre plug-in.
 
by Olivier Guillion

Dev News Wednesday, Jun 23rd, 2010 at 04:59pm
Harmony, Melody et autres étape 91

Aujourd'hui, compilation test et publication de la dernière version du Player et du Plug-in. Quelques améliorations mais surtout une mise à niveau vis à vis de Melody et d'Harmony.
Quelques jours de patience et nous allons générer le CD pour une publication en P2P.
Depuis quelques années nous proposions en téléchargement sur notre site, la base de son numérique SE : la GMSEBase. Maintenant, et grâce à l'augmentation de notre bande passante, elle est intégrée par défaut dans tous nos produits. Les pages correspondantes ont donc été supprimées.
by Didier Guillion

Dev News Tuesday, Jun 22nd, 2010 at 05:11pm
Kooplet étape 38

 
Le gestionnaire de base de données est maintenant entièrement réécrit. Les recherches rapides dans la base ont été inclues dans le gestionnaire, accélérant celles-ci d'un facteur de 10 à 100.
Ce module intègre pour cela des calculs de hash-tables et divers index, gérés automatiquement, ce qui simplifie grandement le programme spécifique à Kooplet.  Par contre, cela demande nettement plus de traitements lors du stockage des musiques dans la base.
 
Nous avons effectué quelques tests sur une base réduite à quelques milliers de fichiers, et les résultats semblent concluants.
 
Il faut maintenant créer ces index pour les  186000 fichiers déjà traités. Les premiers essais nous donnent à penser que ce traitement devrait prendre plus de 24h non stop.  
Nous essayons d'accélérer les calculs au maximum avant de lancer cela, histoire de ne pas monopoliser trop longtemps l'ordinateur sur lequel notre version locale de Kooplet est hébergée.
 
by Olivier Guillion
 3 comments.

Dev News Monday, Jun 21st, 2010 at 04:58pm
Harmony, Melody et autres étape 90

Myrscript : bridage du nombre de bits par sample lors de l'export MP3 puisque notre librairie ne le gère pas.
Melody Player : possibilité de définir un délai en secondes entre chaque musique de la liste.
Correction retaillage mode page.
by Didier Guillion
 2 comments.

Dev News Friday, Jun 18th, 2010 at 04:58pm
Kooplet étape 37

 
Ayant reçu très peu de retours sur la nouyelle version d'Harmony/Melody, nous avons pu nous remettre à travailler sur Kooplet.
 
Au programme: refonte totale des bases de données et des index rapides pour la recherche. Nous créons un module additionnel de gestion de base de données qui pourra ensuite nous servir dans tous les scripts qui en auront besoin. C'est du Perl "pur", donc, même si c'est probablement un peu moins performant qu'une solution toute faite, la portabilité est maximale, et nous contrôlerons l'intégralité de la chaîne logicielle, ce qui est utile en cas de bug ou de corruption de fichier.
 
Lorsque ce sera opérationnel, la recherche devrait être grandement accélérée.
 
by Olivier Guillion

Dev News Thursday, Jun 17th, 2010 at 05:30pm
Harmony, Melody et autres étape 89

Aujourd'hui finalisation et publication d'Harmony Assistant 9.5.1e et Melody Assistant 7.5.1e.
Avec un peu de chance ce sera la version définitive et on pourra attaquer autre chose...
by Didier Guillion

Dev News Wednesday, Jun 16th, 2010 at 04:39pm
Harmony, Melody et autres étape 88

 
Un crash a été corrigé dans le changement de volume de la table de mixage réduite
Nous en avons profité pour corriger d'autres petits problèmes liés à la table de mixage.
 
Egalement:
 
- Correction de l'import CMF
 
- Correction dans l'édition individuelle des notes
 
Enfin, nous rencontrons un problème très bas niveau : nous avons considéré, depuis quelques versions, que tous les PCs étaient dotés de processeurs incluant le jeu d'instructions MMX.
MMX est une extension destiné originellement au multimédia, et qui permet de la manipulation rapide de données en masse.
Nous l'avons donc utilisé pour des opérations de mouvement de mémoire.
Il semblerait que certains utilisateurs ne possèdent pas de processeur avec un jeu d'instruction compatible, cela ayant pour résultat un crash au démarrage de nos applications (pas seulement Harmony/Melody). Nous avons donc modifié notre code afin de le rendre plus propre, avec un test de la fonctionnalité avant de l'utiliser. Lorsque le processeur n'est pas compatible MMX, l'ancien code est utilisé, plus lent.
 
Malheureusement, nous n'avons pas pu trouver pour l'instant de moyen de tester cela, toutes nos machines étant compatibles MMX. Il faudra donc trouver un utilisateur rencontrant le problème et suffisamment aguerri pour tester une version beta privée.
by Olivier Guillion

Dev News Tuesday, Jun 15th, 2010 at 04:43pm
Harmony, Melody et autres étape 87

 
Nous avons, lors du changement de compilateur, rencontré des problèmes de mauvais fonctionnement interne des routines de compression de données.  
Problème d'abord dans la gestion du format MusicXML compacté (Mxl), rapidement corrigé, mais cela a alors déterioré le compactage des données lors de la gestion des aspects personnalisés de l'espace MUSL.
Nous l'avons également corrigé, et après un cafouillage dans la sortie de la nouvelle version, tout semblait fonctionner à nouveau.
 
Mais il semble que la compression/décompression était également utilisée à deux autres endroits:  
- Le chargement de l'ancien format propriétaire de fichiers MusicXML compressé (.xmz)
- Les fonctions PackFile/UnpackFile de MyrScript. Là impossible de savoir avec certitude combien de scripts les utilisent.
 
Ce sera donc corrigé dans la prochaine version d'Harmony, probablement en même temps que la sortie des nouvelles versions du player et du plug-in...
by Olivier Guillion

Dev News Monday, Jun 14th, 2010 at 04:53pm
Harmony, Melody et autres étape 86

 
Edition de la note : problème de recalcul de sens de la tige.
Sur Mac, possible erreur dans l'extraction des listes de fichier.
Décalage d'items dans certaines langues dans la boite d'aperçu avant impression.
La nouvelle version d'XCode propose une fonction assez sympathique d'analyse de source, nous sommes en train de l'utiliser pour localiser du code inutile ou d'éventuelles erreurs.
by Didier Guillion
 4 comments.

Dev News Friday, Jun 11th, 2010 at 04:41pm
Harmony, Melody et autres étape 85

 
Pour finir la semaine,  
 
Quelques corrections dans MyrScript, en particulier Symbol.Scale qui ne pouvait descendre en dessous de la valeur  un.
Ajustements de l'import MusicXML.
Corrections dans le mixeur.
 
Enfin, un site que je qualifierai d'Objet Musical Non Identifié, et qui m'a rappelé l'excellente planche de Franck :
http://www.myriad-online.com/resources/dogstory/pages/page_16.html
 
Au début on se dit, "Mais c'est quoi ce truc ?", et on se laisse ensuite porter par la magie et l'originalité du concept.
Mince, ce n'est pas tous les jours que l'on voit Stephen Hawking dans un clip vidéo...
http://www.symphonyofscience.com/
 
Enjoy !
by Didier Guillion

Dev News Thursday, Jun 10th, 2010 at 04:40pm
Harmony, Melody et autres étape 84

Il restait quelques problèmes assez important dans les archives postées hier : problème de décompression des images du MUSL, duplication d'un sous-dossier dans le dossier des scripts, etc, nous avons aussitôt publié un correctif.
Nous espérons que cette version n'a pas de problème majeur caché. Il faut dire que le nombre de fonctionnalités et d'interactions entre elles est astronomique. Nous testons au maximum, mais nous ne pouvons tout vérifier. Heureusement qu'il y a des utilisateurs perspicaces pour nous aider...  
La prochaine étape va être de réanimer le projet Kooplet en stand-by depuis quelques mois.
Allez, une petite vidéo marrante sur les Accords Magiques pour passer la soirée :
http://www.youtube.com/watch?v=5pidokakU4I
Nous, on a bien aimé !
by Didier Guillion
 1 comment.

Dev News Wednesday, Jun 9th, 2010 at 05:00pm
Harmony, Melody et autres étape 83

Aujourd'hui test et publication de la version 9.5.1 d'Harmony et 7.5.1 de Melody. Juste après, Grorom nous signale un problème d'affichage avec cette nouvelle version. L'archive est désactivée temporairement, une correction rapide appliquée et nous sommes en train de publier la version 9.5.1c ...
by Didier Guillion
 2 comments.

Dev News Tuesday, Jun 8th, 2010 at 04:57pm
Harmony, Melody et autres étape 82

 
- Une erreur de structure de fichier dans les définitions par l'utilisateur de tablatures pour harmonica empêchait la lecture d'anciens fichiers. Le problème a été corrigé, et une compatibilité rétablie entre les versions.
 
- La définition d'harmonica sans aucun trou (aussi appelé "bout de bois" ) ne fait plus planter l'affichage des tablatures
 
- Accélération de l'affichage des notes liées sur plusieurs mesures, du calcul de positionnement de ces notes en mode gravure, et de l'affichage des liés en général.
 
- Correction du script d'import NoteWorthy
 
- Recalage du marquage de la note en édition de note sur les portées avec parole.
by Olivier Guillion

Dev News Monday, Jun 7th, 2010 at 04:48pm
Harmony, Melody et autres étape 81

Aujourd'hui, travail sur le format ABC.  Le problème de l'ABC est qu'il a été abandonné par son concepteur et a commencé à diverger. Cependant depuis quelques années, à défaut d'un consensus clair, des docs plus précises ont été rédigées sur ce qui est standard, moins standard et carrément exotique.
 
Import ABC : Correction de la gestion des listes de parts.
Import et export ABC : Traitement des tonalités complexes
Import et export ABC : Traitement de l'ornement mordant supérieur
by Didier Guillion

Dev News Friday, Jun 4th, 2010 at 05:27pm
Harmony, Melody et autres étape 80

 
- Il est maintenant possible de définir la manière dont sont découpés graphiquement les silences liés.
 
- Correction de l'affichage des ruptures.
 
- L'épaisseur minimale des coulés à l'écran a été réduite, afin d'avoir un rendu plus fin
 
- Correction d'un problème d'affichage sur les accords de notes liées de durées différentes
 
- Correction de problèmes de durées de notes dans Virtual Singer, dans des cas assez rares
 
- Correction d'un crash dans l'essai de la grille d'accord, lorsqu'aucune portée n'est présente dans le document
 
Bon week-end!
by Olivier Guillion

Dev News Thursday, Jun 3rd, 2010 at 04:56pm
Harmony, Melody et autres étape 79

 
Amélioration de l'édition des accords dans la grille d'accord.
Les accords imposés dans la grille d'accord ne sont plus recalculés lors du chargement, seul le nom de la note est éventuellement adapté en fonction de la notation latine/américaine.
Le sujet du 24 ème Concours a été arrêté. Il a été écrit et est en cours de traduction. Publication très bientôt. Ce sera certainement le plus difficile que nous ayons jamais proposé mais nous avons confiance dans le talent des participants.
by Didier Guillion
 1 comment.

Dev News Wednesday, Jun 2nd, 2010 at 05:01pm
Concours 24, étape 0

 
Alors que le concours 23 vient d'être terminé, et que les morceaux sont envoyés au membres du jury, nous réfléchissons au sujet du 24ème.
 
Nous préférons de manière générale imposer une contrainte claire, qui permet de savoir immédiatement si le morceau a bien été composé pour l'occasion. Cela évite ensuite, lors de l'écoute, de se demander "en quoi ce morceau correspond-il au sujet ?"
 
Ainsi, pour ce prochain concours, nous allons certainement fournir une portée de basse, écrite sur environ 90 mesures (environ 3 mn).
 
Cette portée devrait demeurer telle quelle (et être jouée et audible) dans le morceau soumis par le participant. Aucune mesure ne pourrait être ajoutée ou retirée, ce qui donnerait des morceaux de durées sensiblement équivalentes.
 
Par contre, il serait possible de transposer le morceau, de changer l'instrument de basse, d'y poser des effets, et d'ajouter à la partition autant de portées supplémentaires que désiré.
Il serait également possible de modifier le tempo dans des bornes clairement annoncées par le règlement. La grille d'accord d'origine serait également fournie à titre indicatif pour aider les compositeurs.
 
Le style serait libre, bien que la ligne de basse soit plutôt moderne, mais cela pourrait justement constituer un "challenge" intéressant.
by Olivier Guillion
 7 comments.

Dev News Tuesday, Jun 1st, 2010 at 04:56pm
Harmony, Melody et autres étape 78

Aujourd'hui, finalisation des problèmes pouvant se rencontrer entre l'ajout de portées (ou la suppression) les groupes et les vues. Cela devrait corriger pas mal de choses.
33 musiques sont en lice pour le 23ème Concours, 1h44 de musique, le sujet était assez strict et semble avoir été plutôt très bien respecté. Rappelons que certaines de ces oeuvres vont être interprétées par une vrai chorale, le jury va devoir faire entrer en ligne de compte la jouabilité. Plusieurs membres à vie du Jury, ont choisit de participer en temps que compositeur, ils ne pourrons donc par voter cette fois ci.
Bien entendu, la chorale aura également son mot à dire...
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
Nov 28th, 2014 at 04:56pm 
Article from Didier Guillion
ACAM
Nov 27th, 2014 at 04:56pm 
Article from Olivier Guillion
PDFtoMusic 1.5.0
Nov 26th, 2014 at 04:59pm 
Article from Olivier Guillion
PDFtoMusic 1.5.0
Nov 25th, 2014 at 04:49pm 
Article from Didier Guillion
PDFtoMusic 1.5.0
Nov 24th, 2014 at 05:07pm 
Article from Olivier Guillion
Harmony 9.6 et autres étape 734
Nov 22nd, 2014 at 09:41am 
Comment from JP
Association des altérations à la tonalité
Nov 21st, 2014 at 04:57pm 
Article from Didier Guillion
PDFtoMusic 1.5.0
Nov 21st, 2014 at 04:57pm 
Article from Didier Guillion
PDFtoMusic 1.5.0
Nov 20th, 2014 at 10:57pm 
Comment from Sylvain
Nov 20th, 2014 at 10:27pm 
Comment from Geo
Itou

Top of page
Last update:  (c) Myriad 2013