[jmsl] JavaSound To Use System Default Midi Device
jmsl at music.columbia.edu
jmsl at music.columbia.edu
Wed May 13 08:49:08 EDT 2009
After looking at the methods, I don't think there's way to compare
MidiSystem.getReceiver() with midiDevice.getReceiver(). Can't get
MidiDevice.info from receiver either.
----- Original Message -----
From: <jmsl at music.columbia.edu>
To: <jmsl at music.columbia.edu>
Sent: Wednesday, May 13, 2009 6:43 AM
Subject: Re: [jmsl] JavaSound To Use System Default Midi Device
> Hi Chi
>
> Thanks for the example code, which shows how to find the default Receiver.
> How to retrieve the default MidiDevice ?
>
> 1) Either get the device directly , like:
> MidiDevice defaultMidiDevice = MidiSystem.getDefaultMidiDevice(); //
> non-existent method
>
> or iterate and test:
> 2) MidiDevice.Info[] minfo = MidiSystem.getMidiDeviceInfo();
> for (int i = 0; i < minfo.length; i++) {
> Info midiInfo = minfo[i]; System.out.println("Device " +
> i + " = " + midiInfo);
> MidiDevice midiDevice = MidiSystem.getMidiDevice(midiInfo);
> // DO SOME TEST ON midiDevice HERE TO CHECK IF IT IS THE DEFAULT SYSTEM
> DEVICE
> // perhaps check if the device's receiver equals the default
> MidiSystem.getReceiver()
> }
> If all we can get is the default receiver then I'd have to do a bigger
> rewrite of MidiIO_JavaSound which is currently based on the MidiDevice .
>
> Thanks
> Nick Didkovsky
>
> jmsl at music.columbia.edu wrote:
>> Hi,
>>
>> When JavaSound is chosen as the JMSL output, it seems to use the first
>> device on the list, not the default Midi device set by OS.
>> If you use
>> MidiSystem.getReceiver()';
>> instead of using
>> MidiDevice.Info[] infos = MidiSystem.getMidiDeviceInfo();
>> device = MidiSystem.getMidiDevice(infos[index]);
>> rcvr = device.getReceiver();
>> it will return the default device set by OS.
>>
>>
>> static Sequencer getSequencer()
>> static Synthesizer getSynthesizer()
>> static Receiver getReceiver()
>> static Transmitter getTransmitter()
>> The first two of these methods obtain the system's default sequencing and
>> synthesis resources, which either represent physical devices or are
>> implemented wholly in software. The getReceiver method obtains a Receiver
>> object that takes MIDI messages sent to it and relays them to the default
>> receiving device. Similarly, the getTransmitter method obtains a
>> Transmitter object that can send MIDI messages to some receiver on behalf
>> of the default transmitting device.
>>
>> Chi
>> _______________________________________________
>> jmsl mailing list
>> jmsl at music.columbia.edu
>> http://music.columbia.edu/mailman/listinfo/jmsl
> _______________________________________________
> jmsl mailing list
> jmsl at music.columbia.edu
> http://music.columbia.edu/mailman/listinfo/jmsl
>
More information about the jmsl
mailing list