Example #1
0
  public void run() {
    logWriter.println("-> EventDebuggee: STARTED");

    synchronizer.sendMessage(JPDADebuggeeSynchronizer.SGNL_READY);
    synchronizer.receiveMessage(JPDADebuggeeSynchronizer.SGNL_CONTINUE);

    SimpleThread testThread = new SimpleThread();
    testThread.start();
    logWriter.println("-> EventDebuggee: SimpleThread started");
    try {
      testThread.join();
    } catch (InterruptedException e) {
      e.printStackTrace();
    }
    logWriter.println("-> EventDebuggee: SimpleThread finished");
    synchronizer.sendMessage(JPDADebuggeeSynchronizer.SGNL_READY);

    logWriter.println("-> EventDebuggee: wait for signal to continue...");
    // do NOT finish without signal (in acceptable time) in order
    // to do NOT generate unexpected events
    String infoMessage = "-> EventDebuggee: TIMED OUT in waiting for signal!";
    for (int i = 0; i < 10; i++) {
      if (synchronizer.receiveMessage(JPDADebuggeeSynchronizer.SGNL_CONTINUE)) {
        infoMessage = "-> EventDebuggee: signal received!";
        break;
      }
    }
    logWriter.println(infoMessage);

    logWriter.println("-> EventDebuggee: FINISH...");
  }
  @Override
  public SimpleThread create() throws Exception {
    SimpleThread simpleThread = new SimpleThread();
    simpleThread.start();
    debug("Create simple thread : " + simpleThread.getName());

    return simpleThread;
  }
  @Override
  public void destroyObject(PooledObject<SimpleThread> p) throws Exception {
    if (p instanceof SimpleThread) {
      SimpleThread simpleThread = (SimpleThread) p;
      debug("Destroy simple thread : " + simpleThread.getName());
    }

    p.getObject().destroy();
  }
 public void programs(int theID) {
   switch (theID) {
     case (0):
       MIDIThread.mode(0); // oscillation mode
       break;
     case (1):
       MIDIThread.mode(1); // on mode
       break;
     case (2):
       MIDIThread.mode(2); // off mode
       break;
     case (3):
       MIDIThread.mode(3); // random mode
       break;
     case (4):
       MIDIThread.mode(4); // random mode
       break;
   }
 }
 public void setup() {
   size(490, 260, OPENGL);
   background(0);
   smooth();
   GUISetup();
   MIDIThread = new SimpleThread("midi");
   MIDIThread.start();
   int[] light = new int[12];
   for (int k = 0; k < 11; k++) {
     softLight[k] = 0;
   }
 }
 /**
  * Removes all references to instantiated objects, and changes the thread's state to "not alive".
  * Method alive() returns false when the cleanup() method has completed.
  */
 @Override
 protected void cleanup() {
   kill();
   super.cleanup(); // Important!!
 }
 public void noteOff(int channel, int pitch, int velocity) {
   if (translator) {
     MIDIThread.MIDILightIn(pitch, 0);
   }
 }
 public void controllerChange(int channel, int number, int value) {
   MIDIThread.MIDILightIn(number, value);
 }