Есть ли новый Midi API для Windows Vista/7/8?

Я знаю API midiXxx, но я видел, что в настоящее время он указан в разделе «устаревшие» в msdn. http://msdn.microsoft.com/en-us/library/windows/desktop/dd743619(v=vs.85).aspx

Есть ли какой-то другой API, который я должен использовать для работы с более новыми версиями Windows?

Будет ли работать старый API в Windows 7 и 8?

Спасибо, Марк


person obiwanjacobi    schedule 28.11.2012    source источник
comment
МИДИ древний, 30 лет уже. Никаких изменений, поэтому нет необходимости изменять API. Он отлично работает на современных версиях Windows.   -  person Hans Passant    schedule 28.11.2012
comment
Да, старый API все еще работает в Windows 7 и 8, но, насколько я понимаю, нет возможности использовать MIDI-устройства в приложениях магазина Windows 8, так как весь winmm недоступен.   -  person Mark Heath    schedule 29.11.2012
comment
Обратите внимание, что для настольных приложений Win32 основные API-интерфейсы DirectMusic поддерживаются в Windows 7 x64 и более поздних версиях благодаря MIDI с отметкой времени.   -  person Chuck Walbourn    schedule 30.07.2014


Ответы (3)


В прошлую пятницу Microsoft выпустила предварительную версию Windows Runtime API для MIDI. Ознакомьтесь с сеансом //сборки/ здесь: http://channel9.msdn.com/Events/Build/2014/3-548

MSDN: http://msdn.microsoft.com/en-us/library/windows/apps/dn643522.aspx

Несмотря на предварительную версию, приложения могут быть запущены и развернуты в Магазине Windows. Пожалуйста, дайте нам знать, что вам нравится или не нравится. Удачной сборки приложения!

person KateWerner    schedule 10.04.2014

Для настольных приложений (не городских) вы по-прежнему можете безопасно использовать устаревший API.

К сожалению для WinRT/Metro, поддержка midi вообще отсутствует (см. -623b31c89765." rel="nofollow">обсуждение на msdn).

Надеюсь, они это изменят.

person mrvux    schedule 01.12.2012
comment
Вау... это безумие. Думаю, я не буду покупать устройство Windows Metro. - person Brad; 02.12.2012
comment
Брэд, посмотри мой новый комментарий. Есть обходные пути (которые, как я ожидаю, будут использовать музыканты). IIRC, MIDI не поддерживался в iOS до v3. - person Jason Olson; 06.12.2012

Катфльер прав в том, что в WinRT нет прямой поддержки (на уровне API) для MIDI. Однако, если вы хотите иметь в своем приложении возможности, подобные MIDI, есть обходные пути. Растет популярность протокола сетевого OSC (Open Sound Control). Поскольку он сетевой, вы можете использовать это.

Например, можно использовать внешнее оборудование, такое как The Missing Link, которое преобразует MIDI в OSC. Вы подключаете свое MIDI-устройство к недостающему звену, которое затем преобразуется в сообщения OSC, отправляемые на компьютер. Затем ваше приложение может получать сообщения OSC и взаимодействовать с MIDI-устройством. У меня нет никакого кода, чтобы показать здесь, но я видел демонстрации того, как это работает в действии.

Вы можете увидеть, как OSC используется на iOS, а также в популярных приложениях, таких как TouchOSC.

person Jason Olson    schedule 06.12.2012
comment
Да, вы правы, говоря, что есть обходные пути, но их проблема в том, что они... обходные пути)). Также аппаратное обеспечение, такое как Missing Link, переводит osc в midi, часто вам нужно наоборот (например, просто подключите миди-устройство usb к компьютеру). Как бы мне ни нравился OSC (также часто использую его), Midi проверен и очень надежен (я могу проводить ночные шоу с миди-контроллером, зная, что он меня не подведет, я не могу не сказать того же о беспроводных сетях). маршрутизаторы). Так что все еще надеюсь, что родная поддержка midi будет для метро. - person mrvux; 06.12.2012
comment
Мы полностью согласны :). Как музыкант, я надеюсь на то же самое в будущем. - person Jason Olson; 06.12.2012