Pull to refresh
26
0
Send message

Запуск MFC-приложения на не-x86 архитектуре нативно при помощи Winelib и подключение к нему плагина на Qt

Reading time5 min
Views2.7K

Занимался я недавно портированием одного старого win32 MFC MDI приложения, до сих пор разрабатываемого с использованием Microsoft Visual Studio 6.0 (среда разработки 1998 года выпуска), на Linux. При чем необходимо было, чтобы под Linux собирался нативный бинарник в формате ELF из исходников. Взгляд упал на проект Wine, позволяющий запускать бинарники Windows (формат PE - Portable Executable). Один из компонентов Wine - библиотека Winelib - является прослойкой (враппером) между вызовами win32 и вызовами библиотек Linux. С помощью Winelib можно под Linux собирать win32 приложения из исходников. В составе Winelib есть десятки врапперов стандартных библиотек Windows. Но вот незадача. Враппера для MFC (Microsoft Foundation Classes) нет. В итоге прослойку между классами MFC и вызовами win32, пригодную для компиляции с использованием Winelib, пришлось готовить самому. Далее будет описан путь к решению задачи, а также компромиссы, на которые пришлось пойти по ходу реализации.

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments2

VSTi-плагин ASIO-хоста для подключения входа дополнительного ASIO-драйвера в DAW

Reading time4 min
Views3.6K

Столкнулся я как-то с ситуацией, когда, при наличии основной звуковой карты со своим ASIO-драйвером, необходимо было в DAW подключить USB-микрофон со своим ASIO-драйвером. А DAW не поддерживает подключение двух ASIO-драйверов одновременно. Поиском наткнулся на VST-плагин "VST interfaced ASIO-Host", написанный на Delphi. К сожалению, хоть и плагин увиделся через jBridge, нормально он так и не заработал. Таким образом, пришлось писать подобный плагин самому. В итоге, за 10 дней был написан плагин ASIOInput с открытым исходным кодом. В этой статье я расскажу о некоторых особенностях его разработки и архитектуры.

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments6

Подключаем к PSP геймпад от Xbox 360 при помощи Raspberry Pi

Reading time19 min
Views27K
… или сказ про то, как пингвин Америку с Японией подружил.



Итак, в стародавние времена люди играли в Sony Playstation и их все устраивало. Но прогресс не стоял на месте. Увеличивалась степень интеграции микросхем. Инженерная мысль постоянно искала новые формфакторы, а мысль маркетинговая — новые рынки сбыта. Так в 2005 году появилась в продаже за пределами Японии портативная игровая система Sony Playstation Portable. Ее игровая линейка (как и у любой другой приставки) представляла собою специально скомпилированные под железо PSP игры. Но также она обладала и достаточными вычислительными мощностями для запуска игр от оригинальной PlayStation через встроенный эмулятор. Хотя, быть может, тут ключевую роль сыграло то, что и у PlayStation, и у PSP стоял процессор одной и той же архитектуры — а именно MIPS. Но самое примечательное в этой системе то, что сразу же, в год запуска, в сеть утекли библиотеки PSP SDK. В результате, через почти 10 лет с момента запуска, мы имеем огромную библиотеку игр и отлаженного homebrew. Также, сейчас, в не самом крупном городе России полностью рабочую PSP (самой функциональной модификации) можно купить с рук за 3000 рублей. Все это делает ее к настоящему моменту очень привлекательной бюджетной игровой системой с просто огромной инсталлбазой. Самая функциональная модификация имеет компонентный выход для подключения к ТВ. Но разъем подключения к ТВ располагается неудачно с точки зрения долгого использования PSP в качестве геймпада. К тому же, при длительном использовании возникает необходимость подключения второго провода — от зарядного устройства. И удобство использования такой химеры стремится к нулю. Как относительно бюджетно и при этом гиково решить эту проблемку — про это и пойдет речь в этой статье. Также вкратце будут затронуты темы программирования драйвера USB-клиента под PSP, методика установки хук-функций в PSP, работа под линуксом с устройствами USB и с джойстиками через API. Мы начинаем.
Читать дальше →
Total votes 35: ↑30 and ↓5+25
Comments13

Пишем Hello World на ассемблере под Windows RT с использованием winapi

Reading time2 min
Views28K
Однажды, совсем недавно, на планшетах с Windows Microsoft потеряла миллионы долларов. Ну а мы сегодня просто будем писать под них на ассемблере.



Нам понадобятся следующие вещи.
  • Установленная Microsoft Visual Studio с поддержкой ARM ассемблера, например 2012.
  • Jailbreak'нутый планшет с установленной Windows RT, например Microsoft Surface RT.

Для начала создадим отдельную папку для проекта, в которой создадим файл arm.asm, содержимое которого под катом.
Читать дальше →
Total votes 58: ↑45 and ↓13+32
Comments8

Музыкальные репетиции: теперь и через интернет

Reading time7 min
Views33K
В статье кратко описано несколько подобных программ, а также рассказано об опыте разработки собственного ПО в этой области, т.к. доступные программы не обладали всеми необходимыми возможностями одновременно.

Предисловие


В начале 2012 года, на новогодних каникулах, я наткнулся на любопытный ролик:


В ролике видно, что в живую поют люди, как написано в комментариях, расположенные в разных студиях. Стало интересно что же это за технология. Единственной зацепкой стало слово NETDUETTO.
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments33

Information

Rating
Does not participate
Registered
Activity