Search in sources :

Example 1 with Transmitter

use of javax.sound.midi.Transmitter in project jdk8u_jdk by JetBrains.

the class TestAllDevices method main.

public static void main(String[] args) throws Exception {
    out("default receiver:");
    try {
        Receiver recv = MidiSystem.getReceiver();
        out("  receiver: " + recv);
        if (recv instanceof MidiDeviceReceiver) {
            out("    OK");
        } else {
            out("    ERROR: not an instance of MidiDeviceReceiver");
            failed = true;
        }
    } catch (MidiUnavailableException ex) {
        // this is not an error
        out("  receiver: MidiUnavailableException (test NOT failed)");
    }
    out("default transmitter:");
    try {
        Transmitter tran = MidiSystem.getTransmitter();
        out("  transmitter: " + tran);
        if (tran instanceof MidiDeviceTransmitter) {
            out("    OK");
        } else {
            out("    ERROR: not an instance of MidiDeviceTransmitter");
            failed = true;
        }
    } catch (MidiUnavailableException ex) {
        // this is not an error
        out("  transmitter: MidiUnavailableException (test NOT failed)");
    }
    MidiDevice.Info[] infos = MidiSystem.getMidiDeviceInfo();
    for (MidiDevice.Info info : infos) {
        out(info.toString() + ":");
        try {
            MidiDevice dev = MidiSystem.getMidiDevice(info);
            dev.open();
            try {
                Receiver recv = dev.getReceiver();
                out("  receiver: " + recv);
                if (recv instanceof MidiDeviceReceiver) {
                    MidiDeviceReceiver devRecv = (MidiDeviceReceiver) recv;
                    MidiDevice retDev = devRecv.getMidiDevice();
                    if (retDev == dev) {
                        out("    OK");
                    } else {
                        out("    ERROR: getMidiDevice returned incorrect device: " + retDev);
                        failed = true;
                    }
                } else {
                    out("    ERROR: not an instance of MidiDeviceReceiver");
                    failed = true;
                }
            } catch (MidiUnavailableException ex) {
                // this is not an error
                out("  receiver: MidiUnavailableException (test NOT failed)");
            }
            try {
                Transmitter tran = dev.getTransmitter();
                out("  transmitter: " + tran);
                if (tran instanceof MidiDeviceTransmitter) {
                    MidiDeviceTransmitter devTran = (MidiDeviceTransmitter) tran;
                    MidiDevice retDev = devTran.getMidiDevice();
                    if (retDev == dev) {
                        out("    OK");
                    } else {
                        out("    ERROR: getMidiDevice retur4ned incorrect device: " + retDev);
                        failed = true;
                    }
                } else {
                    out("    ERROR: not an instance of MidiDeviceTransmitter");
                    failed = true;
                }
            } catch (MidiUnavailableException ex) {
                // this is not an error
                out("  transmitter: MidiUnavailableException (test NOT failed)");
            }
            dev.close();
        } catch (MidiUnavailableException ex) {
            out("  device: MidiUnavailableException (test NOT failed)");
        }
    }
    if (failed) {
        throw new Exception("Test failed.");
    }
}
Also used : MidiUnavailableException(javax.sound.midi.MidiUnavailableException) MidiDeviceTransmitter(javax.sound.midi.MidiDeviceTransmitter) Transmitter(javax.sound.midi.Transmitter) MidiDeviceReceiver(javax.sound.midi.MidiDeviceReceiver) Receiver(javax.sound.midi.Receiver) MidiDeviceReceiver(javax.sound.midi.MidiDeviceReceiver) MidiDevice(javax.sound.midi.MidiDevice) MidiDeviceTransmitter(javax.sound.midi.MidiDeviceTransmitter) MidiUnavailableException(javax.sound.midi.MidiUnavailableException)

Example 2 with Transmitter

use of javax.sound.midi.Transmitter in project jdk8u_jdk by JetBrains.

the class SequencerImplicitSynthOpen method getConnectedDevice.

static MidiDevice getConnectedDevice(Sequencer sequencer) {
    List<Transmitter> trans = sequencer.getTransmitters();
    log("  sequencer has " + trans.size() + " opened transmitters:");
    for (Transmitter tr : trans) {
        Receiver r = tr.getReceiver();
        log("    " + getClassStr(tr) + " connected to " + getClassStr(r));
        if (r instanceof MidiDeviceReceiver) {
            MidiDeviceReceiver recv = (MidiDeviceReceiver) r;
            MidiDevice dev = recv.getMidiDevice();
            log("      - receiver of " + getClassStr(dev));
            return dev;
        } else {
            log("      - does NOT implement MidiDeviceReceiver");
        }
    }
    return null;
}
Also used : Transmitter(javax.sound.midi.Transmitter) MidiDeviceReceiver(javax.sound.midi.MidiDeviceReceiver) Receiver(javax.sound.midi.Receiver) MidiDeviceReceiver(javax.sound.midi.MidiDeviceReceiver) MidiDevice(javax.sound.midi.MidiDevice)

Aggregations

MidiDevice (javax.sound.midi.MidiDevice)2 MidiDeviceReceiver (javax.sound.midi.MidiDeviceReceiver)2 Receiver (javax.sound.midi.Receiver)2 Transmitter (javax.sound.midi.Transmitter)2 MidiDeviceTransmitter (javax.sound.midi.MidiDeviceTransmitter)1 MidiUnavailableException (javax.sound.midi.MidiUnavailableException)1