exelens 02.06.2011 14:08

WeИнтервьюDeadBeef давнее интервью

Как понимаю этот материал был готов давно но по какой то причине ранее не был опубликован.

Материал получен от zereal публикую как есть.

В предверии близкого релиза новой версии плеера DeadBeef его авторы отечают на несколько вопросов

Действвующие лица
waker — основной разработчик, автор идеи и ведущий проекта (Алексей Яковенко)
thesame - программист, автор нескольких плагинов, участвовал в проекте практически с первого дня (Виктор Семыкин)
starws - наш QA (он аноним, даже отказывается от строчки в about :)
Алексей Смирнов - сборщик пакетов для дебиана и убунты, и немного кода написал по мелочи (Алексей Смирнов)
Not_eXist - переводчик на русский, и инициатор добавления поддержки локализации (Дмитрий Симбирятин)

Как появилась вообще идея написать deadbeef?

Алексей Яковенко: Ну она появилась не внезапно.. Я долго к этому шел :)
Был такой момент, мы с thesame чатились в jabber, и я как раз обновил audacious.. который начал в очередной раз вылетать на каждый чих. Ну и я сказал что-то вроде "все, меня это достало, фубар под wine тоже достал -- надо зафигачить свой плеер" :)

Вы пользовались Foobar2000?

Алексей Яковенко: Да.. я как раз примерно за 1 год до этого момента узнал о фубаре, и постоянно пользовался им на работе.

Не было других вариантов? Написано же столько плейеров

Алексей Яковенко: По большому счету -- есть не так уж много плееров, которые покрывают мои потребности в linux. Точнее, их пока вообще нет. Ближе всего к моим потребностям -- audacious, xmms и aqualung. Остальные вообще не устраивают.. в них слишком многого нет. Audacious не мог даже просто добавить мою коллекцию музыки в плейлист -- вылетал в 100% случаев. Cейчас по прежнему приходится держать foobar+wine как запасной вариант, т.к. deadbeef все еще многого не может.

Коллекция большая?
Алексей Яковенко: Коллекция относительно маленькая, но там много экзотических форматов. Всякие mod, sid, nsf и всяческие их ответвления. Музыка из старых игр, особенно со старых 8битных компьютеров и игровых приставок

По-моему, вопрос какой плейер в Linux самый лучший это тема вечных холиваров:)

Алексей Яковенко: Для нас - уже нет: foobar2000+wine, конечно =)

Ты и до этого занимался программированием?

Алексей Яковенко: ну.. да, я профессионально программирую.. но плееров раньше не делал :)

А как получилось что ты начал программировать? Как вообще человек становится программистом? У кого какие мнения?

А бог его знает... Я вот не стал и особенно не жалею
Виктор Семыкин: Все по-разному, я думаю. Я знаю людей, которые стали программистами просто потому, что поступили на программиста в университет, и знаю тех, которые с юных лет этим занимаются.
Алексей Яковенко: Думаю, единого способа нет.. Все по разному. Кто-то хочет зарабатывать деньги, создавая сайты на php.. А кто-то просто хочет писать программы, как я.

Алексей, это способ самовыражения?

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

Чем вы занимаетесь в жизни? работаете/учитесь?

Алексей Яковенко: Я работаю. Программистом., Копенгаген, 31, зарабатываю разработкой видеоигр (программирование).
Виктор Семыкин: Я тоже работаю программистом, и доучиваюсь на заочке. Виктор, Донецк, 26, веб-программист. Ой, 24.

Напишу уж сразу всё: Николай, Москва, 30+, зарабатываю тестированием ПО

Алексей Смирнов: Алексей, Екатеринбург, 23, Linux-программист
Виктор Семыкин: Виктор, Донецк, 26, веб-программист

А как получилось, что вы, фигурально выражаясь, собрались в одной точке?

Виктор Семыкин : Мы с waker'ом раньше жили в одном городе и работали вместе. Плейер он начал писать сам. Пишет его большей частью сам до сих пор

