MOCP - Music On Console Player Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:mocp [2011/09/14 11:01]
[MOCP - Music On Console Player]
wiki:mocp [2012/01/29 02:32] (текущий)
[Интеграция с conky]
Строка 9: Строка 9:
   * возможность управления извне - например,​ из командной строки или с помощью кнопок на панели ​   * возможность управления извне - например,​ из командной строки или с помощью кнопок на панели ​
   * запущенный в "​иксах"​ плеер будет играть и при переходе в tty-консоль((более того, при переключении консолей плеер ставится на паузу, пока пользователь логинится в текущей консоли))   * запущенный в "​иксах"​ плеер будет играть и при переходе в tty-консоль((более того, при переключении консолей плеер ставится на паузу, пока пользователь логинится в текущей консоли))
-Вкратце можно сказать,​ что mocp - отличный плеер для тех, кому от плеера требуется именно то, для чего он предназачен - прослушивание музыки.+Вкратце можно сказать,​ что mocp - отличный плеер для тех, кому от плеера требуется именно то, для чего он предназаченн - прослушивание музыки.
  
 ===== Установка ===== ===== Установка =====
Строка 30: Строка 30:
 Честно говоря,​ при первом запуске он будет выглядеть немного иначе, но все можно настроить по вашему вкусу, о чем речь пойдет ниже. Сверху,​ на приведенном скриншоте,​ (по умолчанию в левой части) находится обозреватель файлов,​ из которого можно добавлять файлы и папки в плейлист,​ который находится внизу (а по умолчанию справа). В нижней части окна расположены индикаторы громкости,​ времени воспроизведения,​ указан текущий файл и прочая информация. Честно говоря,​ при первом запуске он будет выглядеть немного иначе, но все можно настроить по вашему вкусу, о чем речь пойдет ниже. Сверху,​ на приведенном скриншоте,​ (по умолчанию в левой части) находится обозреватель файлов,​ из которого можно добавлять файлы и папки в плейлист,​ который находится внизу (а по умолчанию справа). В нижней части окна расположены индикаторы громкости,​ времени воспроизведения,​ указан текущий файл и прочая информация.
 Управление осуществляется с клавиатуры,​ поэтому рассмотрим **основные сочетания клавиш**:​ Управление осуществляется с клавиатуры,​ поэтому рассмотрим **основные сочетания клавиш**:​
-  * <​key>​h</​key>​ - показать справку по клавишам управления. ​запомнив эту клавишу,​ про все остальное можно иногда забывать :-)+  * <​key>​h</​key>​ - показать справку по клавишам управления. ​Запомнив эту клавишу,​ про все остальное можно иногда забывать :-)
   * <​key>​tab</​key>​ - переключиться между обозревателем файлов и плейлистом   * <​key>​tab</​key>​ - переключиться между обозревателем файлов и плейлистом
   * <​key>​↑</​key>,​ <​key>​↓</​key>,​ <​key>​PgUp</​key>/<​key>​PgDn</​key>,​ <​key>​Home</​key>/<​key>​End</​key>​ - навигация по списку файлов/​плейлисту   * <​key>​↑</​key>,​ <​key>​↓</​key>,​ <​key>​PgUp</​key>/<​key>​PgDn</​key>,​ <​key>​Home</​key>/<​key>​End</​key>​ - навигация по списку файлов/​плейлисту
Строка 52: Строка 52:
 ==== Управление из командной строки ==== ==== Управление из командной строки ====
  
-Проигрывателем можно управлять и без использования псевдографического интерфейса,​ напрямую из командной строки. Обо всех опция можно почитать в+Проигрывателем можно управлять и без использования псевдографического интерфейса,​ напрямую из командной строки. Обо всех опциях можно почитать в
 <code bash>man mocp</​code>​ <code bash>man mocp</​code>​
 Здесь мы лишь рассмотрим основные команды:​ Здесь мы лишь рассмотрим основные команды:​
Строка 102: Строка 102:
 Для вывода строки с названием артиста и песни можно воспользоваться следующим скриптом. Не забудьте сделать файл исполняемым. Для вывода строки с названием артиста и песни можно воспользоваться следующим скриптом. Не забудьте сделать файл исполняемым.
 <code bash> <code bash>
-#​!/​bin/​bash ​ +#!/bin/bash
-# Переменная хранит разделитель между артистом и названием  +
-# Для радио это как правило ' - '  +
-temp=" - " ​+
  
