-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] Single MIDI streaming interface shows up as multiple UMP endpoints. #305
Comments
This was my misunderstanding. So now, the question is why two UMP endpoints show up? Is this related to the Issue#184? |
@m-komo I assume this shows up as two separate devices under "Sound, video and game controllers" in Device Manager? If so, then it has two separate MIDI streaming interfaces, and we'll see it as two distinct MIDI devices. (Our naming for those devices is not currently correct. I'll need to see the descriptors for this device to see where the names are set). What I believe is happening here is the device exposes two separate MIDI interfaces, and each has separate pins (pin 0 and 1 from each). It really depends on what the driver is surfacing to us, though. I don't have one of these devices. Do you have any info on the descriptors it exposes? |
The device has a single MIDI interface with two endpoints for input and output and it shows up as a single device under "Sound, video and game controllers" in Device Manager. I noticed we can reproduce this with the A-88mkII running in the vendor specific mode. Could you try with it? You can download A-88 mkII driver for Windows from below: Please see Owners Manuals to switch the A-88 mkII to the vendor specific mode. |
I'll try this with the A-88mk2. However, Gary explained the logic here. If there are multiple filters, it will show up as multiple endpoints. That's how it works with MIDI 1.0 and the classic APIs. We can consider different logic here, but it wasn't in our plans to date. Going to leave this one open not because it's actually a bug (it works today like it did in the past), but it's a behavioral change we can consider implementing. |
Implementing multiple filters is common way to name each MIDI port. As you pointed, it should work fine with applications which use the classic APIs (MIDI 1.0 APIs).
Followings are possible examples of what happens if a single MIDI 1.0 streaming interface is divided to multiple UMP endpoints:
These will be an obstacle and a limitation to using existing MIDI 1.0 devices from applications that use MIDI 2.0 APIs. |
Yamaha also check it with our product Montage(not Montage M) which use vendor USB MIDI 1.0 driver. Result: midi.exe shows 3 UMP Endpoint with same name. Also we checked using ksstudio, it shows three separated name, like MONTAGE-1, MONTAGE-2 and MONTAGE-3. |
Naming is not yet finalized because Gary and Julia are re-doing the MIDI 1.0 enumeration code (main issue right now is devices only show up if they have a single in and a single out). But it's good to know that you use the filters for naming, instead of iJack. So many ways to provide names for devices, unfortunately. |
I'm bringing the filter thing back to Gary and Julia for consideration. I don't know if this can work within the Windows USB structure, and what will happen if other devices use filters in other ways, but they will know. |
@m-komo do you have a USB device & config descriptor(s) descriptor dump ? Would like to experiment with that. |
Hi @MusicMaker, |
Describe the bug
Roland OCTA-CAPTURE is a vendor specific USB MIDI 1.0 device, and it has two MIDI ports named "MIDI" and "CTRL".
The device consists of two MIDI port objects as below:
If I enumerate UMP endpoints, two "OCTA-CAPTURE" endpoints show up.
However, since the device only has a single USB MIDI stream, it should be configured as a single UMP endpoint.
And also, if I run the "send-message" command on both UMP endpoints, no message was sent out to the USB stream.
This issue may occur not only on the OCTA-CAPTURE but also other devices which have similar topology.
To Reproduce
Expected behavior
Only a single UMP endpoint shows up for OCTA-CAPTURE.
Sent messages are sent out to the USB stream.
Screenshots
Device Properties.zip
Attached file contains two files:
Installer Name or Version
Desktop (please complete the following information):
Device information, if this is with an external MIDI device:
The text was updated successfully, but these errors were encountered: