import java.util.List;

import javax.sound.midi.ShortMessage;

import jp.crestmuse.cmx.amusaj.filewrappers.TimeSeriesCompatible;
import jp.crestmuse.cmx.amusaj.sp.MidiEventWithTicktime;
import jp.crestmuse.cmx.amusaj.sp.SPModule;
import jp.crestmuse.cmx.misc.QueueReader;


public class PrintModule2 extends SPModule {

  public void execute(Object[] src, TimeSeriesCompatible[] dest)
      throws InterruptedException {
    MidiEventWithTicktime e = (MidiEventWithTicktime)src[0];
    if((e.getMessage().getStatus() & 0xf0) == ShortMessage.NOTE_ON)
      System.out.println(e.music_position);
    dest[0].add(e);
  }

  public int getInputClasses() {
    return new Class[]{MidiEventWithTicktime.class};
  }

  public int getOutputChannels() {
    return new Class[]{MidiEventWithTicktime.class};
  }
}
