Управляем Winamp-ом с помощью пульта RM-1800 (от звуковой карты Creative X-Fi).

Евгений Ведерников. 01 июня 2008 года.

Фирма Creative наверное не совсем правильно выбрала название. Нужно было им назваться Кривотив - поскольку большая часть программ и драйверов, которые они делают для своих звуковых карт настолько кривые, что пользоваться некоторыми из них по назначению не представляется возможным. К таким программам относится и их медиа плеер, который называется "Entertainment Center". Вроде бы и небольшая проблема, но пульт идущий в комплекте со звуковой картой больше ничем управлять не умеет (ну может быть только громкость покрутить). Так что он тоже оказывается нафиг ненужной фиговиной.

Поэтому сразу после опробования этого "Entertainment Center" возникло больше желание разобраться, что бы такого полезного можно сделать с пультом. Вобщем вскоре нашел я программу Intelliremote 2.0 с сайта http://www.intelliremote.com. Самой программой пользоваться не пробовал, но в ней есть несколько замечательных программ-тестов различных компьютерных пультов. В том числе и пульта от звуковой карты Creative X-Fi. Этот тест показал, что пульт передает команды через MIDI интерфейс. Это значит, что пульт обрабатывается на уровне драйвера и больше никаких надстроек для получения кодов с него не нужно. После недолгих поисков в интернете (несколько дней) я нашел работоспособный (!!!) пример (качать отсюда) для чтения сообщений из MIDI порта (автор Adrian Meyer http://www.midimountain.com)...

Дальше было все просто. Я быстро определил коды всех кнопок (кстати, оказалось, что именно крутилки на пульте глючат - направление вращение не всегда показывают правильно, а я то думал что это опять софт глючит). И, естественно захотел по быстрому к чему-нибудь эти кнопки применить. Ну для чего, как не для Winamp-а это нужно больше всего?! Недолгие поиски способа управления привели к статье Ивана Ширко Сделай сам: Управление Winamp... И, Ура заработало!!! Наконец-то я хоть как-то могу управлять winamp-ом не устанавливая всяких глючных программ типа "Extra Keys Assigner 2.5" (это для дополнительных кнопок клавиатуры).

Хотелось бы сделать из этого всего полноценный general purpose плагин к winamp, но думаю, что быстро с этим не разберусь. Поэтому следующим этапом хочу переделать программу в сервис, который будет занимать меньше памяти, и будет активен все время...

Эту версию я написал меньше чем за 4 часа поэтому за красоту, плагиат и качество прошу ногами не пинать. Лучше попробуйте написать что-то более работоспособное и полезное (желательно для Winamp и LightAlloy). Я буду только рад если у кого-нибудь это получится :-)

Добавление 02.06.2008:

Сегодня немного переделал программу:

- разобрался как извлекать из креативовских SysEx сообщений данные (http://people.via.ecp.fr/~bozo/douze.html). Оказывается в этих SysEx всего 32 бита полезных данных - т.е. LongWord, с которым рабоать намного приятнее, чем со строками.

- решил что для управления Winamp-ом вместо вызова кучи готовых функций, будет удобнее использовать вызов одной функции с разными параметрами.

Скачать программу можно здесь:


02.06.2008 >>> RM_1800_Demo.7z <<< 188035 Байтов (исходный код на Delphi внутри)


А это раскладка пульта для управление winamp-ом (нарисованная в экселе ги-ги - влом было ставить какую-то более мощную рисовалку):

Hosted by uCoz