yurikhan: (Default)
[personal profile] yurikhan

Всё началось с того, что я написал плагин к FAR’у для редактирования субтитров в формате SSA, и заюзал в нём для предпросмотра оный плеер. Выложил на сайте, написал в форум.

Потом вышла Windows Vista. В форуме пошло обсуждение, что в ней отвалилось, и в том числе всплыл мой плагин.

Хорошо. То есть плохо. Берём VMWare, ставим в него эту вашу Висту, FAR, Media Player Classic, плагин, и начинаем ковырять.

Путём нехитрых манипуляций выясняется, что тот объект, который MPC регистрирует в COM’овской Running Objects Table, перестал выдавать интерфейс IMediaSeeking. Без которого не представляется возможным следить за тем, какая фраза сейчас произносится, и соответственно двигать курсор в редакторе, а также перематывать плеер по запросу пользователя.

То, что косяк не в Vist’е, а в MPC — я практически уверен. Требовать от разработчиков, чтобы сами разобрались и пофиксили — не позволяют моральные соображения, в конце концов, (а) проект открытый, (б) нормальной работе самого плеера не мешает.

Значит, качаем исходники… — фигушки, tarball исходников не обновлялся уже c 2003-08-19, добро пожаловать в CVS Subversion repository. Идём на работу, качаем Subversion (однако, 3.5M), качаем дерево исходников (ещё 69M), несём домой.

Дома выясняется, что ему надо DirectX 9 SDK (это у меня есть) и Windows Media Format SDK (ещё 7.5M).

Хм. Ладно. Начинаем собирать. Возникает подозрение, что у девелоперов какая-то другая версия MFC. Моя хочет, чтобы OnNcHitTest возвращала UINT, а их — LRESULT. По идее, конечно, LRESULT правильнее.

Хм. У них DirectX SDK новее, в моём не хватает некоторых констант. Ладно. Гугл в помощь, находим константы, патчим свой DXSDK.

Блин, какой неряшливый проект, однако. Warning’и так и сыплются.

А ещё у них в каждом подпроекте есть solution для Visual Studio 2003 и для 2005. И тот, что 2005, в моей Студии не открывается, а 2003 открывается, но не собирается, потому что список файлов неактуальный. Приводим в порядок.

А вот кусок кода использует какой-то ATL’ный контейнер, у них он, видимо, компилируется, а у меня нет. И, главное, я не представляю, как он может компилироваться, глядя на мою версию ATL.

Видимо, придётся таки брать Visual Studio 2005, тащить её в виртуальную машину и собирать там.

Общее впечатление. Разработчики ушли на Visual Studio 2005 и вовсю используют новые фичи, а на то, чтобы проект компилировался VS2003, им положить. Может, оно и правильно…

Date: 2006-11-29 10:52 (UTC)
From: [identity profile] beldmit.livejournal.com
Я тут развлекался с обратной проблемой. Проект собирается MSVC 6, а семеркой - с применением зубила и такой матери. И тут же радостно сегфолтится, вот уж не знаю - MFC в этом виновато или юникодные проблемы...

Date: 2006-11-29 16:45 (UTC)
From: [identity profile] ajaxas.livejournal.com
*sing together bnow!*
Vive le GCC!
Vive le GCC!

:D

Date: 2006-11-30 07:29 (UTC)
From: [identity profile] karnauhov.livejournal.com
Мда, можно подумать, что gcc весь такой белый, пушистый и обратносовместимый =)

Profile

yurikhan: (Default)
Yuri Khan

August 2018

S M T W T F S
   1234
567891011
12131415161718
19202122232425
26 2728293031 

Links

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated 2026-02-05 06:51
Powered by Dreamwidth Studios