Annonce

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


#1 2016-01-14 17:27:46 probleme avec the midibus library

zebre
nouveau membre
Date d'inscription: 2016-01-14
Messages: 1

probleme avec the midibus library



salut,

jutilise processing 2.2.1 et la librairie the MidiBus avec live ableton et loopMidi comme port virtuel .

je declenche differentes images dans processing depuis des pistes midi de live affecter à au moins deux ports virtuels differents.

le code marche aleatioirement pendant 1sec à 3min puis envoi ce message d'erreur :

The MidiBus Warning: Disabling noteOff(int channel, int pitch, int velocity) because an unkown exception was thrown and caught java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at themidibus.MidiBus.notifyParent(Unknown Source) at themidibus.MidiBus$MReceiver.send(Unknown Source) at com.sun.media.sound.AbstractMidiDevice$TransmitterList.sendMessage(Unknown Source) at com.sun.media.sound.MidiInDevice.callbackShortMessage(Unknown Source) at com.sun.media.sound.MidiInDevice.nGetMessages(Native Method) at com.sun.media.sound.MidiInDevice.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.RuntimeException: missing a pushMatrix() to go with that popMatrix() at processing.core.PGraphicsJava2D.popMatrix(PGraphicsJava2D.java:1812) at processing.core.PGraphicsJava2D.backgroundImpl(PGraphicsJava2D.java:2280) at processing.core.PGraphics.backgroundFromCalc(PGraphics.java:6983) at processing.core.PGraphics.background(PGraphics.java:6898) at processing.core.PApplet.background(PApplet.java:15122) at sketch_160111a.noteOff(sketch_160111a.java:52) ... 10 more




voici mon code

import themidibus.*;
MidiBus myBus;
 
 
void setup() {
  background(0);
  size(500, 500);
 
  MidiBus.list();
  myBus = new MidiBus(this, "loopMIDI Port",-1 );
 
 myBus.addInput("loopMIDI Port 1");
 
}
void draw() {
 
  int channel;
  int pitch ;
  int velocity ;
 
}
void noteOn(int channel, int pitch, int velocity ) {
 
 
  if (channel == 1) {  // kik
    background(100, 250, 0);
  } 
  if (channel == 2 ) {            // rim
    ellipse(50, 50, 80, 80);
  }
}
 
void noteOff(int channel, int pitch, int velocity) {
  background(0);
}
 
void delay(int time) {
  int current = millis();
  while (millis () < current+time) Thread.yield();
}

le meme code marche tres bien si je nutilise qu'un seul port midi mai j'ai besoin d'emetre sur plusieurs port vu que je veux pouvoir declencher plusieurs images en meme temps.

je comprend pas ce que veut dire ce message d'erreur et comment le resoudre
alors si quelqun peut m'aider ?

merci !

Hors ligne

 

#2 2016-01-18 18:29:39 Re : probleme avec the midibus library

benjamin
membre
Lieu: Orléans
Date d'inscription: 2008-03-18
Messages: 168
Site web

Re: probleme avec the midibus library



hello,
a priori, tu dois pouvoir utiliser un seul port et faire la ségrégation de tes messages en les faisant passer par différents numéros de canaux midi (dans le même port donc)
++
b

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024