themidibus
Class MidiBus

java.lang.Object
  extended by themidibus.MidiBus

public class MidiBus
extends java.lang.Object

The MidiBus class provides a simple way to send and receive MIDI within Processing sketches.

Typical Implementation, Simple

A typical simple Processing MIDI application would begin by invoking the static method list() to learn what devices are available. Then using that information a new MidiBus object would be instantiated with with the desired MIDI input and/or output devices. The Processing sketch could then send midi via MidiBus's outgoing methods such as sendNoteOn(int channel, int pitch, int velocity), sendNoteOff(int channel, int pitch, int velocity) and sendControllerChange(int channel, int number, int value) and receive midi via the PApplet methods this package provides support for such as PApplet.noteOn(int channel, int pitch, int velocity), PApplet.noteOff(int channel, int pitch, int velocity) and PApplet.controllerChange(int channel, int number, int value).

Typical Implementation, Advanced

If you wish to build more complex Processing MIDI applications you can add more input and output devices to any given instance of MidiBus via the addInput() and addOutput() methods. However it is important to understand that each MidiBus object acts like 2 MIDI buses, one for input and one for output. This means, that by design, outgoing MIDI messages are sent to all output devices connected to a given instance of MidiBus, and incomming messages from all input devices connected to a given instance of MidiBus are merged upon reception. In practice, this means that, by design, you cannot tell which of the devices connected to a given instance of MidiBus sent a particular message, nor can you send a MIDI message to one particular device connected to that object. Instead, for independent reception/transmission to different sets of MIDI devices, you can instantiate more than one MidiBus object inside your Processing sketch. Each instance of MidiBus will only send MIDI messages to output devices which are connected to it and inbound MIDI messages arriving at each MidiBus can be diferentiated using the the PApplet methods with the bus_name parameter.

Version:
005
Author:
Severin Smith
See Also:
PApplet, MidiListener, RawMidiListener, StandardMidiListener, SimpleMidiListener

Constructor Summary
MidiBus(processing.core.PApplet parent)
          Constructs a new MidiBus attached to the specified PApplet.
MidiBus(processing.core.PApplet parent, int in_device_num, int out_device_num)
          Constructs a new MidiBus attached to the specified PApplet and opens the MIDI input and output devices specified by the indexes in_device_num and out_device_num.
MidiBus(processing.core.PApplet parent, int in_device_num, int out_device_num, java.lang.String bus_name)
          Constructs a new MidiBus attached to the specified PApplet with the specified bus_name and opens the MIDI input and output devices specified by the indexes in_device_num and out_device_num.
MidiBus(processing.core.PApplet parent, int in_device_num, java.lang.String out_device_name)
          More flavors of constructor, similar to the others, but with mixed arguments
MidiBus(processing.core.PApplet parent, int in_device_num, java.lang.String out_device_name, java.lang.String bus_name)
          More flavors of constructor, similar to the others, but with mixed arguments
MidiBus(processing.core.PApplet parent, java.lang.String bus_name)
          Constructs a new MidiBus attached to the specified PApplet with the specified bus_name.
MidiBus(processing.core.PApplet parent, java.lang.String in_device_name, int out_device_num)
          More flavors of constructor, similar to the others, but with mixed arguments
MidiBus(processing.core.PApplet parent, java.lang.String in_device_name, int out_device_num, java.lang.String bus_name)
          More flavors of constructor, similar to the others, but with mixed arguments
MidiBus(processing.core.PApplet parent, java.lang.String in_device_name, java.lang.String out_device_name)
          Constructs a new MidiBus attached to the specified PApplet and opens the MIDI input and output devices specified by the names in_device_name and out_device_name.
MidiBus(processing.core.PApplet parent, java.lang.String in_device_name, java.lang.String out_device_name, java.lang.String bus_name)
          Constructs a new MidiBus attached to the specified PApplet with the specified bus_name and opens the MIDI input and output devices specified by the names out_device_name and out_device_name.
 
Method Summary
 boolean addInput(int device_num)
          Adds a new MIDI input device specified by the index device_num.
 boolean addInput(java.lang.String device_name)
          Adds a new MIDI input device specified by the name device_name.
 boolean addMidiListener(MidiListener listener)
          Adds a listener who will be notified each time a new MIDI message is received from a MIDI input device.
 boolean addOutput(int device_num)
          Adds a new MIDI output device specified by the index device_num.
 boolean addOutput(java.lang.String device_name)
          Adds a new MIDI output device specified by the name device_name.
 java.lang.String[] attachedInputs()
          Returns the names of all the attached input devices.
 java.lang.String[] attachedOutputs()
          Returns the names of all the attached output devices.
