#!/bin/bash . /etc/minios/config . /etc/minios.conf function read_cmdline() { for i in $@; do case $i in playlocally) playlocally=true shift # past argument with no value ;; esac done } if [ -f /run/initramfs/memory/toram/mediaplayer.config ]; then . /run/initramfs/memory/toram/mediaplayer.config cp /run/initramfs/memory/toram/mediaplayer.config /mediaplayer.config elif [ -f /run/initramfs/memory/data/$LIVEKITNAME/mediaplayer.config ]; then . /run/initramfs/memory/data/$LIVEKITNAME/mediaplayer.config cp /run/initramfs/memory/data/$LIVEKITNAME/mediaplayer.config /mediaplayer.config else . /mediaplayer.config fi read_cmdline /proc/cmdline if [ $USER_NAME = "root" ]; then user_name=guest else user_name=$USER_NAME fi if [ "$playlocally" = "true" ]; then if mount -L $local_source_label /mnt >/dev/null 2>&1; then media_source=/mnt$media_source playing_source=/mnt$playing_source local_source=/mnt local_mounted="true" fi fi sudo bash -c "sudo cat >/etc/samba/smb.conf </dev/null 2>&1) echo -e "$user_password\n$user_password" | (sudo passwd $user_name >/dev/null 2>&1) sudo x11vnc -storepasswd "$x11vnc_password" /etc/vncpasswd >/dev/null 2>&1 echo -e "$samba_password\n$samba_password" | (sudo smbpasswd -a -s $user_name) sudo systemctl restart x11vnc sudo systemctl restart smbd if [ ! -d "$media_source" ]; then sudo mkdir -p $media_source sudo chown $user_name:$user_name $media_source fi if [ ! -d "$playing_source" ]; then sudo mkdir -p $playing_source sudo chown $user_name:$user_name $playing_source fi if [ ! -d "$local_source" ]; then sudo mkdir -p $local_source sudo chown $user_name:$user_name $local_source fi if [ ! -d "/tmp/mediaplayer" ]; then sudo mkdir -p /tmp/mediaplayer sudo chown $user_name:$user_name /tmp/mediaplayer fi if [ "$playlocally" != "true" ]; then if mount -L $local_source_label $local_source >/dev/null 2>&1; then local_mounted="true" fi fi if [ "$local_mounted" = "true" ]; then if [ ! -d "$local_source/media" ]; then sudo mkdir -p "$local_source/media" sudo chown $user_name:$user_name "$local_source/media" sudo mkdir -p "$local_source/mediaplayer" sudo chown $user_name:$user_name "$local_source/mediaplayer" fi if [ -f "$local_source/mediaplayer/lastplayed" ]; then cp $(cat $local_source/mediaplayer/lastplayed) $playing_source/ cp $local_source/mediaplayer/lastplayed /tmp/mediaplayer/lastplayed fi fi if [ -f "/tmp/mediaplayer/lastplayed" ]; then /usr/bin/$vlc_name $vlc_options $(cat /tmp/mediaplayer/lastplayed) >/dev/null 2>&1 & fi inotifywait -m $media_source -e close_write | while read path action file; do echo "The file $file appeared in directory $path via $action" sleep $play_pause xhost + >/dev/null 2>/dev/null mv "$path$file" "$playing_source/$file" kill -9 $(pidof vlc) echo "$playing_source/$file" >/tmp/mediaplayer/lastplayed find $playing_source ! -name "$file" -type f -exec rm -f {""} + if [ -d "$local_source/media" ] && [ -d "$local_source/mediaplayer" ]; then cp "$playing_source/$file" "$local_source/media/$file" chown $user_name "$local_source/media/$file" echo "$local_source/media/$file" >$local_source/mediaplayer/lastplayed find $local_source/media ! -name "$file" -type f -exec rm -f {""} + fi if [ $USER_NAME = "root" ]; then exec su -c "/usr/bin/$vlc_name $vlc_options '$(cat /tmp/mediaplayer/lastplayed)'" $user_name >/dev/null 2>&1 & else /usr/bin/$vlc_name $vlc_options $(cat /tmp/mediaplayer/lastplayed) >/dev/null 2>&1 & fi done