Online video hd

Смотреть гиг видео

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

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

muhas 03.03.2010 13:10

СкриптыУправляем mpd с помощью dmenu

Набросал скрипт для для управления mpd с помощью dmenu, но так как sh очень странный язык который позволяет быстро расширить возможности скрипта, то заодно немного и расширились возможности dmpd

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

Писалось для себя, поэтому некоторые моменты в управлении могут кому-то не понравиться (но менять скрипт под себя никто же не запрещает)

 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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/dash
# некоторые функции управления mpd через dmenu
# в зависимостях dmenu, mpc, dash, awk
# ну и notify какое-нибудь ^_^
# да и что-нибудь типа mpdnotify не помешает (см. конфиг)
################### dmpd - mpd manager ##################
# Version 0.1.1 by muhas [muhas [(a)] muhas.ru] #
#########################################################
# config
BG="#737373"
FG="#e7e3e7"
# команда dmenu без приглашения
DMENU="dmenu -nb $BG -nf $FG -sb $FG -sf $BG -i"
SHOW=mpdnotify #скрипт для показа текущего трека
MUSIC=$HOME/all/muzlo/
ACTIONS="info\nshuffle\nrandom\nstop\nplay\npause" # дополнительные действия для mpc
# /config

# body
if [ .$1 = ."" ]; then # выбираем первоначальное действие
cmd=$(echo "current\nadd\nplaylist\nclear\n$ACTIONS" |$DMENU -p "select action") && $0 $cmd
fi
# ну и дальше уже всё зависит от выбранного действия
if [ .$1 != ."" ];then
case "$1" in
'add') cmd=$(mpc ls | $DMENU -p "select folder")
while [ .$open != ."add" ]; do # скакаем по каталогам
open=$(echo "add\nopen" | $DMENU -p "select action")
if [ .$open != ."add" ]; then
cmd=$(mpc ls "$cmd" | $DMENU -p "select")
[ -f "$MUSIC$cmd" ] && break #если файл то нафига открывать?
fi
done
mpc add "$cmd" && mpc play
;;
'clear') mpc clear
cmd=$(echo "add\nplaylist" | $DMENU -p "select action")
$0 $cmd
;;
'current') cmd=$(mpc playlist --format '%position% %title% by %artist%' | $DMENU -p "select file" |awk '{print $1}')
mpc play "$cmd"
;;
'playlist') cmd=$(mpc lsplaylists| $DMENU -p "select playlist" )
mpc load "$cmd" && mpc play
;;
'info') $SHOW
;;
*) mpc $1
notify-send "`mpc|head -n 1|grep -v volume` " "`mpc |tail -n 1`"
;;
esac
fi
# /body

Кроспост из моего бложика Заметки аскетичного гика


Тэги: bash dmenu dmpd mpc mpd
+ 3 -
Похожие Поделиться

Minoru 04.03.2010 23:03 #
+ 0 -
отчистить текущий плейлист?

dmenu на десктопе не юзаю, а на буке не юзаю mpd. Выходит, скрипт и применить-то некуда :)
muhas 05.03.2010 13:58 #
+ 0 -
отчистить текущий плейлист?
угу. mpc clear
Minoru 05.03.2010 15:03 #
+ 0 -
Ладно, ещё раз:
отчистить?

От чего отчистить?
muhas 06.03.2010 00:07 #
+ 0 -
от композиций в нем, не?
mpc clear -- clear the current playlist


зы. разницы между очистить и отчистить не вижу в данном случае ;)
Minoru 06.03.2010 02:15 #
+ 0 -
Сперва маленькое замечание: у меня в man mpc команда clear описана как «Empties playlist». Но на перевод это не влияет.

Разница есть: отчищаешь ты дома кастрюли и сковородки, а плейлисты и мусорные вёдра очищаются.

Но это, конечно, моё сугубо личное «фе» и ты на него можешь спокойно плюнуть — я даже не обижусь.
muhas 06.03.2010 10:51 #
+ 0 -
это не из мана и из автодополнения zsh (а в ман и не глядел никогда по mpc)

а так да, видимо спокойно плюну ибо кострюли сковородки я не отчищайю, а мою :P
booley 05.03.2010 15:30 #
+ 0 -
, а не буке не юзаю mpd.

Угу, десктоп - не бук.
booley 05.03.2010 20:38 #
+ 0 -
upd: имею в виду выражение "Врачу, исцелись" ;)
Minoru 06.03.2010 02:18 #
+ 0 -
Ничего не понял.

«Врачу, исцелись сам» как бы намекает на то, что я упрекаю других, хотя сам полон недостатков. Объясни, пожалуйста, что именно тебе не понравилось в моём комментарии?
booley 06.03.2010 10:18 #
+ 0 -
а не буке не юзаю mpd.

Должно быть: а на буке не юзаю mpd?
Minoru 06.03.2010 21:11 #
+ 0 -
Хех :) Теперь понятно.

Жаль, возможность править комментарии так и не добавили…
booley 06.03.2010 22:05 #
+ 0 -
Таки добавили, пруф:
h_1267902265_3bbff01aa7.png
И да, я исправил опечатку. (возможсьт -> возможность)
Minoru 06.03.2010 23:24 #
+ 0 -
Когда-нибудь специально подключу ещё пару моников, настрою multihead, заскриншотю всё это и вышлю тебе, когда надо будет показать какую-нибудь мелочь :)

Я никакой возможности править свои комментарии не вижу. Очевидно, тебе такие полномочия даёт седьмой уровень доступа.
booley 07.03.2010 04:46 #
+ 0 -
Когда-нибудь специально подключу ещё пару моников, настрою multihead, заскриншотю всё это и вышлю тебе, когда надо будет показать какую-нибудь мелочь :)

Жду с нетерпением!

Забылся, извини пожалуйста. Хотя у меня все нормально, скриншот страницу не растянул. Хочешь скриншот? ;)
Minoru 07.03.2010 05:06 #
+ 0 -
Хотя у меня все нормально, скриншот страницу не растянул.

Кстати да, это баг: если не залогиниться, картинки в комментариях не масштабируются.
Minoru 06.03.2010 23:25 #
+ 0 -
И да: спасибо за исправления. Может, «не» тоже поправишь? :)

В хорошем качестве hd видео

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


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

Online video HD

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

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

Full HD video online

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

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

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