static java.lang.String[] availableInputs()
          Returns the names of all the available input devices.
static java.lang.String[] availableOutputs()
          Returns the names of all the available output devices.
 void clearAll()
          Closes, clears and disposes of all input and output related Transmitters and Receivers.
 void clearInputs()
          Closes, clears and disposes of all input related Transmitters and Receivers.
 void clearOutputs()
          Closes, clears and disposes of all output related Receivers.
 MidiBus clone()
          Creates and returns a copy of this object.
 void close()
          Closes this MidiBus and all connections it has with other MIDI devices.
 void dispose()
          Closes this MidiBus and all connections it has with other MIDI devices.
 boolean equals(java.lang.Object obj)
          Indicates whether some other object is "equal to" this one.
protected  void finalize()
          Override the finalize() method from java.lang.Object.
 java.lang.String getBusName()
          Returns the name of this MidiBus.
 int hashCode()
          Returns a hash code value for the object.
static void list()
          List all installed MIDI devices.
 boolean removeInput(int device_num)
          Removes the MIDI input device specified by the index device_num.
 boolean removeInput(java.lang.String device_name)
          Removes the MIDI input device specified by the name device_name.
 boolean removeMidiListener(MidiListener listener)
          Removes a given listener.
 boolean removeOutput(int device_num)
          Removes the MIDI output device specified by the index device_num.
 boolean removeOutput(java.lang.String device_name)
          Removes the MIDI output device specified by the name device_name.
 void sendControllerChange(int channel, int number, int value)
          Sends a ControllerChange message to a channel with the specified number and value.
 void sendMessage(byte[] data)
          Sends a MIDI message with an unspecified number of bytes.
 void sendMessage(int status)
          Sends a MIDI message that takes no data bytes.
 void sendMessage(int status, int data)
          Sends a MIDI message that takes only one data byte.
 void sendMessage(int status, int data1, int data2)
          Sends a MIDI message that takes one or two data bytes.
 void sendMessage(int command, int channel, int data1, int data2)
          Sends a channel message which takes up to two data bytes.
 void sendMessage(javax.sound.midi.MidiMessage message)
          Sends a MidiMessage object.
 void sendNoteOff(int channel, int pitch, int velocity)
          Sends a NoteOff message to a channel with the specified pitch and velocity.
 void sendNoteOn(int channel, int pitch, int velocity)
          Sends a NoteOn message to a channel with the specified pitch and velocity.
 void setBusName(java.lang.String bus_name)
          Changes the name of this MidiBus.
 void stop()
          Closes this MidiBus and all connections it has with other MIDI devices.
 java.lang.String toString()
          Returns a string representation of the object.
static java.lang.String[] unavailableDevices()
          Returns the names of all the unavailable devices.
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MidiBus

public MidiBus(processing.core.PApplet parent)
Constructs a new MidiBus attached to the specified PApplet. No input or output MIDI devices will be opened. The new MidiBus's bus_name will be generated automatically.

Parameters:
parent - the Processing PApplet to which this MidiBus is attached.
See Also:
addInput(int device_num), addInput(String device_name), addOutput(int device_num), addOutput(String device_name), list()

MidiBus

public MidiBus(processing.core.PApplet parent,
               int in_device_num,
               int out_device_num)
Constructs a new MidiBus attached to the specified PApplet and opens the MIDI input and output devices specified by the indexes in_device_num and out_device_num. A value of -1 can be passed to in_device_num if no input MIDI device is to be opened, or to out_device_num if no output MIDI device is to be opened. The new MidiBus's bus_name will be generated automatically.

Parameters:
parent - the Processing PApplet to which this MidiBus is attached.
in_device_num - the index of the MIDI input device to be opened.
out_device_num - the index of the MIDI output device to be opened.
See Also:
addInput(int device_num), addInput(String device_name), addOutput(int device_num), addOutput(String device_name), list()

MidiBus

public MidiBus(processing.core.PApplet parent,
               int in_device_num,
               int out_device_num,
               java.lang.String bus_name)
Constructs a new MidiBus attached to the specified PApplet with the specified bus_name and opens the MIDI input and output devices specified by the indexes in_device_num and out_device_num. A value of -1 can be passed to in_device_num if no input MIDI device is to be opened, or to out_device_num if no output MIDI device is to be opened.

