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

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:mocp [2011/04/24 01:13]
Рерай + исправления. (автор видимо не в курсе про верхний регист)
wiki:mocp [2012/01/29 02:32] (текущий)
[Интеграция с conky]
Строка 8: Строка 8:
   * низкая требовательность к ресурсам за счет отсутствия навороченной графики   * низкая требовательность к ресурсам за счет отсутствия навороченной графики
   * возможность управления извне - например,​ из командной строки или с помощью кнопок на панели ​   * возможность управления извне - например,​ из командной строки или с помощью кнопок на панели ​
-  * запущенный в "исках"​ плеер будет играть и при переходе в tty-консоль((более того, при переключении консолей плеер ставится на паузу, пока пользователь логинится в текущей консоли)) +  * запущенный в "иксах" плеер будет играть и при переходе в tty-консоль((более того, при переключении консолей плеер ставится на паузу, пока пользователь логинится в текущей консоли)) 
-Вкратце можно сказать,​ что mocp - отличный плеер для тех, кому от плеера требуется именно то, для чего он предназачен - прослушивание музыки.+Вкратце можно сказать,​ что mocp - отличный плеер для тех, кому от плеера требуется именно то, для чего он предназаченн - прослушивание музыки.
  
 ===== Установка ===== ===== Установка =====
Строка 26: Строка 26:
 Вы увидите знаменитый псевдографический интерфейс,​ который выглядит примерно так: Вы увидите знаменитый псевдографический интерфейс,​ который выглядит примерно так:
  
-[[http://​help.ubuntu.ru/​_media/​wiki/​mocp_face.png|{{:​wiki:​mocp_face.png?​180}}]]\\ +[[http://​help.ubuntu.ru/​_media/​wiki/​mocp_face.png|{{ :​wiki:​mocp_face.png?​480 }}]]
-//​интерфейс mocp//+
  
 Честно говоря,​ при первом запуске он будет выглядеть немного иначе, но все можно настроить по вашему вкусу, о чем речь пойдет ниже. Сверху,​ на приведенном скриншоте,​ (по умолчанию в левой части) находится обозреватель файлов,​ из которого можно добавлять файлы и папки в плейлист,​ который находится внизу (а по умолчанию справа). В нижней части окна расположены индикаторы громкости,​ времени воспроизведения,​ указан текущий файл и прочая информация. Честно говоря,​ при первом запуске он будет выглядеть немного иначе, но все можно настроить по вашему вкусу, о чем речь пойдет ниже. Сверху,​ на приведенном скриншоте,​ (по умолчанию в левой части) находится обозреватель файлов,​ из которого можно добавлять файлы и папки в плейлист,​ который находится внизу (а по умолчанию справа). В нижней части окна расположены индикаторы громкости,​ времени воспроизведения,​ указан текущий файл и прочая информация.
 Управление осуществляется с клавиатуры,​ поэтому рассмотрим **основные сочетания клавиш**:​ Управление осуществляется с клавиатуры,​ поэтому рассмотрим **основные сочетания клавиш**:​
-  * <​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>​ - навигация по списку файлов/​плейлисту
Строка 53: Строка 52:
 ==== Управление из командной строки ==== ==== Управление из командной строки ====
  
-Проигрывателем можно управлять и без использования псевдографического интерфейса,​ напрямую из командной строки. Обо всех опция можно почитать в+Проигрывателем можно управлять и без использования псевдографического интерфейса,​ напрямую из командной строки. Обо всех опциях можно почитать в
 <code bash>man mocp</​code>​ <code bash>man mocp</​code>​
 Здесь мы лишь рассмотрим основные команды:​ Здесь мы лишь рассмотрим основные команды:​
Строка 79: Строка 78:
 //​кнопки управления mocp на панели [[wiki:​gnome|Gnome]]//​ //​кнопки управления mocp на панели [[wiki:​gnome|Gnome]]//​
  
-Теперь разберемся,​ как их сделать. А делаются они точно так же, как любые другие кнопки запуска. Для Gnome: //​щелчок правой кнопкой по панели -> Добавить на панель... -> Пользовательская кнопка запуска//​. Далее нужно ​задать команды для кнопок,​ иконки и подсказки к ним+Теперь разберемся,​ как их сделать. А делаются они точно так же, как любые другие кнопки запуска.\\ 
 +Для Gnome: //​щелчок правой кнопкой по панели -> Добавить на панель... -> Пользовательская кнопка запуска// ​и задать команды для кнопок,​ иконки и подсказки к ним:
  
-[[http://​help.ubuntu.ru/​_media/​wiki/​moc_button_create.png|{{:​wiki:​moc_button_create.png?​180}}]]\\ +[[http://​help.ubuntu.ru/​_media/​wiki/​moc_button_create.png|{{:​wiki:​moc_button_create.png?​360}}]]\\ 
-//создание кнопки запуска//​+//Создание кнопки запуска.// (Самая полезная кнопка :-P. Чтобы слушать музыку,​ достаточно курсором перенести файл или папку на эту кнопку)
  
-Иконки взяты из стандартного набора Gnome, вы же можете подобрать любые другие на свой вкус. Ниже приводится список команд для каждой кнопки и  +Иконки взяты из стандартного набора Gnome, вы же можете подобрать любые другие на свой вкус. Ниже приводится список команд для каждой кнопки и иконки к ним.
-иконки к ним. +
- +
-самая полезная кнопка :-P. чтобы слушать музыку,​ достаточно курсором перенести файл или папку на эту кнопку\\+
  
 ^ Действие ^ Команда ^ Путь к иконке ^ ^ Действие ^ Команда ^ Путь к иконке ^
Строка 96: Строка 93:
 | выключить все | mocp -x | /​usr/​share/​icons/​Humanity/​actions/​48/​gtk-media-stop.svg | | выключить все | mocp -x | /​usr/​share/​icons/​Humanity/​actions/​48/​gtk-media-stop.svg |
 | текущий трек | moc-notify | /​usr/​share/​icons/​Humanity/​actions/​48/​gtk-info.svg | | текущий трек | moc-notify | /​usr/​share/​icons/​Humanity/​actions/​48/​gtk-info.svg |
-[[http://​help.ubuntu.ru/​_media/​wiki/​mocp_popup.png|{{:​wiki:​mocp_popup.png?​180}}]]+ 
 +**Уведомления:​**\\ 
 + [[http://​help.ubuntu.ru/​_media/​wiki/​mocp_popup.png|{{:​wiki:​mocp_popup.png?​360}}]]\\
 Тут немного сложнее,​ ибо все делается с помощью отдельного скрипта,​ о котором речь пойдет чуть ниже. Тут немного сложнее,​ ибо все делается с помощью отдельного скрипта,​ о котором речь пойдет чуть ниже.
  
 +==== Интеграция с 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 из них.
 ===== Настройка ===== ===== Настройка =====