public void play(LinkedBlockingQueue<MyMessage> input) { // this.input = input; // System.out.println(Thread.currentThread().getName()); while (!done) { MyMessage message = null; try { message = input.poll(1, TimeUnit.MICROSECONDS); } catch (InterruptedException e) { e.printStackTrace(); } // check timing // long time = System.currentTimeMillis() % 1000; if (message != null) { // System.out.println("GOT MESSAGE"); // check message type switch (message.getType()) { case TIME_UPDATE: songTime = (double) message.getData1(); sendIfReady(); break; default: System.err.println(message.toString() + " not implemented yet in output part!"); break; } // System.out.println("GOT MESSAGE"); // double partTime = (Double) message.getData1(); // double nextTime = (Double) message.getData1(); // int partChannel = message.getChannel(); // // currentInputTimes[partChannel] = partTime; // nextInputTimes[partChannel] = nextTime; // // // check if we should listen to this part for now // double timeDiff = nextTime - partTime; // if (timeDiff > 0 && timeDiff > 5) { // // 5 for temporary fixing with changing types // listen[partChannel] = false; // } } } }