Parameters:
parent - the Processing PApplet to which this MidiBus is attached.
in_device_num - the index of the MIDI input device to be opened.
out_device_num - the index of the MIDI output device to be opened.
bus_name - the String which which identifies this MidiBus.
See Also:
addInput(int device_num), addInput(String device_name), addOutput(int device_num), addOutput(String device_name), list()

MidiBus

public MidiBus(processing.core.PApplet parent,
               java.lang.String bus_name)
Constructs a new MidiBus attached to the specified PApplet with the specified bus_name. No input or output MIDI devices will be opened.

Parameters:
parent - the Processing PApplet to which this MidiBus is attached.
bus_name - the String which which identifies this MidiBus.
See Also:
addInput(int device_num), addInput(String device_name), addOutput(int device_num), addOutput(String device_name), list()

MidiBus

public MidiBus(processing.core.PApplet parent,
               java.lang.String in_device_name,
               java.lang.String out_device_name)
Constructs a new MidiBus attached to the specified PApplet and opens the MIDI input and output devices specified by the names in_device_name and out_device_name. An empty String can be passed to in_device_name if no input MIDI device is to be opened, or to out_device_name if no output MIDI device is to be opened. The new MidiBus's bus_name will be generated automatically.

If two or more MIDI inputs have the same name, whichever appears first when list() is called will be added, simlarly for two or more MIDI outputs with the same name. If this behavior is problematic use MidiBus(processing.core.PApplet parent, int in_device_num, int out_device_num) instead.

Parameters:
parent - the Processing PApplet to which this MidiBus is attached.
in_device_name - the name of the MIDI input device to be opened.
out_device_name - the name of the MIDI output device to be opened.
See Also:
addInput(int device_num), addInput(String device_name), addOutput(int device_num), addOutput(String device_name), list()

MidiBus

public MidiBus(processing.core.PApplet parent,
               java.lang.String in_device_name,
               java.lang.String out_device_name,
               java.lang.String bus_name)
Constructs a new MidiBus attached to the specified PApplet with the specified bus_name and opens the MIDI input and output devices specified by the names out_device_name and out_device_name. An empty String can be passed to in_device_name if no input MIDI device is to be opened, or to out_device_name if no output MIDI device is to be opened.

If two or more MIDI inputs have the same name, whichever appears first when list() is called will be added, simlarly for two or more MIDI outputs with the same name. If this behavior is problematic use MidiBus(processing.core.PApplet parent, int in_device_num, int out_device_num, String bus_name) instead.

Parameters:
parent - the Processing PApplet to which this MidiBus is attached.
in_device_name - the name of the MIDI input device to be opened.
out_device_name - the name of the MIDI output device to be opened.
bus_name - the String which which identifies this MidiBus.
See Also:
addInput(int device_num), addInput(String device_name), addOutput(int device_num), addOutput(String device_name), list()

MidiBus

public MidiBus(processing.core.PApplet parent,
               int in_device_num,
               java.lang.String out_device_name)
More flavors of constructor, similar to the others, but with mixed arguments

Parameters:
parent - the Processing PApplet to which this MidiBus is attached.
in_device_num - the name of the MIDI input device to be opened.
out_device_name - the name of the MIDI output device to be opened.
See Also:
addInput(int device_num), addInput(String device_name), addOutput(int device_num), addOutput(String device_name), list()

MidiBus

public MidiBus(processing.core.PApplet parent,
               java.lang.String in_device_name,
               int out_device_num)
More flavors of constructor, similar to the others, but with mixed arguments

Parameters:
parent - the Processing PApplet to which this MidiBus is attached.
in_device_name - the name of the MIDI input device to be opened.
out_device_num - the name of the MIDI output device to be opened.
See Also:
addInput(int device_num), addInput(String device_name), addOutput(int device_num), addOutput(String device_name), list()

MidiBus

public MidiBus(processing.core.PApplet parent,
               int in_device_num,
               java.lang.String out_device_name,
               java.lang.String bus_name)
More flavors of constructor, similar to the others, but with mixed arguments

Parameters:
parent - the Processing PApplet to which this MidiBus is attached.
in_device_num - the name of the MIDI input device to be opened.
out_device_name - the name of the MIDI output device to be opened.
bus_name - the String which which identifies this MidiBus.
See Also:
addInput(int device_num), addInput(String device_name), addOutput(int device_num), addOutput(String device_name), list()