Алексей Яковенко: Витю я знаю в real life - мы из одного города родом
вначале я начал писать плеер в одиночку, потом Витя начал помогать. Со sceptic мы были знакомы по конференции vim@ в жаббере, он пришел в проект делать пакеты для дебиана, и помогать тестированием. Ну starws был одним из ранних юзеров, просто пришел, увидел, победил..

Задумал перейти с офтопика на линукс. Обнаружил недостаток устраивающих меня приложений (в т.ч. аудиплеера). Как узнал о проекте deadbeef - не помню, возможно, прочитал на ЛОРе. Поставил, посмотрел, потом зашел в конференцию проекта, примерно так и началось

А вообще вы юзеров допускаете до разработки? Например, приходит кто-то из пользователей и предлагает патч? Примете?

Алексей Яковенко: Смотря какой патч. Если говорить о replay gain, примерно так и было - пришел человек, и сказал? что нашел несколько ошибок в реализации replay gain. И сразу прислал патч, который все исправляло. Патч был очень хорош, я принял его, не задумываясь. Этот же человек вообще много патчей делал. В основном, то, что касается реализации поддержки wavpack. (Речь идет о создателе кодека wavpack)

В чем, на ваш взгляд, основное преимущество deadbeef?

Starws: киллер фича? Я бы сказал, что лучшая поддержка cue, быстрый интерфейс, высокая стабильность (надеюсь), хорошая поддержка "больших" плейлистов. Пожалуй, забыл ещё одну киллер-фичу: поддержка 1251 везде, где только возможно.

Алексей Яковенко: Про киллер фичи.Трудно сказать, что из моих любимых фич является киллер-фичей.. по сравнению с foobar2000 -- их пока и нет вовсе. Разве что "opensource".Если говорить о киллер-фичах среди линукс-плееров - то их много. Если говорить среди плееров вообще - их нет.

Виктор Семыкин: Скорость, чего там думать. deadbeef молниеносен.

Амарок например, хоть и монстр, но все же много чего умеет, вплоть до будильника

Алексей Яковенко: но не умеет играть музыку. В амароке есть синхронизация с ipod! Вроде бы. Я не пытаюсь конкурировать с амароком. Он просто из другой оперы. deadbeef тоже умеет будильник. sleep 43200 && deadbeef /music/In\ Flames
прозвенит через 12 часов как миленький. Вобщем, у deadbeef цель играть музыку, из любых форматов, делать это хорошо, насколько возможно, и оставаться быстрым. У amarok цели какие-то другие. Например, интегрироваться с веб-сервисами, ну и всякие другие штуки. Не являясь его целевой аудиторией - тяжело судить.

Amarok? Не воспроизведёт и половину той коллекции, на которой я смотрю deadbeef

Разработка осуществляется полностью на пожертвования?

Алексей Яковенко: Разработка осуществляется полностью на святом духе. Пожертвований за весь период хватит .. ну.. сходить один раз впятером попить пива с бургерами. Я не пытаюсь зарабатывать денег на линуксовом софте В планах есть зарабатывать деньги на версии для Androiв, а не на версии для Linux. Я выпустил тестовую сборку, чтобы дать людям посмотреть "как оно вообще", и получить какую-нибудь информацию о совместимости. Она есть в Android Market. Жутко недоделанная (поэтому много коментариев, в стиле "ничего не работает, ничего не играет"). Версией для Android я занимаюсь полностью сам. Это даже не opensource проект, хотя часть кода оттуда и попадает в основную ветку. Все фичи, которые относятся к проигрыванию звука, тегам, и т.п. -- одинаковые в настольной и андроидной версиях.

Смысл в том, чтобы довести функционал версии для Android до уровня настольной?

Алексей Яковенко: Этого не получится сделать в ближайшей перспективе. Процессоры в андроид-устройствах слабоваты. А поддерживать надо даже старые, типа G1.

Чему сейчас уделяется больше времени - версии для Android или настольной?

Алексей Яковенко: Когда как.. последние пару недель - настольной. до этого я месяца полтора очень интенсивно андроидной занимался. Хочется поскорее выпустить очередной релиз настольной версии.. Поэтому стараюсь удержаться от андроидной пока.

