Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2008-05-30 09:20:04 Midi out buffer avec ProMidi

oyster_twiter
membre
Lieu: saint-herblain
Date d'inscription: 2008-04-01
Messages: 444
Site web

Midi out buffer avec ProMidi



ola,

en utilisant la librairie promidi, j'ai souvent un rapport d'erreur qui apparait lors de la transmission de notes midi.

java.lang.ArrayIndexOutOfBoundsException: 0
       
      at java.util.AbstractCollection.toArray(Unknow Source)
      at promidi.MidiOut$NoteBuffer.run(MidiOut.java:263)

c'est une sortie de tableau (sachant que mes tableaux ont l'air corrects) ou un problème de buffer de note?
Sachant que le message apparait au bout d'un certains temps d'utilisation...

Hors ligne

 

#2 2008-05-30 10:01:57 Re : Midi out buffer avec ProMidi

22_80
membre
Lieu: Paris
Date d'inscription: 2008-02-29
Messages: 205

Re: Midi out buffer avec ProMidi



Yep,

Chelou ... quelqu'un sur le forum de processing semble avoir eu plus ou moins le même problème, la réponse n'est pas forcément très convaincante ...

citation :

Bosch, im getting that exact same error too. notes being locked on. I think it might happen when you try to send too much midi information at once. After that error it will send send midi notes and continue to function just certain notes are locked on.

--> http://processing.org/discourse/yabb_be … 1203105220

Vérifie ton code et blinde-le de contrôles ...

Sinon, tu peux toujours essayer de catcher ton erreur :

Pour le trt de l'erreur, tu pourrai, par ex., ré-instancier ton objet midi (je ne sais pas du tout si ça marche ...).

+
+

Hors ligne

 

#3 2008-05-30 10:57:38 Re : Midi out buffer avec ProMidi

oyster_twiter
membre
Lieu: saint-herblain
Date d'inscription: 2008-04-01
Messages: 444
Site web

Re: Midi out buffer avec ProMidi



salut 22_80!
merci pour ta régularité dans tes réponses big_smile

j'ai inclus la méthode try/catch dans mon sketch, cependant, j'ai pas bien saisi leur fonctionnalité et la notion d'exception... a voir plus tard.
l'erreur semble apparaitre moins souvent.
j'ai pas trop de notion de contrôle d'erreurs ....
pour la ré-instanciation de l'objet rafraichi dans la boucle, ça fait planter encore plus.
++

Hors ligne

 

#4 2008-05-30 11:23:18 Re : Midi out buffer avec ProMidi

22_80
membre
Lieu: Paris
Date d'inscription: 2008-02-29
Messages: 205

Re: Midi out buffer avec ProMidi



Oui, période creuse au taf en ce moment ...

Un bloc try-catch te sert à intercepter une exception : en gros, si dans le code situé dans le bloc try déclenche une exception, tu as la possibilité de personnaliser les instructions qui seront effectuées après (le bloc catch):

citation :

Pour traiter les erreurs, Java propose un mécanisme qualifié d'exception, consistant à effectuer les instructions dans un bloc d'essai (le bloc try) qui surveille les instructions. Lors de l'apparition d'une erreur, celle-ci est lancée dans un bloc de traitement d'erreur (le bloc catch, appelé handler d'exception) sous forme d'un objet appelé Exception.

Le bloc de traitement d'erreur va lever (il s'agit du terme technique, certains diront aussi intercepter) l'exception. Le handler d'exception peut alors traiter l'erreur (en signalant l'erreur par exemple, ou en attendant avant de réessayer, ...)

citation :

pour la ré-instanciation de l'objet rafraichi dans la boucle, ça fait planter encore plus.

La ré-instanciation de ton objet midi semblait assez fantaisiste ... mais on sait jamais ...

+
+

Dernière modification par 22_80 (2008-05-30 11:23:57)

Hors ligne

 

#5 2008-05-30 12:00:39 Re : Midi out buffer avec ProMidi

oyster_twiter
membre
Lieu: saint-herblain
Date d'inscription: 2008-04-01
Messages: 444
Site web

Re: Midi out buffer avec ProMidi



ok merci pour le cours en ligne hehe
j'obtiens moins souvent mon erreur de tableau mais par contre j'ai une nouvelle exception qui arrive.
ConcurrentModificationException .


l'instentiation de mon objet midi est faite dans le constructeur de la class des objets déclenchant les notes.
il est donc initialisé à la construction des objets donc dans le setup.
++

Hors ligne

 

#6 2008-05-30 13:37:17 Re : Midi out buffer avec ProMidi

22_80
membre
Lieu: Paris
Date d'inscription: 2008-02-29
Messages: 205

Re: Midi out buffer avec ProMidi



ConcurrentModificationException
http://www.developpez.net/forums/showthread.php?t=11610 :

citation :

Tu dois faire 2 acces concurrents sur tes collections.
Si tu parcours ta collection et en meme temps tu lui rajoute, supprime ou modifie des elements ca pose probleme...
Ce que tu peux faire c'est créer une copie de ta collection pour la parcourir et faire les changement dans ta veritable collection.

...

