WebMIDI-MIDI driver information seems irregular on Windows
Reported by
j...@krutisch.de,
Aug 24 2016
|
||||
Issue descriptionUserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Example URL: https://pixelpoke.de/midireporter Steps to reproduce the problem: 1. Connect a Novation MIDI device (for example, a Novation Circuit or Launchpad) via USB without installing the novation driver 2. Go to https://pixelpoke.de/midireporter/ 3. Install Novation MIDI driver 4. Go to https://pixelpoke.de/midireporter/ 5. Compare Values What is the expected behavior? I expect the returned values for midiport.manufacturer and midiport.version to somewhat correlate to information provided by Windows itself in the device manager. What went wrong? When connecting the synth without an installed driver, WebMIDI API reports "Novation-Focusrite" as the manufacturer and Version 2.0 as the version. The Windows driver manager reports "Microsoft Corporation" and "Version 10.0". When connecting the synth with an installed driver, WebMIDI API reports "Microsoft Corporation" and Version 10.0 (on Win 10) as the version. The Windows device manager reports "Focusrite A.E." (or something similar) and the correct driver version. Did this work before? N/A Is it a problem with Flash or HTML5? N/A Does this work in other browsers? N/A Chrome version: 52.0.2743.116 Channel: stable OS Version: OS X 10.11.6 Flash Version: Shockwave Flash 22.0 r0 It seems to me that depending on which driver is used, the Web MIDI API displays different data from different sources. Maybe this is due to the underlying MIDI driver architecture, but I would love to see if this could be improved. As the standard Windows MIDI drivers are a bit buggy (resulting in data loss when transferring large SysEx packages, for example), we would like to detect if a driver is installed. Given the current situation this is possible but the resulting code would be really confusing.
,
Aug 24 2016
,
Aug 29 2016
To detect manufacturer on Windows, we use MIDIINCAPS2W to get a USB's PID and convert it to a string through an internal table. This is because Windows MIDI API does not provide a stable way to query device manufacturers that is available for all devices. I guess the default driver by MS provides this PID correctly, but Novation's driver doesn't. It may happen because of a wrong copy and paste from a sample code to develop a driver, but this is just a possible reason, and may be wrong for this case. Our current solution is to use the new API that is available only on Windows 10, and implementation is under review now.
,
Sep 1 2016
,
Sep 1 2017
Issue has not been modified or commented on in the last 365 days, please re-open or file a new bug if this is still an issue. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot |
||||
►
Sign in to add a comment |
||||
Comment 1 by j...@krutisch.de
, Aug 24 2016