Что важнее в разработке deadbeef - разработка новых фич или исправление каких-то ошибок или недочетов? У вас наверное разные взгляды на этот вопрос?

Виктор Семыкин: waker на удивление адекватный человек в этом вопросе
Ему удается делать и то и другой в должной степени. Все довольны.

Алексей Яковенко: я стараюсь исправить все известные ошибки перед каждым релизом. Но в процессе работы над фичами -- это нереально.. Поэтому, обычно в ветке, в которой я работаю - полно ошибок. Затем составляю список и исправляю, пока не исправлю.

Как вы составляете план разработки?

Алексей Яковенко: План составляется примерно так:
1. смотрю в мой секретный roadmap (который когда-нибудь приведет к 1.0)
2. выбираю из него 1-2 больших фичи, которые долго делать, но которые уже "созрели" - т.е. уже есть техническая база, чтобы их реализовать
3. составляю план что нужно сделать, чтобы их реализовать (с мелкими деталями)
Мы не составляем план сообща, и я даже не публикую его, но я обычно рассказываю что делаю. Roadmap вообще тоже не секрет.. Но файл, в котором он содержится, содержит много всяких вещей, которые я не хочу публиковать.

Что запланировано на следующий релиз?

Алексей Яковенко: насчет следующего релиза -- это очень большой релиз.. из ключевых моментов:
* поддержка вывода звука разной битности (8,24,32) - раньше был только 16битный вывод
* поддержка вывода многоканальной музыки
* улучшенная архитектура DSP плагинов (и несколько новых DSP плагинов), с возможностью гибкой настройки, примерно как в фубаре
* новый плагин Converter с настраиваемыми encoder presets
* улучшенное отображение и редактирование тегов

Все перечислять нет смысла, его очень много.. думаю, это будет релиз с самым большим числом изменений (в плане кода).

Алексей Смирнов: vfs_zip!

Сколько в roadmap запросов именно пользователей, а не твоих решений? То есть насколько ты ориентируешься на все эти feature requests?


Алексей Яковенко:В основном ориентируюсь на них только тогда, когда они мне лично полезны.
Либо когда они могут быть полезны очень большому количеству пользователей.
Ну и естественно, я не буду бросаться реализовывать фичу, если проект еще к ней не готов. до всего надо дорасти


Что реализовать не получается совсем? Не хватает технической базы, знаний, сил?

Алексей Смирнов: Времени. Ну.. некоторые вещи реализовать технически проблематично. как, например, в случае с проигрыванием формата TAK. Он достаточно популярен, но декодера нет ни в каком виде кроме windows DLL. А так - все упирается во время. Приходится решать, что делать самому, а что отдать на откуп разработчикам плагинов.

Если вернутся к нынешнему релизу 0.4.4 - удалось воплотить все что хотелось, или вы чем то недовольны?

starws: 0.4.4? Недоволен количеством багов, которые пропустил в релиз

Алексей Яковенко: думаю, я в 0.4.4 сделал 99% из всего что на 0.4.4 было запланировано, и многое из того что запланировано не было. С радио до сих пор есть проблемы.. Но я их исправляю.. все проблемы из 0.4.4 уже исправлены, но появились новые.

Starws: Приму любые багрепорты по радио с указанием конкретных радиостанций и описанием.

А как вы оптимизируете код? Ведь deadbeef нереально быстрый и занимает совсем немного памяти и не грузит процессор.

Виктор Семыкин: Мы просто не используем питон и моно

Алексей Смирнов: Mono быстрый, не надо Что значит совсем немного памяти? стоимость одного мегабайта памяти DDR2 897руб / 1024 = ~0.9 копеек

Алексей Яковенко: Конкретно я -- по старинке.. Использую профайлер, либо меряю время выполнения кода вручную и исправляю, чтобы работал как надо

Кто придумывал название?

Алексей Яковенко: название придумал я. совершенно от фонаря. сидел в курилке на работе, и решил что если начну делать плеер - назову его вот так. Типа линуксо-хакерская версия foobar.

Виктор Семыкин: По-моему ты название потом придумал, через несколько дней

Алексей Яковенко: Нет. Я его придумал еще до того как начал кодить.

