Dario Casalinuovo рассказывает про UltraDV

Jul 21, 2016 01:52


Кто-то из вас наверное уже читал заметку о приложении UltraDV, которая изначально должна была стать "убойной фичей" BeOS 5, но судьба распорядилась иначе. Исходные коды приложения былы опубликованы под лицензией MIT в 2013 году и в настоящее время мы пытаемся найти способ как продолжить разработку и развитие UltraDV. Сегодня я намерен рассказать вам о текущем положении дел.

UltraDV это видеоредактор, с точки зрения объема кода это гигантская программа, одна из самых крупных что я видел в мире Open Source.

Как уже было заявлено, я горячо заинтересован в популяризации разработки приложений для операционной системы Haiku, и будучи ответственным за Media Kit мне хотелось бы видеть больше мультимедиа приложений, которые будут использовать нативный Haiku API. Взяться за такое крупное приложение это большая задача, к которой нужен обстоятельный и серьезный подход, а также долгосрочный план действий. Для начала хотелось бы уточнить кто есть кто и что у нас имеется за пазухой.

UltraDV сегодня - это
↗ Профессиональное мультимедиа-приложение
↗ С хорошо спроектированным интерфейсом
↗ Нацеленное на смешивание различных аудио-видео материалов

UltraDV сегодня не хватает:
↘ Полноценной функциональности и законченности
↘ Соответствия современным стандартам программирования
↘ Соответствия современным стандартам проектирования интерфейса
↘ Обновления до современного Haiku API (у нас в наличии снимок кода из периода после BeOS R4)

Каждый может убедиться в этом, если посмотрит на репозиторий. Я настоятельно рекомендую вам сделать копию исходников и протестировать приложение самостоятельно для ознакомления с текущим состоянием UltraDV.

Итак, каков план? Несколько месяцев я занимаюсь проработкой проекта и мне думается, что сегодня у меня есть достаточно четкий план того, чем следует заняться для доведения функциональности программы до какого-либо приемлемого уровня. Что уже сделано в свободное время:

❗ Перенос на современную систему сборки
❗ Исправление некоторых устаревших значений, вызывавших проблемы
❗ Очистка кода от посторонних и повторяющихся файлов
❗ Начало работы над более организованной и компактной иерархией папок

На данном этапе разработки следует продолжить восстановление состояния кода до того уровня, когда можно заняться исправлением ошибок и попытаться вернуть утраченную функциональность.

Вторым шагом будет удаление участков кода, которые могут быть заменены тем API, который был унаследован от BeOS 5 и совершенно новым, уникальным для Haiku. Например, UltraDV ничего не знает про BMediaEventLooper, так что существующие медиа ноды создают свой собственный управляющий поток ужасно неэффективным дублирующим способом.

В те времена, когда UltraDV активно разрабатывалась, основным трендом было делать media_nodes ответственными за все. Сегодня мы знаем, что media_nodes лучше справляются с такими "живыми" задачами как запись со звуковой карты, но мы также понимаем как использование BMediaFile является более удобным и эффективным, когда нам нужно кодировать или записать медиаданные на диск. Если нам повезет, то на этом этапе качество кода возрастет на порядок.

После этого мы сможем восстанавливать потерянные и внедрять новые необходимые функции. Другой вехой будет переписывание GUI с использованием разметки интерфейса, это одна из тяжелейших задач, боюсь что в обозримом будущем мне не добраться до этого этапа при всем желании. Одной из целей изначального восстановления состояния кода является удаление как можно большего количества устаревших фрагментов кода и замена их на совершенно новые.

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



Источник

beos, haiku, software

Previous post Next post
Up