#!/bin/bash
v=161218 #sfs
#gtkdialog examp: conditional_actions - движок

if [ "$1" = "--hwdec" ];then
shift ;shift
    #[ -d /usr/lib/firmware/nouveau ] ||  
VDPAU(){
[ -f $HOME/.config/vdpau ] && return
touch $HOME/.config/vdpau
[ "`lsmod |egrep '^nvidia |^fglrx '`" ] || (ntf -q "MPV - медиаплеер" "Для аппаратного ускорения декодирования \
требуются драйвера производителя Вашей видеокарты. \
Подключите модуль $d1 или $d2.
Уменьшит загрузку процессора в 2,5 раза

Убедиться, что vpdau работает :
запустите в консоле mpv --hwdec=auto file.mp4 
Using hardware decoding (vdpau).

Прочитать подробности?"  && defaultbrowser "https://wiki.archlinux.org/index.php/VDPAU_%28%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9%29" & )
}

MSG(){
sleep 1 && VDPAU 
}
 if [ "`uname -m`" ! = "x86_64" ];then
[ "`awk  '/[vV][dD][pP][aA][uU]/ && /: nouveau/ {print $0}' /var/log/Xorg.0.log`" ] && \
    d1="mesa-vdpau-nouveau" && d2="nVidia-*.pfs" && MSG &
[ "`awk  '/[vV][dD][pP][aA][uU]/ && /: r/ {print $0}' /var/log/Xorg.0.log`" ] && \
    d1="mesa-vdpau-radeon" && d2="amd-catalyst-*.pfs" && MSG &
 fi
fi
#exit

export FIFO="/tmp/mpv.fifo" 
TXT(){ sleep 0.5 && echo "show_text \"$@\"" >$FIFO ; } ; export -f TXT

MPV(){ 
#ntf -i "-$@-" &
[ "$1" ]  && sudo killall mpv
#sudo killall mpv
#pidof mpv && return
if [ ! -f "$no" ];then
    #[[ -p "$FIFO" ]] && rm "$FIFO" ; 
    mkfifo "$FIFO" && sudo chmod 666 $FIFO
    if="--input-file="$FIFO""
fi

if [ "`echo "$@" |egrep '^/tmp/'`" ];then
#Valid format: [W[%][xH[%]]][{+-}X[%]{+-}Y[%]] | [X[%]:Y[%]]
    mpv --profile=pseudo-gui $if --hwdec=auto --geometry=+1000%:0% "$@" #&
    rm "$1"
else
    #ntf -i "==$@=="
    mpv --profile=pseudo-gui $if --hwdec=auto --geometry=+100%:+0% "$@" &
fi
} ; export -f MPV

#MPV2(){ 
#pidof mpv && return
#[[ -p "$FIFO" ]] && rm "$FIFO" ; mkfifo "$FIFO" && sudo chmod 666 $FIFO
#mpv --profile=pseudo-gui --input-file="$FIFO" --hwdec auto "$@" &
#} ; export -f MPV2

MPVINFO(){
{ mpv -vo=help && mpv -ao=help && mpv -of=help && echo && mpv -af=help && mpv -vf=help ; } |leafpad &
} ; export -f MPVINFO

LLIST(){
#ion>echo "loadlist `ntf -f "*" "Загрузить плейлист"`" >$FIFO</action>
f="`ntf -f "*.m3u|*.m3u8" "Загрузить плейлист"`"
[ "$f" ] || return
sudo pkill -f "yad --title Проигрыватель плейлиста.m3u"
sudo echo "$f" > /tmp/mpv.list #"/home/`sfsusr`/.config/.mpvlist"
echo "loadlist "$f"" >$FIFO
#ntf -i "-$f" &
} ; export -f LLIST

LFILE(){
pidof mpv || MPV
WM
f="`ntf -c "Выберите (введите)" "файл (URL) или перетащите каталог в окно MPV"`" && \
[ "$f" ] && { sudo echo "loadfile \"$f\"" >$FIFO ; } || return
[ "`echo "$f"|egrep '.m3u$'`" ] && sudo echo "$f" > /tmp/mpv.list || sudo rm /tmp/mpv.list
} ; export -f LFILE

LFILE2(){
pidof mpv || MPV
WM
f="`ntf -f "*" "Выберите (введите)" "файл (URL) или перетащите каталог в окно MPV"`" && \
[ "$f" ] && sudo echo "loadfile \"$f\"" >$FIFO || return
[ "`echo "$f"|egrep '.m3u$'`" ] && sudo echo "$f" > /tmp/mpv.list || sudo rm /tmp/mpv.list
} ; export -f LFILE2

WM(){ 
which wmctrl || return
wmctrl -a " - mpv"; wmctrl -a "Проигрыватель плейлиста.m3u v." 
} ; export -f WM
export hkey="

<b>Горячие клавиши mpv и mplayer:</b><small><tt>
p,Пробел	Пауза
(m|0|9)	Звук (выкл.|громче|тише)
f		Полноэкранный режим (обратно)
o		Статистика OSD
j		Варианты субтитров
1, 2		Яркость
3, 4		Контрастность
#,Shift+3	Варианты звуковой дорожки
I,Shift+i	Название файла
Стрелка в(лево|право)	(-|+) 10 сек.
Стрелка в(низ | верх)	(-|+) 1  мин.
Знак (меньше|больше) (Назад|вперед) по плейлисту
</tt></small>"

HLP(){
pgrep -f "ntf -q Горячие клавиши mpv " && return
[ "`ntf -q "Горячие клавиши mpv и mplayer"  "
</i><tt><small><u>Клавиша</u>			<u>Описание</u>
p, Пробел			Пауза
Стрелка в(лево|право)	(-|+) 10 сек.
Стрелка в(низ | верх)	(-|+) 1  мин.
Знак (меньше|больше)	(Назад|вперед) по плейлисту
(m|0|9)		Звук (выкл.|громче|тише)
f		Полноэкранный режим (обратно)
o		Статистика OSD
j		Варианты субтитров
#, Shift+3 	Варианты звуковой дорожки
I, Shift+i 	Название файла
1, 2		Яркость
3, 4		Контрастность

<u>OSC (On-Screen-Controller):</u>
<sub>
+---------+----------+--------------------------+-------------+
| pl prev | pl next  |  title                   |       cache |
+------+--+---+------+---------+---------+------+-------+-----+
| play | skip | skip | time    | seekbar | time | audio | sub |
|      | back | frwd | elapsed |         | left |       |     |
+------+------+------+---------+---------+------+-------+-----+
</sub>
Подробнее?\
</small></tt><i>" &`" ] && defaultbrowser "http://mpv.io/manual/stable/" & #"http://mpv.srsfckn.biz/manual.pdf" &
} ; export -f HLP 
#HLP;exit
XXX(){
echo "
версия меньше 0.21
+------------------+-----------+--------------------+
| playlist prev    |   title   |      playlist next |
+-------+------+---+--+------+-+----+------+--------+
| audio | skip | seek |      | seek | skip |  full  |
+-------+ back | back | play | frwd | frwd | screen |
| sub   |      |      |      |      |      |        |
+-------+------+------+------+------+------+--------+
|                     seekbar                       |
+----------------+--------------+-------------------+
| time passed    | cache status |    time remaining |
+----------------+--------------+-------------------+

версия 0.21 и больше
"
}
