Несовместимые названия миди при использовании нескольких устройств одного типа
Я сталкиваюсь с непонятным поведением именования устройств, когда пытаюсь использовать несколько устройств USB midi одного и того же типа оборудования. Поскольку это может быть связано с оборудованием / системой / драйвером, вот моя общая настройка:
- хост: Windows 8.1 x64 (протестировано на нескольких машинах)
- usb устройства: 2x Livid Brain V2 (универсальный интерфейс usb-midi)
Два устройства (одно и то же оборудование, назовем их устройствами X и Y) перепрошиты с двумя разными вариантами прошивки, так что они появляются с разными именами в списке midi. Если я подключаю только устройство X, оно отображается как "Brain2" / если я подключаю только устройство Y, это "Brain2B". Это имена, которые я получаю из MIDIINCAPS / MIDIOUTCAPS (winmm.dll). Все идет нормально.
Проблема возникает, как только я подключаю оба устройства одновременно, тогда оба получают одно и то же имя (из последних подключенных), поэтому перечисление меняется:
- сначала X, затем Y => оба получают имя "Brain2B"
- сначала Y, затем X => оба получают имя "Brain2"
Тем не менее, я могу получить доступ к устройствам и использовать их, но больше не могу их различать (что по сути совпадает с исходной позицией, при которой на обоих устройствах установлено одинаковое встроенное ПО).
Я был бы счастлив, если бы кто-нибудь мог указать мне правильное направление. Кто-нибудь сталкивался с чем-то похожим? Может ли это быть проблемой, связанной с системой? (Или это плохой водитель, может быть?) Заранее спасибо!
РЕДАКТИРОВАТЬ:
Я более подробно рассмотрел свойства usb с помощью инструмента под названием USB Device Tree Viewer (похожего на USBView), и оказалось, что идентификаторы там верны. Итак, как winmm.dll получает перечисление midi - может ли это быть ошибкой? (навряд ли)
Moritz
(кстати: вот соответствующая тема / сообщение на форуме производителя: ссылка)