1. /*
  2. * @(#)Transmitter.java 1.20 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. /**
  9. * A <code>Transmitter</code> sends <code>{@link MidiEvent}</code> objects to one or more
  10. * <code>{@link Receiver Receivers}</code>. Common MIDI transmitters include sequencers
  11. * and MIDI input ports.
  12. *
  13. * @see Receiver
  14. *
  15. * @version 1.20, 03/01/23
  16. * @author Kara Kytle
  17. */
  18. public interface Transmitter {
  19. /**
  20. * Sets the receiver to which this transmitter will deliver MIDI messages.
  21. * If a receiver is currently set, it is replaced with this one.
  22. * @param receiver the desired receiver.
  23. */
  24. public void setReceiver(Receiver receiver);
  25. /**
  26. * Obtains the current receiver to which this transmitter will deliver MIDI messages.
  27. * @return the current receiver. If no receiver is currently set,
  28. * returns <code>null</code>
  29. */
  30. public Receiver getReceiver();
  31. /**
  32. * Indicates that the application has finished using the transmitter, and
  33. * that limited resources it requires may be released or made available.
  34. * Invoking methods on a receiver which has been closed may cause an
  35. * <code>IllegalArgumentException</code> or other exception to be thrown.
  36. */
  37. public void close();
  38. }