MidiBus

public MidiBus(processing.core.PApplet parent,
               java.lang.String in_device_name,
               int out_device_num,
               java.lang.String bus_name)
More flavors of constructor, similar to the others, but with mixed arguments

Parameters:
parent - the Processing PApplet to which this MidiBus is attached.
in_device_name - the name of the MIDI input device to be opened.
out_device_num - the name of the MIDI output device to be opened.
bus_name - the String which which identifies this MidiBus.
See Also:
addInput(int device_num), addInput(String device_name), addOutput(int device_num), addOutput(String device_name), list()
Method Detail

attachedInputs

public java.lang.String[] attachedInputs()
Returns the names of all the attached input devices.

Returns:
the names of the attached inputs.
See Also:
attachedOutputs()

attachedOutputs

public java.lang.String[] attachedOutputs()
Returns the names of all the attached output devices.

Returns:
the names of the attached outputs.
See Also:
attachedInputs()

addInput

public boolean addInput(int device_num)
Adds a new MIDI input device specified by the index device_num. If the MIDI input device has already been added, it will not be added again.

Parameters:
device_num - the index of the MIDI input device to be added.
Returns:
true if and only if the input device was successfully added.
See Also:
addInput(String device_name), list()

removeInput

public boolean removeInput(int device_num)
Removes the MIDI input device specified by the index device_num.

Parameters:
device_num - the index of the MIDI input device to be removed.
Returns:
true if and only if the input device was successfully removed.
See Also:
removeInput(String device_name), attachedInputs()

addInput

public boolean addInput(java.lang.String device_name)
Adds a new MIDI input device specified by the name device_name. If the MIDI input device has already been added, it will not be added again.

If two or more MIDI inputs have the same name, whichever appears first when list() is called will be added. If this behavior is problematic use addInput(int device_num) instead.

Parameters:
device_name - the name of the MIDI input device to be added.
Returns:
true if and only if the input device was successfully added.
See Also:
addInput(int device_num), list()

removeInput

public boolean removeInput(java.lang.String device_name)
Removes the MIDI input device specified by the name device_name.

If two or more attached MIDI inputs have the same name, whichever appears first when attachedInputs() is called will be removed. If this behavior is problematic use removeInput(int device_num) instead.

Parameters:
device_name - the name of the MIDI input device to be removed.
Returns:
true if and only if the input device was successfully removed.
See Also:
removeInput(int device_num), attachedInputs()

addOutput

public boolean addOutput(int device_num)
Adds a new MIDI output device specified by the index device_num. If the MIDI output device has already been added, it will not be added again.

Parameters:
device_num - the index of the MIDI output device to be added.
Returns:
true if and only if the output device was successfully added.
See Also:
addOutput(String device_name), list()

removeOutput

public boolean removeOutput(int device_num)
Removes the MIDI output device specified by the index device_num.

Parameters:
device_num - the index of the MIDI output device to be removed.
Returns:
true if and only if the output device was successfully removed.
See Also:
removeInput(String device_name), attachedOutputs()

addOutput

public boolean addOutput(java.lang.String device_name)
Adds a new MIDI output device specified by the name device_name. If the MIDI output device has already been added, it will not be added again.

If two or more MIDI outputs have the same name, whichever appears first when list() is called will be added. If this behavior is problematic use addOutput(int device_num) instead.

Parameters:
device_name - the name of the MIDI output device to be added.
Returns:
true if and only if the output device was successfully added.
See Also:
addOutput(int device_num), list()

removeOutput

public boolean removeOutput(java.lang.String device_name)
Removes the MIDI output device specified by the name device_name.

If two or more attached MIDI outputs have the same name, whichever appears first when attachedOutputs() is called will be removed. If this behavior is problematic use removeOutput(int device_num) instead.

Parameters:
device_name - the name of the MIDI output device to be removed.
Returns:
true if and only if the output device was successfully removed.
See Also:
removeOutput(int device_num), attachedOutputs()

clearInputs

public void clearInputs()
Closes, clears and disposes of all input related Transmitters and Receivers.

See Also:
clearOutputs(), clearAll()

clearOutputs

public void clearOutputs()
Closes, clears and disposes of all output related Receivers.

See Also:
clearInputs(), clearAll()

clearAll

public void clearAll()
Closes, clears and disposes of all input and output related Transmitters and Receivers.

