-
-
Notifications
You must be signed in to change notification settings - Fork 26
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
Preset MIDI connections do not work across machines #889
Comments
Not all MIDI devices report UUIDs, and Chrome, between operating systems, isn't consistent with the device IDs returned through the WebMIDI API - so it's almost impossible for us to track devices without adding somewhat complex UI to allow the user to select the correct MIDI device from the devices plugged into the user's machine to map to the existing one in the preset. It's a headache, sorry. Probably already covered by #296. |
Then just do less work. Scrap all the UUID stuff. Just use the name, that's what I'm proposing above. It is rare that two controllers of the same kind are used in one machine and if they're flipped I just insert them again in a different order. I can't work around the problem as easily atm though, I have to edit the JSON like every reboot... |
Apologies, that was quite clear in the initial post. I'm hesitant to agree it's rare to have multiple controllers of the same type though - we don't have any usage data to support that statement. |
I stumbled into this thread searching for "modv midi stops working" from google. I want to add more context: I have stumbled upon the issue and it appears that the ID's change when plugging more or less devices and/or connecting them to different USB ports. For example, I configured a controller and it was called "input-0-MIDI"... but then when I also plugged a midi interface, that interface took on the input-0-MIDI and my "old" input-0-MIDI became input-1-MIDI.... I am not sure how they get "sorted". I am on Windows, so I think it's a general thing (being a high level JS app), not platform specific. Find&replace in the JSON file for the preset helped BUT I have a developer and IT background... most people will go crazy plugging and unpluggin stuff when this happens to them. |
@dani3l3 MIDI devices unfortunately through Web MIDI are not consistently sorted or even given the same ID per platforms. Windows is especially bad, and it's an 'under the hood' issue that Web MIDI inherits. Sorry this issue persists. I really would like to solve this in future modV updates, either with some advanced device information probing, device name matching (not ideal) and/or a UI which allows whole device reassignment. I pretty much had a year off developing modV, but I'm hoping to jump back in this year 🤞🏻 |
Operating system and application version
Describe the bug
I have two machines running the same modV and Fedora version. When I create a preset with MIDI connections on one machine those MIDI connections do not work on the other machine despite the same MIDI controller being connected.
EDIT: I also have the problem, that MIDI connections do not work on the same machine. They seem to change IDs from time to time. This really sucks as you have to edit the preset manually and copy-paste the new IDs...
Looking at the code I guess storing the "unique" port ID that comes from the browser / system does not make much sense. Plugging it into a different port might result in a different ID. I personally can live with one device (type/name) per system.
If you want to support multiple device of the same type, assign increasing numbers to the MIDI devices found. The first enumerated device gets "ID" 1, the next 2 and so on. Now assign MIDI connections based on that "ID". That should work with multiple devices and on multiple machines.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
MIDI connections work across machines and work when plugging the same MIDI device into a different USB port.
Preset: 2023-05.zip
The text was updated successfully, but these errors were encountered: