Esempio n. 1
0
  void callPlug(MidiInput _input, final MidiMessage msg) {
    try {
      if ((msg.getStatus() & 0xF0) != getStatus() && getStatus() != -1) return;
      if (msg instanceof ShortMessage) {
        ShortMessage smsg = (ShortMessage) msg;
        if (smsg.getChannel() != channel && channel != -1) return;
      }
      MidiEvent event = null;
      if (msg instanceof MidiEvent) {
        event = (MidiEvent) msg;
      } else {
        event = MidiEvent.create(msg);
      }

      if (event != null) {
        event.setInput(_input);
        if (paramClass.isInstance(event)) method.invoke(getObject(), new Object[] {event});
      }
    } catch (Exception e) {
      e.printStackTrace();
      throw new RuntimeException("Error on calling plug: " + methodName);
    }
  }