А как вы считаете, чего ни в коем случае не должен делать Linux программист. Да и вообще любой программист?

Виктор Семыкин: Ломать обратную совместимость, как Гвидо

Алексей Яковенко: Идти работать в микрософт

Алексей Смирнов: Они уже сделали конвертер из 2 в 3. Так что они молодцы

Алексей Яковенко: Это мнения, а не вбросы.

Алексей Смирнов: В Майкрософт хорошо кстати

Надеяться на удачу, что "оно и так заработает, без тестирования"

Алексей Смирнов: Тогда так: не убивать свою жену как Hans Raiser.

Последний вопрос: что пожелаете читателям?

Алексей Смирнов: happy hacking, или как-то так

Алексей Яковенко: Присоединюсь, пожалуй

Виктор Семыкин : Чтобы у всех всё было хорошо

: Пожелаю не сидеть сложа руки и писать багрепорты, если заметили баг в любимом софте
Вопросы, правки возражения?
Плиз в комменты! Ваш КА =)


Тэги: deadbeef
+ 14 -
Похожие Поделиться

bigbn 02.06.2011 17:07 #
Я таки не понимаю что в нем такого, в этом плеере? Что все в нем нашли? Я ставил, поигрался, не цепануло и дальше жить с ритмбоксом и тотемом остался.
Shtsh 02.06.2011 17:50 #
Как минимум, он маленький, шустрый и приятный. Особенно, по сравдению с монстром ритмбоксом.
h31 02.06.2011 21:01 #
Ритмбокс как раз вполне таки шустрый и приятный.
vkapas 02.06.2011 22:35 #
У Rhythmbox бывают проблемы с кодировками, например.
kstep 06.06.2011 13:10 #
CMus — меньше и шустрее, наверное, не придумаешь.
cubiccat 02.06.2011 18:20 #
Пользуюсь DeadBeef регулярно начиная с версии 0.3.3
Хороший и удобный плеер, просто делает свое дело
Авторам огромное спасибо за их труды
xtavras 02.06.2011 18:49 #
Сорри за оффтоп, но пользуясь случаем спрошу, поставил вчера последнюю версию с оффсайта на Debian 6, но не показываются обложки, сделал все как написано в хелпе, но лишь белое место, как будто библиотеки какой-то не хватает, у кого-то так было?
jungo 02.06.2011 20:39 #
Белое место? Это случайно не бело-голубоватый градиент со знаком вопроса? Если так, то обложка просто не найдена.
На вкладке Настройки - Расширения - Album Artwork у меня отмечены все чекбоксы (получать обложки из локальной директории и из интернета), а так же вручную указал все возможные маски для локальных обложек (наподобие 'side*', 'rear*', etc), всё работает (правда не все обложки верные).
xtavras 02.06.2011 20:56 #
Хм, у меня нет такого расширения, на оф.сайте среди плагинов такого нет. А выглядит оно вот так
jungo 02.06.2011 21:11 #
У меня Арч, ставил из community, версия 0.5.1.
Пакет собирался из оффициальных исходников, там этот плагин есть (директория plugins/artwork).
xtavras 02.06.2011 21:36 #
скачал статик версию, обложки есть, видимо накосячили мэйнтенеры. В любом случае спасибо.
jungo 02.06.2011 20:33 #
Для меня это лучший плеер из всех опробованных, долго такой искал, пользуюсь достаточно давно.
В текущей версии (0.5.1) порадовали нововведения (в частности теперь можно менять метаданные треков, но к сожалению, только по одному за раз).
s47 02.06.2011 21:11 #
Спасибо Zereal

Отличный плеер! Тоже пользуюсь с версий 0,3.
fat0troll 02.06.2011 21:34 #
Zereal это великий интервьюер опенсурсников :-) // да-да, мы до сих пор с теплом вспоминаем твой приход в нашу конфу :-)

дедбиф на всяких легких окружениях и слабых тачках рулит)
Magog 06.06.2011 08:00 #
хм. Оказывается читать интервью разработчиков опенсорсных проектов да еще и русских очень интересно. Спасибо exelens за серию статей на эту тему. Очень интересно читать