Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: anyremote + deadbeef  (Прочитано 3318 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн s_rge

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
anyremote + deadbeef
« : 16 Августа 2011, 23:58:51 »
Здравствуйте.

Пришла идея прикрутить мобильник в качестве пульта к Убунте, выбрал anyremote http://anyremote.sourceforge.net/
все подходит, поддержка VLC есть Freevo тоже поддерживается, а вот моего любимого DeaDBeeF ttp://deadbeef.sourceforge.net/ не нашел, решил что нибуть своё (конфиг) слепить ;D
мож кто тоже ищет:

возможности:
"1" - эмулирует нажатие кнопки "volume-" мультимедийной клавиатуры
"2" - эмулирует нажатие кнопки "mute" мультимедийной клавиатуры
"3" - эмулирует нажатие кнопки "volume+" мультимедийной клавиатуры
"4" - предыдущая песна
"5" - пауза/продолжить
"6" - следующая песня
"7" - не используется
"8" - стоп
"9" - развернуть мидлет на телефоне на весь экран
"0" - браузер фаилов с возможностью как замены плейлиста, так и добавления в текущий плейлист выбранных композиций

обозвать "deadbeef.cfg" и кинуть в "/usr/share/anyremote/cfg-data/Server-mode"

%
% anyremote configuration file for deadbeef management. (Server-mode)
%
% thanks s_erge https://forum.ubuntu.ru
%

% STATUS stable
% XTEST no
% ENV no
% SOUND app
% FBROWSER v.3i

GuiAppName=DeaDBeeF
GuiAppBinary=deadbeef
GuiAppRun=echo 'A=`ps -ef|grep deadbeef|grep -v grep|grep anyremote`; if [ "x$A" == "x" ]; then echo NOK; else echo OK; fi'|bash -f -s
GuiAppIcon=deadbeef.png
GuiAppType=Application
GuiAppProtocols=Server
GuiAppDesc=A music player.

[Protocol]=Server

(Init)=Include($(CfgDir)/Utils/aliases-server.cfg);\
Macro(SETUP_DEFAULT_MIXER);\
Make(var,from_utf,by_value,);\
Make(var, to_utf,by_value,);

(Connect)=Make(mode,deadbeef);

[Mode]=deadbeef

(EnterMode)=Exec(echo 'P=`ps -ef|grep deadbeef|grep -v grep|grep anyremote`; if [ "x$P" == "x" ]; then deadbeef & fi' |bash -f -s);\
Set(skin,default,ticker,size32);\
        Set(icons,deadbeef,1,vol_down,2,mute,3,vol_up,4,rewind,5,pause,6,forward,7,no,8,stop,9,fullscreen,*,question,0,folder,#,no);\
        Set(font,small);\
Timer(DEADBEEF_SETTITLE,5,0);\
Set(status,);\
Macro(DEADBEEF_MENU);

UPDATEMENU=Set(menu,replace,GoTo,Add,Open,Go Home);

% FBROWSER v.3i
FillList=Set(iconlist,replace,Files,folder:..);\
Macro(FillDir);\
        Macro(FillFile);
FillDir =ExecAndSet(iconlist,add,SAME,cd "`cat $HOME/.anyRemote/ar_storedir.tmp`";ls -F --quoting-style=shell|sed 's/\*//;s/,/\r/g;s/@//;s/$/,/'|grep '/'| xargs -d '\n' -i echo "folder:" {} $(to_utf));
FillFile=ExecAndSet(iconlist,add,SAME,cd "`cat $HOME/.anyRemote/ar_storedir.tmp`";ls -F --quoting-style=shell|sed 's/\*//;s/,/\r/g;s/@//;s/$/,/'|grep -v '/'| xargs -d '\n' -i echo "file:"{} $(to_utf));
GoTo($$)=Make(var,goto,echo "$(Param)"$(from_utf));\
ExecAndSet(iconlist,replace,Files,cd "`cat $HOME/.anyRemote/ar_storedir.tmp`";echo "if [ -d $(goto) ]; then cd $(goto);fi;pwd>$HOME/.anyRemote/ar_storedir.tmp;"|bash -f -s;echo "folder:..");\
Macro(FillDir);\
        Macro(FillFile);
Go Home($$)=ExecAndSet(iconlist,replace,Files,cd;pwd>$HOME/.anyRemote/ar_storedir.tmp;echo "folder:..");\
Macro(FillDir);\
        Macro(FillFile);
% FBROWSER v.3i

Cancel  =Macro(QUIT);Exit
Back    =Set(text,close);Macro(ALLIN1MENU);
Back($$)=Set(list,close);Macro(ALLIN1MENU);
Open($$)=Set(list,close);\
Set(menu,clear);\
Macro(ALLIN1MENU);\
Exec(echo $(Param)$(from_utf)>$HOME/.anyRemote/ar_storefile.tmp);\
  Exec(cd "`cat $HOME/.anyRemote/ar_storedir.tmp`";deadbeef $HOME/.mplayer/fifo "`cat $HOME/.anyRemote/ar_storefile.tmp`" > /dev/null);\
  ExecAndSet(title,echo $(Param)$(from_utf));\
        Timer(DEADBEEF_SETTITLE,5,0);
Add($$)=Set(list,close);\
Set(menu,clear);\
Macro(ALLIN1MENU);\
Exec(echo $(Param)$(from_utf)>$HOME/.anyRemote/ar_storefile.tmp);\
  Exec(cd "`cat $HOME/.anyRemote/ar_storedir.tmp`";deadbeef --queue $HOME/.mplayer/fifo "`cat $HOME/.anyRemote/ar_storefile.tmp`" > /dev/null);\
  ExecAndSet(title,echo $(Param)$(from_utf));\
        Timer(DEADBEEF_SETTITLE,5,0);
 



DEADBEEF_MENU=Macro(ALLIN1MENU);
DEADBEEF_QUIT=Exec(deadbeef --quit);
DEADBEEF_GETVOL=Make(var,aplayer_volume,deadbeef --status|grep volume|tr -d " "|cut -f 2 -d ":");
     
Cancel=Macro(DEADBEEF_QUIT);Exit

Back=Set(text,close);Macro(DEADBEEF_MENU)
Back($$)=Set(list,close);Macro(DEADBEEF_MENU);

DEADBEEF_SETTITLE=ExecAndSet(title,sh -c "sleep 1; deadbeef --nowplaying %t");

% 1=ExecAndSet(title,sh -c "deadbeef --prev; sleep 1; deadbeef --nowplaying %t");
% 2=ExecAndSet(title,sh -c "deadbeef --play-pause; sleep 1; deadbeef --nowplaying %t");
% 3=ExecAndSet(title,sh -c "deadbeef --next; sleep 1; deadbeef --nowplaying %t");
1=Emulate(key,AudioLowerVolume)
2=Emulate(key,AudioMute)
3=Emulate(key,AudioRaiseVolume)

4=Exec(deadbeef --prev);Macro(DEADBEEF_SETTITLE);
5=Exec(deadbeef --play-pause);Macro(DEADBEEF_SETTITLE);Timer(DEADBEEF_SETTITLE,5,0);
6=Exec(deadbeef --next);Macro(DEADBEEF_SETTITLE);

7=Exec(echo vo_fullscreen > $HOME/.deadbeef/fifo)
8=Exec(deadbeef --stop);
9=Set(fullscreen,toggle);

* *=Set(text,replace,Help,1 - Vol-\n2 - Mute\n3 - Vol+\n4 - Rew\n5 - Play\n6 - FF\n7- Toggle fullscreen\n8 - Stop\n* *- Help\n0 - File browser\n# - Exit)
0=Macro(QUIT);Macro(FillList);Macro(UPDATEMENU);
#=Macro(QUIT)

[ModeEnd]

[End]

спасибо за внимание  :)

Оффлайн DarkDiabolik

  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: anyremote + deadbeef
« Ответ #1 : 17 Августа 2011, 01:47:14 »
Странно, но у меня не работает. Проверял РитмБокс всё было отлично, а твой конфиг не хочет.
UPDATE: Извинясь, если подключаться через All in one, то тогда работает, но если сразу выбирать в gAnyRemote DeedBeef тогда у меня не работало.
Было бы неплохо прикрутить и к остальным программам, которые не поддерживает AnyRemote, но которые есть в 11.04. Например UMPlayer
« Последнее редактирование: 17 Августа 2011, 02:01:06 от DarkDiabolik »

Оффлайн s_rge

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: anyremote + deadbeef
« Ответ #2 : 17 Августа 2011, 22:07:12 »
Странно, но у меня не работает. Проверял РитмБокс всё было отлично, а твой конфиг не хочет.
UPDATE: Извинясь, если подключаться через All in one, то тогда работает, но если сразу выбирать в gAnyRemote DeedBeef тогда у меня не работало.
Было бы неплохо прикрутить и к остальным программам, которые не поддерживает AnyRemote, но которые есть в 11.04. Например UMPlayer

У меня на пинокиа6630 с ЮСБ-Вай-Файкой работает, правда если плеер уже запущен, и остановлен (запустили не через гАниремоте), то тогда кнопка плей/пауза не запускает композицию, нужно надавить перемотку песни  :)

П.С. может кто найдет и поправит буду благодарен.

Оффлайн metallicwolf

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: anyremote + deadbeef
« Ответ #3 : 27 Августа 2011, 14:11:33 »
Огромное спасибо за конфиг)) Все работает.
« Последнее редактирование: 03 Сентября 2011, 13:30:09 от metallicwolf »

Оффлайн go8765

  • Участник
  • *
  • Сообщений: 159
    • Просмотр профиля
Re: anyremote + deadbeef
« Ответ #4 : 22 Октября 2011, 03:58:18 »
он появился, кстати, уже в зборке скриптов - all-in-one

Оффлайн s_rge

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: anyremote + deadbeef
« Ответ #5 : 26 Ноября 2011, 16:28:36 »
именно так, но там имя чуть не верно не "s_rge" a "s_erge"
но это не критично для меня  :)
я с разработчиком deadbeef-a переписывался

 

Страница сгенерирована за 0.06 секунд. Запросов: 23.