Online video hd

Смотреть домашнее видео

Официальный сайт aquaexpert 24/7/365

Смотреть видео бесплатно

ner_uto 21.09.2009 17:21

СкриптыВывод OSD с названием песни в MOC

Обновлено, добавлен вариант для KDE от kavren



О консольном аудиоплеере MOC, покорившем сурового гуишника меня, я писал неоднократно в своем блоге. Все бы хорошо (даже автозапуск настроил), но единственное, чего не хватало для счастья, - вывод названия песен при их смене.

Долго ходил кругами и облизывался вокруг одного материала в закладках, но все не пытался сделать это на практике, а сейчас решил попробовать. Итак, поехали.



Универсальное решение, которое будет работать с любым DE и WM:



Для начала устанавливаем пакет xosd-bin. У меня Ubuntu, так что делаю так:

1
sudo apt-get install xosd-bin





Пишем скрипт, который выводит информацию о названии песне, авторе, альбоме и месте воспроизведения песни. Скрипт не мой, единственное, что я в нем изменил, - это шрифт. Взял, если честно, первый попавшийся, ибо шрифт из оригинала не поддерживал русский язык. Выбрать другой шрифт можно, например, с помощью утилиты xfontsel.



 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/bash



FONT=-microsoft-verdana-bold-i-*-*-26-*-*-*-*-*-*-r

COLOR=red

SHADOW=0



TOTALSEC=`mocp --info | egrep "TotalSec\:" | sed 's/TotalSec\:\ //'`

CURRENTSEC=`mocp --info | egrep "CurrentSec\:" | \

sed 's/CurrentSec\:\ //'`



PERCENT=`echo "$CURRENTSEC*100/$TOTALSEC" | bc`



mocp --info | \

egrep "^Artist\:|^SongTitle\:|^Album\:" | \

osd_cat --offset=10 --indent=10 --color=$COLOR --font=$FONT \

--shadow=$SHADOW &



osd_cat --offset=120 --indent=10 --color=$COLOR --font=$FONT \

--shadow=$SHADOW --barmode=percentage --percentage=$PERCENT



Сохраняем его. Я сохранил в каталоге /home/warl0ck/.moc под именем osd.sh



Правим конфиг MOC.

1
nano ~/.moc/config



Опускаемся до раздела

1
# OnSongChange



и пишем строку примерно такого содержания:

1
OnSongChange = "/home/warl0ck/.moc/osd.sh"



Естественно, вместо /home/warl0ck/.moc/osd.sh нужно ввести ваш путь до скрипта.



Выглядит это так:

OSD в MOC



Вариант скрипта-нотификатора для KDE4 от kavren



 1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash

Artist="$(mocp --info | grep -E Artist: | sed s/'Artist: '//)"

SongTitle="$(mocp --info | grep -E SongTitle: | sed s/'SongTitle: '//)"

TotalTime="$(mocp --info | grep -E TotalTime: | sed s/'TotalTime: '//)"

kdialog --title "$Artist" --passivepopup "$SongTitle $TotalTime" 10

exit 0



А выглядит это так:





Рекомендую почитать:

О том, как выбрать шрифты: Шрифты в Linux


Тэги: moc OSD скрипты
+ 4 -
Похожие Поделиться

kavren 21.09.2009 20:26 #
+ 2 -
Я тут накидал свой вариант

#!/bin/bash
Artist="$(mocp --info | grep -E Artist: | sed s/'Artist: '//)"
SongTitle="$(mocp --info | grep -E SongTitle: | sed s/'SongTitle: '//)"
TotalTime="$(mocp --info | grep -E TotalTime: | sed s/'TotalTime: '//)"
kdialog --title "$Artist" --passivepopup "$SongTitle $TotalTime" 10
exit 0

Выглядит вот так:
Screenshot
Плюс, я еще использую moc-tray. Теперь вообще все остальные плееры курят в сторонке =)
ner_uto 21.09.2009 20:39 #
+ 0 -
А, может быть, кто-нибудь знает, как сделать в стандартном гномовском нофитикаторе?
kavren 21.09.2009 20:50 #
+ 0 -
Описано на http://marko.habrahabr.ru/blog/50461/. Kdialog я как раз оттуда и дернул.
kavren 21.09.2009 21:22 #
+ 0 -
Перепутад ссылки, тут http://habrahabr.ru/blogs/linux/67746/ описывается для бубунты, а значит и для гнома
ner_uto 21.09.2009 21:30 #
+ 0 -
О, и правда... строка закомментированная с notify-send есть в конфиге, так что все еще проще получается для Гнома... Надо только поставить пакет libnofity-bin.

Ты не возражаешь, если я твой вариант для кед добавлю в пост?
kavren 21.09.2009 21:36 #
+ 0 -
Не возражаю
ner_uto 21.09.2009 21:45 #
+ 0 -
Добавил. А вот с гномом что-то не получается. Ну ладно, завтра попробую покопать в эту сторону.
DEViANCE 18.01.2010 23:15 #
+ 1 -
#!/bin/bash

Artist="$(mocp --info | grep -E Artist: | sed s/'Artist: '//)"

SongTitle="$(mocp --info | grep -E SongTitle: | sed s/'SongTitle: '//)"

TotalTime="$(mocp --info | grep -E TotalTime: | sed s/'TotalTime: '//)"

notify-send -t 3000 "$Artist" "$SongTitle"

exit 0
DEViANCE 18.01.2010 23:18 #
+ 1 -
Можно еще иконку для красоты добавить параметром -с. Например:


...

notify-send -t 3000 -c gnome-irc "$Artist" "$SongTitle"

...


Отобразится иконка, которая лежит в /usr/share/pixmaps/gnome-irc.png
ner_uto 19.01.2010 18:24 #
+ 0 -
Спасибо:)
ZogG 21.09.2009 21:45 #
+ 1 -
вот куплю себе лед-экранчик маленький и буду туда ввыводить название песни и слова, и вообще данные
qw3r3wq 25.09.2009 01:44 #
+ 1 -
OnSongChange = "/usr/bin/notify-send %a %file"

и скрипта ненадо :) толко надо notification-daemon-xfce либо толко notification-daemon незнаю
ner_uto 15.02.2010 18:43 #
+ 0 -
Этот вариант будет ДЕзависимым. И в Openbox, например, он не заработает.
Ymilij 23.04.2010 15:20 #
+ 1 -
Установи libnotify - делов то ;)

Смотреть видео онлайн

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн