Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:mocp [2011/09/14 11:10] [Интеграция с conky] |
wiki:mocp [2012/01/29 02:32] (текущий) [Интеграция с conky] |
||
---|---|---|---|
Строка 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**, добавьте строку: |