Open kevinjwalters opened 5 years ago
Hi Thanks for reporting this issue.
It's interesting since i just use the browser's capabilities to enumerate midi devices and all your devices should have a unique id.
I will certainly look into this for the next release.
In case it matters this was Chrome 73.0.3683.86 (Official Build) (64-bit) on Windows. It's possible this is a limitation with Web MIDI or the browser, I don't know anything about how this works at lower levels.
Unrelated, how do you handle SysEx? I spent a few hours yesterday trying to get something to work and it turns out Ableton Live doesn't forward them and then I realised I wasn't sure what the Router functionality in your Web MIDI application was doing with them. They don't show up in the Monitor, I think they were popping up as corrupted other events, possibly. The ability to tap in arbitrary SysEx too would be rather nice.
There's a curious note about permissions and requirement for https (TLS) for SysEx on Factotumo: Web MIDI Access, Sysex, and SSL
FYI, for what it's worth https://factotumo.com/web-midi-console/ also only lists one device, CircuitPython MIDI
.
FYI, for what it's worth https://factotumo.com/web-midi-console/ also only lists one device,
CircuitPython MIDI
.
That is interesting as well as it would imply browsers are currently not able to distinguish between the same devices.
Regarding sysex handling, i believe i only send start/stop and control speed/bpm to my own hardware. The idea is the router part will be completely handled in hardware in the future. I'm working on a hardware midi router for that (https://github.com/tomarus/midirouter) but it's far from finished ofcourse.
This is what I have been working on: Adafruit Learn: Circuit Playground Express USB MIDI Controller and Synthesizer
I've also got some ideas about how Ableton differentiates between MIDI devices with the same name: Adafruit Forums: USB midi identification
Thank you this is valuable information!
I've started a discussion on https://forum.ableton.com/viewtopic.php?f=1&t=234679 but it's such a deeply technical question that it would take a developer to answer it and I doubt they do much noodling around there.
I am using some Adafruit boards which identify themselves as
CircuitPython MIDI
over USB. If I plug two of them into the same host computer only one appears in this browser application.For comparison, Ableton Live distinguishes them as
CircuitPython MIDI
andCircuitPython MIDI #2
. I'd imagine Ableton is adding the prefix to allow the user to specify each one.