See Also:
clearInputs(), clearOutputs()

sendMessage

public void sendMessage(byte[] data)
Sends a MIDI message with an unspecified number of bytes. The first byte should be always be the status byte. If the message is a Meta message of a System Exclusive message it can have more than 3 byte, otherwise all extra bytes will be dropped.

Parameters:
data - the bytes of the MIDI message.
See Also:
sendMessage(int status), sendMessage(int status, int data), sendMessage(int status, int data1, int data2), sendMessage(int command, int channel, int data1, int data2), sendMessage(MidiMessage message), sendNoteOn(int channel, int pitch, int velocity), sendNoteOff(int channel, int pitch, int velocity), sendControllerChange(int channel, int number, int value)

sendMessage

public void sendMessage(int status)
Sends a MIDI message that takes no data bytes.

Parameters:
status - the status byte
See Also:
sendMessage(byte[] data), sendMessage(int status, int data), sendMessage(int status, int data1, int data2), sendMessage(int command, int channel, int data1, int data2), sendMessage(MidiMessage message), sendNoteOn(int channel, int pitch, int velocity), sendNoteOff(int channel, int pitch, int velocity), sendControllerChange(int channel, int number, int value)

sendMessage

public void sendMessage(int status,
                        int data)
Sends a MIDI message that takes only one data byte. If the message does not take data, the data byte is ignored.

Parameters:
status - the status byte
data - the data byte
See Also:
sendMessage(byte[] data), sendMessage(int status), sendMessage(int status, int data1, int data2), sendMessage(int command, int channel, int data1, int data2), sendMessage(MidiMessage message), sendNoteOn(int channel, int pitch, int velocity), sendNoteOff(int channel, int pitch, int velocity), sendControllerChange(int channel, int number, int value)

sendMessage

public void sendMessage(int status,
                        int data1,
                        int data2)
Sends a MIDI message that takes one or two data bytes. If the message takes only one data byte, the second data byte is ignored; if the message does not take any data bytes, both data bytes are ignored.

Parameters:
status - the status byte.
data1 - the first data byte.
data2 - the second data byte.
See Also:
sendMessage(byte[] data), sendMessage(int status), sendMessage(int status, int data), sendMessage(int command, int channel, int data1, int data2), sendMessage(MidiMessage message), sendNoteOn(int channel, int pitch, int velocity), sendNoteOff(int channel, int pitch, int velocity), sendControllerChange(int channel, int number, int value)

sendMessage

public void sendMessage(int command,
                        int channel,
                        int data1,
                        int data2)
Sends a channel message which takes up to two data bytes. If the message only takes one data byte, the second data byte is ignored; if the message does not take any data bytes, both data bytes are ignored.

Parameters:
command - the MIDI command represented by this message.
channel - the channel associated with the message.
data1 - the first data byte.
data2 - the second data byte.
See Also:
sendMessage(byte[] data), sendMessage(int status), sendMessage(int status, int data), sendMessage(int status, int data1, int data2), sendMessage(MidiMessage message), sendNoteOn(int channel, int pitch, int velocity), sendNoteOff(int channel, int pitch, int velocity), sendControllerChange(int channel, int number, int value)

sendMessage

public void sendMessage(javax.sound.midi.MidiMessage message)
Sends a MidiMessage object.

Parameters:
message - the MidiMessage.
See Also:
sendMessage(byte[] data), sendMessage(int status), sendMessage(int status, int data), sendMessage(int status, int data1, int data2), sendMessage(int command, int channel, int data1, int data2), sendNoteOn(int channel, int pitch, int velocity), sendNoteOff(int channel, int pitch, int velocity), sendControllerChange(int channel, int number, int value)

sendNoteOn

public void sendNoteOn(int channel,
                       int pitch,
                       int velocity)
Sends a NoteOn message to a channel with the specified pitch and velocity.

Parameters:
channel - the channel associated with the message.
pitch - the pitch associated with the message.
velocity - the velocity associated with the message.
See Also:
sendMessage(byte[] data), sendMessage(int status), sendMessage(int status, int data), sendMessage(int status, int data1, int data2), sendMessage(int command, int channel, int data1, int data2), sendMessage(MidiMessage message), sendNoteOff(int channel, int pitch, int velocity), sendControllerChange(int channel, int number, int value)

sendNoteOff

public void sendNoteOff(int channel,
                        int pitch,
                        int velocity)
