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

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:mocp [2011/04/24 08:58]
[Псевдографический интерфейс] увеличил скриншот, разместил по центру
wiki:mocp [2012/01/29 02:32]
[Интеграция с conky]
Строка 8: Строка 8:
   * низкая требовательность к ресурсам за счет отсутствия навороченной графики   * низкая требовательность к ресурсам за счет отсутствия навороченной графики
   * возможность управления извне - например,​ из командной строки или с помощью кнопок на панели ​   * возможность управления извне - например,​ из командной строки или с помощью кнопок на панели ​
-  * запущенный в "исках"​ плеер будет играть и при переходе в 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>​
 Здесь мы лишь рассмотрим основные команды:​ Здесь мы лишь рассмотрим основные команды:​
Строка 98: Строка 98:
 Тут немного сложнее,​ ибо все делается с помощью отдельного скрипта,​ о котором речь пойдет чуть ниже. Тут немного сложнее,​ ибо все делается с помощью отдельного скрипта,​ о котором речь пойдет чуть ниже.
  
 +==== Интеграция с conky ====
 +
 +Для вывода строки с названием артиста и песни можно воспользоваться следующим скриптом. Не забудьте сделать файл исполняемым.
 +<code bash>
 +#!/bin/bash
 +
 +. /​tmp/​mocp_popup.txt
 +. /​tmp/​mocp_state.txt
 +
 +# Переменная хранит разделитель между артистом и названием
 +# Для радио это как правило ' - '
 +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>​
 +В конфигурационный файл **conky**, добавьте строку:​
 +<​code>​${scroll 45 20 ${exec путь_к_скрипту}}</​code>​
 +В итоге будет выводиться бегущая строка шириной в 45 символов и одновременно будет выводиться только 20 из них.
 ===== Настройка ===== ===== Настройка =====