Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Processing ]<> [Arena] Erreur

ERROR @ UdpServer.run() ArrayIndexOutOfBoundsException: java.lang.Arr

    12 mai 2018 à 12:49:50

    Bonjour !
    Je travaille actuellement avec un programme qui a été écrit par quelqu'un de plus expérimenté. Ce programme sur Processing, reçois des informations MIDI d'un capteur d'un côté et dialogue en osc avec Resolume Arena de l'autre. Au lancement tout se passe bien. Ensuite pendant l'exécution (une fois que je commence aussi à recevoir des valeurs d'Arena, à savoir la position du curseur de lecture) J'ai cette erreur qui apparaît de temps à autre : (ça ne plante pas le programme)
    "### [2018/5/12 11:57:12] ERROR @ UdpServer.run() ArrayIndexOutOfBoundsException:  java.lang.ArrayIndexOutOfBoundsException
    /127.0.0.1:62120 | /layer5/clip1/connect i
    ### [2018/5/12 11:57:14] ERROR @ OscP5 ERROR. an error occured while forwarding an OscMessage
     to a method in your program. please check your code for any 
    possible errors that might occur in the method where incoming
     OscMessages are parsed e.g. check for casting errors, possible
     nullpointers, array overflows ... .
    method in charge : oscEvent  java.lang.reflect.InvocationTargetException"

    J'ai vu plusieurs cas avec ce même problème mais honnêtement je n'ai pas suffisamment de connaissance pour debugger ce code. En soit, il fonctionne mais il se passe des trucs super bizarres sur Arena au moment de ce bug (superposition de vidéos..) et j'aimerai bien qu'il soit plus fiable. 
    Je pense qu'éventuellement la partie du code qui pose problème est la suivante :
    Processing m'indique également ceci "The method oscEvent(oscMessage) from the type Processing.Project is never used locally"
    private void oscEvent(OscMessage oscMessage) {
        /* print the address pattern and the typetag of the received OscMessage */
        // if (oscMessage.addrPattern().equals("/activeclip/video/position/values")) {
        //   if (positionCleanCount > 4) {
        //     float position = oscMessage.get(0).floatValue();
        //     //println(position);
        //     if (!debug) {
        //       if (position >= 0.5 && fadeTimeChanged == false) {
        //         oscChangeFadeTime(random(0,1));
        //       }
        //     }
        //     if (position == 1) {
        //       positionCleanCount = 0;
        //       playNextVideo();
        //     }
        //   }
        //   positionCleanCount++;
        // }
    
        if (oscMessage.addrPattern().contains("connect") && oscMessage.get(0).intValue() == 0) {
          playNextVideo();
        }
        if (debug) {
          if (!oscMessage.addrPattern().contains("video/position/values")) {
            println(oscMessage);
          }
        }
        //println(oscMessage.get(0).floatValue());
        //
        //println(" typetag: "+oscMessage.typetag());
      }
    Merci d'avance pour votre aide !
    • Partager sur Facebook
    • Partager sur Twitter

    [Processing ]<> [Arena] Erreur

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown