#!/bin/bash
# This script emulates "unique application" functionality on Linux. When starting
# playback with this script, it will try to reuse an already running instance of
# mpv and configure window according to media type.
# Copyright Jean-Philippe Guillemin - zenwalk.org <h1p8r10n@gmail.com> - GPL v2

export MPV_HOME="/$HOME/.config/mpv"
mkdir -p $MPV_HOME
CONFIG="$MPV_HOME/mpv.conf"

cat > $CONFIG << END
# config file for MPV

[Default]
profile-desc="Default"
geometry=600x260
script-opts=osc-layout=box,osc-seekbarstyle=bar,osc-visibility=always,osc-valign=0,osc-vidscale=no,osc-boxalpha=80
osd-level=0 		
keep-open=no
ontop=no

[video-player]
profile-cond=p["current-tracks/video/albumart"] == false 
profile-desc="Video Player"
script-opts=osc-layout=bottombar
osd-level=0 		
keep-open=no
ontop=no

[audio-player]
profile-cond=not vid and not vo_configured or p["current-tracks/video/albumart"]
profile-desc="Audio Player"
script-opts=osc-layout=box,osc-seekbarstyle=bar,osc-visibility=always,osc-valign=0,osc-vidscale=no,osc-boxalpha=80
osd-level=0 		
keep-open=no
ontop=no

END

if [ "$(pidof mpv)" != "" ] ; then 
	for file in "$@" ; do
		echo "raw loadfile \"$file\" append-play" | socat - ~/.mpv_socket
	done
	echo "playlist-next" | socat - ~/.mpv_socket
else
	mpv --force-window --profile=Default --idle --input-ipc-server=~/.mpv_socket "$*"
	echo "play" | socat - ~/.mpv_socket
fi

exit 0