Sends a NoteOff message to a channel with the specified pitch and velocity.

Parameters:
channel - the channel associated with the message.
pitch - the pitch associated with the message.
velocity - the velocity associated with the message.
See Also:
sendMessage(byte[] data), sendMessage(int status), sendMessage(int status, int data), sendMessage(int status, int data1, int data2), sendMessage(int command, int channel, int data1, int data2), sendMessage(MidiMessage message), sendNoteOn(int channel, int pitch, int velocity), sendControllerChange(int channel, int number, int value)

sendControllerChange

public void sendControllerChange(int channel,
                                 int number,
                                 int value)
Sends a ControllerChange message to a channel with the specified number and value.

Parameters:
channel - the channel associated with the message.
number - the number associated with the message.
value - the value associated with the message.
See Also:
sendMessage(byte[] data), sendMessage(int status), sendMessage(int status, int data), sendMessage(int status, int data1, int data2), sendMessage(int command, int channel, int data1, int data2), sendMessage(MidiMessage message), sendNoteOn(int channel, int pitch, int velocity), sendNoteOff(int channel, int pitch, int velocity)

addMidiListener

public boolean addMidiListener(MidiListener listener)
Adds a listener who will be notified each time a new MIDI message is received from a MIDI input device. If the listener has already been added, it will not be added again.

Parameters:
listener - the listener to add.
Returns:
true if and only the listener was sucessfully added.
See Also:
removeMidiListener(MidiListener listener)

removeMidiListener

public boolean removeMidiListener(MidiListener listener)
Removes a given listener.

Parameters:
listener - the listener to remove.
Returns:
true if and only the listener was sucessfully removed.
See Also:
addMidiListener(MidiListener listener)

getBusName

public java.lang.String getBusName()
Returns the name of this MidiBus.

Returns:
the name of this MidiBus.
See Also:
setBusName(String bus_name)

setBusName

public void setBusName(java.lang.String bus_name)
Changes the name of this MidiBus.

Parameters:
bus_name - the new name of this MidiBus.
See Also:
getBusName()

toString

public java.lang.String toString()
Returns a string representation of the object.

Overrides:
toString in class java.lang.Object
Returns:
a string representation of the object.

equals

public boolean equals(java.lang.Object obj)
Indicates whether some other object is "equal to" this one.

Overrides:
equals in class java.lang.Object
Parameters:
obj - the reference object with which to compare.
Returns:
if this object is the same as the obj argument; false otherwise.

clone

public MidiBus clone()
Creates and returns a copy of this object.

Overrides:
clone in class java.lang.Object
Returns:
a clone of this instance.

hashCode

public int hashCode()
Returns a hash code value for the object.

Overrides:
hashCode in class java.lang.Object
Returns:
a hash code value for this object.

finalize

protected void finalize()
Override the finalize() method from java.lang.Object.

Overrides:
finalize in class java.lang.Object

close

public void close()
Closes this MidiBus and all connections it has with other MIDI devices. This method exists as per standard javax.sound.midi syntax. It is functionaly equivalent to stop() and dispose().

See Also:
stop(), dispose()

stop

public void stop()
Closes this MidiBus and all connections it has with other MIDI devices. This method exit as per standard Processing syntax for users who are doing their sketch cleanup themselves using the stop() function. It is functionaly equivalent to close() and dispose().

See Also:
close(), dispose()

dispose

public void dispose()
Closes this MidiBus and all connections it has with other MIDI devices. This method exit as per standard Processing library syntax and is called automatically whenever the parent applet shuts down. It is functionaly equivalent to close() and stop().

See Also:
close(), stop()

list

public static void list()
List all installed MIDI devices. The index, name and type (input/output/unavailable) of each devices will be indicated.

See Also:
availableInputs(), availableOutputs(), unavailableDevices()

availableInputs

public static java.lang.String[] availableInputs()
Returns the names of all the available input devices.

Returns:
the names of the available inputs.
See Also:
list(), availableOutputs(), unavailableDevices()

availableOutputs

public static java.lang.String[] availableOutputs()
Returns the names of all the available output devices.

Returns:
the names of the available outputs.
See Also:
list(), availableInputs(), unavailableDevices()

unavailableDevices

public static java.lang.String[] unavailableDevices()
Returns the names of all the unavailable devices.

Returns:
the names of the unavailable devices.
See Also:
list(), availableInputs(), availableOutputs()