Si tu veux, je posterais ce soir le squelette du code que j'utilise avec proMidi ... je n'ai jamais eu de problème avec cette librairie ...

Bon courage.

Dernière modification par 22_80 (2008-05-30 13:37:46)

Hors ligne

 

#7 2008-05-30 14:28:13 Re : Midi out buffer avec ProMidi

oyster_twiter
membre
Lieu: saint-herblain
Date d'inscription: 2008-04-01
Messages: 444
Site web

Re: Midi out buffer avec ProMidi



ok
j'essaie de voir avec ces précieux renseignements ... encore une notion nouvelle (collection)roll
je veux bien jeter un œil sur ton utilisation de promidi.
merci
++

Hors ligne

 

#8 2008-05-30 15:09:19 Re : Midi out buffer avec ProMidi

22_80
membre
Lieu: Paris
Date d'inscription: 2008-02-29
Messages: 205

Re: Midi out buffer avec ProMidi



Oui, j'ai peur de t'embrouiller plus qu'autre chose.

Collection est juste l'interface mère de toutes les listes, sets,  maps qu'on peut trouver en java.
Un peu comme un carré n'est jamais qu'un rectangle particulier, une ArrayList est une implémentation de Collection.

http://java.sun.com/j2se/1.4.2/docs/api … ction.html

Hors ligne

 

#9 2008-05-31 13:40:35 Re : Midi out buffer avec ProMidi

22_80
membre
Lieu: Paris
Date d'inscription: 2008-02-29
Messages: 205

Re: Midi out buffer avec ProMidi



Yop, je sais pas si ça t'aideras vraiment ... à part du copier-coller des exemples de la lib, il y a pas grand chose ...
je m'en servais surtout pour gérer la caméra quand j'essayais de faire de la 3D ... j'ai ensuite changé pour déclencher des mouvements précis en appuyant directement sur une touche du clavier ...

Hors ligne

 

#10 2008-05-31 23:49:21 Re : Midi out buffer avec ProMidi

oyster_twiter
membre
Lieu: saint-herblain
Date d'inscription: 2008-04-01
Messages: 444
Site web

Re: Midi out buffer avec ProMidi



slt!

faut voir pour ta proposition, pour moi c t des notes midi qui étaient générées ...
je t'enverrai le sketch si tu veux jeter un œil dessus il est assez court, peut être y décéléra tu une exception cachéesmile
++

Hors ligne

 

#11 2008-06-01 14:09:00 Re : Midi out buffer avec ProMidi

22_80
membre
Lieu: Paris
Date d'inscription: 2008-02-29
Messages: 205

Re: Midi out buffer avec ProMidi



oyster_twiter a écrit:

slt!

faut voir pour ta proposition, pour moi c t des notes midi qui étaient générées ...
je t'enverrai le sketch si tu veux jeter un œil dessus il est assez court, peut être y décéléra tu une exception cachéesmile
++

lol Désolé, je suis perché...
Oui, envoie toujours ...

Hors ligne

 

#12 2008-06-03 16:29:46 Re : Midi out buffer avec ProMidi

oyster_twiter
membre
Lieu: saint-herblain
Date d'inscription: 2008-04-01
Messages: 444
Site web

Re: Midi out buffer avec ProMidi



ola,
voici mon sketch
si t'as le temps de jeter un œil sur l'intégration midi...

Hors ligne

 

#13 2008-06-03 19:02:21 Re : Midi out buffer avec ProMidi

22_80
membre
Lieu: Paris
Date d'inscription: 2008-02-29
Messages: 205

Re: Midi out buffer avec ProMidi



Yep

Hors ligne

 

#14 2008-06-03 19:59:38 Re : Midi out buffer avec ProMidi

22_80
membre
Lieu: Paris
Date d'inscription: 2008-02-29
Messages: 205

Re: Midi out buffer avec ProMidi



re-Yep ...

Rigolo ce petit soft big_smile

Effectivement, j'ai les mêmes exceptions que toi ... j'ai aussi eu une nullPointerException ... comprenne qui pourra, j'ai l'impression que c'est juste la librairie proMidi qui rencontre quelques soucis ... en tout cas impossible de les catcher ... tant que le programme continue de tourner ... smile

J'ai quand même corrigé le parcours de ton tableau img[] :

Il vaut mieux faire une double boucle :

for(int x= ...){
    for(int y = ...){

plutôt qu'une simple et ensuite calculer x et y.

J'ai aussi rajouté une fonction miroir, afin d'avoir la sortie webcam en miroir plutôt qu'en affichage classique - plus facile pour jouer ... j'ai mis des commentaires ...

+
+

Hors ligne

 

#15 2008-06-05 17:13:10 Re : Midi out buffer avec ProMidi

oyster_twiter
membre
Lieu: saint-herblain
Date d'inscription: 2008-04-01
Messages: 444
Site web

Re: Midi out buffer avec ProMidi



ok

j'ai bien reçu ton sketch,
pour moi le miroir ralenti énormément l'appli.
la double boucle est bien vue par contre hehe
je te tiens au jus pour la suite de ce pti prog si t'es motiv.
la librairie promidi connait quelques soucis à première vue... la gestion des buffer midi n'est pas totalement maitrisée.
vive l'osc wink

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024