1. /*
  2. * @(#)ControllerEventListener.java 1.14 03/01/23
  3. *
  4. * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
  5. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
  6. */
  7. package javax.sound.midi;
  8. import java.util.EventListener;
  9. /**
  10. * The <code>ControllerEventListener</code> interface should be implemented
  11. * by classes whose instances need to be notified when a <code>Sequencer</code>
  12. * has processed a requested type of MIDI control-change event.
  13. * To register a <code>ControllerEventListener</code> object to receive such
  14. * notifications, invoke the
  15. * {@link Sequencer#addControllerEventListener(ControllerEventListener, int[])
  16. * addControllerEventListener} method of <code>Sequencer</code>,
  17. * specifying the types of MIDI controllers about which you are interested in
  18. * getting control-change notifications.
  19. *
  20. * @see MidiChannel#controlChange(int, int)
  21. *
  22. * @version 1.14, 03/01/23
  23. * @author Kara Kytle
  24. */
  25. public interface ControllerEventListener extends EventListener {
  26. /**
  27. * Invoked when a <code>Sequencer</code> has encountered and processed
  28. * a control-change event of interest to this listener. The event passed
  29. * in is a <code>ShortMessage</code> whose first data byte indicates
  30. * the controller number and whose second data byte is the value to which
  31. * the controller was set.
  32. *
  33. * @param event the control-change event that the sequencer encountered in
  34. * the sequence it is processing
  35. *
  36. * @see Sequencer#addControllerEventListener(ControllerEventListener, int[])
  37. * @see MidiChannel#controlChange(int, int)
  38. * @see ShortMessage#getData1
  39. * @see ShortMessage#getData2
  40. */
  41. public void controlChange(ShortMessage event);
  42. }