Je reviens à la charge avec mon lecteur de fichier midi autonome.
J'ai refais le parseur de fichier midi pour l'intégrer dans une class, c'est plus pratique.
J'ai aussi fait un petit affichage assez rudimentaire du temps restant.
Le probléme c'est que je voudrais lire plusieurs fichiers les un à la suite des autres mais ça ne marche pas =(
Le premier fichiers se lit bien puis plus rien tout reste bloqué ...
Pour tester le système il faut un écran lcd, une shield compatible avec la librairie SD, quelques boutons (2 pour le moment) et un synthé ou autre avec une prise midi.
Est-ce qu'ils y a des personnes intéressée pour participer au projet ?
Pour le moment il y a papyduino, la tête pensante du projet et moi qui essaye tant bien que mal de réaliser ses idées.
Je pourrai pas y arrivé tout seul donc j'espère qu'il y a des intéressés
Je joint la version courante du code arduino, le dossier MidiParser et à copier dans le dossier "libraries" arduino.
(+ 2 fichiers .mid à copier sur la SD pour tester)
Re Skywodd
Je vois avec plaisir que tu n'aimes pas rester sur un 1/2 échec; çà c'est un bon point, et je t'en félicite.
Le problème c'est que je voudrais lire plusieurs fichiers les uns à la suite des autres mais çà ne marche pas
Le premier fichier se lit bien puis plus rien tout reste bloqué ...
Ne te casse pas la tête sur ce détail; pour l'usage prévu, aucun intérêt. (pour ton appli. peut-être ?)
Si tu arrives à sélectionner un fichier, soit dans la racine, ou mieux, dans un répertoire, et le lire, c'est déjà top!
Est-ce qu'ils y a des personnes intéressées pour participer au projet ?
Ben, y a pas foule, (quand même des curieux, c'est bon signe) moi, je vais ressortir mon matos pour continuer les essais.
-Je te joins un PDF sur les fonctions très bien documentées d'un appareil similaire fait à partir des sources que je t'avais communiquées, mais non Arduino et avec un 168.(Salut Christian)
Bien sur, on peut largement simplifier, comme déjà dit, mais aussi faire d'autres options:-well -Temporisation... mais ne brulons pas les étapes!
Peux-tu me confirmer que le zip est différent de celui sur l'ancien post pour pas que je m’embrouille?
Je continue à me documenter, mais j'ai tellement fouillé, que je ne vois rien de nouveau.
Amicalement
Papyduino
PapyDuino:
Ne te casse pas la tête sur ce détail; pour l'usage prévu, aucun intérêt. (pour ton appli. peut-être ?)
Si tu arrives à sélectionner un fichier, soit dans la racine, ou mieux, dans un répertoire, et le lire, c'est déjà top!
Sélectionner un fihier dans la racine ou dans un répertoire c'est bon.
Je voudrai faire un lecteur midi classique pour commencer, paly/pause, stop, fichier suivant, fichier précédant.
Une fois que j'en serais là je verrai à faire un affichage du fichier en cours, du temps restant et peut être une gestion du volume/tempo basique avec un menu.
PapyDuino:
Ben, y a pas foule, (quand même des curieux, c'est bon signe) moi, je vais ressortir mon matos pour continuer les essais.
-Je te joins un PDF sur les fonctions très bien documentées d'un appareil similaire fait à partir des sources que je t'avais communiquées, mais non Arduino et avec un 168.(Salut Christian)
Bien sur, on peut largement simplifier, comme déjà dit, mais aussi faire d'autres options:-well -Temporisation... mais ne brulons pas les étapes!
Peux-tu me confirmer que le zip est différent de celui sur l'ancien post pour pas que je m’embrouille?
Je continue à me documenter, mais j'ai tellement fouillé, que je ne vois rien de nouveau.
Le zip est différent, il est testé et débugé en parti contrairement au zip de l'autre toppic.
Pour la well avec les modes de ralentissement je verrai à la fin quand le menu sera ok.
Finalement je vais avoir plus de temps que prévue à consacrer à ce projet vu que mon autre projet de controle à distance est au point mort ...
Sélectionner un fichier dans la racine ou dans un répertoire c'est bon.
Bien, si le non du fichier est affiché! Autoscroll?
Je voudrai faire un lecteur midi classique pour commencer, play/pause, stop, fichier suivant, fichier précédant.
çà suffit pour commencer!
Une fois que j'en serais là je verrai à faire un affichage du fichier en cours, du temps restant et peut être une gestion du volume/tempo basique avec un menu.
La gestion du volume est inutile; un synthé ou un expandeur ont un bouton volume!
Ce que l'on recherche, c'est une sortie MIDI pour attaquer une interface qui décode le MIDI en tout ou rien.(ou un expandeur)
Courage!
Amicalement
Papyduino
PapyDuino:
Bien, si le non du fichier est affiché! Autoscroll?
J'ai jamais utilisé l'autoscroll ça me fera un truc en plus de connu en me couchant le soir
PapyDuino:
La gestion du volume est inutile; un synthé ou un expandeur ont un bouton volume!
Ce que l'on recherche, c'est une sortie MIDI pour attaquer une interface qui décode le MIDI en tout ou rien.(ou un expandeur)
Pour le volume ... c'est pas faut j'y avais pas pensé :.
Bon déja si j'arrive à faire la lecture de plusieurs fichiers et la gestion du nombre de fichiers dispo comme avec l'autre version (mais qui marche cette fois XD) ce sera une bonne avancé.
Pour l'affichage je verrai bien sur la premiére ligne : <numéro du ficher en cours (3char)> /(1char) <nombre total dispo (3char)> espace (1char) <vitesse en bpm (3char)> espace (1char) <mode de lecture(2char)> espace (1char) <caractère spécial pour indiquer play/pause (1char)> soit 16 caracteres, sur l'ecran 2*16 ça passe niquel.
puis sur la deuxième ligne : <temps restant (3char)> / (1char) <temps total (3char)> espace "sec" espace (5char) <évènement midi (4char)>
ou si il y a un meta event (parole de la chanson, titre, ou autre) premiére ligne le nom de la meta "Lyrics", "Text", ...
et deuxième ligne le texte que contient la meta.
Mais une chose aprés l'autre, il faut deja que la base marche.
Bonjour Skywodd, sans oublier les forumeurs de passage
Pour l'affichage, c'est comme tu le sens, mais je te joins un .doc fait à partir du dernier PDF
Il résume ce que je pense être indispensable, ce qui serait à modifier, ce que je considère comme options pour plus tard, et ce que je trouve inutile.
Ceci dans le but de te simplifier la tâche.
Il est évident que la 1ère chose à faire, c'est de pouvoir sélectionner un fichier, dans la racine ou dans un Rep, d'afficher son nom, et que les fonctions "Play/Pause-Stop qui fonctionnent.
Prochain travail pour moi, faire un coffret avec tout le matos dedans, ou je n'ai plus qu'à brancher le secteur et l'USB pour pouvoir tester.
A+
Papyduino
J'ai beaucoup de mal avec l'écran lcd 2*16 et la gestion des boutons =(
Pour me simplifier la vie je vais revenir aux choses que je maitrise à savoir la mSD-Shield + lcd tactile.
L'écran étant plus grand je peux afficher les choses comme je veux et surtout j'ai deja pas mal de morceau de code avec (tiré d'un projet d'oscilloscope portable que j'ai arrêté).
Et bonus je sais qu'il y a pas mal de monde sur le forum qui possède cette shield, à part le câble midi il faut rien d'autre donc avec un peu chance il y aura plus d'intéressés qu'avec le lcd + bouton + fils etc ....
Et surtout plus de pinmapping différent et un aspect niquel (pas de fils partout, etc ...).
Je te fais signe dés que j'ai du nouveau pour le moment je garde les deux version au cas ou.
Du coup, la compatibilité en prend un coup(c'était le but 1er), et mes kits sont OUT
S'il n'y a qu'un problème de PinMapping, c'est à moi de m'adapter, ce n'est pas un problème.
J'ai les supports SD et les LCD, donc, pas trop envie de changer de Hard.
peut-être un petit sondage pour les amateurs éventuels?
En tout cas, c'est toi qui développe, donc, c'est ton choix.
Amicalement
Papyduino
Oui c'est vrai que niveau compatibilité c'est pas cool :~ ...
Le truc c'est qu'en plus de rendre la chose plus simple pour moi, en ce moment sur le forum de watterott qui produit l'écran, ils cherchent des projets fait avec, donc vu que j'en est un ... En plus j'ai un léger espoir d'être publié par HackADay avec ce projet et ça c'est la classe 8)
Si j'avais le code source de ta version atmega168 je pourrai voir de la mettre à jour, sinon une fois la version mSD-shield finit je regarderai comment transposé le tout vers un lcd classique.
Bon avec ce nouveau systéme j'ai pas mal avancé ^^
J'ai pu récupéré une bonne partie du code pour le lcd sur d'autre de mes projet.
Alors premièrement une petite photo du systéme :
et de son GUI :
J'ai aussi fait un articles sur mon blog sur le projet :
Bon par contre j'ai des bug incompréhensible =(
l'affichage du temps restant est bloqué au max,
la lecture reste bloqué sur le premier fichier, après plus rien,
les événements midi ne s'affiche pas dans la liste
Des volontaire pour m'aider ? Il faut une mSD-shield + écran TFT et un câble midi + synthé (ou un prog qui lit directement depuis le port série via usb et qui génére la musique sur l'ordi).
Je joint la version actuelle du code.
PS: si vous avez une erreur de sync lors de l'upload il semblerai que ce soit un bug du bootloader arduino !
Merci à al1fch pour l'aide et pour le bootloader patché -> http://arduino.cc/forum/index.php/topic,64105.0.html