-# Блок отвечает за формирование строк  +/tmp/mocp_popup.txt 
-# Если в воспроизводимом файле есть http://, значит проигрывается радио ​ +/tmp/mocp_state.txt
-if [ $(mocp -Q %file | grep http://) ]  +
-  then  +
-    # Если нет названия песни  +
-    if [ -z "​$(mocp -Q %song)"​ ]  +
-      then  +
-        # Выводим адрес с которого идет проигрывание  +
-        FIRST_LINE="​Playing Radio:"​  +
-        SECOND_LINE="​$(mocp -Q %file | sed '​s/​http:​\/​\///​g'​)"​  +
-      else  +
-        # Если название песни присутствует  +
-        SONG="​$(mocp -Q %song)"​  +
-        # Выводим артиста  +
-        FIRST_LINE="​${SONG%*$temp*}"​  +
-        # Выводим название  +
-        SECOND_LINE="​${SONG#​*$temp*}"​  +
-    fi  +
-  else  +
-    # Если воспроизводится не радио  +
-    if [ -z "​$(mocp -Q %song)"​ ]  +
-      then  +
-        # Выводим что тегов нет  +
-        FIRST_LINE="​Playing Music:"​  +
-        SECOND_LINE="​No Title"  +
-      else  +
-        # Выводим артиста  +
-        FIRST_LINE="​$(mocp -Q %artist)"​  +
-        # Выводим название  +
-        SECOND_LINE="​$(mocp -Q %song)"​  +
-    fi  +
-fi +
  
-#  Выводим строку  +Переменная хранит разделитель между артистом и названием 
-CONCAT="​$FIRST_LINE - $SECOND_LINE"​  +# Для радио это как правило ' - ' 
-echo $CONCAT+SEPARATOR="​ - " 
 + 
 +# Блок отвечает за формирование строк 
 +# Если в воспроизводимом файле есть http://, значит проигрыватся радио 
 +if [ $(mocp -Q %file | grep http://) ] 
 +  then 
 +    PLAYER="​Radio"​ 
 +    # Если нет названия песни 
 +    if [ -z "​$(mocp -Q %song)"​ ] 
 +      then 
 +        # Выводим ​адрес с которого идет проигрывание 
 +        FIRST_LINE="​RadioSite"​ 
 +        SECOND_LINE="​$(mocp -Q %file | sed '​s/​http:​\/​\///​g'​)"​ 
 +      else 
 +        # Если название песни присутствует 
 +        SONG="$(mocp -Q %song)"​ 
 +        # Выводим артиста 
 +        ​FIRST_LINE="​${SONG%*$SEPARATOR*}"​ 
 +        # Выводим название 
 +        SECOND_LINE="​${SONG#​*$SEPARATOR*}"​ 
 +    fi 
 +  else 
 +    # Если воспроизводится не радио 
 +    PLAYER="​MoC"​ 
 +    if [ -z "$(mocp -Q %song)"​ ] 
 +      then 
 +        # Выводим что тегов нет 
 +        FIRST_LINE="​No Title"​ 
 +        ​SECOND_LINE="No Title
 +      ​else 
 +        # Выводим артиста 
 +        FIRST_LINE="​$(mocp -Q %artist)"​ 
 +        # Выводим название 
 +        SECOND_LINE="​$(mocp -Q %song)"​ 
 +    fi 
 +fi 
 + 
 +NEWNAME="​$FIRST_LINE - $SECOND_LINE"​ 
 +NEWNAME="​$(echo $NEWNAME | sed '​s/​\&/​And/​g'​ | sed '​s/​\`//​g'​)"​ 
 +NEWSTATE="​$(mocp --info | grep State: | awk '​{print $2}'​)"​ 
 + 
 +if [ $NEWSTATE == STOP ]; then 
 +  exit 1 
 +fi 
 + 
 +# Выводим информацию в conky 
 +if [[ $NEWSTATE == "​PLAY"​ ]]; then 
 +  echo "​$PLAYER Play:" "​$NEWNAME"​ 
 +  else 
 +    echo "​$PLAYER Stop:" "​$OLDNAME"​ 
 +fi 
 + 
 +#​======================================== Всплывающие окна ============================================================= 
 +mocp -i > /dev/null 
 +if [ $? -eq 2 ];then 
 +  exit 2 
 +fi 
 + 
 +if [[ "​$OLDNAME"​ == "​$NEWNAME"​ ]]; then 
 +  if [[ "​$OLDSTATE"​ == "​$NEWSTATE"​ ]]; then 
 +    exit 1 
 +  fi 
 +fi 
 + 
 +# Выводим информацию в всплывающее окно 
 +if [[ $NEWSTATE == "​PLAY"​ ]]; then 
 +  notify-send --expire-time=2700 -i "/​usr/​share/​icons/​Humanity/​emblems/​48/​emblem-sound.png"​ "​$PLAYER Play:" "​$NEWNAME"​ 
 +  else 
 +    notify-send --expire-time=2700 -i "/​usr/​share/​icons/​Humanity/​emblems/​48/​emblem-sound.png"​ "​$PLAYER Stop:" "​$OLDNAME"​ 
 +fi 
 +  
 +echo OLDNAME=\"​$NEWNAME\"​ > /​tmp/​mocp_popup.txt 
 +echo OLDSTATE=\"​$NEWSTATE\"​ > /​tmp/​mocp_state.txt 
 +#​=======================================================================================================================
 </​code>​ </​code>​
 В конфигурационный файл **conky**, добавьте строку:​ В конфигурационный файл **conky**, добавьте строку:​
 <​code>​${scroll 45 20 ${exec путь_к_скрипту}}</​code>​ <​code>​${scroll 45 20 ${exec путь_к_скрипту}}</​code>​
-В итоге будет выводиться бегущая строка шириной в 45 символов и одновременно будет выводится только 20 из них.+В итоге будет выводиться бегущая строка шириной в 45 символов и одновременно будет выводиться только 20 из них.
 ===== Настройка ===== ===== Настройка =====