Half-Life и Adrenaline Gamer форум

Всё об игре в Халф-Лайф и АГ
Текущее время: 28 мар 2024, 14:58

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Бесполезный OpenSource: UNIX, DeaDBeeF & Half-Life
СообщениеДобавлено: 13 сен 2010, 05:45 
Не в сети
Зарегистрирован:
01 июн 2010, 03:10
Последнее посещение:
08 авг 2011, 01:24
Сообщения: 386
В продолжение рубрики бесполезных скриптов для игроков half-life под UNIX представляю простейший скрипт спама тем, что сейчас крутится в музыкальном про^Wвыигрывателе DeaDBeeF в Half-Life =)
У deadbeef, однако, меньше параметров, которые можно получить, например: расширение файла, формат, битрейт. Зато не приходится применять жутких хаков чтобы отформатировать вывод.
Итак.

Чтобы просто вывести, что сейчас играет, достаточно такой простой команды:
Код:
deadbeef --nowplaying '%a - %t (%e/%l)'

Вывод в файл:
Код:
OF=/tmp/hlmusic.cfg;
DB_PID=`pidof deadbeef`
NOWPLAY=`deadbeef --nowplaying '%a - %t (%e/%l)'`
printf 'say (deadbeef:%s): %s\n' $DB_PID "$NOWPLAY" > $OF

Ну и примерно так выглядит /tmp/hlmusic.cfg:
Код:
say (deadbeef:28720): YUI - Merry Go Round (0:18/3:52)

Остается лишь добавить loop :)

Я решил не начинать сызнова, а использовать уже готовый каркас для audacious2, даже сохранив поддержку последнего. Во вложении версия 0.2 скрипта hlmusic, теперь он поддерживает оба проигрывателя, выбирая с какого получать информацию при старте. Если работают оба проигрывателя одновременно, скрипт завершится.
Опять-таки предупреждаю: скрипт отрабатывает loop каждую секунду. На это уходит некоторое время и ресурсы CPU. Так как с момента последнего теста я переполз за многопроцессорный компьютер, я не замечаю никакой разницы в игре, однако на старом однопроцессорном (sempron 1800 mhz) в игре наблюдались лаги с audacious2 (и, полагаю, с deadbeef тоже, сейчас уже не скажу). Увы, каркас для inotify я еще не сваял :(

Честно говоря это вообще выглядит довольно глупо. Единственный правильный вариант действий: вообще написать плагин для DeaDBeeF/Audacious2, который будет сам выводить текущую музыку в заданном формате в указанный файл (а если вы захотите, вы всегда можете слинковать его в несколько мест). Обмозгую это чуть позже. В deadbeef уже есть некая заготовка, с audacious2 немного сложнее, и если честно, вообще нет желания для audacious чего-либо писать. Я перешел на deadbeef по той причине, что он-единственный (AFAIK) легкий(в плане памяти) плеер под UNIX, поддерживающий .cue. Audacious тоже поддерживает(заявлено), но на деле режет совершенно неверно.

ВНИМАНИЕ: Код распространяется под BSD лицензией!!! Используя данное ПО вы соглашаетесь с условиями данной лицензии. Вкратце ее суть сводится к тому, что вы имеете право на распространение и изменение ПО, пока вы сохраняете реквизиты разработчика в коде на прежнем месте, а разработчик не несет никакой ответственности, вы используете данное ПО на свой страх и риск, без каких-либо гарантий чего-либо, никакие претензии в случае возможного ущерба не принимаются.


Вложения:
Комментарий к файлу: hlmusic.sh 0.2 (supports deadbeef & audacious2)
hlmusic.sh.bz2 [2.19 КБ]
Скачиваний: 223
Вернуться к началу
 Профиль 
  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB