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); }