Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Последняя версия Следующая версия справа и слева | ||
wiki:mocp [2011/08/01 18:17] [Графическое управление] |
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> | ||
Здесь мы лишь рассмотрим основные команды: | Здесь мы лишь рассмотрим основные команды: | ||
Строка 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 "/home/citizen/.icons/MyIcons/emblem-sound.png" "$PLAYER Play:" "$NEWNAME" | ||
+ | else | ||
+ | notify-send --expire-time=2700 -i "/home/citizen/.icons/MyIcons/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 из них. |
===== Настройка ===== | ===== Настройка ===== | ||